Bonjour à tous,Ma version d’alfresco est la community 4.0.e. Sous windows serveur 64 bit 2008 R2.Je tente de créer ma première custom data list.Après de nombreuses recherches sur le sujet je suis tombé sur ce post qui explique relativement simplement comment créer une custom datalist :https://forums.alfresco.com/en/viewtopic.php?f=47&t=41069.J’ai également suivi attentivement le webcast : Custom Data Lists and their Configuration in Alfresco Share (http://www.alfresco.com/events/webinars/learning-pathway-custom-data-lists-and-their-configuration-alfresco-share)En gros j’ai commencé par créer un modèle très simple qui ne devrait contenir qu’un champ : société concernée (pour commencer).J’ai donc créé un fichier de modèle « fabCustomTaskModel.xml » dans ce dossier :
\Alfresco\tomcat\shared\classes\alfresco\extensionContenu de mon modèle fabCustomTaskModel.xml<?xml version="1.0" encoding="UTF-8"?>
<!– Definition of new Model –>
<model name="fab:FabCustomTaskList" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<!– Optional meta-data about the model –>
<description>datalist de tâches adaptée</description>
<author>Fab</author>
<version>1.0</version>
<!– Imports are required to allow references to definitions in other models –>
<imports>
<!– Import Alfresco Dictionary Definitions –>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<!– Import Alfresco Content Domain Model Definitions –>
<import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
<!– Import Alfresco Data List Model Definitions –>
<import uri="http://www.alfresco.org/model/datalist/1.0" prefix="dl"/>
</imports>
<!– Introduction of new namespaces defined by this model –>
<namespaces>
<namespace uri="fab.FabCustomTaskList.com" prefix="fab"/>
</namespaces>
<!– CONSTRAINTS –>
<constraints>
<constraint name="fab:3CIEcompaniesList" type="LIST">
<parameter name="allowedValues">
<list>
<value>Toutes les sociétés</value>
<value>Colloquium</value>
<value>WIP</value>
<value>CIA</value>
</list>
</parameter>
<parameter name="caseSensitive"><value>true</value></parameter>
</constraint>
</constraints>
<!– T Y P E D E F I N I T I O N S –>
<types>
<!– Data list defintions For this model go here –>
<type name="fab:generalFabCustomTaskList">
<title>Custom task datalist</title>
<description>datalist de tâches adaptée</description>
<parent>dl:simpletask</parent>
<properties>
<property name="fab:concerned_company">
<title>Société concernée</title>
<type>d:text</type>
<mandatory>false</mandatory>
<constraints>
<constraint ref="fab:3CIEcompaniesList"></constraint>
</constraints>
</property>
</properties>
<associations>
</associations>
</type>
</types>
</model>
J’ai modifié le fichier
\Alfresco\tomcat\shared\classes\alfresco\web-extension\share-config-custom.xml afin de configurer les formulaires et datagrid de ma custom data list (pour l’instant je ne souhaite afficher que le champ société concernée (fab:concerned_company) )Contenu de mon fichier share-config-custom.xml<alfresco-config>
<!– Repository Library config section –>
<config evaluator="string-compare" condition="RepositoryLibrary" replace="true">
<!–
Whether the link to the Repository Library appears in the header component or not.
–>
<visible>true</visible>
</config>
<config evaluator="string-compare" condition="Remote">
<remote>
<endpoint>
<id>alfresco-noauth</id>
<name>Alfresco - unauthenticated access</name>
<description>Access to Alfresco Repository WebScripts that do not require authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
<identity>none</identity>
</endpoint>
<endpoint>
<id>alfresco</id>
<name>Alfresco - user access</name>
<description>Access to Alfresco Repository WebScripts that require user authentication</description>
<connector-id>alfresco</connector-id>
<endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
<identity>user</identity>
</endpoint>
<endpoint>
<id>alfresco-feed</id>
<name>Alfresco Feed</name>
<description>Alfresco Feed - supports basic HTTP authentication via the EndPointProxyServlet</description>
<connector-id>http</connector-id>
<endpoint-url>http://localhost:8080/alfresco/s</endpoint-url>
<basic-auth>true</basic-auth>
<identity>user</identity>
</endpoint>
<endpoint>
<id>activiti-admin</id>
<name>Activiti Admin UI - user access</name>
<description>Access to Activiti Admin UI, that requires user authentication</description>
<connector-id>activiti-admin-connector</connector-id>
<endpoint-url>http://localhost:8080/alfresco/activiti-admin</endpoint-url>
<identity>user</identity>
</endpoint>
</remote>
</config>
<!– Ajouté par Fab pour la custom data list de tâches –>
<config evaluator="model-type" condition="fab:generalFabCustomTaskList">
<forms>
<!– Create item form –>
<form>
<field-visibility>
<!– for the form creation we are showing everything except approved date –>
<show id="fab:concerned_company" />
</field-visibility>
<!– <create-form template="/org/alfresco/components/data-lists/forms/dataitem.ftl" /> –>
<appearance>
<field id="fab:concerned_company">
<control template="/org/alfresco/components/form/controls/category.ftl" />
</field>
</appearance>
</form>
<!– Data Grid view –>
<form id="datagrid">
<field-visibility>
<!– <show id="fab:concerned_company" /> –>
<hide id="fab:concerned_company" />
<!– <hide id="cm:title" /> –>
</field-visibility>
</form>
</forms>
</config>
<!– Edit view –>
<config evaluator="node-type" condition="fab:generalFabCustomTaskList">
<forms>
<!– Edit marketing item form –>
<form>
<field-visibility>
<!– <show id="fab:concerned_company" /> –>
<hide id="fab:concerned_company" />
</field-visibility>
<create-form template="/org/alfresco/components/data-lists/forms/dataitem.ftl" />
<appearance>
<field id="fab:concerned_company">
<control template="/org/alfresco/components/form/controls/category.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<!– Fin de l'Ajout de Fab pour la custom data list de tâches –>
</alfresco-config>
Et enfin j’ai ajouté un fichier «CustomDatalist-model-context.xml » dans le dossier Alfresco\tomcat\shared\classes\alfresco\extension\ afin de dire à Alfresco de prendre en compte mon nouveau modèle de custom datalistContenu de mon fichier CustomDatalist-model-context.xml <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!– Registration of new models –>
<bean id="extension.mtg.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/fabCustomTaskModel.xml</value>
</list>
</property>
</bean>
</beans>
Redémarrage des services…Tout ce passe bien, lorsque veux créer une nouvelle liste de données dans un site je peux créer une nouvelle liste de type Custom task.En revanche, les options d’affichage qui sont configurées dans le fichier share-config-custom.xml ne sont absolument pas prises en compte par Alfresco, j’ai un datagrid comprenant de nombreuses colonnes (il ne devrait pour le moment figurer qu’une seule colonne dans le datagrid société concernée) idem pour les formulaires d’ajout et de modification des items, ils contiennent de nombreux champs alors qu’ils ne devraient me proposer d’éditer que le champ société concernée.En bref après de nombreuses heures de recherche, je sèche sur la gestion de l’affichage des champs de ma custom data list, tous les tutoriaux que j’ai trouvé concernent la version 3 d’Alfresco, aucun exemple pour la 4. Il y a peut-être eu des changements dans le process de création de custom data list ?Merci pour votre aide.