Datenlisten mit eigenen Content Models

cancel
Showing results for 
Search instead for 
Did you mean: 
tomash
Member II

Datenlisten mit eigenen Content Models

Ich möchte im Rahmen eines Tests für einen Rechnungsworkflow mehrere Eigenschaften von Dokumenten, die mit einem  individuellen Content Model erstellt wurden, in einer Datenliste anzeigen lassen. Die Ordner der Dokumentenbibliothek zeigen nur die Standard-Eigenschaften der Dokumente dar - daher ist das sicherlich eine bereits bekannte Anforderung (habe im Forum leider noch nichts dazu gefunden).

Die Umsetzung habe ich über <form id="datagrid"> wie folgt versucht (Auszug aus  \shared\classes\alfresco\web-extension\share-config-custom.xml):


<config evaluator="model-type" condition="vb:rechnung">
      <forms>
         <form>
            <field-visibility>
            <show id="vb:Sachkonto" />
            <show id="vb:Rechnungsnummer" />
            <show id="vb:Rechnungseingang" />
            <show id="vb:Bruttosumme" />
            <show id="vb:inOrdnung" />
          </field-visibility>
       </form>
      
        <form id="datagrid">
            <field-visibility>
            <show id="vb:Sachkonto" />
            <show id="vb:Rechnungsnummer" />
            <show id="vb:Rechnungseingang" />
            <show id="vb:Bruttosumme" />
            <show id="vb:inOrdnung" />
          </field-visibility>
       </form>      
       </forms>
</config> 


Das Content Model ist über folgende Datei definiert:
(\shared\classes\alfresco\extension\model\vbrechnungModel.xml)

<?xml version="1.0" encoding="UTF-8"?>
<!– xsi:schemaLocation="http://www.alfresco.org/model/dictionary/1.0 modelSchema.xsd" –>
<model name="vb:rechnungmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
    <description>Rechnung Model</description>
   <author>xxxx</author>
   <published>2012-10-09</published>
   <version>1.0</version>
   <imports>
      <import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
       <import uri="http://www.alfresco.org/model/content/1.0" prefix="cm"/>
   </imports>
      <namespaces>
      <namespace uri="http://www.haasiwork.de/model/content/1.0" prefix="vb"/>
   </namespaces>
   <types>
      <type name="vb:rechnung">
            <title>Rechnungsdokument Haasi</title>
            <parent>cm:content</parent>
            <properties>
                         
                <property name="vb:Rechnungssteller">
                   <title>Rechnungsteller</title>
               <type>d:text</type>
            </property>
            
            <property name="vb:Sachkonto">
               <title>Sachkonto</title>
               <type>d:int</type>
            </property>
            <property name="vb:Rechnungsnummer">
               <title>Rechnungsnummer</title>
               <type>d:text</type>
            </property>
            <property name="vb:Rechnungseingang">
               <title>Rechnungseingang</title>
               <type>d:date</type>
            </property>
            <property name="vb:Bruttosumme">
               <title>Bruttosumme</title>
               <type>d:long</type>
            </property>
            <property name="vb:inOrdnung">
               <title>OK</title>
               <type>d:boolean</type>
            </property>
         </properties>
        </type>
   </types>
</model>

Das Content Model funktioniert so weit in Share; es ist zum Beispiel ein Wechsel vom Standard-Model in das eigene Model möglich - die definierten Eigenschaften werden ebenfalls beim Editieren der Dokumente angezeigt.

Welche Einstellungen sind noch erforderlich, um eine Anzeige als Datenliste zu erhalten?

Für Ideen und Anregungen wäre ich sehr dankbar.
4 Replies
jpfi_4454
Member II

Re: Datenlisten mit eigenen Content Models

Hallo,
der normale Verwendungszweck einer Datenliste ist eigentlich nicht Meta-Daten von anderen Objeckten anzuzeigen.
Eine Datenliste und die darin enthaltenen Elemente sind vollwertige (ggf. Contentlose) Objekte in Alfresco.
Warum zeigst du nicht einfach deine Meta-Daten in der Doclib an den Dokumenten per Verwendung des FormService & Meta-Templates für die die Doklib? - Das wäre der normale Weg.
VG, jan
tomash
Member II

Re: Datenlisten mit eigenen Content Models

Hallo Jan,

danke für die Hilfe. Ich war wahrscheinlich auf der (völlig) falschen Spur, da meine Trainingsunterlagen noch von der Version 3.4 stammten. Ab 4.0 ist offensichtlich doch einiges anders …

Ich habe jetzt die share-config-custom.xml wie folgt erweitert:

<config evaluator="string-compare" condition="DocumentLibrary">

<metadata-templates>
      <template id="isRechnung">
         <evaluator>evaluator.doclib.metadata.hasExif</evaluator>
         <line index="10" id="date" view="detailed">{date} {size}</line>
         <line index="20" id="description">{description} {description} {description}</line>
         <line index="30" id="konto" view="detailed">{vb:Sachkonto}</line>
      </template>
      
</metadata-templates>

In Share werden jetzt auch die Metadaten entsprechend angezeigt. Wenn ich jetzt noch den Evaluator auf meine eigenen Aspects anpasse, sollte es erstmal soweit laufen.

Eine Frage hätte ich noch:
Die Anzeige der Metadaten funktioniert zwar erstmal, ist aber noch nicht wirklich mit einer Datenliste Excel-like vergleichbar, bei der z.B. Sortieren, Filtern etc. möglich sind. Spaltenüberschriften wären auch für eine datenorientierte Arbeitsweise nützlich.

Gibt es Wikis für die Anpassung der Ordner-Gestaltung in Share?
Leider geht auch der Artikel von Potts zum Thema "Customs Types" http://ecmarchitect.com/images/articles/alfresco-content/content-article-2ed.pdf nicht auf solche Fragestellungen ein.

Um wieder zur Ausgangsfrage zurückzukommen:
Die Datenlisten haben bereits diese Features. Es gibt z.B. Adresslisten und Aufgabenlisten, die aber wiederum nicht mit den Benutzern und Tasks zu tun haben. Warum gibt es hier keine konsequentere Verzahnung?

Viele Grüße
Thomas
jpfi_4454
Member II

Re: Datenlisten mit eigenen Content Models

Hi,
jub, dass sieht schon mehr nach dem richtigen Weg aus. Du hast mit der Version 4.2 die verbesserte Möglichkeit dir neue DocumentLibraryRenderer zu implementieren.
In 4.2 ist bereits eine Gallery-Ansicht enthalten, eine ("old-style")Tabellenorientierte (je Attribut eine Spalte mit Sortierfunktionen etc. ) Darstellung ist auf der DevCon gezeigt worden - ggf. ist diese auch schon im SVN HEAD. mehr zu dem thema findest zu hier: http://devcon.alfresco.com/berlin/sessions/share-document-library-views-dam-interface
Vlt. ist das dann die richtige Darstellungsweise für dein Projekt…
VG, jan
tomash
Member II

Re: Datenlisten mit eigenen Content Models

Hallo,

was auf der Devcon vorgestellt wurde, passt schon deutlich besser als die bisherigen Ordner-Layouts.
Ich werde mich mal dazu mit der entsprechenden Doku beschäftigen.

Danke für die schnelle und kompetente Hilfe.   Smiley Tongue
Thomas