Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Panel
nameidblue0

Modules XML file is used for defining the modules of the system along with their features, related modules, left menu items, and skins.


What does this section cover?

Table of Contents

...

Expand
titleCustom Feature Example


Code Block
language
languagexml
themeEclipse
xmltitlemodules.xml
<moduleconfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/modules.xsd">
	<modules>
		...
		<module>
			<moduleid>SUBSCRIPTIONS</moduleid>
			<features>
				<feature>
					<featureid>CUSTOM_SUBSCRIPTIONS</featureid>
					<reports>
						<report>
				      		<id>CUSTOM_ACTIVATION_BY_MONTH</id>
				      		<name>key_activations_by_month</name>
				      		<description>key_view_the_monthly_activations_report</description>
				      		<reportfilename>Subscriptions/subscriptionActivationsByMonth.crxml</reportfilename>
				    	</report>
					</reports>
				</feature>
				<feature>
					<featureid>CUSTOM_IMPORT_SUBSCRIPTIONS</featureid>
					<featurename>key_import_subscriptions</featurename>
					<featuredescription>key_import_subscriptions</featuredescription>
					<featuremenuoptionid>CUSTOM_IMPORT_SUBSCRIPTIONS</featuremenuoptionid>
					<additionalprocesses>
						<process>
							<id>IMPORT_SUBSCRIPTIONS</id>
							<name>key_import_subscriptions</name>
							<description>key_import_subscriptions</description>
							<methods>
								<method>
									<ejbname>COMPANYCRMImportSubscription</ejbname>
									<methodname>importSubscription</methodname>
								</method>
							</methods>
						</process>
					</additionalprocesses>
				</feature>
			</features>
			<leftmenuoptions>
				<id>CUSTOM_IMPORT_SUBSCRIPTIONS</id> <!-- Billing > Subscriptions > Import Subscriptions -->
			</leftmenuoptions>
 
		...
 
	</modules>
</moduleconfig>


...

In the following example, a custom module is added to Billing Application. To add a new module to an existing application, you simply have to use the existing application's ID, extending this way the system's release functionality. You can add a new module, which is not related to a release module. applicationid and modulemainmenuoptionid are optional for the second scenario.

Expand
titleCustom Module Example


Code Block
languagexml
themeEclipselanguagexml
titlemodules.xml
<moduleconfig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../xsd/modules.xsd">
	<modules>
		...
		<module>
			<moduleid>CUSTOM_LOCAL_SMS_PROVIDER</moduleid>
			<modulemainmenuoptionid>CUSTOM_LOCAL_SMS_PROVIDER</modulemainmenuoptionid>
			<modulename>key_local_sms_provider</modulename>
			<applicationid>BILLING</applicationid>
					<features>
						<feature>
							<featureid>CUSTOM_MANAGE_LOCAL_SMS_PROVIDER_SETTINGS</featureid>
							<featurename>key_manage_sms_settings</featurename>
							<featuredescription>key_manage_sms_settings</featuredescription>
							<featuremenuoptionid>CUSTOM_MANAGE_LOCAL_SMS_PROVIDER_SETTINGS</featuremenuoptionid>
							<commonprocesses>
								<process>
									<id>CUSTOM_CREATE_SMS_SETTINGS</id>
									<name>key_create_sms_settings</name>
									<description>key_create_a_new_sms_settings_definition.</description>
									<methods>
										<method>
											<ejbname>COMPANYCRMUISmsSettingsDefinition</ejbname>
											<methodname>loadForm</methodname>
										</method>
									</methods>
							</process>
							...
						</commonprocesses>
					</feature>
				</features>
				<leftmenuoptions>
					<id>CUSTOM_LOCAL_SMS_PROVIDER</id>  <!-- Billing > Local SMS Provider -->
					<id>CUSTOM_MANAGE_LOCAL_SMS_PROVIDER_SETTINGS</id> <!-- Billing > Local SMS Provider > Manage SMS Settings -->
				</leftmenuoptions>
			</module>
		<module>
 
        <module>
        	<moduleid>CUSTOM_PRICE</moduleid>
            <modulemainmenuoptionid></modulemainmenuoptionid>
            <modulename>key_price</modulename>
            <applicationid></applicationid>
            	<features>
		        
               	</features>
                <leftmenuoptions>
                   <id>CUSTOM_PRICE</id>
                   <id>CUSTOM_PRICE_LIMIT</id>
                </leftmenuoptions>
                <settingmenuoptions>
                	<id>CUSTOM_PRICE_SETTINGS</id>
                	<id>CUSTOM_PRICE_LIMIT_SETTINGS</id>
				</settingmenuoptions>
		</module>
		...
 
	</modules>
	<loginmodules>
		<moduleid>CUSTOM_PRICE</moduleid>
	</loginmodules>
</moduleconfig>



For a full list of metadata module attributes, go to Modules metadata

...