Вы правы, когда хотите не трогать стандартные файлы, поставляемые с дистрибутивом Alfresco. Вы можете добавлять новые пресеты сайта через стандартные механизмы расширения.
Например, вы должны иметь возможность поместить файл presets.xml в web-extension/site-data/presets, который описывает ваши пресеты. Похоже, у вас уже есть пример того, как это должно выглядеть.
Затем в разделе web-extension/site-webscripts/org/alfresco/modules вы можете добавить create-site.get.js, который имеет что-то вроде:
var sitePresets = [
{id: "site-dashboard", name: msg.get("title.collaborationSite")},
{id: "some-new-preset", name: msg.get("title.somePreset")}
];
model.sitePresets = sitePresets;
Обратите внимание, что это немного изменилось в зависимости от используемой версии Alfresco. Например, я не думаю, что в версии 5.2 вам нужно переопределять create-site.get.js, как показано выше. Вместо этого вы можете использовать модуль расширения Share. Создайте файл с именем presets.xml в папке web-extension/site-data/extensions:
<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>
С этим расширением вы также должны переопределить share-header.get.js. Для этого создайте файл с таким именем в разделе web-extension/site-webscripts/com/someco/presets/share/header со следующим содержимым:
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") }
];
}
Это должно добавить новый «некоторый-сайт-пресет» в список, который вы видите при создании нового сайта в 5.2.
person
Jeff Potts
schedule
23.06.2017