In order to stay away from chaos this project employes some conventions that must be adheard to by developers. If the current conventions are unexceptable I will consider revising them.
SVN Repository
-
+
Generally speaking we use the standard SVN repository layout and rules. Read the Subversion documentation available at subversion.tigris.org.
A few important facts to point out are:
- The trunk is always operational, if anyone downloads the trunk and tries to run it they will not have any major errors
- Use branches to work on experimental code and merge it to the trunk when it is working.
- The tags directory contains only released packages, everytime a new package is released it gets tagged!
Project Directory Structure
-
+
You can also view this structure by browsing the trunk of the SVN repository. But it is coupled with detailed descriptions here. The project is being designed not to depend on this directory structure completely so users can put the js_lib and core_data in different places by updating the portal.html to point to the new locations (they must be web accessable though).
htdocs
`--images
| `-- [... images ...] (This is self-explanitory)
`--core_js_lib
| `-- *Manager.js (Managers provide the accessable API)
| `-- *.js (All javascript files go here)
`--core_css (css files)
`--core_data
| `--language (Contains all of the language files, like message.properties in JSF)
| | `--en_us.txt (language files are based on country code)
| `--ConsoleManager (Output html for the console, accessed via AJAX)
`--core_php_lib (Because JavaScript cannot handle some actions a limited amount
| of Ajax accessable scripts will need to be written in various
| languages, the original will be in php)
`--index.html (Dummy index)
`--portal.html (The interface page, it loads the required jscripts and provides the basic div structure to allow the javascript to do it's magic)