Automatisch Ordner in Bibliothek legen, wenn Site erstellt

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

Automatisch Ordner in Bibliothek legen, wenn Site erstellt

Hallo zusammen,

ich muss mich erstmal mit Alfresco etwas anfreunden, aber es gelingt mir von Tag zu Tag besser. Jetzt hoffe ich, dass ich von euch den ein oder anderen Tipp abbekommen kann. Hier mal meine erste Frage, die ich vor mir her schiebe:

Wenn ich eine Site anlege, hätte ich gerne, dass in der Dokumenten-Bibliothek automatisch einige Ordner oder auch Dateien angelegt werden. Für jede Site soll also z.B. ein Ordner "Vertragsunterlagen", ein Ordner "Bildmaterial" usw. erstellt werden. Damit möchte ich erreichen, dass alle Projekte eine einheitliche Grundstruktur haben.

Lässt sich so etwas irgendwo einstellen? So als eine Art "Verzeichnis-Skeleton"?

Danke und viele Grüße
Whisky
3 Replies
thomash
Member II

Re: Automatisch Ordner in Bibliothek legen, wenn Site erstellt

Hallo,

Im Data Dictionary lassen sich Node und Ordnervorlagen definieren. Der Alfresco Explorer hatte die Möglichkeit bei der Ordnererstellung ein Space Template auszuwählen.
Share fehlt hier ein kleines Stückchen Out of the Box Funktionalität.
Zwar kann man ab 4.0 ein NodeTemplate auswählen allerdings sucht es explizit nur nach Content (cm:content) Nodes unterhalb des node-templates Folders im Data Dictionary und nicht nach Foldern. Abhilfe schafft hier die Anpassung des Types zu cm:cmobject (der gemeinsame Elterntyp von Folder und Content).


/app:company_home/app:dictionary/app:node_templates/*[subtypeOf("cm:object")]

Um das Skript anzupassen reicht es den node-templates.get.js Repositorywebscript Controller aus dem WEB-INF/classes/alfresco Verzeichnis nach shared/classes/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/node-templates.get.js zu kopieren und den Typen zu modifizieren.


/**
* Document List Component: Create New Node - get list of available node templates in the Data Dictionary
*/
function main()
{
   //var nodes = search.selectNodes('/app:company_home/app:dictionary/app:node_templates/*[subtypeOf("cm:content")]');     
   var nodes = search.selectNodes('/app:company_home/app:dictionary/app:node_templates/*[subtypeOf("cm:cmobject")]');
   return nodes;
}

model.nodes = main();

Nun stehen die im Ordner Node Templates angelegten Ordner ebenfalls zur Auswahl allerdings werden nur flache Kopien erzeugt das heißt Unterordner werden nicht berücksichtigt.
Hierzu müssen wir noch den node-templates.post.json.js Controller modifizieren. Wir kopieren ihn ebenfalls in das shared/classes/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/ Verzeichnis und modifizieren den sourceNode.copy(…) Aufruf um Deep Copies zu ermöglichen.

Aus der Zeile

model.name = sourceNode.copy(parentNode).name;
wird

model.name = sourceNode.copy(parentNode,true).name;


Gruß
Thomas
whisky
Member II

Re: Automatisch Ordner in Bibliothek legen, wenn Site erstellt

Hi Thomas,

vielen Dank, das ist ja nicht nur eine ausführliche, sondern sogar eine sehr vielversprechende Antwort. Ich werde mir das mal genauer anschauen. Allerdings werde ich ein wenig dafür brauchen. Muss mich erst Stück für Stück in die Sache einarbeiten und Alfresco ist ja doch sehr mächtig.
Ich werde auf jeden Fall hier ein Feedback abgeben!

Besten Dank schon einmal!
Whisky
thecrown
Member II

Re: Automatisch Ordner in Bibliothek legen, wenn Site erstellt

Hallo Thomas,

ich bin auch recht neu bei Alfresco (Version 4.0d Community) und versuche mich gerade daran, das entsprechend anzupassen.
Wie ihr hier schreibt, möchte ich acuh in Share beim erstellen einer Site automatisch eine vordefnierte Ordnerstruktur erzeugen.
(Frage: kann man damit eigentlich auch in der DocumentLibrary einer Site Ordner von einer Vorlage mit Unterordnern erstellen?)

Ich habe mich an die Anleitung gehalten, aber ich finde nachdem ich die Parameter abgeändert habe keinen Erfolg.

Zum Einen musste ich die komplette Verzeichnis-Struktur manuell auf dem Server anlegen, da die nicht existierte (ist das korrekt, dass shared/classes/alfresco/templates/webscripts/org/alfresco/slingshot/documentlibrary/ nicht da war?) und zum Zweiten finde ich nirgends einen Menüpunkt der es mir Ordner erlaubt, Ordner mit Unterordnern aus einer Vorlage anzulegen.

Kann mir jmd helfen ?

Grüsse TheCrown