Recherche

Sommaire

Pages enfant
  • Suppression ou restriction de fonctionnalités

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 4.0

...

Pour cela, créez un fichier directorytreemanager-config.xml dans le dossier <racine_nuxeo>/templates/custom/config et éditez le :

Bloc de code
langxml
<?xml version="1.0"?>
<component name="org.esup.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>

...

Créez un fichier navtree-config.xml dans le dossier  <racine_nuxeo>/templates/custom/config et éditez le :

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

Bloc de code
langxml
<?xml version="1.0"?>
<component name="org.esup.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>

...

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 <racine_nuxeo>/templates/custom/config :

Bloc de code
langxml
<component name="org.esup.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>

...

Nuxeo-5.4.2 et supérieur 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 <racine_nuxeo>/templates/custom/config :

Bloc de code
langxml
<?xml version="1.0" encoding="UTF-8"?>

<component name="org.esup.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>

...

Pour supprimer l'export PDF et la vue d'export situés dans le fil d'Ariane il 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.

...

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 <racine_nuxeo>/templates/custom/config.

Bloc de code
langxml
<?xml version="1.0" encoding="UTF-8"?>
<component name="org.esup.ecm.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>

...

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 <racine_tomcat>/templates/custom/config.

Bloc de code
<?xml version="1.0" encoding="UTF-8"?>
<component name="org.esup.ecm.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>