Appendix A: Cloning a module
The following steps list how the Contacts module can be cloned to another module, e.g., Personnel module
This is a first effort to list the steps. Suggestions and Modifications are encouraged.
- Copy the action class from /src/main/java/com/concursive/crm/web/modules/contacts/actions/ExternalContacts.java
to /src/main/java/com/concursive/crm/web/modules/personnel/actions
- Change the package information for the action classes in
/src/main/java/com/concursive/crm/web/modules/personnel/actions
from
package com.concursive.crm.web.modules.contacts.actions;
to
package com.concursive.crm.web.modules.personnel.actions;
- In cfs-modules.xml copy the section
<menu> <action name="ExternalContacts"/> <action name="ExternalContactsOpps"/> <action name="ExternalContactsOppComponents"/> <action name="ExternalContactsCalls"/> <action name="ExternalContactsCallsForward"/> <action name="ExternalContactsPrototype"/> <action name="ExternalContactsImports"/> <action name="ExternalContactsHistory"/> <action name="ExternalContactsMessages"/> <page title="Contacts"/> .... </menu>
for the contacts module and paste it below the closing menu tag (or where ever else you want to position it.) Rename the title to "Personnel"
- Create permissions in the database to control access to personal module (refer to development document to update permissions in an existing installation and to add them during the installation process)
- Replace the permissions in cfs-modules for the personnel module.
- The cfs-container_menus.xml draws the subtabs for each record. Search for
<!-- Submenu used in the Contacts module -->
- They would contain the definition of the sub tabs for the contacts module. Include the permissions for the personnel module seperate with comma for the value attribute of the permission tag (need to verify if this works)
- Copy all the jsps in web/jsp/contacts to web/jsp/personnel. Right now, I perceive this is require so that the forms submit to the correct action classes. An alternative suggestion is welcome.
- One alternative I percieve is to have a _include.jsp for each page in the contact/ directory and have the wrapper buttons in the personnel directory.
- In cfs-config.xml, define what pages each of the methods of the action classes in the personnel module forward to.
E.g.,
<action name="ExternalContacts" class="com.concursive.crm.web.modules.contacts.actions.ExternalContacts"> .... </action>
needs to be copied and changed to
E.g.,
<action name="Personnel" class="com.concursive.crm.web.modules.personnel.actions.ExternalContacts"> .... </action>
Change file path of jsps from contacts to personnel.
This needs to be repeated for each of the action classes that are now in the personnel module.
Sign in to add your comment.