First of all, read the "Developing Extensions
" document and "Developing Skins
" document, if you are interested to expand Osiris functionality or adapt it to your needs.
You DON'T need to read this document or download our source repository, to develop extensions or skins.
The SVN Repository
For our repository, we use Apache Subversion
Our SVN Repository can be found here:
It allow anonymous access in read-only.
Contact us in our official forum about submitting patches.
It's a huge download, some gigabyte, because we host every files related to the projects, for example
bitmaps, working (.png) bitmaps, current version of libraries we use, etc.
We also host the compiled binary-code (.dll, .lib, .dylib etc. Not .obj or temporary files.) of all platform or architecture that Osiris support.
People can download and build parts of the projects, without need to resolve depencencies.
For information about directories structure, read Source Repository Directory Structure
Isis is also hosted on Sourceforge, here : http://sourceforge.net/projects/isis-gateway/
It's written in PHP.
We host a "production copy" of the lastest stable release in the project server, at http://www.osiris-sps.org/isis.
We host a "developing copy" of the lastest 0.X release in the project server, at http://www.osiris-sps.org/isis-dev
We host a "developing copy" of the lastest 1.X release in the project server, at http://www.osiris-sps.org/isis-razor
The are 3 main developing areas.
- The Core
- Plugins / Extensions / Python frontend
When we compile libraries for a specific platform or architecture, we copy binary-code in the "Client" repository, under directories
named that identify the build (for example "linux-x86_64" or "win-i386").
You can view libraries details, license, links and version in the "About" page in Osiris.
Read the "readme.txt" files inside each library folder, about specific notes. May occur we use library patched by us.
Main engine of the software, written in C++.
It can be compiled with
- Visual Studio 2005 (for Windows build)
- CodeBlocks (for Linux and OSX build)
We actually successfully build under:
- Windows 7 64-bit (with Visual Studio 2005)
- Ubuntu 10.04 32/64-bit (with CodeBlocks)
- OSX Snow Leopard 64-bit (with CodeBlocks and XCode 3.2.5)
To work with the "Core" source code, you typically need to know:
- HTML standard
- CSS standard
- XML/XSLT/XSD standard
- Boost library (c++ library)
We are working about porting many code written in the "Core" C++, under form of plugin or extensions in Python.
Particullary, there are parts of the Core that generate pages, we are working on conversion in Python code.
Plugins / Python frontend
Web-interface frontend, extensions, plugins, written in Python.
Osiris "Core" act as web-server, and publish output in a HTML or XML formats.
Normally it's in Python scripts that XML can be managed or transformed in HTML for the users.
Some of the python code are inside the software, and others are in a form of extension.
Some extension are simply preinstalled.
Cover all aspect of differences between Linux, Windows or OSX distribution (and more will come).
- manage different source-code in "Core" or "Plugin" (for example platform differences)
- choose the compiling tools and configuration for every platform.
- manage script/code for generation of installation packages.
- testing build on different platform and architecture.
If anyone want to help us about this, you can contact us in our forum.
In general, it's auspicabile if you want to help us by managing a build for you preferred platform or architecture, if you have knowledge about the compilation of the libraries we use, and optionally the "Core".
In our repository, there are a software called OMS (Osiris Management System).
- Generate install packages from a pre-compiled copy of Osiris (for example .zip, .tar.gz, .deb, .dmg, .exe etc.)
- Prepare extensions packages managed by our team.
- Send Core builds or extensions to our server.
This software is written in C#; run under Windows and Linux / Mac OSX under Mono.
We prefer to have a specific highly-customizabile application, and not scripts (.bat, .sh) for deployment.