.. _solution_datanote.rst:
Planned Statistics Sources
==========================
For obtaining the list of all usernames
---------------------------------------
In contrast to the earlier approach of gathering statistics for the active users
available on FASJSON, this time around the statistics would need to be a lot more
verbose and detailed. The core part that binds these statistics is the nature of the
information collected as we would want to ensure that these activities are "objectively"
perceived. What looks like a contribution to a certain person should look the same to
others as well.
The list of the all available users has been planned to be resourced from the
authentication database itself, instead of interacting with an HTTP API like FASJSON
first and then letting FASJSON connect with the authentication database like we did
before. This is to ensure that the scheduled runs for the process to fetch and update
the list of users is not performance intensive and lesser time consuming in general than
it was before.
**Previous architecture**
.. image:: ../_static/fcas-namelist-prev.png
:target: ../_images/fcas-namelist-prev.png
**Planned architecture**
.. image:: ../_static/fcas-namelist-curt.png
:target: ../_images/fcas-namelist-curt.png
For obtaining the list of active usernames
------------------------------------------
`Fedora Messaging `_ keeps track of the
activities performed on a certain set of services deployed on the community
infrastructure. As the act of making contributions would inevitably require the
interactions with these services - it is very likely that the contribution activities
would cause the service to publish a message on the Fedora Messaging bus, should the
relevant schemas be configured correctly.
The historical collection of all messages published on the Fedora Messaging bus since
the time of its deployment in production has been stored on a database service known as
`Datanommer `_ and this is something that
can be probed into directly without including another element in the system for
facilitating the requests, which was previously done by `Datagrepper
`_.
**Previous architecture**
.. image:: ../_static/fcas-actvlist-prev.png
:target: ../_images/fcas-actvlist-prev.png
**Planned architecture**
.. image:: ../_static/fcas-actvlist-curt.png
:target: ../_images/fcas-actvlist-curt.png