Blame doc/overview.rst

Pierre-Yves Chibon e68ff3
Overview
Pierre-Yves Chibon e68ff3
========
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pagure is split over multiple components, each having their interest and all
Pierre-Yves Chibon e68ff3
but one (the core application) being optional.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
These components are:
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
.. contents::
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pagure core application
Pierre-Yves Chibon e68ff3
-----------------------
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
The core application is the flask application interacting with gitolite to
Pierre-Yves Chibon e68ff3
provide a web UI to these git repositories as well as tickets and
Pierre-Yves Chibon e68ff3
pull-requests.
Pierre-Yves Chibon e68ff3
This is the main application for the forge.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pagure doc server
Pierre-Yves Chibon e68ff3
-----------------
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
While integrated into the main application at first, it has been split out
Pierre-Yves Chibon e68ff3
for security concern, displaying information directly provided by the user
Pierre-Yves Chibon e68ff3
without a clear/safe way of filtering for un-safe script or hacks is a
Pierre-Yves Chibon e68ff3
security hole.
Pierre-Yves Chibon e68ff3
For this reason we also strongly encourage anyone wanting to deploy their
Pierre-Yves Chibon e68ff3
own instance of pagure with the doc server, to run this application on an
Pierre-Yves Chibon e68ff3
completely different domain name (not just a sub-domain) in order to reduce
Pierre-Yves Chibon e68ff3
the cross-site forgery risks.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pagure can be run just fine without the doc server, all you need to do is to
Pierre-Yves Chibon e68ff3
**not** define the variable ``DOC_APP_URL`` in the configuration file.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pagure milter
Pierre-Yves Chibon e68ff3
-------------
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
The milter is a script, receiving an email as input and performing an action
Pierre-Yves Chibon e68ff3
with it.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
In the case of pagure, the milter is used to allow replying on a comment
Pierre-Yves Chibon e68ff3
of a ticket or a pull-request by directly replying to the notification sent.
Pierre-Yves Chibon e68ff3
No need to go to the page anymore to reply to a comment someone made.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon fab115
The milter integrates with a MTA such as postfix or sendmail that you will
Pierre-Yves Chibon fab115
have running and have access to in order to change its configuration.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Pagure EventSource Server
Pierre-Yves Chibon e68ff3
-------------------------
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
Eventsource or Server Sent Events are messages sent from a server to a browser.
Pierre-Yves Chibon e68ff3
Pierre-Yves Chibon e68ff3
For pagure this technology is used to allow live-refreshing of a page when
Pierre-Yves Chibon e68ff3
someone is viewing it. For example, while you are reading a ticket if someone
Pierre-Yves Chibon e68ff3
comments on it, the comment will automatically show up on the page without
Pierre-Yves Chibon e68ff3
the need for you to reload the entire page.