Openflexo’s web documentations is made of several websites:
Every site should apply the same base layout, based on the same images, CSS and JavaScript libraries. That’s why those are deployed in a single directory mapped to a single url (/css/, /inc/, /images/) for every sub-domain.
Everything that is produced and published, except maven sites, is hosted in a git repository which URL is: - gitlab@server-one.openflexo.org:/home/gitlab/repositories/website.git
You might clone the whole repository using the following git command: *git clone gitlab@server-one.openflexo.org:/home/gitlab/repositories/website.git*.
Two branches are used: - webtest, is used for work in progress - webprod is used for content in production.
I.e., when you commit & push something on webtest it is only visible on *(http://www-test.openflexo.org)*
Standard process should be: - work on webtest, commit & push - validate your work using a production and visulization on www-test - merge on webprod, commit & push - jenkins (see next section) produces & deploys the production content.
To be able to clone the repository and push any modification, your public ssh key must be known from the Git Server…. Ask your favourite Openflexo’s admin (!).
The websites production process uses Maven build system so that everything can be automated using Jenkins, in the same way any other software component is produced.
We use the same tooling that is used to produce the classical maven sites for software components. That means that one can write documentation to be published in any of the following format:
some more to come if needed
The maven targets to use when producing the sites are: mvn clean site resources:resources
The mini-site are produced according to Maven Site configuration file (site.xml) that is stored in the directory containing minisite sourcecode. It may use some Maven Skin that are developed to fit Openflexo’s theme (TODO).
Details about sourcecode organization is given below.
Everything that is in the following directory (aliases):
The source files for each site (either Main one, or any mini-site) are stored in a subdirectory of sites directory. E.g.: * the directory sites/pamela, contains files that will be produced and published on the https://pamela.openflexo.org* minisite; the directory sites/www, contains files hat will be produced and published on the main openflexo website * the directory sites/developers/markdown, contains .md files (markdown syntax) that will be transformed to html to be published on http://developers.openflexo.org* … The production process used the sites-deployed directory to store the resulting files that are
WARNING:: I will have to find a way to manage generic header inclusion (from main website, and avoid cross-site issues)