It is possible to add new AMD packages via Extension Modules, rather than
having to edit surf.xml.
This tutorial assumes you have completed the Customizing Share Header tutorials.
In this tutorial you will learn how to add AMD packages via Extension Modules. In a
previous tutorial you had to add the tutorials package by
editing surf.xml. As this is a system file it can only be done by
administrators, and is therefore somewhat inconvenient for the deployment of third-party
extensions. To get around this issue it is now possible (from 4.2.2 onwards) to add new
packages via an extension module.
- In Eclipse, load the file config/alfresco/site-data/extensions/extension-modules.xml into the editor.
-
Add the following module:
<module> <id>Add a Custom Package</id> <version>1.0</version> <auto-deploy>true</auto-deploy> <configurations> <config evaluator="string-compare" condition="WebFramework" replace="false"> <web-framework> <dojo-pages> <packages> <package name="custompackage" location="js/custompackage"/> </packages> </dojo-pages> </web-framework> </config> </configurations> </module>
-
In the Package Explorer right-click on the build.xml file
and select .
This builds a new JAR file that was already deployed in the previous tutorial.
- Restart the application server (for example, Tomcat).
-
Log in to Share. Use the View Source facility of your browser to view the source code for any
page.
You will see a list of loaded packages, such as the following:
var dojoConfig = { baseUrl: "/share/res/", tlmSiblingOfDojo: false, async: true, parseOnLoad: false, packages: [ { name: "alfresco", location: "js/alfresco" }, { name: "tutorials", location: "js/tutorials" }, { name: "custompackage", location: "js/custompackage" }, { name: "surf", location: "js/surf" }, { name: "dojo", location: "js/lib/dojo-1.9.0/dojo" }, { name: "dijit", location: "js/lib/dojo-1.9.0/dijit" }, { name: "dojox", location: "js/lib/dojo-1.9.0/dojox" } ] };
Ensure that the new package, custompackage is in the list.