| |
@@ -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>`_
|
| |
Signed-off-by: Akashdeep Dhar akashdeep.dhar@gmail.com