cancel
Showing results for 
Search instead for 
Did you mean: 

liste di dati custom

qmiki
Champ in-the-making
Champ in-the-making
scusate ma ho proprio bisogno di aiuto perche' sto impazzendo …
Capisco che il problema di fondo e' che mi mancano le basi e quindi non capisco quello che faccio (a proposito: c'e' un tutorial di base che mi potete consigliare?), ma ho solo bisogno di fare un paio di cose e per il resto alfresco mi va bene cosi' com'e'.
Uso la versione community 4.2.c e ho bisogno di definire delle liste di dati custom, avevo gia' chiesto qui sul forum e ho seguito il tutorial che mi era stato gentilmente consigliato (http://mikehchase54.net/d7dbtest01/sites/default/files/CustomDatalist.pdf). Pero' dopo aver preparato i vari files secondo le indicazioni, quando creavo poi una lista di questo tipo custom appena definito comparivano anche campi non definiti nei files di configurazione, e inoltre i campi non sono nell'ordine di definizione.
Dopo vari tentativi inconcludenti ho cambiato strategia: ho scaricato questo file jar https://addons.alfresco.com/addons/sample-data-list e poi ho modificato i vari files per ottenere i campi che volevo. L'ho messo nella directory indicata dalle istruzioni e cosi' funzionava perfettamente. Risolto? no, perche' quando ho provato a definire un'altro modello lista custom allo stesso modo, nella seconda lista mi sono ricomparsi i problemi di prima (compaiono campi non definiti nei files di configurazione). Se tolgo i files di configurazione del primo modello di lista e metto solo i files di configurazione della seconda, la seconda funziona bene. Cioe' se configuro un solo modello funziona correttamente ma se ne definisco 2 in uno dei due compaiono campi a casaccio.
Cosa sbaglio?? 
8 REPLIES 8

davidciamberlan
Elite Collaborator
Elite Collaborator
Ciao,

dovresti darci qualche informazione in più… Quali sono i "campi" estranei che la secondda lista ti visualizza? Puoi allegare i file che utilizzi per la creazione, in modo da darci la possibilità di simulare quello che fai e capire il problema?

faccio l'esempio di una delle due liste (l'altra e' fatta esattamente allo stesso modo, con altri campi, ciascuna delle due funziona perfettamente se e' l'unica lista custom definita, mentre se metto i file di entrambi i modelli, solo uno funziona correttamente). La prima lista dovrebbe avere i seguenti campi:

Azienda
P.IVA
Data di richiesta
Data di emissione
Data di scadenza
Istituto richiedente
Note
Documenti

e infatti se questa e' l'unica che definisco mi compaiono proprio questi campi e in questo ordine, se pero' definisco un altro modello di lista custom invece mi ritrovo:

Discussione
Documenti
Nome
Auto version - on update properties only
Azienda
Impostazioni Locali
ID
Data di emissione
Creatore
Descrizione
Modificatore
Data di richiesta
P.IVA
Etichetta della versione
Version Type
Contenuto
Istituto richiedente
Versione automatica
Data di ultimo accesso
Note
Titolo
Data di modifica
Data di creazione
Data di scadenza
Versione iniziale
Azioni

(i campi aggiunti non c'entrano nulla con i campi della seconda tipologia di liste)
per ciascun tipo di lista ho messo un file .jar in tomcat/shared/lib che contiene 5 files organizzati secondo la struttura della figura allegata. I files sono i seguenti:

1) DBDoc-datalist-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="dbDoc.datalist.extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
      <value>alfresco/extension/dbDoc-datalist-model.xml</value>
            </list>
        </property>
    </bean>

    <bean id="dbDoc.datalist.ResourceBundle" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
      <property name="resourceBundles">
         <list>
            <value>alfresco.extension.dbDoc-datalist-model</value>
         </list>
      </property>
   </bean>

</beans>




2) DBDoc-datalist-model.properties:


# Display labels for Documents data list
dbd_dbDocDatalistmodel.type.dbd_dbDoc.title=Documents database
dbd_dbDocDatalistmodel.type.dbd_dbDoc.description=Allows to build a simple database of documents
dbd_dbDocDatalistmodel.property.dbd_dbDocReqdate.title=Data di richiesta
dbd_dbDocDatalistmodel.property.dbd_dbDocEmdate.title=Data di emissione
dbd_dbDocDatalistmodel.property.dbd_dbDocEnddate.title=Data di scadenza
dbd_dbDocDatalistmodel.property.dbd_dbDocAttachments.title=Documenti
dbd_dbDocDatalistmodel.property.dbd_dbDocCompany.title=Azienda
dbd_dbDocDatalistmodel.property.dbd_dbDocVAT.title=Partita IVA
dbd_dbDocDatalistmodel.property.dbd_dbDocRequest.title=Istituto richiedente
dbd_dbDocDatalistmodel.property.dbd_dbDocNotes.title=Note



3) DBDoc-datalist-model.xml:


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

<!– Definition of new Model –>

<!– The important part here is the name - Note: the use of the my: namespace
     which is defined further on in the document –>
<model name="dbd: dbDocDatalistmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– Optional meta-data about the model –>
   <description> Documents Datalists Model</description>
   <author></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 Datalist Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/datalist/1.0" prefix="dl"/>

   </imports>

   <!– Introduction of new namespaces defined by this model –>
   <!– NOTE: The following namespace my.new.model should be changed to reflect your own namespace –>
   <namespaces>
      <namespace uri="dbDoc.Datalist.model" prefix="dbd"/>
   </namespaces>

   <types>

      <type name="dbd:dbDoc">
         <title>Documents database</title>
         <parent>dl:dataListItem</parent>
         <properties>   
            
             <property name="dbd:dbDocCompany">
               <title>Azienda</title>
               <type>d:text</type>
          <mandatory>true</mandatory>
            </property>   
             <property name="dbd:dbDocVAT">
               <title>P.IVA</title>
               <type>d:text</type>
          <mandatory>false</mandatory>
            </property>   
            <property name="dbd:dbDocReqdate">
               <title>Data di richiesta</title>
               <type>d:datetime</type>
          <mandatory>false</mandatory>
            </property>
             <property name="dbd:dbDocEmdate">
               <title>Data di emissione</title>
               <type>d:datetime</type>
          <mandatory>false</mandatory>
            </property>
            <property name="dbd:dbDocEnddate">
               <title>Data di scadenza</title>
               <type>d:datetime</type>
          <mandatory>false</mandatory>
            </property>
            <property name="dbd:dbDocRequest">
               <title>Istituto richiedente</title>
               <type>d:text</type>
          <mandatory>true</mandatory>
            </property>   
           
       <property name="dbd:dbDocNotes">
               <title>Note</title>
               <type>d:content</type>
          <mandatory>false</mandatory>
         
            </property>
       </properties>
       <associations>
       <association name="dbd:dbDocAttachments">
               <title>Documenti</title>
               <source>
       <mandatory>false</mandatory>
       <many>true</many>
            </source>
       <target>
         <class>cm:content</class>
         <mandatory>false</mandatory>
       <many>true</many>
           </target>
         </association>
       </associations>
        
   
         <mandatory-aspects>
            <aspect>cm:titled</aspect>
         </mandatory-aspects>
   
      </type>

    </types>

</model>



4) DBDoc-datalist-config-custom.xml:



<alfresco-config>
   <!– dbDoc:documents DB type create form config–>
   <config evaluator="model-type" condition="dbd:dbDoc">
      <forms>
         <form>
            <field-visibility>
              
               <show id="dbd:dbDocCompany" />
               <show id="dbd:dbDocVAT" />
               <show id="dbd:dbDocReqdate" />
                <show id="dbd:dbDocEmdate" />
               <show id="dbd:dbDocEnddate" />
               <show id="dbd:dbDocRequest" />
               <show id="dbd:dbDocNotes" />
               <show id="dbd:dbDocAttachments" />
              
             </field-visibility>
            <create-form template="../data-lists/forms/dataitem.ftl" />
            <appearance>
         
          <field id="dbd:dbDocNotes">
                  <control template="/org/alfresco/components/form/controls/textarea.ftl" />
               </field>
         
          <field id="dbd:dbDocAttachments">
       <control template="/org/alfresco/components/form/controls/attachments.ftl" />
       <control-param name="startLocation">{doclib}</control-param>
       <control-param name="ShowTargetLink">true</control-param>
               </field>
            </appearance>
         </form>

         <!– Data Grid view –>
         <form id="datagrid">
            <field-visibility>
              <show id="dbd:dbDocCompany" />
               <show id="dbd:dbDocVAT" />
               <show id="dbd:dbDocReqdate" />
                <show id="dbd:dbDocEmdate" />
               <show id="dbd:dbDocEnddate" />
               <show id="dbd:dbDocRequest" />
               <show id="dbd:dbDocNotes" />
               <show id="dbd:dbDocAttachments" />
            </field-visibility>
         </form>
      </forms>
   </config>

   <!– dbDoc:task type edit form config–>
   <config evaluator="node-type" condition="dbd:dbDoc">
      <forms>
         <!– Data List pop-up edit form –>
         <form>
            <field-visibility>
                <show id="dbd:dbDocCompany" />
               <show id="dbd:dbDocVAT" />
               <show id="dbd:dbDocReqdate" />
                <show id="dbd:dbDocEmdate" />
               <show id="dbd:dbDocEnddate" />
               <show id="dbd:dbDocRequest" />
               <show id="dbd:dbDocNotes" />
               <show id="dbd:dbDocAttachments" />
              
             </field-visibility>
            <create-form template="../data-lists/forms/dataitem.ftl" />
            <appearance>
         
          <field id="dbd:dbDocNotes">
                  <control template="/org/alfresco/components/form/controls/textarea.ftl" />
               </field>
           <field id="dbd:dbDocAttachments">
        <control template="/org/alfresco/components/form/controls/attachments.ftl" />
       <control-param name="startLocation">{doclib}</control-param>
       <control-param name="ShowTargetLink">true</control-param>
               </field>
            </appearance>
         </form>
      </forms>
   </config>
</alfresco-config>



5) DBDoc-datalist-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>
  
   <!– Load the datalist form config –>
   <bean id="exampleDatalistsFormsClientConfig" class="org.springframework.extensions.config.ConfigBootstrap" init-method="register">
         <property name="configService" ref="web.config" />
         <property name="configs">
            <list>
          <value>classpath:alfresco/web-extension/dbDoc-datalist-config-custom.xml</value>
            </list>
         </property>
   </bean>
  
</beans>

qmiki
Champ in-the-making
Champ in-the-making
metto anche il secondo modello di lista, stessa struttura di files.

1) sHistory-datalist-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="sHistory.datalist.extension.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
        <property name="models">
            <list>
      <value>alfresco/extension/sHistory-datalist-model.xml</value>
            </list>
        </property>
    </bean>

    <bean id="sHistory.datalist.ResourceBundle" class="org.alfresco.i18n.ResourceBundleBootstrapComponent">
      <property name="resourceBundles">
         <list>
            <value>alfresco.extension.sHistory-datalist-model</value>
         </list>
      </property>
   </bean>

</beans>



2) sHistory-datalist-model.properties:



# Display labels for Software History Data Lists Model
shl_sHistoryDatalistmodel.type.shl_sHistory.title=Software Modification History
shl_sHistoryDatalistmodel.type.shl_sHistory.description=Software Modification History with version tracking
shl_sHistoryDatalistmodel.property.shl_sHistoryVersion.title=Version
shl_sHistoryDatalistmodel.property.shl_sHistoryDate.title=Date
shl_sHistoryDatalistmodel.property.shl_sHistoryAttachments.title=Attachments
shl_sHistoryDatalistmodel.property.shl_sHistoryDescription.title=Description
shl_sHistoryDatalistmodel.property.shl_sHistoryNotes.title=Notes



3) sHistory-datalist-model.xml:



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

<!– Definition of new Model –>

<!– The important part here is the name - Note: the use of the my: namespace
     which is defined further on in the document –>
<model name="shl: sHistoryDatalistmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">

   <!– Optional meta-data about the model –>
   <description>Software History Datalists Model</description>
   <author>MU</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 Datalist Domain Model Definitions –>
      <import uri="http://www.alfresco.org/model/datalist/1.0" prefix="dl"/>

   </imports>

   <!– Introduction of new namespaces defined by this model –>
   <!– NOTE: The following namespace my.new.model should be changed to reflect your own namespace –>
   <namespaces>
      <namespace uri="sHistory.Datalist.model" prefix="shl"/>
   </namespaces>

   <types>

      <type name="shl:sHistory">
         <title>Software History</title>
         <parent>dl:dataListItem</parent>
         <properties>    
            <property name="shl:sHistoryDate">
               <title>Date</title>
               <type>d:datetime</type>
          <mandatory>true</mandatory>
            </property>
       <property name="shl:sHistoryVersion">
               <title>Version</title>
               <type>d:text</type>
          <mandatory>true</mandatory>
            </property>      
       <property name="shl:sHistoryDescription">
               <title>Description</title>
               <type>d:content</type>
          <mandatory>true</mandatory>
         
            </property>
       <property name="shl:sHistoryNotes">
               <title>Notes</title>
               <type>d:content</type>
          <mandatory>false</mandatory>
         
            </property>
       </properties>
       <associations>
       <association name="shl:sHistoryAttachments">
               <title>Attachments</title>
               <source>
       <mandatory>false</mandatory>
       <many>true</many>
            </source>
       <target>
         <class>cm:content</class>
         <mandatory>false</mandatory>
       <many>true</many>
           </target>
         </association>
       </associations>
        
   
         <mandatory-aspects>
            <aspect>cm:titled</aspect>
         </mandatory-aspects>
   
      </type>

    </types>

</model>



4) sHistory-datalist-config-custom.xml:


<alfresco-config>
   <!– sHistory:book type create form config–>
   <config evaluator="model-type" condition="shl:sHistory">
      <forms>
         <form>
            <field-visibility>
              
               <show id="shl:sHistoryDate" />
               <show id="shl:sHistoryVersion" />
               <show id="shl:sHistoryDescription" />
          <show id="shl:sHistoryNotes" />
               <show id="shl:sHistoryAttachments" />
             </field-visibility>
             <create-form template="../data-lists/forms/dataitem.ftl" />
            <appearance>
          <field id="shl:sHistoryDescription">
                  <control template="/org/alfresco/components/form/controls/textarea.ftl" />
               </field>
          <field id="shl:sHistoryNotes">
                  <control template="/org/alfresco/components/form/controls/textarea.ftl" />
               </field>
            </appearance>
         </form>

         <!– Data Grid view –>
         <form id="datagrid">
            <field-visibility>
               <show id="shl:sHistoryDate" />
               <show id="shl:sHistoryVersion" />
               <show id="shl:sHistoryDescription" />
          <show id="shl:sHistoryNotes" />
               <show id="shl:sHistoryAttachments" />
            </field-visibility>
         </form>
      </forms>
   </config>

   <!– sHistory:task type edit form config–>
   <config evaluator="node-type" condition="shl:sHistory">
      <forms>
         <!– Data List pop-up edit form –>
         <form>
            <field-visibility>
               <show id="shl:sHistoryDate" />
               <show id="shl:sHistoryVersion" />
               <show id="shl:sHistoryDescription" />
          <show id="shl:sHistoryNotes" />
               <show id="shl:sHistoryAttachments" />
            </field-visibility>
              <edit-form template="../data-lists/forms/dataitem.ftl" />  
            <appearance>
          <field id="shl:sHistoryDescription">
                  <control template="/org/alfresco/components/form/controls/textarea.ftl" />
               </field>
          <field id="shl:sHistoryNotes">
                  <control template="/org/alfresco/components/form/controls/textarea.ftl" />
               </field>
            </appearance>
         </form>
      </forms>
   </config>
</alfresco-config>



5) sHistory-datalist-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>
  
   <!– Load the datalist form config –>
   <bean id="exampleDatalistsFormsClientConfig" class="org.springframework.extensions.config.ConfigBootstrap" init-method="register">
         <property name="configService" ref="web.config" />
         <property name="configs">
            <list>
          <value>classpath:alfresco/web-extension/sHistory-datalist-config-custom.xml</value>
            </list>
         </property>
   </bean>
  
</beans>

Ciao,

premetto che ho testato le liste da te create su alfresco 5.0.c

A beneficio di chi legge il post, riporto che per far funzionare le liste correttamente ho dovuto rimuovere nel *-config-custom.xml le righe:


<create-form template="../data-lists/forms/dataitem.ftl" />
[…]
<control template="/org/alfresco/components/form/controls/attachments.ftl" />


dato che, a quanto pare, quei template non sono più presenti.
Inoltre ho inserito i contenuti dei file *-config-custom.xml direttamente in […]/web-extension/share-config-custom.xml (eliminando il tag esterno alfresco-config).
Questo rende inutile i due file *-datalist-context.xml che riporti per ultimi nei tuoi post (i primi invece sono necessari).

Detto questo ho potuto usare le due liste senza grossi problemi e senza avere campi estranei come tu segnali.

Prova anche tu a seguire i cambiamenti che ho fatto… se ancora non funziona il tuo problema potrebbe essere legato a qualche bug della versione di Alfresco che usi… hai la possibilità di provare su un'altra versione?

Facci sapere.

qmiki
Champ in-the-making
Champ in-the-making
ma provando a seguire le indicazioni il risultato e' che entrambe le liste non funzionano correttamente (nel senso che appaiono campi aggiuntivi). Se ritorno alle condizioni precedenti una funziona e l'altra no.

qmiki
Champ in-the-making
Champ in-the-making
temo si sia effettivamente corrotto qualcosa … ora non riesco piu' a rimuovere il pannello di assistenza nei vari siti

mi sto chiedendo se puo' valere la pena installare una nuova versione di alfresco, cogliendo l'occasione per fare un upgrade


EDIT: ho installato la 5.0.c e ora le liste funzionano correttamente. Volevo pero' chiederti una cosa: ho bisogno di esportare le liste in un formato compatibile con excel, prima usavo questo:

https://addons.alfresco.com/addons/alfresco-share-datalist-extension

che si trova fino alla 4.2 ma non la 5. C'e' qualcos'altro che posso usare?

Ciao,

prova fme-alfresco-extdl.
Dovrebbe funzionare anche sulla 5.0.c

qmiki
Champ in-the-making
Champ in-the-making
grazie, funziona, ma come si fa a fargli esportare anche le liste custom? per ora mi funziona solo con le liste di default.
Altra cosa: negli elenchi che ho definito ci sono dei campi di "allegati" in cui inserire documenti. Come faccio a fare in modo che cerchi i files a partire dalla directory che contiene la raccolta documenti del sito stesso?
avevo capito che bisognava mettere startLocation -> {doclib} ma non funziona piu', giusto?

EDIT: ora riesco a esportare le liste custom in fogli excel, ma mi rimane il problema di far cercare gli allegati a partire da una posizione specifica…