Recherche
...
Remarque |
---|
Fichier {_}{color} {note} Fichiersrc/main/resources/META-INF/MANIFEST.MF dans le projet {note} |
Le
...
fichier
...
MANIFEST.MF
...
est
...
le
...
fichier
...
de
...
configuration
...
principal
...
d'un
...
plugin
...
OSGI.
...
Exemple :Manifest-Version:
...
1.0
...
Bundle-ManifestVersion:
...
1
...
Bundle-Name:
...
Nuxeo
...
Sample
...
project
...
Bundle-SymbolicName:
...
org.orioai.nuxeo.workflow;singleton:=true
...
Bundle-Version:
...
1.0.0
...
Bundle-Vendor:
...
ORI-ORI.org
...
Provide-Package:
...
org.orioai.nuxeo.workflow
...
Require-Bundle:
...
org.nuxeo.runtime,
...
org.nuxeo.ecm.core.api,
...
org.nuxeo.ecm.core,
...
org.nuxeo.ecm.webapp.core
...
Nuxeo-Component:
...
OSGI-INF/core-types-contrib.xml,
...
OSGI-INF/actions-contrib.xml,
...
OSGI-INF/orioaiworkflow-service-contrib.xml,
...
OSGI-INF/wsdl-orioaiworkflow-contrib.xml,
...
OSGI-INF/orioainuxeo2xml-service-contrib.xml,
...
OSGI-INF/xsl-orioainuxeo2xml-contrib.xml
...
Bundle-ClassPath:
...
qname.jar
...
Import-Package:
...
javax.xml.namespace
Bundle-SymbolicName | ID |
Bundle-Version | Version |
Bundle-Name | Nom |
Bundle-Vendor | Fournisseur |
Provide-Package | Chaîne de caractère qui devra être utilisé par des plugin qui seront dépendant de ce plugin |
Require-Bundle | Liste des plugins dont est dépendant le plugin courant. Cette liste influera sur l'ordre de chargement des plugins au démarrage de nuxeo |
Nuxeo-Component | Autres fichiers, appelés XML descriptor, de configuration du plugin. Ils servent à spécifier les points d'extension utilisés par le plugin et/ou à spécifier les points d'extension exposés par le plugin |
Bundle-ClassPath | Liste de répertoires ou de jar à charger pour la bonne exécution du plugin |
Import-Package | ??? |
Remarque |
---|
Fichiers h2. Explications h3. Information générale sur le plugin | Bundle-SymbolicName | ID | | Bundle-Version | Version | | Bundle-Name | Nom | | Bundle-Vendor | Fournisseur | h3. Gestion de dépendances | Provide-Package | Chaîne de caractère qui devra être utilisé par des plugin qui seront dépendant de ce plugin | | Require-Bundle | Liste des plugins dont est dépendant le plugin courant. Cette liste influera sur l'ordre de chargement des plugins au démarrage de nuxeo | h3. Autres paramètres | Nuxeo-Component | Autres fichiers, appelés XML descriptor, de configuration du plugin. Ils servent à spécifier les points d'extension utilisés par le plugin et/ou à spécifier les points d'extension exposés par le plugin | | Bundle-ClassPath | Liste de répertoires ou de jar à charger pour la bonne exécution du plugin | | Import-Package | ??? | h1. {color:#000000}{_}XML descriptor{_}{color} {note} Fichierssrc/main/resources/OSGI-INF/*-contrib.xml dans le projet {note} |
Ce
...
sont
...
les
...
fichiers
...
spécifiés
...
dans
...
Nuxeo-Component
...
du
...
fichier
...
MANIFEST.MF
...
Ils
...
servent
...
à
...
spécifier
...
les
...
points
...
d'extension
...
utilisés
...
par
...
le
...
plugin
...
et/ou
...
à
...
spécifier
...
les
...
points
...
d'extension
...
exposés
...
par
...
le
...
plugin.
...
Par
...
convention
...
ils
...
sont
...
de
...
la
...
forme :
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Le
...
développement
...
des
...
points
...
d'extension
...
est
...
traité
...
dans ???
...
mais
...
voici
...
2
...
exemples
...
de
...
fichiers
...
XML
...
descriptor.
...
...
...
<?xml
...
version="1.0"?>
...
<component
...
name="org.orioai.nuxeo.workflow.core-types">
...
<extension target="org.nuxeo.ecm.core.schema.TypeService"
...
point="schema">
...
<schema name="ori"
...
src="schemas/ori.xsd"
...
prefix="ori"
...
/>
...
</extension>
...
<extension target="org.nuxeo.ecm.core.schema.TypeService"
...
point="doctype">
...
<doctype name="File"
...
extends="Document">
...
<schema name="common"
...
/>
...
<schema name="file"
...
/>
...
<schema name="dublincore"
...
/>
...
<schema name="uid"
...
/>
...
<schema name="files"
...
/>
...
<schema name="ori"
...
/>
...
<facet name="Downloadable"
...
/>
...
<facet name="Versionable"
...
/>
...
<facet name="Publishable"
...
/>
...
<facet name="Indexable"
...
/>
...
<facet name="Commentable"
...
/>
...
</doctype>
...
</extension>
...
</component>
...
/component@name | Nom du composent. |
/component/extension@target | Nom du composant que l'on va étendre. Correspond au /component@name du point d'extension utilisé. |
/component/extension@point | Un composant peut contenir plusieurs points d'extension utilisables. On spécifie avec ce paramètre celui que l'on veut étendre. |
/component/extension/* | Liste des informations que l'on va passer un point d'extension que l'on étend. Cette liste est spécifique à chaque point d'extension. |
<?xml version="1.0"?>
...
<component
...
name="org.orioai.nuxeo.workflow.OriOaiWorkflowService">
...
<implementation
class="org.orioai.nuxeo.workflow.OriOaiWorkflowServiceMock"
...
/>
...
<service>
<provide
interface="org.orioai.nuxeo.workflow.OriOaiWorkflowService"
...
/>
...
</service>
<documentation>explication sur le service</documentation>
<extension-point name="wsUrl">
...
<documentation>explication sur le point d'extension</documentation>
...
<object class="org.orioai.nuxeo.workflow.WsDescriptor"
...
/>
...
</extension-point>
...
</component>
...
/component@name | Nom du composent. |
...
/component/implementation@class |
...
Classe |
...
java |
...
concrète |
...
implémentant |
...
le |
...
service |
...
/component/service/provider@interface |
...
Nom |
...
de |
...
l'interface |
...
java |
...
qui |
...
est |
...
implémentée |
...
par |
...
/component/implementation@class |
...
/component/documentation |
...
Texte |
...
d'information |
...
sur |
...
le |
...
service. |
...
Il |
...
est |
...
utile |
...
pour |
...
les |
...
personnes |
...
qui |
...
seront |
...
amenés |
...
à |
...
travailler |
...
avec |
...
votre |
...
point |
...
d'extension. |
...
Il |
...
est |
...
utilisé |
...
pour |
...
la |
...
génération |
...
automatique |
...
de |
...
la |
...
documentation |
...
de |
...
référence |
...
sur |
...
les |
...
points |
...
d'extension. |
...
/component/extension-point@name |
...
Nom |
...
du |
...
point |
...
d'extension |
...
offert |
...
par |
...
le |
...
composant. |
...
Il |
...
peut |
...
y |
...
avoir |
...
plusieurs |
...
balises |
...
/component/extension-point |
...
/component/extension-point/documentation |
...
Texte |
...
d'information |
...
sur |
...
le |
...
point |
...
d'extension |
...
/component/extension-point/object |
...
Nom |
...
du |
...
bean |
...
qui |
...
contiendra |
...
les |
...
configurations |
...
du |
...
point |
...
d'extension |
...
lorsqu'il |
...
sera |
...
étendu. |
|
Remarque |
---|
Fichiers | | h1. {color:#000000}{_}Déploiement fragment{_}{color} {note} Fichierssrc/main/resources/OSGI-INF/deployment-fragment.xml dans le projet {note} |
Une
...
application
...
web
...
java
...
classique
...
a
...
des
...
fichiers
...
de
...
configuration
...
qui
...
sont
...
lus
...
au
...
lancement
...
du
...
serveur
...
d'applications.
...
De
...
même,
...
les
...
fichiers
...
de
...
ressources
...
ou
...
les
...
librairies
...
sont
...
lus
...
au
...
lancement.
...
Ceci
...
n'est
...
pas
...
compatible
...
avec
...
la
...
notion
...
de
...
plugin.
...
En
...
effet,
...
un
...
plugin
...
se
...
matérialise
...
par
...
un
...
simple
...
fichier
...
jar
...
qui
...
sera
...
chargé
...
en
...
fonction
...
des
...
règles
...
de
...
dépendances
...
définies
...
dans
...
le
...
fichier
...
MANIFEST.MF.
...
Il
...
peut
...
néanmoins
...
nécessiter
...
des
...
ressources
...
spécifiques
...
ou
...
une
...
configuration
...
particulière
...
de
...
l'application
...
java
...
qui
...
la
...
contient.
...
Le
...
fichier
...
deployment-fragment.xml
...
permet
...
justement
...
de
...
spécifier
...
comment
...
le
...
plugin
...
va
...
adapter
...
l'environnement
...
d'exécution
...
java
...
dans
...
lequel
...
il
...
sera
...
appelé.
...
Exemple :
<?xml
...
version="1.0"?>
...
<fragment>
<extension target="application#MODULE">
...
<module>
<java>${bundle.fileName}</java>
...
</module>
...
</extension>
...
<extension target="web#CONTEXT-PARAM">
...
<context-param>
<param-name>org.jboss.seam.core.init.debug</param-name>
...
<param-value>true</param-value>
...
</context-param>
...
</extension>
...
<install>
<!-
...
Unzip
...
the
...
war
...
template
...
->
...
<unzip from="$
...
{bundle.fileName}"
...
to="/">
...
<include>nuxeo.war/**</include>
...
</unzip>
...
<!-
...
Append
...
.properties
...
files
...
-
...
>
<delete path="orioainuxeodir.tmp"
...
/>
...
<mkdir path="orioainuxeodir.tmp"
...
/>
...
<unzip from="$
...
{bundle.fileName}"
...
to="orioainuxeodir.tmp">
...
<include>*/.properties</include>
...
</unzip>
...
<append from="orioainuxeodir.tmp/OSGI-INF/l10n/messages.properties"
...
to="nuxeo.war/WEB-INF/classes/messages.properties"
...
addNewLine="true"
...
/>
...
<append from="orioainuxeodir.tmp/OSGI-INF/l10n/messages_fr.properties"
...
to="nuxeo.war/WEB-INF/classes/messages_fr.properties"
...
addNewLine="true"
...
/>
...
<delete path="orioainuxeodir.tmp"
...
/>
...
</install>
...
</fragment>
...
/fragment/extension@target |
...
Nuxeo utilise des fichiers templates (dans le répertoire nuxeo.ear/OSGI-INF/templates). |
...
la propriété |
...
/fragment/extension@target |
...
permet |
...
de |
...
cibler |
...
ce |
...
fichier |
...
(partie |
...
avant |
...
le |
...
# |
...
sans |
...
l'extension |
...
.xml) |
...
ainsi |
...
que |
...
le |
...
positionnement |
...
dans |
...
ce |
...
fichier |
...
(partie |
...
après |
...
le |
...
# |
...
qui |
...
permet |
...
de |
...
pointer |
...
sur |
...
une |
...
balise |
...
de |
...
la |
...
forme |
...
% |
...
{MODULE} |
...
%) |
...
/fragment/extension/ |
...
* | Portion de XML qui sera intégrée dans le fichier template |
/fragment/install | Contient du code de type ant permettant de faire certaines actions sur le système de fichiers de l'application. |
...
de |
...
notre |
...
projet |
...
vers |
...
le |
...
répertoire |
...
d'exécution |
...
de |
...
l'application |
...
java |
...
|
Note à propos de ${bundle.fileName} |
...
${bundle.fileName} |
...
correspond |
...
au |
...
fichier |
...
jar |
...
du |
...
plugin |
...
courant |
...
Remarque |
---|
répertoire \\ {note} répertoiresrc/main/resources/nuxeo.war dans le projet {note} Ce répertoire contient |
Ce répertoire contient l'ensemble
...
des
...
fichiers
...
(pages
...
JSP
...
en
...
.xtml,
...
image,
...
etc.)
...
qui
...
seront
...
déployés
...
dans
...
le
...
répertoire
...
d'exécution
...
de
...
l'application
...
Web
...
de
...
nuxeo
...
grâce
...
au
...
deployment-fragment.xml.
...