DIRACGrid/DIRAC — pull request #2179 by chaen (2014-11-18 07:50:00+00:00)
Title: [v6r13] RMS refactoring

This PR contains a re implementation of the RMS from a pure technical point of view, but also a couple of new features
* The main point is the usage of SQLAlchemy as a full ORM layer.
* We make also use of a proper json library to transport the Request/Operation/File objects
* The constraint of RequestName uniqueness is not enforced anymore. As a consequence, the signature of the most of the methods exposed by the RMS had to be rewritten to work with the RequestID as unique identifier rather than the name. This requires a change in the DB and in the code on top of DIRAC
* A new datetime field was added to the Request : NotBefore. This field prevent a Request to be fetched for execution before the mentioned time. It can be set at the client level (using for example information from RSS about downtime). If it is not set, the NotBefore field increases with the amount of attempts of the Files. This requires a change in the DB
* There are new methods exposed to be used by the web portal (getDistinctValuesWeb, getRequestCountersWeb, RequestSummaryWeb)

All the changes to be done by the user/developper are described in the wiki page