Ecran d'indexation

    Pour configurer un écran d’indexation, il est d’abord nécessaire d’identifier les composants pour lesquels vous souhaitez appliquer la configuration. Cette identification se fait sur la base d’un contexte : dans le contexte de création de document Facture en lecture seule…


    Ces contextes seront utilisés dans les sections suivantes pour appliquer une configuration particulière dans un contexte spécifique.


    Par défaut, les contextes génériques suivants sont fournis :

    Identifiant Description
    documentInsertContext Création de document
    documentModifyContext Modification de document
    documentReadOnlyContext Document en lecture seule
    folderInsertContext Création de dossier
    folderModifyContext Modification de dossier
    folderReadOnlyContext Dossier en lecture seule
    virtualFolderInsertContext Création de dossier virtuel
    virtualFolderModifyContext Modification de dossier virtuel
    virtualFolderReadOnlyContext Dossier virtuel en lecture seule
    taskInsertContext Création de tâche
    taskModifyContext Modification de tâche
    taskReadOnlyContext Tâche en lecture seule

    Pour être plus précis dans l’identification des composants, il est possible de définir un contexte en fonction d’une classe de composant. Pour cela, il est nécessaire de le définir manuellement grâce à la classe IdBasedContext permettant de définir :

    • la catégorie de composant
    • la classe de composant
    • la phase


    Les différentes phases disponibles sont :

    Valeur Description
    INSERT Création de composant
    MODIFY Modification de composant
    READONLY Ouverture en lecture seule d’un composant

    Les différentes catégories disponibles sont :

    Valeur Description
    DOCUMENT Document
    FOLDER Dossier
    VIRTUAL_FOLDER Dossier virtuel
    TASK Tâche

    Exemple : Définition d’un contexte permettant de configurer l’écran de création de documents de classe CourrierEntrant

    <bean class="com.flower.docs.domain.componentclass.IdBasedContext">
    	<property name="id">
    		<bean class="com.flower.docs.domain.common.Id">
    			<property name="value" value="CourrierEntrant" />
    		</bean>
    	</property>
    	<property name="category">
    		<value type="com.flower.docs.domain.component.Category">DOCUMENT</value>
    	</property>
    	<property name="phase">
    		<value type="com.flower.docs.domain.componentclass.Phase">INSERT</value>
    	</property>
    </bean>
    

    Les vues d’indexation sont composées de deux parties :

    • les détails du composant (Métadonnées, etc.)
    • le contenu du composant (ARender la visionneuse, tableau de résultats…)


    Pour ajouter une configuration, il faut d’abord définir le bean componentActivityConfigurations et enregistrer la configuration, portée par l’objet ComponentActivityConfiguration, en fonction du contexte :

    Exemple :

    <bean id="componentActivityConfigurations" class="com.flower.docs.gui.client.component.activity.ComponentActivityConfigurations">
    	<property name="activityConfigurations">
    		<map>
    			<entry>
    				<key>
    					<ref bean="documentModifyContext" />
    				</key>
    				<bean class="com.flower.docs.gui.client.component.activity.ComponentActivityConfiguration">
    					<!-- Custom configuration for document modifications -->
    				</bean>	
    			</entry>
    		</map>
    	</property>
    </bean>
    

    Configuration générale

    • leftPanelWidthRatio : permet de définir le ratio occupé par le panneau de gauche (valeur comprise entre 0.1f et 1.0f)
    • goBackAfterSave : détermine si l’utilisateur doit être redirigé ou non après la sauvegarde d’un composant (y compris lors de l’application d’une réponse sur une tâche)

    Création de tâche

    • saveBeforeTaskCreation : détermine si le composant doit être sauvegardé avant la création d’une tâche à partir de celui-ci
    • saveAfterTaskCreation : détermine si le composant doit être sauvegardé après la création d’une tâche à partir de celui-ci
    • allowTaskCreationIfInvalid : détermine s’il est possible de créer une tâche à partir d’un composant invalide (si c’est le cas et que la sauvegarde avant/après est activée alors le statut est positionné à INVALID)

    Confirmations

    Sauvegarde

    • showSaveConfirmation : permet de définir l’affichage ou non d’une popup de confirmation de sauvegarde lors de l’indexation d’un composant
    • excludedClassesFromSaveConfirmRule : permet d’exclure des classes de composants de la règle définit par showSaveConfirmation
      • Si la valeur de showSaveConfirmation est true, alors la modification d’un composant d’une classe présente dans cette liste n’entrainera pas l’affichage d’une popup de confirmation.

    Annuler

    • showCancelConfirmation : permet de définir l’affichage ou non d’une popup de confirmation lors de l’annulation des modifications lors de l’indexation d’un composant
    • excludedClassesFromCancelConfirmRule : permet d’exclure des classes de composants de la règle définit par showCancelConfirmation
      • Si la valeur de showCancelConfirmation est true, alors l’annulation des modifications d’un composant d’une classe présente dans cette liste n’entrainera pas l’affichage d’une popup de confirmation.

    Configuration spécifique

    Document

    • minFilesUpload : le nombre minimum de fichiers à uploader pour un document
    • maxFilesUpload : le nombre maximum de fichiers à uploader pour un document

    Dossier virtuel

    • useAlternativeView : permet d’utiliser la vue de Recherche de contenu d’un dossier virtuel plutôt que l’affichage dans la visionneuse

    Tâche

    • autoAssignTaskToMe : permet de déterminer si la tâche doit être assignée automatiquement à l’utilisateur, à l’ouverture
    • allowInvalidSaving : permet de définir si le composant peut être enregistré malgré l’invalidité de ses données

    Exemple :

    <bean id="componentActivityConfigurations" class="com.flower.docs.gui.client.component.activity.ComponentActivityConfigurations">
    	<property name="activityConfigurations">
    		<map>
    			<entry>
    				<key>
    					<ref bean="documentModifyContext" />
    				</key>
    				<bean class="com.flower.docs.gui.client.component.activity.ComponentActivityConfiguration">
    					<property name="leftPanelWidthRatio" value="0.65f" />
    					<property name="showSaveConfirmation" value="true"/>
    					<property name="excludedClassesFromSaveConfirmRule">
    						<list>
    							<bean class="com.flower.docs.domain.common.Id">
    								<property name="value" value="MyClassId"/>
    							</bean>
    						</list>
    					</property>
    				</bean>	
    			</entry>
    		</map>
    	</property>
    </bean>
    

    Métadonnées système


    Les métadonnées systèmes sont les métadonnées présentes sur l’ensemble des composants de manière native (nom, classe, date de création…). Leur configuration sur les écrans d’indexation peut être modifiée en surchargeant la configuration de base.

    Pour créer une configuration de ces métadonnées, il faut créer un nouveau bean ComponentPropertiesConfiguration (contenant une liste de définitions de champ) associé à un contexte.


    Ces associations doivent être ajoutées dans l’objet suivant :

    <bean id="componentProperties" class="com.flower.docs.gui.client.componentclass.ComponentPropertiesConfigurations">
    	<property name="propertiesConfiguration" />
    </bean>
    

    Définition de champ

    Pour définir une configuration, il faut créer un nouveau bean ComponentPropertiesConfiguration et lui assigner des définitions de champ (FieldDefinition) permettant de définir une métadonnée en particulier.

    Les définitions de champs suivantes sont fournies par défaut :

    Identifiant Description
    Name Nom du composant
    Class Classe du composant
    Class-ReadOnly Classe du composant
    creationDateData Date à laquelle le composant a été créé
    lastUpdateDate Date de dernière mise à jour

    Il est également possible de les définir manuellement :

    <bean id="NameDefinition" class="com.flower.docs.gui.api.model.fields.FieldDefinition">
    	<property name="name" value="name" />
    	<property name="type">
    		<value type="com.flower.docs.gui.api.model.fields.FieldType">String</value>
    	</property>
    	<property name="mandatory" value="false" />
    	<property name="label" ref="NameLabel" />
    </bean> 
    
    <bean id="NameLabel" class="com.flower.docs.gui.api.model.i18n.I18NLabel">
    	<property name="languageMap">
    		<map>
    			<entry>
    				<key>
    					<ref bean="EN" />
    				</key>
    				<value>Name</value>
    			</entry>
    			<entry>
    				<key>
    					<ref bean="FR" />
    				</key>
    				<value>Nom</value>
    			</entry>
    		</map>
    	</property>
    </bean>
    

    Configuration

    Afin d’associer, des définitions de champ à un contexte, elles doivent être regroupées dans un objet ComponentPropertiesConfiguration :

    <bean id="insertDocumentConfiguration" 
    class="com.flower.docs.gui.client.componentclass.ComponentPropertiesConfiguration">
        <property name="propertiesConfiguration">
            <list>
                <ref bean="NameDefinition" />
                <ref bean="Class" />
            </list>
        </property>
    </bean>
    

    Il faut ensuite définir l’ensemble des associations (contexte / configuration) dans l’objet suivant :

    <bean id="componentProperties" 
    class="com.flower.docs.gui.client.componentclass.ComponentPropertiesConfigurations">
    	<property name="propertiesConfiguration">
    		<map>
    		  <entry>
    			<key>
    			  <ref bean="documentInsertContext" />	
    			</key>
    			<ref bean="insertDocumentConfiguration" />
    		   </entry>
    		</map>
    	</property>
    </bean>
    


    Nota : un seul bean componentProperties peut être défini par scope. Dans le cas contraire, le dernier chargé surcharge les autres.

    Par défaut, une action permettant de visualiser les tâches liées au composant visualisé. Ce suivi des tâches peut être configuré grâce au fragment XML suivant en définissant la catégorie voulue grâce à la propriété category d’un bean taskTrackingConfiguration.


    Exemple : Effectuer le suivi des documents liés

    <bean id="taskTrackingConfiguration" 
    class="com.flower.docs.gui.client.task.tracking.TaskTrackingConfiguration">
    	<property name="category">
    		<value type="com.flower.docs.domain.component.Category">DOCUMENT</value>
    	</property>
    	<property name="title">
    		<list>
    			<bean class="com.flower.docs.domain.i18n.I18NLabel">
    				<property name="language" value="FR" />
    				<property name="value" value="Suivi des copies" />
    			</bean>
    		</list>
    	</property>
    </bean>
    

    Nota : Cette configuration est globale pour un scope donné.