XS Community Edition/0.4/Hacking: Difference between revisions

From OLPC
Jump to navigation Jump to search
Line 38: Line 38:
===Building===
===Building===
'''$ make rpm'''
'''$ make rpm'''

==Design and architecture==

The school server is a collection of common network related services which can be installed and configured as necessary. The School Server provides a core base of services on which extended service can be installed and modified and modified as modules.

Revision as of 20:10, 22 June 2013

The Code

Downloading code

$ git clone http://dev.sugardextrose.org/xs-config

$ git clone git://dev.sugardextrose.org/xs-config <-- (Shows progress through git:// protocol)

or for commit access (requires login and password)

$ git clone http://dev.sugardextrose.org/git/xs-config

Code layout

The 0.3 revision of XSCE software has been made more modular.

Configuration consists of a series of scripts in the plugins.d tree. Major services are separated under plugins.d. The layout of each plugin is described in http://schoolserver.wordpress.com/xs-installation/add-a-service-to-school-server-by-creating-a-plugin/.


In the 0.2 release, the code lived in the xs-config/ dir. Consider these 3 subdirectories of xs-config:

  1. scripts/
    Configuration consists of a series of scripts which live in the scripts/ dir. The process is kicked off by running xs-setup. xs-setup calls a series of scripts with the naming convention the xs-[ServiceName] each of which set up an individual service.
  2. cfg/etc/
    When necessary, the xs-[ServiceName] scripts installs files from under cfg/etc as necessary.
  3. cfg/html/top/
    The web based GUI is located under cfg/html/top/

Building

$ make rpm