User:Jskladan/Sandbox:Reading ResultsDB Code

= Refs =


 * ResultsDB Git
 * TG2.1 Docs
 * TG2.1 Docs - Directory structure
 * ResultsDB Input API
 * SQLAlchemy Expressions: http://www.sqlalchemy.org/docs/05/sqlexpression.html http://www.sqlalchemy.org/docs/orm/tutorial.html?highlight=query%20filter#querying

= How to read ResultsDB Code =

ResultsDB is written using TurboGears2 Web Framework, which has quite awesome documentation itself, so I won't go into much detail, but just pass links to the appropriate parts of the documentation.

Directory Structure
Detailed information about the directory structure can be found in the TG2.1 Docs. For ResultsDB, the interesting stuff happens in  and.

Controllers/root.py
This is the 'center point' of all the ResultsDB functionality, that is the XMLRPC interface.

class RootController(BaseController)
Server as the 'wrapper' for the xmlrpc controller. It can also provide functionality for web interface, if we ever decide that ResultsDB should have a 'native' one and not just standalone frontends.

class XmlRpcController(XMLRPCController, InputApi, OutputApi)
Just an 'aggregation' class, which provides the XMLRPC interface, and also the methods for storing or retrieving  data to/from ResultsDB.

class InputApi(object)
Implementation of the API for storing data in ResultsDB. More information.

class OutputApi(object)
Placeholder for the future implementation.

Model
= Links =