Recherche

Sommaire

Pages enfant
  • Suppression ou restriction de fonctionnalités

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=131760148) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 84) afficher la version suivante »

Cette version est en cours de validation. Nous vous recommandons l'installation de Nuxeo 5.4.1.

Nuxeo apporte une gamme de fonctionnalité très (trop) importante. Il est parfois nécessaire d'en simplifier l'utilisation. Vous trouverez ici différentes techniques vous permettant de faciliter son utilisation.

Suppression de la navigation par sujets et par lieux

La navigation par sujet et couverture correspond aux deux onglets mis en surbrillance dans la précédente capture d'écran. Nuxeo propose un mécanisme simple permettant de les supprimer. Il vous suffit de contribuer au point d'extension trees du composant org.nuxeo.ecm.webapp.directory.DirectoryTreeService.

Pour cela, créez le fichier directorytreemanager-config.xml dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config et éditez le :

nuxeo-dm-5.4.2-tomcat/templates/custom/config/directorytreemanager-config.xml

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.virtualnavigation.directory.DirectoryTreeService.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>

Suppression de la navigation par tags et de la recherche par filtres

  
La navigation par tags et la recherche par filtres correspondent aux deux onglets mis en surbrillance dans la capture d'écran ci-dessus. Tout comme la navigation par sujets et par couverture il est possible de les désactiver. Pour cela, il vous suffit de contribuer au point d'extension navigationTree du composant org.nuxeo.ecm.platform.virtualnavigation.NavTreeService.

Créez un fichier navtree-config.xml dans le dossier  dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config et éditez le :

nuxeo-dm-5.4.2-tomcat/templates/custom/config/navtree-config.xml :

<?xml version="1.0"?>
<component name="org.nuxeo.ecm.virtualnavigation.tagsConfig">

  <require>org.nuxeo.ecm.virtualnavigation.tagsContrib</require>
  <require>org.nuxeo.ecm.platform.faceted.search.dm.navtree</require>

  <extension target="org.nuxeo.ecm.platform.virtualnavigation.NavTreeService" point="navigationTree">
    <navTree treeId="TAG_CLOUD" enabled="false" />     <!-- Supprime la navigation par tags -->
    <navTree treeId="facetedSearch" enabled="false" /> <!-- Supprime la recherche par filtres -->
  </extension>

</component>

Supprimer la vue compacte et la vue en icônes

Nuxeo offre à l'utilisateur la possibilité de personnaliser l'affichage des éléments d'un document. Si vous souhaitez supprimer cette fonctionnalité et alléger l'interface utilisateur alors il vous suffit de modifier la définition du content view nommé document_content situé dans le point d'extension contentViews du composant org.nuxeo.ecm.platform.ui.web.ContentViewService et de commenter l'inclusion des layouts document_listing_ajax_compact_2_columns, document_listing_ajax_icon_2_columns.

Remarque : il existe aussi une content-view qui gère l'affichage dans les sections : section_content. Si vous voulez modifier l'affichage dans les sections, il faut aussi modifier cette content-view.

Créez un fichier nommé contentviews-config.xml dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config et éditez le :

nuxeo-dm-5.4.2-tomcat/templates/custom/config/contentviews-config.xml :

<?xml version="1.0" encoding="UTF-8"?>

<component name="org.nuxeo.ecm.webapp.contentview.config">

  <require>org.nuxeo.ecm.webapp.contentview.contrib</require>

  <extension target="org.nuxeo.ecm.platform.ui.web.ContentViewService" point="contentViews">

    <contentView name="document_content">

      <title>label.contentview.document_content</title>
      <translateTitle>true</translateTitle>
      <showTitle>false</showTitle>

      <coreQueryPageProvider>
        <property name="coreSession">#{documentManager}</property>
        <whereClause docType="AdvancedSearch">
          <predicate parameter="ecm:fulltext" operator="FULLTEXT">
            <field schema="advanced_search" name="fulltext_all"/>
          </predicate>
          <predicate parameter="dc:title" operator="FULLTEXT">
            <field schema="advanced_search" name="title"/>
          </predicate>
          <predicate parameter="dc:modified" operator="BETWEEN">
            <field schema="advanced_search" name="modified_min"/>
            <field schema="advanced_search" name="modified_max"/>
          </predicate>
          <fixedPart>
            ecm:parentId = ? AND ecm:isCheckedInVersion = 0 AND ecm:mixinType !=
            'HiddenInNavigation' AND ecm:currentLifeCycleState != 'deleted'
          </fixedPart>
        </whereClause>
        <parameter>#{currentDocument.id}</parameter>
        <sort column="dc:title" ascending="true"/>
        <pageSize>20</pageSize>
      </coreQueryPageProvider>

      <searchLayout name="document_content_filter"/>
      <showFilterForm>true</showFilterForm>

      <showPageSizeSelector>true</showPageSizeSelector>
      <useGlobalPageSize>true</useGlobalPageSize>
      <refresh>
        <event>documentChanged</event>
        <event>documentChildrenChanged</event>
      </refresh>
      <cacheKey>#{currentDocument.id}</cacheKey>
      <cacheSize>10</cacheSize>

      <resultLayouts>
        <layout name="document_listing_ajax" title="document_listing" translateTitle="true"
         iconPath="/icons/document_listing_icon.png" showCSVExport="true" showPDFExport="true"/>
        <!-- On commente les layout de la vue compacte et de la vue par icones afin de les masquer dans
             l'interface utilisateur -->
        <!--
        <layout name="document_listing_ajax_compact_2_columns" title="document_listing_compact_2_columns"
         translateTitle="true" iconPath="/icons/document_listing_compact_2_columns_icon.png"/>

        <layout name="document_listing_ajax_icon_2_columns" title="document_listing_icon_2_columns"
         translateTitle="true" iconPath="/icons/document_listing_icon_2_columns_icon.png"/>
        -->
      </resultLayouts>

      <selectionList>CURRENT_SELECTION</selectionList>
      <actions category="CURRENT_SELECTION_LIST"/>

    </contentView>

  </extension>

</component>

Supprimer l'export excel et l'export PDF du contenu d'un répertoire

Pour supprimer l'export EXCEL et PDF d'un dossier vous devez modifier la définition du content view nommé document_content situé dans le point d'extension contentViews du composant org.nuxeo.ecm.platform.ui.web.ContentViewService  en indiquant la valeur false  pour les attributs showCSVExport  et showPDFExport dans définition du layout nommé document_listing_ajax.

Remarque : il existe aussi une content-view qui gère l'affichage dans les sections : section_content. Si vous voulez modifier l'affichage dans les sections, il faut aussi modifier cette content-view.

Éditez le fichier nommé contentviews-config.xml situé dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config :

nuxeo-dm-5.4.2-tomcat/templates/custom/config/contentviews-config.xml :

<component name="org.nuxeo.ecm.webapp.contentview.config">

  <require>org.nuxeo.ecm.webapp.contentview.contrib</require>

  <extension target="org.nuxeo.ecm.platform.ui.web.ContentViewService" point="contentViews">

    <contentView name="document_content">

      <title>label.contentview.document_content</title>
      <translateTitle>true</translateTitle>
      <showTitle>false</showTitle>

      <coreQueryPageProvider>
        <property name="coreSession">#{documentManager}</property>
        <whereClause docType="AdvancedSearch">
          <predicate parameter="ecm:fulltext" operator="FULLTEXT">
            <field schema="advanced_search" name="fulltext_all"/>
          </predicate>
          <predicate parameter="dc:title" operator="FULLTEXT">
            <field schema="advanced_search" name="title"/>
          </predicate>
          <predicate parameter="dc:modified" operator="BETWEEN">
            <field schema="advanced_search" name="modified_min"/>
            <field schema="advanced_search" name="modified_max"/>
          </predicate>
          <fixedPart>
            ecm:parentId = ? AND ecm:isCheckedInVersion = 0 AND ecm:mixinType !=
            'HiddenInNavigation' AND ecm:currentLifeCycleState != 'deleted'
          </fixedPart>
        </whereClause>
        <parameter>#{currentDocument.id}</parameter>
        <sort column="dc:title" ascending="true"/>
        <pageSize>20</pageSize>
      </coreQueryPageProvider>

      <searchLayout name="document_content_filter"/>
      <showFilterForm>true</showFilterForm>

      <showPageSizeSelector>true</showPageSizeSelector>
      <useGlobalPageSize>true</useGlobalPageSize>
      <refresh>
        <event>documentChanged</event>
        <event>documentChildrenChanged</event>
      </refresh>
      <cacheKey>#{currentDocument.id}</cacheKey>
      <cacheSize>10</cacheSize>

      <resultLayouts>
        
        <!-- L'export en EXCEL et PDF est desactive en initialisant les attributs showCSVExport et showPDFExport a false -->
        <layout name="document_listing_ajax" title="document_listing" translateTitle="true"
         iconPath="/icons/document_listing_icon.png" showCSVExport="false" showPDFExport="false"/>

        <layout name="document_listing_ajax_compact_2_columns" title="document_listing_compact_2_columns"
         translateTitle="true" iconPath="/icons/document_listing_compact_2_columns_icon.png"/>

        <layout name="document_listing_ajax_icon_2_columns" title="document_listing_icon_2_columns"
         translateTitle="true" iconPath="/icons/document_listing_icon_2_columns_icon.png"/>

      </resultLayouts>

      <selectionList>CURRENT_SELECTION</selectionList>
      <actions category="CURRENT_SELECTION_LIST"/>

    </contentView>

  </extension>

</component>

Supprimer le filtre sur le contenu d'un dossier

Nuxeo-5.4.2 apporte une multitude de nouveautés, le filtre sur le contenu des dossier en est une. Si vous souhaitez le désactiver vous devez modifier la définition du content view document_content situé dans le point d'extension contentViews du composant org.nuxeo.ecm.platform.ui.web.ContentViewService  en indiquant la la valeur de la balise showFilterForm  avec la valeur false.

Éditez le fichier nommé contentviews-config.xml situé dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config :

nuxeo-dm-5.4.2-tomcat/templates/custom/config/contentviews-config.xml :

<?xml version="1.0" encoding="UTF-8"?>

<component name="org.nuxeo.ecm.webapp.contentview.config">

  <require>org.nuxeo.ecm.webapp.contentview.contrib</require>

  <extension target="org.nuxeo.ecm.platform.ui.web.ContentViewService" point="contentViews">

    <contentView name="document_content">

      <title>label.contentview.document_content</title>
      <translateTitle>true</translateTitle>
      <showTitle>false</showTitle>

      <coreQueryPageProvider>
        <property name="coreSession">#{documentManager}</property>
        <whereClause docType="AdvancedSearch">
          <predicate parameter="ecm:fulltext" operator="FULLTEXT">
            <field schema="advanced_search" name="fulltext_all"/>
          </predicate>
          <predicate parameter="dc:title" operator="FULLTEXT">
            <field schema="advanced_search" name="title"/>
          </predicate>
          <predicate parameter="dc:modified" operator="BETWEEN">
            <field schema="advanced_search" name="modified_min"/>
            <field schema="advanced_search" name="modified_max"/>
          </predicate>
          <fixedPart>
            ecm:parentId = ? AND ecm:isCheckedInVersion = 0 AND ecm:mixinType !=
            'HiddenInNavigation' AND ecm:currentLifeCycleState != 'deleted'
          </fixedPart>
        </whereClause>
        <parameter>#{currentDocument.id}</parameter>
        <sort column="dc:title" ascending="true"/>
        <pageSize>20</pageSize>
      </coreQueryPageProvider>

      <searchLayout name="document_content_filter"/>

      <!-- On met la valeur false pour la balise showFilterForm afin de masquer le formulaire de filtrage du
           contenu d'un dossier -->
      <showFilterForm>false</showFilterForm>

      <showPageSizeSelector>true</showPageSizeSelector>
      <useGlobalPageSize>true</useGlobalPageSize>
      <refresh>
        <event>documentChanged</event>
        <event>documentChildrenChanged</event>
      </refresh>
      <cacheKey>#{currentDocument.id}</cacheKey>
      <cacheSize>10</cacheSize>

      <resultLayouts>
        <layout name="document_listing_ajax" title="document_listing" translateTitle="true"
         iconPath="/icons/document_listing_icon.png" showCSVExport="true" showPDFExport="true"/>

        <layout name="document_listing_ajax_compact_2_columns" title="document_listing_compact_2_columns"
         translateTitle="true" iconPath="/icons/document_listing_compact_2_columns_icon.png"/>

        <layout name="document_listing_ajax_icon_2_columns" title="document_listing_icon_2_columns"
         translateTitle="true" iconPath="/icons/document_listing_icon_2_columns_icon.png"/>

      </resultLayouts>

      <selectionList>CURRENT_SELECTION</selectionList>
      <actions category="CURRENT_SELECTION_LIST"/>

    </contentView>

  </extension>

</component>

Supprimer les actions d'export PDF et de consultation, la vue d'export et l'impression situés dans le fil d'Ariane

Pour supprimer l'export PDF et la vue d'export situés dans le fil d'Ariane il faut modifier l'attribut enabled des actions pdfExport et exportView définis dans le point d'extension actions du composant org.nuxeo.ecm.platform.actions.ActionService.

Créez un fichier nommé actions-config.xml situé dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config :

nuxeo-dm-5.4.2-tomcat/templates/custom/config/actions-config.xml :

<?xml version="1.0" encoding="UTF-8"?>
<component name="org.nuxeo.ecm.webapp.seam.debug.action.config">


  <require>org.nuxeo.ecm.platform.actions</require>
  <require>org.nuxeo.ecm.webapp.seam.debug.action</require>
  <require>org.nuxeo.ecm.platform.io.web</require>

  <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="actions">

    <!-- Export PDF -->
    <action id="pdfExport" link="pdf" order="18" label="label.exportview.pdfExport" icon="/icons/pdf_export.png" enabled="false" />


    <!-- Vue d'export -->
    <action id="exportView" link="export" order="20" label="label.exportview" icon="/icons/export.png" enabled="false" />

    <!-- Impression (fil d'Ariane) -->
    <action icon="/icons/printer.gif" id="print" label="label.print" 
    link="#{restHelper.doPrint(WebcontainerThemeActions.defaultTheme)}" order="100" enabled="false" />
  
  </extension>

</component>

Supprimer l'accès à l'espace personnel

Il peut être parfois utile de supprimer l'accès à l'espace personnel de l'utilisateur dans Nuxeo (ex: Si vous souhaitez favoriser l'utilisation du partage SAMBA). Pour en interdire l'accès, il faut modifier la valeur de l'attribut enabled de l'action SHOW_PERSONAL_WORKSPACE définie dans le point d'extension actions du composant org.nuxeo.ecm.platform.actions.ActionService.

Créez ou éditez  le fichier nommé actions-config.xml situé dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config.

nuxeo-dm-5.4.2-tomcat/templates/custom/config/actions-config.xml :

<?xml version="1.0" encoding="UTF-8"?>
<component name="org.nuxeo.ecm.webapp.seam.debug.action.config">

  <require>org.nuxeo.ecm.platform.userworkspace.actions</require>

  <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="actions">

    <!-- Espace personnel-->
    <action id="SHOW_PERSONAL_WORKSPACE" link="#{userWorkspaceManagerActions.navigateToCurrentUserPersonalWorkspace}"
     label="command.user.personal.workspace" icon="/icons/show_personal_workspace.gif" order="61" enabled="false" />

  </extension>

</component>

Si vous combinez la suppression de l'export et de l'espace de l'utilisateur ne rajoutez pas la balise suivante : <require>org.nuxeo.ecm.platform.userworkspace.actions<require>. Il semblerait que leur combinaison fasse planter Nuxeo

Restreindre l'accès à l'onglet "Utilisateurs et groupes"

Comme vous avez pu le constater dans Nuxeo tous les utilisateurs (même l'utilisateur anonyme) ont accès à l'onglet "Utilisateurs et groupes". Nous allons donc vous indiquer la méthode à suivre afin d'en limiter l'accès. La méthode ci-dessous est générique, elle montre comment limiter l'accès aux administrateurs, a un ou plusieurs utilisateurs et/ou groupes. Vous devrez donc l'adapter à votre cas.

Créez ou éditez  le fichier nommé actions-config.xml situé dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config.

nuxeo-dm-5.4.2-tomcat/templates/custom/config/actions-config.xml :

<?xml version="1.0" encoding="UTF-8"?>
<component name="org.nuxeo.ecm.webapp.seam.debug.action.config">

<require>org.nuxeo.ecm.user.center.actions</require>

  <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="actions">

    <!-- Rectriction d'acces a l'onglet utilisateurs et groupes -->
    <action id="UsersGroupsHome" link="user_center_fragment.xhtml" label="command.manageMembers"
     icon="/icons/users_groups.png" order="60" enabled="true">



      <category>USER_CENTER</category>
      
      <!-- filtre d'activation initial -->
      <filter-id>not_readonly</filter-id>


      <!-- L'onglet ne sera pas affiche pour l'utilisateur anonyme -->
      <filter-id>not_anonymous</filter-id>


      <!-- Filtre de restriction personnalise -->
      <filter id="users_group_home_restricted_access">

        <!-- Affichage du filtre si l'utilisateur est administrateur -->
        <rule grant="true">
          <condition>#{userSession.administrator}</condition>
        </rule>

        <!-- Affichage si l'utilisateur fait partie du groupe XXX -->
        <rule grant="true">
          <condition>#{userSession.currentNuxeoPrincipal.allGroups.contains("XXX")}</condition>
        </rule>

        <!-- Affichage si l'identifiant de l'utilisateur correspond a YYY -->
        <rule grant="true">
          <condition>#{userSession.currentUser.name.equals("YYY")}</condition>
        </rule>
      </filter>
    </action>

  </extension>

</component>

Supprimer l'onglet applications autorisées

Pour supprimer l'onglet applications autorisées situés dans le dashboard de l'utilisateur vous devez désactiver l'action AuthorizedApplication.

Créez ou éditez  le fichier nommé actions-config.xml situé dans le dossier nuxeo-dm-5.4.2-tomcat/templates/custom/config.

nuxeo-dm-5.4.2-tomcat/templates/custom/config/actions-config.xml :

<?xml version="1.0" encoding="UTF-8"?>
<component name="org.nuxeo.ecm.webapp.seam.debug.action.config">

  <require>org.nuxeo.ecm.user.center.oauth.actions</require>
  
  <extension target="org.nuxeo.ecm.platform.actions.ActionService" point="actions">

    <!-- Suppression de l'onglet Applications autorisées situe dans le dashboard de l'utilisateur -->
    <action id="AuthorizedApplication" enabled="false" />
 
  </extension>

</component>
  • Aucune étiquette