Copy sitedocs for fmn.web.
This commit is contained in:
parent
ebae481ad8
commit
e5513c242f
2 changed files with 120 additions and 0 deletions
111
roles/notifs-frontend/files/about.rst
Normal file
111
roles/notifs-frontend/files/about.rst
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
Fedora Notifications
|
||||||
|
====================
|
||||||
|
|
||||||
|
Fedora Notifications is a family of systems built to manage end-user
|
||||||
|
notifications triggered by `fedmsg <http://fedmsg.com>`_, the fedora FEDerated
|
||||||
|
MeSsaGe bus.
|
||||||
|
|
||||||
|
The wins here are:
|
||||||
|
|
||||||
|
- Diverse kinds of notification media: Some users don't want email. At present
|
||||||
|
we can do notifications over email and IRC privmsg. In the future we hope to
|
||||||
|
add Android push notifications, desktop popups, and websocket integration
|
||||||
|
across all of our apps.
|
||||||
|
- A single place for end-users to manage notification preferences: As it stands
|
||||||
|
right now, you have to update notification preferences (if you can do so at
|
||||||
|
all) in many different apps in many different places. (bodhi, koji, pkgdb,
|
||||||
|
etc..). With this app (Fedora Notifications), you can choose what you do and
|
||||||
|
don't want to receive in one place -- right here.
|
||||||
|
|
||||||
|
- A single place for email code to live -- instead of being duplicated in every
|
||||||
|
application that we write and deploy. This will ostensibly reduce the amount
|
||||||
|
of code that the infrastructure team has to maintain.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
In a nutshell, here's the way this application works:
|
||||||
|
|
||||||
|
- You login and set up some preferences here, in this webapp.
|
||||||
|
- Events occur in Fedora Infrastructure and are broadcast over fedmsg.
|
||||||
|
- This application receives those events and compares them against your
|
||||||
|
preferences. If there's a match, then it forwards you a notification.
|
||||||
|
|
||||||
|
We maintain a `lot of applications <https://apps.fedoraproject.org>`_. Over
|
||||||
|
time, there has been an initiative to get them all speaking a similar language
|
||||||
|
on the backend with fedmsg. Take a look at the `list of fedmsg topics
|
||||||
|
<http://fedmsg.com/en/latest/topics/>`_ to see what all is covered.
|
||||||
|
|
||||||
|
Some Terminology
|
||||||
|
================
|
||||||
|
|
||||||
|
Rule
|
||||||
|
----
|
||||||
|
|
||||||
|
This is smallest, most atomic object in the Fedora Notifications system. It is
|
||||||
|
a simple rule that can be applied to a fedmsg message. It can evaluate to
|
||||||
|
``True`` or ``False``.
|
||||||
|
|
||||||
|
It has a name and a description. Some examples of rules are:
|
||||||
|
|
||||||
|
- "is a *bodhi* message"
|
||||||
|
- "is a *wiki edit* message"
|
||||||
|
- "relates to the user *lmacken*"
|
||||||
|
- "relates to the package *nethack*"
|
||||||
|
- "relates to a package *owned by me in pkgdb*"
|
||||||
|
|
||||||
|
We have a long list of rules defined. You'll see them when you go to set up
|
||||||
|
your first filter
|
||||||
|
|
||||||
|
Filter
|
||||||
|
------
|
||||||
|
|
||||||
|
To craft your preferences, you will build filters out of rules. Filters have a
|
||||||
|
name (that you give them). An example could be something like:
|
||||||
|
|
||||||
|
- My bodhi packager filter
|
||||||
|
|
||||||
|
- "is a bodhi message"
|
||||||
|
- "relates to a package that I own"
|
||||||
|
|
||||||
|
You will receive notifications for this filter *if and only if* a given message
|
||||||
|
**both** is a bodhi message and is about a package owned by you.
|
||||||
|
|
||||||
|
----
|
||||||
|
|
||||||
|
Note that, if you wanted to get notifications about bodhi updates created by
|
||||||
|
multiple users, you would need to create distinct filters for each one.
|
||||||
|
|
||||||
|
- My bodhi lmacken filter
|
||||||
|
|
||||||
|
- "is a bodhi message"
|
||||||
|
- "relates to the user **lmacken**"
|
||||||
|
|
||||||
|
- My bodhi toshio filter
|
||||||
|
|
||||||
|
- "is a bodhi message"
|
||||||
|
- "relates to the user **toshio**"
|
||||||
|
|
||||||
|
You could not combine those both into the same filter, because *all rules on a
|
||||||
|
filter* must evalulate to ``True`` for the filter to trigger a notification.
|
||||||
|
|
||||||
|
Messaging Context
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
This is the medium over which we'll send a message. You can have one set of
|
||||||
|
preferences for an email messaging context, and another set of preferences for
|
||||||
|
an irc messaging context.
|
||||||
|
|
||||||
|
When a fedmsg message arrives in the system, if *any one filter* on one of your
|
||||||
|
messaging contexts evaluates to ``True``, then you will receive a notification
|
||||||
|
for that context. If some filters evaluate to ``True`` for multiple contexts,
|
||||||
|
you will receive notifications for all those contexts.
|
||||||
|
|
||||||
|
Dénouement
|
||||||
|
==========
|
||||||
|
|
||||||
|
You can report `issues
|
||||||
|
<https://github.com/fedora-infra/fmn/issues>`_ and find the
|
||||||
|
`source <https://github.com/fedora-infra/fmn/>`_ on github.
|
||||||
|
The development team hangs out in ``#fedora-apps``. Please do stop by and say
|
||||||
|
hello.
|
||||||
|
|
|
@ -24,3 +24,12 @@
|
||||||
- fmn.web.conf
|
- fmn.web.conf
|
||||||
notify:
|
notify:
|
||||||
- restart apache
|
- restart apache
|
||||||
|
|
||||||
|
- name: create live docs directory
|
||||||
|
file: >
|
||||||
|
dest=/usr/lib/python2.6/site-packages/fmn/web/docs/
|
||||||
|
state=directory
|
||||||
|
|
||||||
|
- name: copy live docs
|
||||||
|
copy: src=$item dest=/usr/lib/python2.6/site-packages/fmn/web/docs
|
||||||
|
with_fileglob: fedora-sitedocs/*.rst
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue