Projet esup-ecm

Recherche

Sommaire

Pages enfant
  • How-To Installation Nuxeo 5.4.1

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migrated to Confluence 5.3

Mini HOW-TO d'installation de Nuxeo 5.4.1 avec les principales étapes.

Récupération des sources

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

Configuration de la base de données Postgres

Se reporter à la partie Configuration de la base de données dans 2. installation minimale

Configuration de Nuxeo à l'aides des templates

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 )

Configuration LDAP/CAS

Configuration de CAS LDAP

Lien universel Esup

Lien Universel ESUP

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

Plugin ORI-OAI

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/

Restrictions utilisateur anonyme

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é.

Suppression de liens

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>

Suppression de certaines fonctionnalités

Tags sur les documents

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

Suppression de la recherche par filtres 

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

  • Configurer le Tomcat embarqué dans Nuxeo pour faire confiance à votre autorité de certification.

Rajouter l'option -Djavax.net.ssl.trustStore au démarrage de Tomcat

<navTree treeId="facetedSearch" enabled="false"  />
  </extension>
</component>

Recherche par sujet et lieux

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>

Réserver l'onglet Historique à l'administrateur

Pour supprimer ou conditionner l'affichage d'un onglet, par exemple, l'onglet Historique :

Bloc de code
xml
xml

<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>
  • on adapte le code ci-dessus avec les restrictions nécessaires ( dans notre exemple, ne montrer l'historique que pour les administrateurs ) dans nuxeo-dm-5.4.1-tomcat/templates/

...

  • custom/config/actions-config.xml
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.htmlImage Removed

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/
xml
xml

<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>

Liste des URLs d'accès à Nuxeo ( CMIS, REST, ... )

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/ )

Connexion à l'interface d'administration Nuxeo-Shell

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