Recherche
Mini HOW-TO d'installation de Nuxeo 5.4.1 avec les principales étapes.
| Bloc de code |
|---|
wget http://community.nuxeo.com/static/releases/nuxeo-5.4.1/nuxeo-dm-5.4.1-tomcat.zip unzip nuxeo-dm-5.4.1-tomcat.zip |
Se connecter à http://nuxeo:8080/nuxeo et suivre le wizard.
L'utilisation de Postgresql est recommandée ( configurer les paramètres de connexion à la base avec le wizard ).
Configuration LDAP
Se reporter à la partie Configuration de la base de données dans 2. installation minimale
Renseigner les paramètres généraux ( emplacement des logs, paramètres JAVA, paramètres de connexion Postgresql, configuration SMTP, OpenOffice, etc ... ) dans nuxeo-dm-5.4.1-tomcat/bin/nuxeo.conf ( cf. exemple de fichier dans nuxeo.conf et les templates )
Modifier Créer trois fichiers ( Utiliser les modèles issus de EsupECM esup-ecm/nuxeo-dm-5.34.1-jboss/tomcat/templates/custom/nuxeo.defaults pour activer le template custom ( cf. nuxeo.conf et les templates )
Notes: le ant deploy d'esup-ecm-config-plugin/src/main/resources/config/ et de http://hg.nuxeo.org/nuxeo/nuxeo-services/file/f485a2337aba/nuxeo-platform-directory/nuxeo-platform-directory-ldap/examples/ )
| Bloc de code |
|---|
nxserver/config/default-ldap-users-directory-bundle.xml
nxserver/config/default-ldap-groups-directory-bundle.xml
nxserver/config/default-virtual-groups-bundle.xml
|
Configuration CAS
...
update ne copie pas le jar du plugin, il faut le copier manuellement dans templates/custom/plugins
source : https://listes.esup-portail.org/sympa/arc/ecm-devel/2011-04/msg00005.html
On compile ori-oai-nuxeo et on copie les librairies dans le template Nuxeo.
| Bloc de code |
|---|
cp ori-oai-nuxeo-svn/build/ori-oai-nuxeo/target/classes/lib/* templates/custom/lib/
cp ori-oai-nuxeo-svn/build/ori-oai-nuxeo/target/esupecm-orioai-1.6.2.jar templates/custom/plugins/
|
...
On récupère l'artifact jaxen ( par exemple, à partir d'une ancienne installation d'Esup-ECM
nuxeo-dm-5.3.1-jboss
...
/server/default/lib/jaxen.jar )
| Bloc de code |
|---|
cp nuxeo-platform-login-cas2-x.y.zjaxen.jar nxservertemplates/custom/bundleslib/ |
| Info |
|---|
Si la plateforme Nuxeo sert à héberger des documents disponibles sur Internet ( par exemple des thèses ou des documents administratifs publics ), on doit brider les fonctionnalités auxquelles a accès l'utilisateur anonyme. En effet, lorsqu'on active l'utilisateur anonyme, celui-ci est automatiquement connecté à la plateforme et a donc accès aux même fonctionnalité qu'un utilisateur connecté. |
Créer
...
un fichier actions-config.xml dans le template custom
nuxeo-dm-5.4.1-tomcat/templates/custom/config/actionsnxserver/config/CAS2-config.xml
| Bloc de code |
|---|
<?xml version="1.0" encoding="UTF-8"?> <component name="org.esupnuxeo.ecm.platform.loginactionsContrib"> <require>org.nuxeo.ecm.platform.ui.web.auth.defaultConfig</require> <require>org.nuxeo.ecm.platform.login.Cas2SSO</require> <require>org.nuxeo.opensocial.OAuthFilter</require> <require>org.nuxeo.ecm.platform.usermanager.UserManagerImpl</require> <!-- configure your CAS server parameters<!-- ON SUPPRIME LE LIEN VERS LE TABLE DE BORD --> <extension target<extension target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationServiceactions.ActionService" pointpoint="authenticatorsactions"> <authenticationPlugin<action nameid="CAS2user_AUTHdashboard"> <loginModulePlugin>Trusting_LM</loginModulePlugin> <parameters> <parameter name="ticketKey">ticket</parameter> <parameter name="appURL"> http://nuxeo.univ.fr:8080/nuxeo/nxstartup.faces </parameter> <parameter name="serviceLoginURL"> https://cas.univ.fr/cas/login </parameter> <parameter name="serviceValidateURL"> https://cas.univ.fr/cas/serviceValidate </parameter> <parameter name="serviceKey">service</parameter> <parameter name="logoutURL"> https://cas.univ.fr/cas/logout?service=http://nuxeo.univ.fr:8080/nuxeo </parameter> </parameters> </authenticationPlugin> <authenticationPlugin name="ANONYMOUS_AUTH_FOR_CAS2" enabled="true" > <loginModulePlugin>Trusting_LM</loginModulePlugin> </authenticationPlugin> </extension> <!-- configure authentication chain --> <!-- Keep basic Auth at top of Auth chain to support RSS access via BasicAuth --> <extension target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService" point="chain"> <authenticationChain> <plugins> <plugin>BASIC_AUTH</plugin> <plugin>CAS2_AUTH</plugin> <plugin>ANONYMOUS_AUTH_FOR_CAS2</plugin> </plugins> </authenticationChain> </extension> <!-- <extension target link="user_dashboard" label="command.user_dashboard" order="10"> <category>USER_SERVICES</category> <filter id="user_dashboard_enabled"> <rule grant="true"> <condition>#{userServicesContext.dashboardEnabled}</condition> </rule> </filter> <filter-id>not_anonymous</filter-id> </action> <!-- ON RESERVE LA RECHERCHE D'UTILISATEURS AUX ADMINS --> <action id="user_manager" link="#{userManagerActions.viewUsers}" label="command.manageMembers" order="20"> <category>USER_SERVICES</category> <filter id="user_manager"> <rule grant="true"> <condition>#{userServicesContext.userManagerEnabled}</condition> </rule> </filter> <filter-id>only_for_manager</filter-id> </action> <!-- ON SUPPRIME LE LIEN RECHERCHE AVANCE --> <action id="advanced_search" link="search_form" label="command.advancedSearch" order="10"> <category>SEARCH_ACTIONS</category> <filter-id>not_anonymous</filter-id> </action> <!-- ON SUPPRIME LES ACTIONS DE CREATION DE DOCUMENT POUR ANONYME --> <action id="newDocument" link="javascript:Richfaces.showModalPanel('selectDocTypePanel');" label="action.new.document" icon="/icons/action_add.gif"> <category>SUBVIEW_UPPER_LIST_HREF</category> <filter-id>create</filter-id> <filter-id>not_anonymous</filter-id> </action> <action id="newFile" link="javascript:Richfaces.showModalPanel('importFile');" label="action.new.file" icon="/icons/action_add_file.gif"> <category>SUBVIEW_UPPER_LIST_HREF</category> <filter-id>importFile</filter-id> <filter-id>not_anonymous</filter-id> </action> <!-- ON SUPPRIME LES LIENS VERS L'ESPACE PERSONNEL ET LE REPOSITORY --> <action id="SHOW_REPOSITORY" link="#{userWorkspaceManagerActions.navigateToOverallWorkspace}" enabled="true" label="command.user.return.to.repository" icon="/icons/go_to_repository.gif" order="10"> <category>USER_SERVICES</category> <filter-id>isInsidePersonalWorkspace</filter-id> <filter-id>not_anonymous</filter-id> </action> <action id="SHOW_PERSONAL_WORKSPACE" link="#{userWorkspaceManagerActions.navigateToCurrentUserPersonalWorkspace}" enabled="true" label="command.user.personal.workspace" icon="/icons/show_personal_workspace.gif" order="11"> <category>USER_SERVICES</category> <filter-id>not_anonymous</filter-id> <filter-id>canAccessPersonalWorkspace</filter-id> </action> </extension> </component> |
Supprimer les jar nuxeo-platform-tag-api-5.4.1.jar, nuxeo-platform-tag-core-5.4.1.jar, nuxeo-platform-tag-web-5.4.1.jar
Créer un fichier navtree-config.xml dans le template custom
nuxeo-dm-5.4.1-tomcat/templates/custom/config/navtree-config.xml
| Bloc de code |
|---|
<?xml version="1.0"?> <component name="org.nuxeo.ecm.platform.uifaceted.websearch.authdm.service.PluggableAuthenticationServicenavtree"> point="chain <extension target="org.nuxeo.ecm.platform.virtualnavigation.NavTreeService" point="navigationTree"> <authenticationChain> <plugins> <plugin>BASIC_AUTH</plugin> <plugin>FORM_AUTH</plugin> <plugin>ANONYMOUS_AUTH</plugin> </plugins> </authenticationChain> </extension> --> <!-- configure anonymousUser --> <extension target="org.nuxeo.ecm.platform.usermanager.UserService" point="userManager"> <userManager> <users> <anonymousUser id="invite"> <property name="firstName">Invite</property> <property name="lastName">Anonyme</property> </anonymousUser> </users> </userManager> </extension> <!-- <extension target="org.nuxeo.ecm.platform.ui.web.auth.service.PluggableAuthenticationService" point="authenticators"> <authenticationPlugin name="ANONYMOUS_AUTH" enabled="true" > <parameters> <parameter name="SkipUrlRetrieveIdentity_Dav">dav</parameter> </parameters> </authenticationPlugin> </extension> --> </component> |
Ce fichier est une adaptation du fichier d'Esup-ECM esup-ecm-svn/build/esup-ecm-config-plugin/target/classes/OSGI-INF/esup-login-contrib.xml
Rajouter l'option -Djavax.net.ssl.trustStore au démarrage de Tomcat
<navTree treeId="facetedSearch" enabled="false" />
</extension>
</component>
|
Créer un fichier treemanager-contribution-config.xml dans le template custom
nuxeo-dm-5.4.1-tomcat/templates/custom/config/treemanager-contribution-config.xml
| Bloc de code |
|---|
<?xml version="1.0"?>
<component name="org.nuxeo.ecm.virtualtree.config">
<require>org.nuxeo.ecm.virtualnavigation.directory.DirectoryTreeService.contrib</require>
<extension target="org.nuxeo.ecm.webapp.directory.DirectoryTreeService"
point="trees">
<directoryTree name="bySubjectsNavigation" enabled="false" />
<directoryTree name="byCoverageNavigation" enabled="false" />
</extension>
</component>
|
Pour supprimer ou conditionner l'affichage d'un onglet, par exemple, l'onglet Historique :
| Bloc de code | ||||
|---|---|---|---|---|
| ||||
<action id="TAB_CONTENT_HISTORY" link="/incl/tabs/document_history.xhtml"
enabled="true" label="action.view.history" icon="/icons/file.gif"
order="100">
<category>VIEW_ACTION_LIST</category>
<filter id="view_content_history">
<rule grant="false">
<type>WorkspaceRoot</type>
<type>SectionRoot</type>
<type>Server</type>
</rule>
</filter>
<filter id="TAB_CONTENT_HISTORY_has_subtabs">
<rule grant="false">
<condition>
#{webActions.getActionsList('TAB_CONTENT_HISTORY_sub_tab').isEmpty()}
</condition>
</rule>
</filter>
</action>
|
...
| Bloc de code |
|---|
JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=512m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dfile.encoding=UTF-8 -Djavax.net.ssl.trustStore=/etc/pki/tls/certs/cacerts.keystore
|
Plugin ORI-OAI
source : https://listes.esup-portail.org/sympa/arc/ecm-devel/2011-04/msg00005.html![]()
On compile ori-oai-nuxeo.
| Bloc de code |
|---|
cp ori-oai-nuxeo-svn/build/ori-oai-nuxeo/target/classes/lib/* nxserver/lib/
cp ori-oai-nuxeo-svn/build/ori-oai-nuxeo/target/esupecm-orioai-1.6.2.jar nxserver/plugins/
|
On récupère l'artifact jaxen
| Bloc de code |
|---|
cp jaxen.jar nxserver/lib/
|
| ||||
<action id="TAB_CONTENT_HISTORY" link="/incl/tabs/document_history.xhtml"
enabled="true" label="action.view.history" icon="/icons/file.gif"
order="100">
<category>VIEW_ACTION_LIST</category>
<filter-id>only_for_manager</filter-id>
</action>
|
Les différents accès sont listés dans :
nuxeo/nxserver/nuxeo.war/WEB-INF/web.xmlOn peut aussi récupérer jaxen.jar d'une ancienne installation de Esup-ECM ( nuxeo-dm-5.3.1-jboss/server/default/lib/jaxen.jar nxserver/lib/ )
Exemple de connexion à distance.
Télécharger le dernière version du Nuxeo-Shell ( https://maven.nuxeo.org/nexus/index.html#nexus-search;gav~org.nuxeo.shell~nuxeo-shell~~~ (https://maven.nuxeo.org/nexus/index.html#nexus-search;gav~org.nuxeo.shell~nuxeo-shell~~\~) )
| Bloc de code |
|---|
java -jar nuxeo-shell-x.y.z.jar remote>connect http://nuxeo.univ.fr:8080/nuxeo/site/automation -u uid_admin Password: **************** uid_admin@nuxeo.univ.fr:/> |
...
view: obtenir des infos sur un document
perms: les droits sur un document
Reste à faire ...
...
documentf