You are viewing an old version of this page. View the current version.
Compare with Current
View Page History
« Previous
Version 16
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?
Create Custom Search Pages
For an introduction to search pages, go to Search Pages.
All search pages must be created under ../WebContent/pages/search/<module_name> directory.
To override the system's release functionality, the custom page must have the same filename and parent directory name as the release search page. To extend the system's release functionality, the custom page must have a different filename, than any other release search page having the same parent directory name.
In the following example, a search page is created to search for all users, declared as super user in the system. We could either override the load.xml release search file located under ../WebContent/pages/search/users, or create a new loadsystemusers.xml file in the respective custom project directory. In this case, we didn't want all pages using load.xml to be affected, therefore we created loadsystemusers.xml under ../WebContent/pages/search/users.
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>key_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>
<label>key_user</label>
<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>key_authorisation_received_by</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<fieldtype>string</fieldtype>
<filterlookupname>dataset;users.loadsystemusers;userid;username</filterlookupname>
</field>
...
For a full list of search page attributes, go to Search Pages Documentation.