2017-06-20 3 views
0

Ich versuche, eine neue Art von Website zu erstellen. Wenn ich ein neues Objekt erstelle, erscheint nur 1 in der Auswahl "Collaboration Site". Ich möchte mehr Optionen hinzufügen. Zum Beispiel "Benutzerdefinierte Site" und für diese Site mit vordefinierten Seiten und Dashboards. Ich habe eine Lösung dafür, aber es ändert presets.xml und share-header.get.js Dateien. Ich möchte dasselbe tun, indem ich meine eigenen Dateien hinzufüge und keine existierenden Dateien bearbeite.Erstellen Sie eine neue Art von Website Alfresco 5.2

Vielen Dank im Voraus.

Antwort

0

Es ist richtig, dass Sie nicht die Standarddateien verwenden möchten, die mit Ihrer Alfresco-Distribution geliefert wurden. Sie können neue Standortvoreinstellungen über die Standarderweiterungsmechanismen hinzufügen.

Zum Beispiel sollten Sie in der Lage sein, eine Datei presets.xml in Web-Extension/Site-Daten/Presets zu speichern, die Ihre Voreinstellungen beschreibt. Es klingt, als hättest du bereits ein Beispiel dafür, wie das aussehen soll.

Dann unter Web-Erweiterung/site-webscripts/org/im Freien/Module können Sie hinzufügen create-site.get.js, die so etwas wie hat:

var sitePresets = [ 
    {id: "site-dashboard", name: msg.get("title.collaborationSite")}, 
    {id: "some-new-preset", name: msg.get("title.somePreset")} 
]; 
model.sitePresets = sitePresets; 

Beachten Sie, dass dies etwas geändert hat, je nach Welche Version von Alfresco verwenden Sie? In 5.2 zum Beispiel glaube ich nicht, dass Sie create-site.get.js wie oben gezeigt überschreiben müssen. Stattdessen können Sie ein Share-Erweiterungsmodul verwenden. Erstellen Sie eine Datei presets.xml in Web-Erweiterung/site-data/Extensions genannt:

<extensions> 
    <modules> 
    <module> 
     <id>Additional Site Presets</id> 
     <version>1.0</version> 
     <auto-deploy>true</auto-deploy> 
     <evaluator type="default.extensibility.evaluator"/> 
     <customizations> 
     <customization> 
      <targetPackageRoot>org.alfresco</targetPackageRoot> 
      <sourcePackageRoot>com.someco.presets</sourcePackageRoot> 
     </customization> 

     <customization> 
      <targetPackageRoot>org.alfresco.share.pages</targetPackageRoot> 
      <sourcePackageRoot>com.someco.presets</sourcePackageRoot> 
      <alwaysApply> 
       <webscript>share-header</webscript> 
      </alwaysApply> 
     </customization> 
     </customizations> 
    </module> 
    </modules> 
</extension> 

Mit dieser Erweiterung in Ort, den Sie müssen auch anteil header.get.js außer Kraft setzen. Um dies zu tun, erstellen Sie eine Datei mit diesem Namen unter Web-Erweiterung/site-webscripts/com/Someco/Voreinstellungen/share/Header mit diesem Inhalt:

var siteService = widgetUtils.findObject(model.jsonModel, "id", "SITE_SERVICE"); 
if (siteService && siteService.config) 
{ 
    siteService.config.additionalSitePresets = [ 
     { value: "some-site-preset", label: msg.get("title.someSite") } 
    ]; 
} 

Dies sollte die neue „some-site-Voreinstellung hinzufügen "zu der Liste, die Sie sehen, wenn Sie eine neue Site in 5.2 erstellen.

+0

Es hat nicht funktioniert, zumindest mit Alfresco 5.2.f. –

+0

Meine Antwort mit Details zu 5.2 aktualisiert. –

Verwandte Themen