创建一种新的网站Alfresco 5.2

创建一种新的网站Alfresco 5.2,alfresco,alfresco-share,Alfresco,Alfresco Share,我正在尝试创建一个新类型的网站。当我创建一个新站点时,在选择“协作站点”中只显示1种类型。我想增加更多的选择。例如“自定义站点”,以及具有预定义页面和仪表板的站点。我有一个解决方案,但它正在修改presets.xml和share-header.get.js文件。我想通过添加我自己的文件,而不是编辑现有的文件来做同样的事情 提前感谢。您希望避免接触Alfresco发行版附带的开箱即用文件,这是正确的。可以通过标准扩展机制添加新的站点预设 例如,您应该能够在web extension/site da

我正在尝试创建一个新类型的网站。当我创建一个新站点时,在选择“协作站点”中只显示1种类型。我想增加更多的选择。例如“自定义站点”,以及具有预定义页面和仪表板的站点。我有一个解决方案,但它正在修改presets.xml和share-header.get.js文件。我想通过添加我自己的文件,而不是编辑现有的文件来做同样的事情


提前感谢。

您希望避免接触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") }
   ];
}