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
<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>
...
<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>
...
...
<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>
...