Ce document s'adresse aux contributeurs (nombreux, espérons le..) qui auront à participer à l'amélioration de la documentation JOnAS.
Il est fortement conseillé de le lire avant de contribuer car l'infrastructure de fabrication de la documentation a complètement changé par rapport à l'ancienne documentation JOnAS. Avant il fallait écrire directement la documentation en HTML. Maintenant, la technologie utilisée est XML DocBook qui a l'avantage de bien séparer la partie contenu de la présentation et de permettre de générer cette documentation sous différents formats. Ce document est censé décrire comment écrire, fabriquer, publier la documentation JOnAS. Nous avons profité de ce changement pour intégrer la documentation dans SVN.
Le document est organisé de la manière suivante:
Chapitre 1, L'infrastructure de la documentation JOnAS décrit la structure du projet SVN aussi bien du point de vue des fichiers initiaux (DocBook, feuilles de style) que des fichiers générés (HTML,pdf,war)
Chapitre 2, L'outillage de développement: XMLmind décrit brièvement l'utilisation d'un outil possible et conseillé pour écrire la doc en DocBook (XMLmind)
Chapitre 3, Apprendre à maitriser DocBook n'est pas un manuel de référence mais c'est un chapitre qui donne des liens sur des documents intéressants sur DocBook, et des solutions à quelques problèmes. Ce chapitre devrait être en constante évolution pour constituer une base de connaissance.
Chapitre 4, Conventions et règles diverses se veut une collection de bonnes pratiques dont le but pricipal est d'obtenir une documentation homogène quelque soit le nombre de rédacteurs.
La documentation JOnAS compose le module SVN jonas_doc du repository jonas .
Dans ce projet va être mis en oeuvre le DocBook Xslt Publishing Model qui est décrit dans ce diagramme
Le module SVN jonas_doc a la structure suivante:

Avec:
contient les fichiers html correspondant à l'ancienne doc JOnAS. Devrait etre detruit tres prochainement
contient les fichiers xml correspondants aux documents anglais écrits en docBook
contient les fichiers xml correspondants aux documents français écrits en docBook
contients les images, les stylesheets xls ou css
contient le processeur Apache FOP utilisé pour fabriquer les documents pdf.
L'ensemble des fichiers xml permettant de générer les guides
JOnAS se trouve sous le directory
jonas_doc/src/docbook/doc-en . Le directory est
structuré en sous-répertoires de façon a retrouver facilement les
documents sources. Cette structure est aujourd'hui la suivante:
admin |
administration de JOnAS | |
anttasks |
toutes les taches ant | |
clustering |
clustering dans JOnAS | |
commands |
toutes les commandes de JOnAS | |
deploy |
deploiement | |
howto |
Les "howto" | |
install |
Installation de JOnAS | |
log |
Logging | |
migration |
Ensemble des documents pour la migration d'une version de JOnAS a une autre | |
protocols |
les protocoles | |
ra |
les "resource adaptor" | |
security |
la securite | |
services |
cmi |
service cmi |
db |
service db | |
dbm |
service dbm | |
discovery |
service discovery | |
ear |
service ear | |
ejb2 |
service ejb2 | |
ejb3 |
service ejb3 | |
ha |
service ha | |
jmx |
service jmx | |
jtm |
service jtm | |
mail |
service mail | |
registry |
service registry | |
resource |
service resource | |
security |
service security | |
web |
service web | |
wm |
service wm | |
ws |
service ws |
Tous les documents finaux (les guides) sont à la racine (doc-en). Ils utilisent de maniere quasi systématiques des xi:include pour intégrer des morceaux de documents situés n'importe ou dans cet arbre.
La génération de la doc se fait via ant. Il existe une target par document, ainsi que des target pour enchainer un ensemble de documents :
| target | description |
|---|---|
| clean | delete all generated files |
| all | rebuild toute la doc |
| war | fabrique le |
| local | fabrique les documents non distribues (ce guide, par exemple) |
| dist | fabrique tous les documents livres |
| guides | enchaine la fabrication de tous les guides |
| essai | fabrique le document essai.xml, utilise pour divers essais |
| ear | J2EE Application Deployer's Guide |
| client | J2EE Client programmer's guide |
| clustering | JOnAS Clustering Guide |
| connector | J2EE Connector programmer's guide |
| webpg | Web Application programmer's guide |
| ejb2pg | ejb2 programmer's guide |
| j2eepg | j2ee programmer's guide |
| config | configuration guide |
| anttasks | anttasks manual |
| howto | fabrique les howto |
| bamboo | fabrique le continuous_integration_guide (bamboo) |
| migration | migration guide |
| started | getting started guide |
| deployer | deployer guide |
| admin | administration guide |
| command | command guide |
| copydist | copy toutes les images et l'index.html livrés |
| copylocal | copy toutes les images pour les docs locales |
Les documents livrés sont genérés sous 3 formes :
un document html unique via la target html
un document partitonné en chunk via la target chunk
un document pdf à partir du document XSL-FO via la target pdf
un document en format XSL-FO [1] (formatting object) via la target fo
Ces target ne sont pas appelables directement. On doit donc générer les 3 formats à chaque fois pour chaque document.
Les targets html , fo et chunk dépendent de la target xslt qui utilise xsltproc.
Dans le cas d'un environnement Windows, le chemin vers
l'exécutable xsltproc devra être
présent dans le PATH du système. L'exécutable et ces dll associées sont
présents dans le répertoire tools/win32.
Les transformations XML docBook -> HTML se fait via les feuilles de styles html.xsl et chunk.xsl
la transformation XML-> XSL-FO se fait via la feuille de style fo.xls
Ces feuilles de style se trouvent dans la directory resources
![]() |
Attention |
|---|---|
|
Ces feuilles de styles en incluent d'autres qui se trouvent sous tools/docbook-xsl-1.73.2/html/docbook.xsl |
Toute la doc genérée va sous un directory output, qui est structuré ainsi:
dist Tous les documents
livrés |
local Tous les documents
locaux |
tmp fichiers temporaires |
war le fichier war à integrer dans
la distribution JOnAS |
Les 2 repertoires dist et local ont la même structure:
doc-en (documents en
anglais) |
chunk |
html | |
pdf | |
doc-fr (documents en
français) |
chunk |
html | |
pdf | |
resources images, feuilles de
style, ... |
images |
Deux machines rentrent en ligne de compte jonas.forge.objectweb.org et jonas.objectweb.org
La machine jonas.forge.objectweb.org est la machine de développement, jonas.objectweb.org est la machine de publication.
Sur la machine jonas.forge.objectweb.org il y a une zone accessible via webdavs qui contient :
Une directory current contenant la documentation de JOnAS 4.8 EE
Une directory doc contenant un ensemble de doc et tutoriels plus ou moins vieux
Une directory JOnAS_4_7 contenant la documentation de JOnAS 4.7
Une directory pour la doc JOnAS5 (ayant le nom du tag correspondant) contenant:
une directory doc qui contient l'equivalent du output/dist de la doc jonas 5
une directory jdoc qui contient la javadoc correspondante[2]
Une directory pour la doc JOnAS4 (ayant le nom du tag correspondant) contenant:
une directory doc qui contient l'equivalent du output/dist de la doc jonas 4
une directory jdoc qui contient la javadoc correspondante[3]
La publication de la doc se fait en deux phases:
Mise à jour de jonas.forge.objectweb.org
On utilise Konqueror avec l'URL: webdavs://jonas.forge.objectweb.org:8002/
Il suffit de copier les repertoires avec la souris (doc-en et resources) depuis le directory output/dist de la doc.
Mise à jour de jonas.objectweb.org
Se mettre sous l'onglet admin de la forge JOnAS:

Cliquer sur le bouton de publication " Push Project Web Site from Development to Production Now !"

Cette opération consiste à copier le contenu de la zone webdavs de jonas.forge.objectweb.org sur jonas.objectweb.org et de faire un merge avec le contenu du sous projet web (ancien site web) du projet JOnAS.
![]() |
Note |
|---|---|
|
ll est à noter que le contenu de web/html sera copié directement sous jonas.objectweb.org. C'est ainsi que sont publiés les démos sous http://jonas.objectweb.org/demos, les dtd sous http://jonas.objectweb.org/dtds/ et les schémas sous http://jonas.objectweb.org/ns/. |
Une fois la documentation publiée sur le site on peut être
amené à mettre à jour le site XWiki de JOnAS pour changer les liens
dans le menu documentation . Ceci se fait en
modifiant la page http://wiki.jonas.objectweb.org/xwiki/bin/view/XWiki/
Il y a trois niveaux de personnalisation possibles
personnalisation des transformations Docbook->autres formats (HTML ou XSL-FO)
L'idée est de fournir une couche de personnalisation ( Customization layer ) via une feuille de style .xls qui permet de modifier certains paramétres comme la profondeur de la table des matières, la manière de numéroter les chapitres, sections etc...
pour une transformation DocBook->HTML les paramètres que l'on peut positionner sont décrits ici.
pour une transformation DocBook-> XSL-FO les paramètres positionnables sont décrits ici .
les feuilles de styles utilisées pour la doc JOnAS se
trouve dans la directory resources et sont:
utilisée dans la génération d'un document monolitique
utilisée dans la génération d'un document segmenté. (elle aurait besoin d'amélioration).
utilisée dans la génération d'un document pdf
pour trouver des renseignements sur les Customization layer se reporter au Chapter 8. Customization methods du livre DocBook XSL: The Complete Guide - 3rd Edition
personnalisation de la présentation des documents HTML
On ne positionne pas de caractéristiques de présentation dans
le document DocBook lui même, mais plutôt dans des Cascading Style
Sheets ( .css).
On peut se reporter au chapitre Using CSS to style HTML pour plus de renseignements
La feuille de style utilisée est
resources/common.css
personnalisation de la présentation des documents pdf. Pour cette personnalisation il faut apprendre à connaitre le langage XSL-FO!
on peut se reporter:
au tutoriel W3C Introduction to XSL-FO
La feuille de style utilisee est
resources/fo.xls Elle permet d'élaborer une
page de garde appropriée en fonction des bookinfo. Elle pourrait
permettre d'améliorer la présentation des document pdf actuel mais
il y a encore du travail à faire.
La génération des chaines variables via la directive xi:include pose un problème quand cette chaine apparait dans un lien
exemple :
<a href="#id2">abcde <span ><a name="appserver"></a>fghijk</span></a>
Le html généré par les feuilles de styles xls n'est pas valide voici le compte rendu du validateur html du W3C:
Essai2 avec <span>
<a name="appserver"></a>
JOnAS</span></a></span> The element named
above was found in a context where it is not allowed. This
could mean that you have incorrectly nested elements -- such
as a "style" element in the "body" section instead of inside
"head" -- or two elements that overlap (which is not allowed).
One common cause for this error is the use of XHTML syntax in
HTML documents. Due to HTML's rules of implicitly closed
elements, this error can create cascading effects. For
instance, using XHTML's "self-closing" tags for "meta" and
"link" in the "head" section of a HTML document may cause the
parser to infer the end of the "head" section and the
beginning of the "body" section (where "link" and "meta" are
not allowed; hence the reported error).
Le workaround utilisé est de processer les fichier html générés et remplacer <a name="appserver"></a> par rien (car par chance seule la string variable JOnAS apparait dans des href)
L'outil XMLmind (xxe) permet de travailler en wysiwyg. C'est une alternative intéressante à un editeur basic de style emacs. Il permet en outre de ne pas avoir à connaitre tous les tags docbook puisqu'il les propose dans ses menus.
Pour l'utiliser, il suffit de lancer la commande: xxe
On peut trouver de la documentation en français dans le Guide de l'utilisateur de l'éditeur XML de XMLmind V3.4
Pour créer un nouveau document, le plus simple est de copier un document existant et de modifier ensuite son contenu, récupérant ainsi facilement toute sa structure
Pour personnaliser son environement xmlmind il faut:
positionner dans les options d'edit (Options>Options>Edit) le toggle XInclude.
positionner l'option UTF-8 dans le menu Options - Preferences - Save
pour modifier le document inclu :
cliquer sur une partie de celui-ci puis Edit > Document Reference> Edit Referenced Document
ou cliquer sur l'icone de droite que l'on voit ci-dessous
pour revenir au document référençant :
cliquer sur l'icone de gauche de la figure ci-dessus (en haut à gauche de l'ecran)
ou faire Edit > Document Reference> Edit Referencing Document.
On enumere ici quelques recettes pour resoudre des pbs courants. Cette liste n'est absolument pas exhaustive. On peut trouver de la documentation utile dans plusieurs documents listes en Annexe A, References documentation externe . On peut aussi s'inspirer de ce document lui-meme, ecrit bien sur en docbook. Il suffit de comparer le source .xml et le rendu en html. La feuille de style utilisee est la meme que pour les docs JOnAS.
Comment faire pour qu'aprés transformation on obtienne dans une documentation française chapitre au lieu de chapter, table des matières au lieu de table of contents etc...?
Il suffit de rajouter l'attribut xml:lang="fr" dans l'élément book ainsi:
<book xml:lang="fr">
Il a été décidé d'utiliser le format UTF-8 pour écrire l'ensemble de la doc, y compris les documents en français. Ceci implique de bien faire attention à positionner dans l'en-tête du fichier xml:
<?xml version="1.0" encoding="UTF-8"?>
De même, lorsqu'on utilisera un éditeur, il faudra être certain qu'il travaille dans le bon format. Il faut aussi s'assurer que le format du fichier est bien UTF-8. On peut pour cela utiliser gedit et sauver le fichier dans le bon format. Avec xxe, il faut positionner l'option save en UTF-8 (menu Options - Preferences - Save) sinon on va se retrouver avec un document converti dans le mauvais format!
Avant de lancer un éditeur (emacs ou xxe par exemple): Il faut positionner
export LC_CTYPE=fr_FR.UTF-8
On pourra alors lire et écrire des accents sans problème: àùûéôâîèêç § ÀÙÛÉÇÔÂÎÈÊ→
On a souvent besoin de présenter des parties de codes, des fichiers de conf, des parties d'affichage d'écran alphanumérique pour lesquels on a besoin de faire du telquel (les coupures de lignes doivent être respectées).
En DocBook nous pouvons utiliser les éléments <screen>,<programlisting>, <literallayout> qui ont à peu prés les mêmes caractéristiques.
Ces éléments seront différentiés à la présentation par la feuille de style .css (pour le html).
Nous reservons :
pour la présentation d'une portion de code assez long, et qui sera affiché avec un scrollbar en html.
pour la présentation d'une portion de code plus court, et qui sera affiché sans scrollbar en html.
pour la présentation d'une copie d'écran, sans scrollbar.
Par exemple, dans le document présent nous réservons <literallayout> pour montrer du code docBook et <screen> pour le résultat du code précédent cf Section 3.4.1, « lien vers une partie du document (xref) ».
On utilise en général la balise <informaltable> sous laquelle on trouve une balise tgroup qui précise le nb de colonnes du tableau. Sous <tgroup> on trouve 2 parties: <thead> pour la partie en-tête, et <tbody> pour le corps du tableau. Les <thead> et <tbody> ont la même structure, mais n'auront pas le même rendu html, défini dans la feuille de style.
Avec xxe, on pourra utiliser le menu approprié, dans la barre d'outils : informaltable(head_row)
Exemple de tableau très simple, avec le code xml correspondant :
| header 1 | header 2 |
|---|---|
| elt 1 | description 1 |
| elt 2 | description 2 |
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>header 1</entry>
<entry>header 2</entry>
</row>
</thead>
<tbody>
<row>
<entry>elt 1</entry>
<entry>description 1</entry>
</row>
<row>
<entry>elt 2</entry>
<entry>description 2</entry>
</row>
</tbody>
</tgroup>
</informaltable>
il faut positionnner l'attribut linkend avec l' xml:id de la section, chapitre,... ou on veut aller la chaine sensible sera le titre de la section,chapitre,...
exemple d'un lien xref vers une section :
se reporter au
<xref linkend="conventions" />
...
<chapter xml:id="conventions"/>
<title>Conventions et règles diverses</title>
donnera:
se reporter au Chapitre 4, Conventions et règles diverses
Cet élément contient une chaine de caracteres qui deviendra sensible et un attribut linkend contenant l' xml:id de l'endoit ou on veut aller
Exemple de lien vers une partie du document :
se reporter à <link linkend="partiesection"> une partie de la section suivante</link>
...
<para xml:id="partiesection">
donnera :
se reporter à une partie de la section suivante
On peut l'utiliser pour faire un lien sur une url ou pour faire un lien sur une autre partie de la doc dont on connait la position relative par rapport au document courant.
Exemple de lien vers un document externe à la doc JOnAS :
exemple de lien vers <link xlink:href="http://www.objectweb.org/">objectweb</link>
donnera :
exemple de lien vers objectweb
On peut aussi faire un lien vers un autre document en relatif par rapport à celui-ci. Il suffira de mettre comme valeur de xlink:ref une chaine du style: ../doc_en/toto.html.
Pour faire un lien vers un autre document de la doc JOnAS dont on connait la localisation de l'html généré:
the <link xlink:href="command_guide.html#commands.jonas.jonasadmin">jonas admin command</link>
donnera:
the jonas admin command
Pour obtenir ceci:
carol.protocols=jrmpcarol.jrmp.url=rmi://localhost:1099
![]()
Il faut un <screen> (ou <programlisting>) avec des éléments <co> à l'endroit que l'on veut annoter avec un identifiant comme attribut xml:id
suivi d'un <calloutlist> ayant le meme nombre d'éléments <callout> que d'annotations, chacun des callout ayant un attribut arearefs contenant l' xml:id de l'annotation correspondante.
Voici le code xml correspondant:
carol.protocols=jrmp <co xml:id="id1" />
carol.jrmp.url=rmi://localhost:1099 <co xml:id="id2" />
<calloutlist>
<callout arearefs="id1">
<para>choice of the protocol or list of protocols</para>
</callout>
<callout arearefs="id2">
<para>connexion url to the RMI registry</para>
</callout>
</calloutlist>
A noter que l'insertion des annotations dans la ligne se fait très simplement avec xxe.
inserer une nouvelle note :
insérer un élément footnote
Voici un exemple de note [4]
code correspondant:
Voici un exemple de note <footnote xml:id="firstnote">
<para>première note de bas de page</para>
</footnote>
insérer une note pointant sur une note existante:
positionner l'attribut xml:id de la note existante
insérer un élément footnoteref l'attribut linkend a pour valeur l'attribut xml:id de la note existante
Voici une note [4] référençant la précédente
code correspondant:
Voici une note<footnoteref linkend="firstnote" /> référençant la précédente
le fichier variables.xml est un fichier
utilisé uniquement pour définir le contenu de chaines de caractères qui
risquent de changer (nom de projet, numéro de version, etc...):
Ce fichier est consitué d'une section et d'un ensemble de lignes contenant des déclarations du style :
<phrase xml:id="objectweb">ObjectwebV2</phrase>
objectweb étant l'identifiant utilisé dans les documents sources, et ObjectwebV2 la valeur qui sera finalement remplacée dans le fichier html (ou pdf) généré.
Dans la document xml, il faudra insérer, à la place de ObjectwebV2, un texte qui ressemble à :
<xi:include href="../variables.xml" xpointer="objectweb"/>
Avec xxe, on fera simplement :
cliquer sur la chaine voulue dans variable.xml
faire Edit>Document Reference>Copy as reference
faire paste a l'endroit voulu dans le document referencant
On peut utiliser la mécanique des xi:include décrite ci-dessus pour inclure tout ou partie d'un document xml dans un autre. Il faudra juste supprimer la partie xpointer si tout le document doit etre inclus.
Cette mécanique est largement utilisée dans la documentation JOnAS, la plupart des books étant une liste de chapitres (ou annexes) qui incluent des fichiers xml situés ailleurs
Un exemple :
<xi:include href="ra/JMSRA.xml"/>
Sous xxe, on fera comme précédemment, mais il faudra ensuite manuellement supprimer la partie xpointer.
Pour obtenir ceci une barre de défilement permettant de scroller une zone d'information importante, on utilisera une balise programlisting :
la (ou les) barre de défilement n'apparaitront pas dans le document pdf bien sur.
Exemple de présentation du fichier jonas.properties:
# Enable the Security context propagation (for jrmp)
jonas.security.propagation true
# Enable the Security manager
# default value is true (if not set)
# Setting this to false implies a colocated registry and setting in carol.properties:
# carol.jvm.rmi.local.registry=true
jonas.security.manager false
# Enable csiv2
jonas.csiv2.propagation true
# Enable the Transaction context propagation
jonas.transaction.propagation true
# Set the name of log configuration file
jonas.log.configfile trace
# Set to true if the server is a master
jonas.master false
# Set the list of the services launched in the JOnAS Server.
# Possible services are: registry,jmx,security,jtm,db,mail,wm,wc,dbm,resource,cmi,ha,versioning,ejb2,ejb3,ws,web,ear,depmonitor,discovery
# (registry and jmx are automatically started even if not present in the list)
# Order in the list is important (see 'Configuring JOnAS services' in JOnAS documentation)
#
jonas.services registry,jmx,jtm,db,dbm,security,wm,wc,resource,ejb2,ejb3,ws,web,ear,depmonitor
#
###################### JOnAS Registry service configuration
#
# Set the name of the implementation class of the Registry service
jonas.service.registry.class org.ow2.jonas.registry.carol.CarolRegistryService
# Set the Registry launching mode
# If set to 'automatic', the registry is launched in the same JVM as Application Server,
# if it's not already started.
# If set to 'collocated', the registry is launched in the same JVM as Application Server
# If set to 'remote', the registry has to be launched before in a separate JVM
jonas.service.registry.mode collocated
#
###################### JOnAS JMX service configuration
#
# Set the name of the implementation class of the JMX service
jonas.service.jmx.class org.ow2.jonas.jmx.internal.JOnASJMXService
# Set to true if the JMXRemote interface should require the client to provide
# authentication information. That information is provided when establishing
# the JMX connection, using the JMXConnector.CREDENTIALS key.
#
# Note that if you enable JMX security for a server, all clients (including
# any administration tool such as the domain master) connecting to this
# instance via JMX must provide a valid user name and password.
jonas.service.jmx.secured false
# If jonas.service.jmx.secured is set to true, defines the authentication
# method and the method's parameter. For example, to use file-based
# authentication using the conf/jmx.passwords file, define:
# jonas.service.jmx.authentication.method jmx.remote.x.password.file
# jonas.service.jmx.authentication.parameter conf/jmx.passwords
# You are free to use the authentication provider you wish.
jonas.service.jmx.authentication.method jmx.remote.x.password.file
jonas.service.jmx.authentication.parameter conf/jmx.passwords
# You may for example choose to use JAAS LoginModule for authentication.
# In this case define the used configuration in the JAAS configuration file
# using the jonas.service.jmx.authentication.parameter:
# jonas.service.jmx.authentication.method jmx.remote.x.login.config
# jonas.service.jmx.authentication.parameter jaas-jmx
# If jonas.service.jmx.secured is set to true, defines the authorization
# method and the method's parameter. For example, to use file-based
# authorization using the conf/jmx.access file, define:
# jonas.service.jmx.authorization.method jmx.remote.x.access.file
# jonas.service.jmx.authorization.parameter conf/jmx.access
# You are free to use the authorization provider you wish.
jonas.service.jmx.authorization.method jmx.remote.x.access.file
jonas.service.jmx.authorization.parameter conf/jmx.access
# You may for example choose to use role-based authorization manager
# configured using conf/jmx.rolebased.access file. In this case, define:
# jonas.service.jmx.authorization.method jmx.remote.x.access.rolebased.file
# jonas.service.jmx.authorization.parameter conf/jmx.rolebased.access
#
###################### JOnAS WorkCleaner service configuration
#
# Set the name of the implementation class of the wc service
jonas.service.wc.class org.ow2.jonas.workcleaner.internal.JOnASWorkCleanerService
# Set the clean period in seconds
jonas.service.wc.period 300
#
###################### JOnAS WorkManager service configuration
#
# Set the name of the implementation class of the wm service
jonas.service.wm.class org.ow2.jonas.workmanager.internal.JOnASWorkManagerService
# Set the size of the worker thread pool
jonas.service.wm.minworkthreads 3
# Set the maximun size of the worker thread pool
jonas.service.wm.maxworkthreads 80
# Set the max # of seconds that a thread will wait for work
# This is used to shrink the worker thread pool back to minimum
jonas.service.wm.threadwaittimeout 60
#
###################### JOnAS EJB 2 Container service configuration
#
# Set the name of the implementation class of the ejb2 service
jonas.service.ejb2.class org.ow2.jonas.ejb2.internal.JOnASEJBService
# Set the XML deployment descriptors parsing mode (with or without validation)
jonas.service.ejb2.parsingwithvalidation true
# If enabled, the GenIC tool will be called if :
# - JOnAS version of the ejb-jar is not the same version than the running JOnAS instance
# - Stubs/Skels stored in the ejb-jar are not the same than the JOnAS current protocols.
# By default, this is enabled
jonas.service.ejb2.auto-genic true
# Arguments for the auto GenIC (-invokecmd, -verbose, etc.)
jonas.service.ejb2.auto-genic.args -invokecmd
###################### JOnAS EJB 3 container service configuration
#
# Set the name of the implementation class of the EJB 3 service.
jonas.service.ejb3.class org.ow2.jonas.ejb.easybeans.EasyBeansService
###################### JOnAS Versioning service configuration
#
# Set the name of the implementation class of the versioning service.
jonas.service.versioning.class org.ow2.jonas.versioning.internal.VersioningServiceImpl
###################### JOnAS Web container service configuration
#
# Set the name of the implementation class of the web container service.
jonas.service.web.class org.ow2.jonas.web.tomcat6.Tomcat6Service
#jonas.service.web.class org.ow2.jonas.web.jetty6.Jetty6Service
# Set the XML deployment descriptors parsing mode for the WEB container
# service (with or without validation).
jonas.service.web.parsingwithvalidation true
###################### JOnAS WebServices service configuration
#
# Set the name of the implementation class of the WebServices service.
jonas.service.ws.class org.ow2.jonas.ws.axis.AxisService
# Set the JServiceFactory to use
jonas.service.ws.factory.class org.ow2.jonas.ws.axis.JAxisServiceFactory
# Set the XML deployment descriptors parsing mode for the WebServices
# service (with or without validation).
jonas.service.ws.parsingwithvalidation true
# Set the WSDL Handler list for WSDL publication
# A minimum of 1 WSDLHandler is required !
# This property is set with a coma-separated list of WSDLHandler properties
# file names (without the '.properties' suffix).
# Ex: file1,uddi (while the properties file names are
# file1.properties and uddi.properties)
jonas.service.ws.wsdlhandlers file1
# Set the Generator to use with wsgen
jonas.service.ws.wsgen.generator.factory org.ow2.jonas.generators.wsgen.generator.ews.EWSGeneratorFactory
# Set the prefix that will be used to compute URL endpoints for web services
# Example of prefix: http://www.mydomain.com:8888
jonas.service.ws.url-prefix
# Set automatic WsGen mode on/off
# If set to 'true', WsGen will automatically be applied to all deployed archives (EjbJars, Webapps, Applications)
jonas.service.ws.auto-wsgen.engaged true
#
###################### JOnAS EAR service configuration
#
# Set the name of the implementation class of the ear service.
jonas.service.ear.class org.ow2.jonas.ear.internal.JOnASEARService
# Set the XML deployment descriptors parsing mode for the EAR service
# (with or without validation).
jonas.service.ear.parsingwithvalidation true
#
###################### JOnAS DBM Database service configuration
#
# Set the name of the implementation class of the dbm service
jonas.service.dbm.class org.ow2.jonas.dbm.internal.JOnASDataBaseManagerService
# Set the jonas DataSources. This enables the JOnAS server to load
# the data dources, to load related jdbc drivers, and to register the data
# sources into JNDI.
# This property is set with a coma-separated list of Datasource properties
# file names (without the '.properties' suffix).
# Ex: Oracle1,InstantDB1 (while the Datasources properties file names are
# Oracle1.properties and InstantDB1.properties)
jonas.service.dbm.datasources HSQL1
#
###################### JOnAS Mail service configuration
#
# Set the name of the implementation class of the mail service
jonas.service.mail.class org.ow2.jonas.mail.internal.JOnASMailService
# Set the jonas mail factories.
# This property is set with a coma-separated list of MailFactory properties
# file names (without the '.properties' suffix).
# Ex: MailSession1,MailMimePartDS1 (while the properties file names are
# MailSession1.properties and MailMimePartDS1.properties)
jonas.service.mail.factories
#
###################### JOnAS JTM Transaction service configuration
#
# Set the name of the implementation class of the jtm service
jonas.service.jtm.class org.ow2.jonas.tm.jotm.JOTMTransactionService
# Set the Transaction Manager launching mode.
# If set to 'true', TM is remote: TM must be already launched in an other JVM.
# If set to 'false', TM is local: TM is going to run into the same JVM
# than the jonas Server.
jonas.service.jtm.remote false
# Set the default transaction timeout, in seconds.
jonas.service.jtm.timeout 60
#
###################### JOnAS SECURITY service configuration
#
# Set the name of the implementation class of the security service
jonas.service.security.class org.ow2.jonas.security.internal.JonasSecurityServiceImpl
# Realm used for CsiV2 authentication
jonas.service.security.csiv2.realm memrlm_1
# Realm used for Web Service authentication
jonas.service.security.ws.realm memrlm_1
# Registration of realm resources into JNDI
# Disable by default so configuration is not available with clients
jonas.service.security.realm.jndi.registration false
# Enable security context check on Remote Login Module
jonas.security.context.check false
# Path to the keystore file
jonas.security.context.check.keystoreFile /tmp/keystore
# Pass used for the keystore file
jonas.security.context.check.keystorePass keystorepass
# Alias (stored in the keystore)
jonas.security.context.check.alias FB
#
###################### JOnAS J2CA resource service configuration
#
# Set the name of the implementation class of the J2CA resource service
jonas.service.resource.class org.ow2.jonas.resource.internal.JOnASResourceService
###################### JOnAS DB service configuration
#
# Set the name of the implementation class of the db service (hsql for example)
jonas.service.db.class org.ow2.jonas.db.hsqldb.HsqlDBServiceImpl
jonas.service.db.port 9001
jonas.service.db.dbname db_jonas
jonas.service.db.users jonas:jonas
# Multiple users
#jonas.service.db.users jonas:jonas,login:password
###################### JOnAS Discovery service
#
# Set the name of the implementation class and initialization parameters
jonas.service.discovery.class=org.ow2.jonas.discovery.jgroups.JgroupsDiscoveryServiceImpl
# Uncomment this to set Multicast implementation
#jonas.service.discovery.class=org.ow2.jonas.discovery.internal.MulticastDiscoveryServiceImpl
##################### Properties for multicast impl.
# For a master server, configure the client source port with this property
jonas.service.discovery.source.port=9888
jonas.service.discovery.ttl=1
jonas.service.discovery.multicast.address=224.224.224.224
jonas.service.discovery.multicast.port=9080
# A multicast greeting message is sent out when discovery service is started.
# The starting server listens at the port jonas.service.discovery.greeting.port
# (default 9899) for a response for jonas.service.discovery.greeting.timeout miliseconds
# (default 1000 ms). If a pre-existing server has the same server name as this one,
# this server's discovery service will be terminated.
# Uncomment these two lines for multicast discovery
jonas.service.discovery.greeting.port=9899
jonas.service.discovery.greeting.timeout=1000
##################### properties for JGroups impl.
jonas.service.discovery.jgroups.conf= jgroups-discovery.xml
jonas.service.discovery.group.name = JGroupsDiscovery
#Reconnection timeout for JGroups Channel, if it's closed on request.
jonas.service.discovery.reconnection.timeout = 5000
###################### JOnAS CMI service configuration
#
# Set the name of the implementation class of the CMI service.
jonas.service.cmi.class org.ow2.jonas.cmi.internal.CmiServiceImpl
###################### JOnAS HA service configuration
#
# Set the name of the implementation class of the HA service.
jonas.service.ha.class org.ow2.jonas.ha.internal.HaServiceImpl
# Set the JGroups configuration file name
jonas.service.ha.jgroups.conf jgroups-ha.xml
# Set the JGroups group name
jonas.service.ha.jgroups.groupname jonas-rep
# Set the SFSB backup info timeout. The info stored in the backup node is removed when the timer expires.
jonas.service.ha.gc.period 600
# Set the datasource for the tx table
jonas.service.ha.datasource jdbc_1
# Reconnection timeout for JGroups Channel, if it's closed on request.
jonas.service.ha.reconnection.timeout 5000
###################### JOnAS Deployment Monitor
#
# Set the name of the implementation class of the depmonitor service
#
jonas.service.depmonitor.class org.ow2.jonas.deployablemonitor.DeployableMonitorService
jonas.service.depmonitor.development true
jonas.service.depmonitor.directories
# List (comma separated) of exclusion patterns (based on names, not directories)
jonas.service.depmonitor.exclusions README
Voici le résultat attendu (dans un document HTML):

Il suffit de rajouter dans la feuille de style fo.xsl:
<xsl:param name="fop1.extensions" select="1"/>
dans ce § un certain nombre de règles sont énumérées afin d'obtenir une documentation homogène:
Eviter le style direct du genre
First of all, we need to define or you have to type the following command.
(sauf dans un tutorial)
limiter les liens, utiliser l'inclusion
Conventions typographiques pour les differents éléments textuels:
d'une manière générale la politique est de caracteriser
l'élément textuel via un element DocBook ce qui permettra de
s'occupper de la présentation de cet élément de manière fine dans la
feuille de style .css
.
Donc, éviter emphasis et utiliser les éléments possibles de DocBook comme filename, classname , property ,etc...
dans xmlmind pour connaitre les éléments possibles surligner
la chaine de caractères puis faire ctrl-T (ou
le nom des éléments apparaissent dans la
fenêtre à droite. A noter que certains élément peuvent être encore
précisé via l'éditeur d'attributs: à l'élément filename on peut préciser l'attribut
class avec les valeurs suivantes:
directory, devicefile, extension,etc...
nom de directory:
$JONAS_ROOT/conf
utiliser filename + attribut class= directory
nom de fichier
jonas.properties
utiliser filename
nom de propriete de configuration
jonas.services
utiliser property
nom de variable d'environnement
JONAS_ROOT
utiliser envar
valeur de variable d'environnement
/home/jr48
dépend du type de la valeur , si c'est un path filename+directory si c'est une valeur prendre literal
nom de classe java ou package :
javax.mail.internet.MimePartDataSource
.
utiliser classname
nom d'interface java:
javax.ejb.SessionSynchronization
.
utiliser interfacename
Voici un tableau permettant de controler le rendu pour les différents éléments textuels(compte tenu de notre feuille de style utilisée) :
| elements/attributs | rendu du texte |
|---|---|
| texte | texte |
| <emphasis>texte</emphasis> | texte |
| <emphasis role="bold">texte</emphasis> | texte |
| <filename>texte</filename> | texte |
| <filename class="directory">texte</filename> | texte |
| <filename class="extension">texte</filename> | texte |
| <literal>texte</literal> | texte |
| <classname>texte</classname> | texte |
| <interfacename>texte</interfacename> | texte |
| <command>texte</command> | texte |
| <envar>texte</envar> | texte |
| <interfacename>texte</interfacename> | texte |
| <package>texte</package> | texte |
| <property>texte</property> | texte |
| <function>texte</function> | texte |
| <link xlink:href="http://wiki.jonas.objectweb.org">texte</link> | texte |
Identifier les éléments qui risquent d'etre référencés ou inclu (chapitre, section, autres) en positionant l'attribut id de l'élément XML DocBook correspondant :
<section xml:id="config.cmi">
L'id choisi doit être unique dans le document entier.
On prend la convention de nommage suivante: prendre un nom qui reflète la structure arborescente des sources (comme les package java).
C'est la bible! un peu mastoc mais il faut y revenir régulièrement il est incontournable...
pas mal non plus on y trouve parfois des choses différentes que dans le précédent
a le mérite d'être en français...
Pour le passage à docBook 5
excellente introduction rapide à DocBook (une sorte de DocBook pour les nuls...)
documentation de réference pour parametrisation des DocBook XSL HTML stylesheets (pour generer des documents HTML
documentation de réference pour paramétrisation des DocBook XSL FO stylesheets (pour generer des documents XSL-FO utilisé pour des documents finaux au format PDF.
comment utiliser css pour personnaliser un document HTML