Versions Compared

Key

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

...

The custom data entry layout file for the new page must follow this naming convention: <definition_page_filename>layout.xml. More than one layout files can exist per data entry definition page. In such cases, a default data entry layout file per database must be defined in templates properties file (templates.properties)

ui-expand
titleNew Data Entry Page Example

 

 

Code Block
languagexml
titlestatus.xml
collapsetrue
 <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntry.xsd">
	<id>jobs/status</id>
	<name>key_status</name>
	<module>JOBS</module>
	<functioncall>
		<functions>
			<function>
			</function>		
		</functions>
	</functioncall>
	
	<datasources>
		<datasource>
			<key>form</key>
			<classname>com.crm.web.generator.datasource.DTODatasource</classname>
		</datasource>
	</datasources>
	<mainmenu>
		<components>
			<component>
				<id>cmpHome</id>
				<name>key_home</name>
				<visiblemodes>read</visiblemodes>
				<elements>
					<button>
						<id>btnHome</id>
						<name>key_home</name>
						<setmode>read</setmode>
						<refresh>page</refresh>
						<url>page.do?act=summary&amp;xml=jobs/statuses</url>
					</button>
				</elements>
			</component>
			<component>
				<id>cmpNew</id>
				<name>key_new</name>
				<visiblemodes>read</visiblemodes>
				<elements>
					<button>
						<id>btnNew</id>
						<name>key_new</name>
						<setmode>new</setmode>
						<refresh>page</refresh>
						<functioncall>
							<functions>
								<function>
									<type>ejb</type>
									<classname>ejb/COMPANYCRMUIJobStatus</classname>
									<functionname>createButton</functionname>
									<resultaction>replace</resultaction>
									<datatype>root</datatype>
								</function>
							</functions>
						</functioncall>
					</button>
				</elements>
			</component>
			<component>
				<id>cmpEdit</id>
				<name>key_edit</name>
				<visiblemodes>read</visiblemodes>
				<elements>
					<button>
						<id>btnEdit</id>
						<name>key_edit</name>
						<visibilityconditions>'[[getValue,java.lang.String,isEditable]]'!='0'</visibilityconditions>
						<setmode>edit</setmode>
						<refresh>page</refresh>
						<disableonclick>true</disableonclick>
						<functioncall>
							<functions>
								<function>
									<type>ejb</type>
									<classname>ejb/COMPANYCRMUIJobStatus</classname>
									<functionname>editButton</functionname>
									<resultaction>replace</resultaction>
									<datatype>root</datatype>
									<parameters>
										<parameter>
											<value>[[getDTO]]</value>
											<datatype>java.lang.Object</datatype>
										</parameter>
									</parameters>
								</function>
							</functions>
						</functioncall>
					</button>
					<button>
						<id>btnEdit</id>
						<name>key_edit</name>
						<visibilityconditions>'[[getValue,java.lang.String,isEditable]]'=='0'</visibilityconditions>
						<style>TopToolbarItemsDisabled</style>
					</button>
				</elements>
			</component>
			<component>
				<id>cmpDelete</id>
				<name>key_delete</name>
				<visiblemodes>read</visiblemodes>
				<elements>
					<button>
						<id>btnDelete</id>
						<name>key_delete</name>
						<visibilityconditions>'[[getValue,java.lang.String,isDeletable]]'!='0'</visibilityconditions>
						<setmode>read</setmode>
						<refresh>page</refresh>
						<url>page.do?act=summary&amp;xml=jobs/statuses</url>
						<functioncall>
							<functions>
								<function>
									<type>ejb</type>
									<classname>ejb/COMPANYCRMUIJobStatus</classname>
									<functionname>deleteButton</functionname>
									<datatype>root</datatype>
									<parameters>
										<parameter>
											<value>[[getDTO]]</value>
											<datatype>java.lang.Object</datatype>
										</parameter>
									</parameters>
								</function>
							</functions>
						</functioncall>
					</button>
					<button>
						<id>btnDelete</id>
						<name>key_delete</name>
						<visibilityconditions>'[[getValue,java.lang.String,isDeletable]]'=='0'</visibilityconditions>
						<style>TopToolbarItemsDisabled</style>
					</button>
				</elements>
			</component>
			<component>
				<id>cmpSave</id>
				<name>key_save</name>
				<visiblemodes>edit,new</visiblemodes>
				<elements>
					<button>
						<id>btnSave</id>
						<name>key_save</name>
						<setmode>read</setmode>
						<refresh>page</refresh>
						<functioncall>
							<functions>
								<function>
									<type>ejb</type>
									<classname>ejb/COMPANYCRMUIJobStatus</classname>
									<functionname>saveButton</functionname>
									<resultaction>replace</resultaction>
									<datatype>root</datatype>
									<parameters>
										<parameter>
											<value>[[getDTO]]</value>
											<datatype>java.lang.Object</datatype>
										</parameter>
									</parameters>
								</function>
							</functions>
						</functioncall>
					</button>
				</elements>
			</component>
			<component>
				<id>cmpCancel</id>
				<name>key_cancel</name>
				<visiblemodes>edit,new</visiblemodes>
				<elements>
					<button>
						<id>btnCancel</id>
						<name>key_cancel</name>
						<setmode>read</setmode>
						<refresh>cancel,page.do?act=summary&amp;xml=jobs/statuses</refresh>
					</button>
				</elements>
			</component>
		</components>
	</mainmenu>
	<main>
		<components>
			<component>
				<id>cmpLifeCycleState</id>
				<name>key_lifecyclestate</name>
				<elements>
					<selectbox>
						<id>slbLifeCycleState</id>
						<lookuptype>ejb</lookuptype>
						<label>key_life_cycle_state</label>
						<datapath>lifeCycleState</datapath>
						<datatype>enum</datatype>
						<classname>com.crm.dataobject.jobs.JobLifeCycleState</classname>
						<reload>true</reload>
						<onload>
							<type>ejb</type>
							<classname>ejb/CRMUIJob</classname>
							<functionname>getLifeCycleStateOptions</functionname>
						</onload>
					</selectbox>
				</elements>
			</component>
		</components>
	</main>
	<details>
		<tabs>
		</tabs>
	</details>
</page>

 

 

 

Code Block
languagexml
titlestatuslayout.xml
collapsetrue
 <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntryLayout.xsd">
	<mainmenu>
		<components>
			<component><id>cmpHome</id></component>
			<component><id>cmpNew</id></component>
			<component><id>cmpEdit</id></component>
			<component><id>cmpDelete</id></component>
			<component><id>cmpSave</id></component>
			<component><id>cmpCancel</id></component>
		</components>
	</mainmenu>
	<main>
		<view>
			<type>areas</type>
			<screenareas>
				<screenarea>
					<leftscreenarea>
						<sections>
							<section><id>secMainInformation</id></section>
							<section><id>secLogInformation</id></section>
						</sections>
					</leftscreenarea>
				</screenarea>
			</screenareas>
		</view>
		<sections>
			<section>
				<id>secMainInformation</id>
				<name>key_main_information</name>
				<disable>false</disable>
				<instruction>key_instruction_jobs_status_sec_main_information</instruction>
				<left>
					<components>
						<component><id>file:general/name.xml</id></component>
						<component><id>file:general/altCode.xml</id></component>
						<component><id>cmpLifeCycleState</id></component> 
					</components>
				</left>
				<right>
					<components>
						<component><id>file:general/description_rowspan_2.xml</id></component>
					</components>
				</right>
			</section>
			<section>
				<id>secLogInformation</id>
				<name>key_log_information</name>
				<disable>false</disable>
				<left>
					<columns>3</columns>
					<components>
						<component>
							<id>file:loginfo/logInfoGroup.xml</id>
							<colspan>3</colspan>
						</component>
					</components>
				</left>
			</section>
		</sections>
	</main>
	<details>
		<tabs>
		</tabs>
	</details>
</page>

 

 

As you can see in the example above, for the name, alternative code and log information components, generic components were used. For more information on generic components and how to use them, go to Use Generic Components.

...

The custom data entry layout file must have a unique file path, include ALL sections and components that need to be displayed and be defined in templates.properties file.

ui-expand
titleCustomise Existing Data Entry Page Example

 

 

Code Block
languagexml
titlecontactInformationCustom.xml
collapsetrue
 <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntry.xsd">
	<id>contactinfo/contactInformation</id>
	<datapath>name</datapath>
	<module>CONTACT_INFORMATION</module>
	<functioncall>
		<functions>
			<function>
			</function>		
		</functions>
	</functioncall>
	
	<datasources>
		<datasource>
			<key>form</key>
			<classname>com.crm.web.generator.datasource.DTODatasource</classname>
		</datasource>
	</datasources>
	<mainmenu>
	</mainmenu>
	<main>
		<components>
			<component>
				<id>cmpHomeType</id>
				<name>key_home_type</name>
				<elements>
					<textbox>
						<id>txtHomeType</id>
						<label>key_home_type</label>
						<datapath>ciuserfield2</datapath>
					</textbox>
				</elements>
			</component>
		</components>
	</main>
	<details>
		<tabs>
		</tabs>
	</details>
</page>
 

 

 

Code Block
languagexml
titlecontactInformationCustomlayout.xml
collapsetrue
 <?xml version="1.0" encoding="UTF-8"?><page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/dataEntryLayout.xsd">
	<mainmenu>
		<components>
			<component><id>cmpHome</id></component>
			<component><id>cmpNew</id></component>
			<component><id>cmpEdit</id></component>
			<component><id>cmpDelete</id></component>
			<component><id>cmpSave</id></component>
			<component><id>cmpSaveInModal</id></component>
			<component><id>cmpCancel</id></component>
			<component><id>cmpActions</id></component>
		</components>
	</mainmenu>
	<main>
		<view>
			<type>list</type>
			<screenareas>
				<screenarea>
					<leftscreenarea>
						<sections>
							<section><id>secMainInformation</id></section>
							...
						</sections>
					</leftscreenarea>
				</screenarea>
			</screenareas>
		</view>
		<sections>
			<section>
				<id>secMainInformation</id>
				<name>key_main_information</name>
				<disable>false</disable>
				<left>
					<components>
						...
						<component><id>cmpHomeType</id></component>
					</components>
				</left>
				...
			</section>
			...
		</sections>
	</main>
	<details>
		<tabs>
			...
		</tabs>
	</details>
</page>

...