#61 badges: add investigation about discourse integration
Merged a year ago by c4rt0. Opened a year ago by t0xic0der.
fedora-infra/ t0xic0der/arc discintr  into  main

@@ -0,0 +1,122 @@ 

+ .. _discourse_integration:

+ 

+ Integrate Fedora Discussions with the Fedora Badges System

+ ====

+ 

+ Fedora Badges has not only been a means to incentivize contribution for the 

+ Fedora Project community but also been an topic of active conversation and a

+ healthy competition among the community members. One of the attempts to bring

+ the system to the forefront was made by 

+ `Matthew Miller <https://accounts.fedoraproject.org/user/mattdm>`_ on 

+ `this Fedora Discussions thread <https://discussion.fedoraproject.org/t/magical-experimental-fedora-badges-topic/35007>`_

+ and participated by a lot of community members. This turned out to be quite a 

+ successful experiment and the badges that people have acquired got integrated 

+ with the Discourse badges page (For eg. here is a catalog of badges acquired by

+ `Akashdeep Dhar <https://discussion.fedoraproject.org/u/t0xic0der/badges>`_).

+ 

+ As it stands, the usage of Discourse (or Fedora Discussions) happens to help 

+ with simplifying the creation (and maintenance) of the frontend of the Fedora 

+ Badges system. Although this is a welcome proposal, the frontend happens to be

+ the least challenging component of the system (as mentioned by Ryan Lerch in 

+ `his reply <https://discussion.fedoraproject.org/t/discourse-badges-should-we-or-shouldnt-we/34698/6>`_ 

+ to the 

+ `original post <https://discussion.fedoraproject.org/t/discourse-badges-should-we-or-shouldnt-we/34698>`_ 

+ about testing waters around 

+ `Discourse Badges <http://discussion.fedoraproject.org/badges>`_ created on 

+ 23rd Nov 2021) but the fact that it still has not been maintained and requires 

+ modernization cannot be denied. At the very same time, it is a very alluring 

+ choice which helps us save efforts in developing the frontend from ground up 

+ and redirect them into redeveloping the backend, which admittedly requires the 

+ most attention.

+ 

+ The original post about exploring the idea of using Discourse as the frontend

+ for Fedora Badges system (which can be found 

+ `here <https://discussion.fedoraproject.org/t/exploring-the-idea-of-using-discourse-as-a-badges-frontend-the-backend-implications/34887>`_

+ created on 1st Dec 2021) further details on the proposed approaches of making 

+ it happen. Although the study is superficial but the implications provided 

+ there should be adequate enough to connect with our study regarding the 

+ entities involved in the proposed redevelopment of the system (the one that can

+ be found 

+ `here <https://fedora-arc.readthedocs.io/en/latest/badges/prop_rewrite_entities.html>`_

+ ) to deduce that Fedora Discussions could very well be used to be a drop-in 

+ replacement of sorts for our Liberation entity (information about the internal 

+ entities can be found 

+ `here <https://fedora-arc.readthedocs.io/en/latest/badges/prop_rewrite_entities.html#internal-entities>`_

+ ).

+ 

+ The discussions in the aforementioned post were continued over at the original

+ post sharing notes of the things needed to be taken care of while implementing

+ the same (which can be found 

+ `here <https://discussion.fedoraproject.org/t/badges-to-discourse-experiment-notes-on-discourse-as-a-badges-front-end/35262>`_

+ created on 16th Dec 2021). The following are the key points we derived and 

+ discussed about from the said treatise.

+ 

+ 1. The Discourse frontend does provide for a much faster loading of badges list

+    (Source: 

+    `JSON acquring time for user mattdm <https://discussion.fedoraproject.org/t/badges-to-discourse-experiment-notes-on-discourse-as-a-badges-front-end/35262#:~:text=Getting%20list%20of%20badges%20for%20mattdm%20via%20JSON%20here%3A%20about%20140ms.%20From%20badges%20site%2C%20about%2035%20whole%20seconds>`_

+    ) and the plugin system is convenient enough to allow for adding features 

+    and elements atop a stock interface.

+ 2. The global listing of badges on the Discourse interface allows marking of 

+    acquired badges and for grouping, which can help solve the issue of 

+    introducing badge paths, although the listing of badges according to their 

+    age needs looking into.

+ 3. The per-user listing of badges could use some organization according to 

+    categories and/or badge paths but favourite badges can be picked and shown

+    on the profile card, which makes these badges more than a royal collectible

+    but something to start discussions around.

+ 4. The leaderboards also remain something to be seen, though the implementation

+    should be fairly easy if we are to have the same format as that of the 

+    current frontend (i.e. show weekly, monthly and all-time leaders). The badge

+    count for the users should be added too.

+ 5. The use of Discourse's internal badge levels alongside our badge paths has a

+    possibility of doing more harm than good, as it allegedly allows for only 

+    three levels (i.e. bronze, silver and gold). This might confuse the frontend 

+    if certain badges of a path belong to a level or tier.

+ 6. The UI for manually awarding badges is allegedly restricted to only those

+    who are admins of the forum. Integrating that access capacity with a FAS 

+    group should allow for members belonging to that group to award badges while

+    restricting them from any other admin-like operations.

+ 7. The inclusion of QR codes or links to receive badges does not seem to be a 

+    feature on the Discourse frontend but it is something that we could play 

+    around with and implement using automation scripts. Also, there should be a

+    way for folks to opt-in or opt-out of these as they fit.

+ 

+ The following are the pain-points we derived out of the study.

+ 

+ 1. There are possibilities that the users would get bombarded with loads of 

+    notifications as they receive loads of badges in a short duration of time.

+    If this is understood correctly, this issue can be safely ignored as this 

+    happens to be a one-time problem only.

+ 2. There can be times when the user can have their account activated for 

+    Fedora Badges and not on Discourse, or vice-versa. We would require to 

+    rework the database (and the access to it from the Discourse frontend) to

+    ensure that the Badges database has the precedence.

+ 

+ How to go about it?

+ ----

+ 

+ We swap out the Liberation entity part from the 

+ `internal entity chart <https://fedora-arc.readthedocs.io/en/latest/_images/badges-proposed-architecture.png>`_

+ and replace it with the Discourse frontend. The interactions, for the most 

+ parts, should stay the same but a considerably different set of technologies

+ would be required to work on the Discourse frontend. 

+ 

+ Is there a Plan B?

+ ----

+ 

+ Of course, there is. Just in case, the proposal for the use of the Discourse

+ frontend is not met with the community's approval or if it becomes too 

+ difficult to work on - we can always make the current implementation of 

+ integration work with the redeveloped system. In this way, we can have our own

+ frontend all while ensuring that our badges are not left behind catching 

+ electronic dust by giving them the attention on the Fedora Discussions forum, 

+ with their use as custom titles and listing them on the user cards.

+ 

+ Further reading

+ ----

+ 

+ 1. `Discourse Badges - should we or shouldn't we? <https://discussion.fedoraproject.org/t/discourse-badges-should-we-or-shouldnt-we/34698>`_

+ 2. `Badges on Fedora Discussions <https://discussion.fedoraproject.org/badges>`_

+ 3. `Exploring the idea of using Discourse as a badges frontend — the backend implications <https://discussion.fedoraproject.org/t/exploring-the-idea-of-using-discourse-as-a-badges-frontend-the-backend-implications/34887>`_

+ 4. `Magical Experimental Fedora Badges Topic! <https://discussion.fedoraproject.org/t/magical-experimental-fedora-badges-topic/35007>`_

+ 5. `Badges-to-Discourse experiment... notes on Discourse as a badges front-end <https://discussion.fedoraproject.org/t/badges-to-discourse-experiment-notes-on-discourse-as-a-badges-front-end/35262>`_

file modified
+1
@@ -51,6 +51,7 @@ 

      expectations_and_wishes

      proposal_rewrite

      proposal_revitalize

+     discourse_integration

  

  Conclusions

  ----

LGTM!
There on line 95 might be a typo: how do go / how to go?
For some reason pagure does not let me do the inline comments.

@lenkaseg noted.

Will make that change.

1 new commit added

  • badges: Correct small typo in the docs
a year ago

Pull-Request has been merged by c4rt0

a year ago