Skip to end of banner
Go to start of banner

Customise Search Pages

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

This section describes how custom search pages can be created, in order for the system's release functionality, to be overridden or extended.

 

What does this section cover?

 

By adding a folder and an XML file in the respective custom search page path, and naming the search file with the same name as the release search file name, you override it and the system will use your own when calling that search file. By creating folders in new package spaces, you must use the correct path in your custom summary or data entry pages.

 

If for example we wanted to search for all users who are declared as super users in the system, searching by and returning their usernames, we could either override the load.xml search file, or create a new loadsystemusers.xml file. The latter is preferred since overriding the load.xml will affect all other pages calling this search file.

 

 Creating A Custom Search Page

 

loadSystemUsers.xml
<dataset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/search.xsd">
<searchcaption>Search Users</searchcaption>
<sqltype>Select</sqltype>
	<tables>
		<table><tablename>USERS</tablename></table>
	</tables>
 
	<joins/>
 
	<fields>
		<fielditem>
			<field>USERS.USERID</field>
			<expression>VALUE</expression>
			<datatype>ftXString</datatype>
			<fieldlen>32</fieldlen>
			<searchcriteria>0</searchcriteria>
			<visible>0</visible>
			<executable>1</executable>
			<indexorder>1</indexorder>
		</fielditem>
		<fielditem>
			<field>USERS.USERNAME</field>
			<label>Username</label>
			<expression>VALUE</expression>
			<datatype>ftXString</datatype>
			<fieldlen>100</fieldlen>
			<searchcriteria>1</searchcriteria>
			<visible>1</visible>
			<executable>1</executable>
			<casesensitive>false</casesensitive>
			<indexorder>2</indexorder>
		</fielditem>
	</fields>

	<wheregroups>
		<wheregroup>
			<wheremembers>
				<wheremember>
					<lparenth>0</lparenth>
					<lfield>USERS.USERDELETED</lfield>
					<expression>=</expression>
					<rfield>0</rfield>
					<rparenth>0</rparenth>
				</wheremember>
 
				<wheremember>
					<lparenth>0</lparenth>
					<lfield>USERS.ISSUPERUSER</lfield>
					<expression>=</expression>
					<rfield>1</rfield>
					<rparenth>0</rparenth>
				</wheremember>
			</wheremembers>
		</wheregroup>
	</wheregroups>

	<groupby/>

	<orderby/>

</dataset>
Data Entry Page Call
...
 
	<selectbox>
		<id>slbSystemUser</id>
		<lookuptype>dataset</lookuptype>
		<lookupname>users.loadsystemusers</lookupname>
		<datapath>myUsers</datapath>
		<datapathid>id</datapathid>
		<classname>com.company.dataobject.COMPANYCRMDOUser</classname>
		<datatype>load</datatype>
	</selectbox>
 
...
Summary Page Call
...
 
	<field>
		<fieldname>SystemUsers</fieldname>
		<fieldfunction>SYSTEMUSERS.USERID</fieldfunction>
		<caption>Authorisation received by</caption>
		<filter>true</filter>
		<filteronexpand>true</filteronexpand>
		<fieldtype>string</fieldtype>
		<filterlookupname>dataset;users.loadsystemusers;userid;username</filterlookupname>
	</field>
 
...
  • No labels