Services (services-default.xml et services-views-default.xml)


Le fichier de configuration des services d'un template permet de définir ce que chaque zone peut ou ne peut pas contenir comme services et vue de service.

Par défaut, il est possible d'insérer tous les services disponibles dans toutes les zones avec toutes les vues. Cependant, il n'est pas toujours recommandé de pouvoir tout faire à n'importe quel endroit, notamment pour des problèmes de limitation de la charte graphique.

Il existe deux modes de filtrage des services dans les zones par inclusion ou par exclusion.

le fichier "services-default.xml"

Ce fichier peut être situé à plusieurs endroits : du plus prioritaire au moins prioritaire :

Dans cms/skins/[skinName]/template/[templateName]/conf/services-default.xml pour un gabarit donné

<?xml version="1.0" encoding="UTF-8"?>
<services>
   <zones>
       <zone id="default" mode="include">
           <service id="org.ametys.plugins.calendar.Calendar"/>
       </zone>
       <zone id="sidebar" mode="include"></zone>
   </zones>
</services>

Ce fichier d'exemple autorise uniquement l'insertion du service calendrier dans la zone default et aucun service dans la zone sidebar.

Mais le fichier  peut être aussi valable pour toutes les zones du template pour autoriser uniquement des services dans toutes les zones.

<?xml version="1.0" encoding="UTF-8"?>
<services>
 <template mode="include">
     <service id="org.ametys.plugins.calendar.Calendar"/>
 </template>
</services>

Les balises <template> et <zones> sont cumulables. Si une zone n'est pas présente dans la balise <zones> la valeur par défaut sera dans <template>.

Dans cms/skins/[skinName]/conf/services-default.xml pour toute une charte graphique :

<?xml version="1.0" encoding="UTF-8"?>
<services mode="include">
   <service id="org.ametys.plugins.calendar.Calendar"/>
</services>

Dans cms/WEB-INF/param/services-default.xml pour toute l'application :

<?xml version="1.0" encoding="UTF-8"?>
<services mode="include">
   <service id="org.ametys.plugins.calendar.Calendar"/>
</services>

le fichier "services-views-default.xml"

A partir d'Ametys 4.8

Ce fichier sert à définir les vues utilisables pour chaque type de service. Par défaut, toutes les vues sont utilisables.

Dans cms/skins/[skinName]/template/[templateName]/conf/services-views-default.xml pour un gabarit donné :

<?xml version="1.0" encoding="UTF-8"?>
<services>
   <zones>
     <zone id="default">
      <service id="org.ametys.web.service.ExplorerFolderService">
           <views mode="exclude">
          <view name="files_medium_3.3"/>
          <view name="files_small_3.3"/>
           </views>
        </service>
     </zone>
   </zones>
</services>

Ce fichier d'exemple n'autorise plus les vues "petites icones" et "icones moyennes" du service "Contenu d'un répertoire" quand il est utilisé dans la zone "default".

Attention, ce fichier ne limite pas les services autorisés mais bien les vues.
Dans cet exemple, rien n'indique que le service "Contenu d'un répertoire" est autorisé dans la zone "default". Consultez le haut de cette page pour limiter/autoriser un service.

Mais le fichier peut être aussi valable pour toutes les zones du template pour limiter les vues dans toutes les zones

<?xml version="1.0" encoding="UTF-8"?>
<services>
 <template>
    <service id="org.ametys.web.service.ExplorerFolderService">
           <views mode="exclude">
          <view name="files_medium_3.3"/>
          <view name="files_small_3.3"/>
           </views>
        </service>
 </template>
</services>

Les balises <template> et <zones> sont cumulables. Si une zone n'est pas présente dans la balise <zones> la valeur par défaut sera dans <template>.

Dans cms/skins/[skinName]/conf/services-views-default.xml pour toute une charte graphique :

<?xml version="1.0" encoding="UTF-8"?>
<services>
   <service id="org.ametys.web.service.ExplorerFolderService">
           <views mode="exclude">
          <view name="files_medium_3.3"/>
          <view name="files_small_3.3"/>
           </views>
        </service>
</services>

Dans cms/WEB-INF/param/services-views-default.xml pour toute l'application :

<?xml version="1.0" encoding="UTF-8"?>
<services>
   <service id="org.ametys.web.service.ExplorerFolderService">
           <views mode="exclude">
          <view name="files_medium_3.3"/>
          <view name="files_small_3.3"/>
           </views>
        </service>
</services>

La restriction de vue ne s'applique pas aux services déjà insérés, y compris si ils sont déplacés de zone (par glisser-déposer par exemple)

Le "-default" dans les noms de fichier indique le type de site crée. Default est le type de tous les sites normaux.

 

Retour en haut