Build System
Phing
The Ringside build scripts are Phing scripts. In order to run these scripts, make sure you have Phing installed on your box. To execute one of these build scripts, "cd" to the location where the build script is located and execute:
The -f <build-script-name> option is not required if the build script you are trying to run is called "build.xml" as it is the default. The target-name is not required if you want to run the default target, as defined by the build script you are executing.
Build Properties
There is a main build.properties file used by the build system. This is used by the build scripts to set certain build defaults. You will normally copy this file, naming the copy build.local.properties, and edit the local properties so your custom values are set. See the build.properties file - it is commented to describe what the different settings do. Some of these properties are written out to LocalSettings.php so the PHP code can pick up the values during runtime. Other build properties are used strictly for the build scripts so you can customize the build.
Build Scripts
There is a /build directory that contains build scripts that you use to build different artifacts and distributions.
Builds the client distribution. These are the PHP clients that social applications can use to communicate with a Ringside Server instance. As an example for how the client distro is used, see the Getting Started Trail that talks about it.
Consolidates all server code into a distribution directory so it can be deployed in an Apache Web Server. This prepares a LocalSettings.php based on your build properties so the Ringside Server is customized for your local environment. In order to deploy your Ringside Server, you should just be able to take the dist/deploy/ringside content produced by this build and deploy in your Apache's htdoc directory.
 | TODO: someone needs to confirm that the above is true (about copying the dist/ content to htdocs). Is there anything else you need to do in order to complete the deployment? |
Prepares your SVN working copy for use as a Ringside development environment by creating the following files in your trunk working directory:
- ringside.conf (an Apache configuration file used to deploy Ringside in Apache)
- LocalSettings.php (some global constants used by the Ringside server)
- TestSettings.php (some global constants used by the tests)
For more information on how to prepare a development environment, see Advanced Developer Setup.
Build System
Phing
The Ringside build scripts are Phing scripts. In order to run these scripts, make sure you have Phing installed on your box. To execute one of these build scripts, "cd" to the location where the build script is located and execute:
The -f <build-script-name> option is not required if the build script you are trying to run is called "build.xml" as it is the default. The target-name is not required if you want to run the default target, as defined by the build script you are executing.
Build Properties
There is a main build.properties file used by the build system. This is used by the build scripts to set certain build defaults. You will normally copy this file, naming the copy build.local.properties, and edit the local properties so your custom values are set. See the build.properties file - it is commented to describe what the different settings do. Some of these properties are written out to LocalSettings.php so the PHP code can pick up the values during runtime. Other build properties are used strictly for the build scripts so you can customize the build.
Build Scripts
There is a /build directory that contains build scripts that you use to build different artifacts and distributions.
Builds the client distribution. These are the PHP clients that social applications can use to communicate with a Ringside Server instance. As an example for how the client distro is used, see the Getting Started Trail that talks about it.
Consolidates all server code into a distribution directory so it can be deployed in an Apache Web Server. This prepares a LocalSettings.php based on your build properties so the Ringside Server is customized for your local environment. In order to deploy your Ringside Server, you should just be able to take the dist/deploy/ringside content produced by this build and deploy in your Apache's htdoc directory.
 | TODO: someone needs to confirm that the above is true (about copying the dist/ content to htdocs). Is there anything else you need to do in order to complete the deployment? |
Imports and exports database schema information.
The "sql" target creates the .sql file used to build your database schema.
The "import" target will generate PHP code based on an existing database schema.
The "export" target will take PHP code and build a database schema.
Generates phpdoc using PhpDocumentor. After you run this build, dist/docs will contain the documentation.
You need to make sure your PHP environment has the PhpDocumentor extension. You can PEAR install it like this:
Builds the distribution so it is installable by PEAR. The Ringside PEAR repository can be updated with this PEAR build so users can perform a PEAR install.
In order to be able to run this build script successfully, you must make sure your PHP environment has the following dependencies:
You can PEAR install the required dependencies using the following commands:
 | TODO: should explain this build-pear script in further detail |
This is currently unused and may go away in the future.
This build script is not meant to be run standalone. It provides some reusable, common tasks that other test scripts use. For examples, see:
Source Directories
The following are the major top level directories in the source code layout:
The front end code. These are the web pages of the Ringside Server itself.
The business tier of the social engine within the Ringside Server.
The API engine that applications call into when they need information from the Ringside Server.
This is the "fourth tier" of the Ringside Application Server called "M3". It provides an implementation that is used by the other three tiers (web, social, api) so they can use the Monitoring, Metering and Management features.
The set of applications used to demo functionality of Ringside. Follow the Getting Started Trail Map to see how the demo apps are used.
 | Someone needs to verify this information and explain further what system-apps are and why you would put an app in here. What are they for? |
The internal Ringside applications that are deployed with the Ringside server out-of-box. They are apps that can be accessed by the social layer using the local client (i.e. no network hops necessary to talk to them).
 | TODO: some of this is to be deleted, if not all of it |
Contains all the major build scripts used to generate Ringside artifacts and distributions.