Générer un site à partir d'un modèle de site

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

Re: Générer un site à partir d'un modèle de site

Bonjour,
T' as raison j'ai du faire attention aux majuscules. Smiley Surprisedops:
Maintenant il me crée un site mais il ne copie pas les dossiers se trouvant sous Space Templates sous le dossier document library du site crée.En plus,j'ai pas d'erreurs dans le log.
voila le code :
// execute onCreate of a Site
var childAssoc = behaviour.args[0];
var site = childAssoc.getChild();
//var site = args[0];
logger.log("### avant template");
//if (site.properties["st:sitePreset"]=="prj-dashboard"){
  logger.log("### Prepping to get Templates folder");
  var templateFolder = search.luceneSearch('PATH:"/app:company_home/app:dictionary/app:space_templates"');
  var docLib = site.childByNamePath("documentlibrary");
  if (!docLib){
    docLib = site.createFolder("documentlibrary");
  }
  if (docLib) {
     for (var i in templateFolder.children){
      var child = templateFolder.children[i];
      child.copy(docLib, true);
}
  }
//}
Encore merci de votre aide
cleseach
Active Member II

Re: Générer un site à partir d'un modèle de site

Bonjour,

Sur le wiki, on peut lire :
Array luceneSearch(string query)
    Returns an array of ScriptNode objects that were found by the Alfresco repository full-text search, for example: var nodes = search.luceneSearch("TEXT:alfresco");
Dans votre code templateNode est donc un tableau. L'appel templateFolder.children ne correspond donc à rien.

Cordialement,
Charles Le Seac'h
dorra87
Member II

Re: Générer un site à partir d'un modèle de site

Bonjour,
ça marche bien maintenant,voila le code pour ceux qui ont besoins
var childAssoc = behaviour.args[0];
var site = childAssoc.getChild();
  var templateFolder = search.luceneSearch('PATH:"/app:company_home/app:dictionary/app:models"');
  var docLib = site.childByNamePath("documentlibrary");
  if (!docLib){
    docLib = site.createFolder("documentlibrary");
  }
  if (docLib) {
for(var i=0;i< templateFolder.length;i++)
{
for(j=0;j< templateFolder[i].children.length;j++)
{
templateFolder[i].children[j].copy(docLib,true);


}
  }
Merci infiniment Charles.