From Fedora Project Wiki
QA.png


Warning.png
This page is a draft only
It is still under construction and content may change. Do not rely on the information on this page.
Idea.png
ResultsDB Overview
If you want to know what is ResultsDB, jump here: ResultsDB_Overview

Refs

  • ResultsDB Git [1]
  • TG2.1 Docs [2]
  • TG2.1 Docs - Directory structure [3]
  • ResultsDB Input API [4]

How to read ResultsDB Code

ResultsDB is written using TurboGears2 Web Framework, which has quite awesome documentation itself [2], 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 [3]. For ResultsDB, the interesting stuff happens in controllers and model.

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 (XMLRPCControlled), and also the methods for storing (InputApi) or retrieving (OutputApi) data to/from ResultsDB.

class InputApi(object)

Implementation of the API for storing data in ResultsDB. More information[5].

class OutputApi(object)

Placeholder for the future implementation.

Model

Links