创建一种新的网站Alfresco 5.2
我正在尝试创建一个新类型的网站。当我创建一个新站点时,在选择“协作站点”中只显示1种类型。我想增加更多的选择。例如“自定义站点”,以及具有预定义页面和仪表板的站点。我有一个解决方案,但它正在修改presets.xml和share-header.get.js文件。我想通过添加我自己的文件,而不是编辑现有的文件来做同样的事情创建一种新的网站Alfresco 5.2,alfresco,alfresco-share,Alfresco,Alfresco Share,我正在尝试创建一个新类型的网站。当我创建一个新站点时,在选择“协作站点”中只显示1种类型。我想增加更多的选择。例如“自定义站点”,以及具有预定义页面和仪表板的站点。我有一个解决方案,但它正在修改presets.xml和share-header.get.js文件。我想通过添加我自己的文件,而不是编辑现有的文件来做同样的事情 提前感谢。您希望避免接触Alfresco发行版附带的开箱即用文件,这是正确的。可以通过标准扩展机制添加新的站点预设 例如,您应该能够在web extension/site da
提前感谢。您希望避免接触Alfresco发行版附带的开箱即用文件,这是正确的。可以通过标准扩展机制添加新的站点预设 例如,您应该能够在web extension/site data/presets中放置一个presets.xml文件来描述您的预设。听起来你已经有了一个这样的例子 然后,在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。相反,您可以使用共享扩展模块。在web extension/site data/extensions中创建名为presets.xml的文件:
<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>
这将在5.2中创建新站点时,将新的“某些站点预设”添加到您看到的列表中。它对我不起作用,至少对Alfresco 5.2.f来说是这样。更新了我的答案,并提供了与5.2相关的详细信息。
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") }
];
}