You only need to follow the tags "List Page" or "List Block" to see that there have been lots of articles written already about how lists can be customized. In this article I want to step back and bring all these points together so we can see the range of options that we have when working with lists.
Consider the image below.
This shows the listing of documents uploaded into the Library associated with the Person record.
The screen is produced as a result of the System Action "libarylist". This has been added to the person tabgroup.
The same "librarylist" System Action is used through the system
The System Action combines meta data definitions with some hard coded elements that originates within the eWare DLL.
Below is an image that highlights the parts of the list page controlled by meta data definition.
The areas marked are
- Coaching Captions
- Screen Block (EntryGroup)
- Button Group
- Help Button
- List Block
Note: The example list page used in this article is based on the Library table which is a secondary entity and does not have workflow available to it. If the Libary was one of the entities to which workflow was available then the primary workflow rule buttons would also appear on this list page.
All of the textual elements of the page, the columns titles, the field captions, button labels and the text on the tabs can be controlled using translations. The translation can either be set using 'inline translation' or by using the administration screens.
Administration -> Customization -> Translations
It is possible to add <html> tags into translations. In the image above the column Description has been placed in italics. It is however considered bad practice to add HTML into the translations.
Coaching captions can be added into screens. This includes application extensions build using either the .NET API or classic ASP pages. The coaching captions allow HTML formatted text to be delivered into the screen. You should note this can not be regarded as a good way of adding additional behavior to a screen because any user can decide to turn off the display of coaching captions either for a particular screen or for all screens. The display of coaching captions is controlled also within the user preferences screen user the 'My CRM' tab menu.
The Screen Block (EntryGroup Block)
The screen block used in the defination of the "LibaryList" system action is "LibaryFilterBox". The screen block provides some very nice ways of adding behavior into the screen. We can control the fields of a the screen using the field level scripting. Create scripts, onChange and Validation scripts can be used. We can use all the tricks for adding behavior into a screen. There are plenty of examples of using scripts within the documentation and the DPP website. Any behaviour added to the filterbox can affect all the created page and not just the screen block.
Custom Content in the Filterbox
The screen used as the Filterbox provides you with another place to add clientside coding that can affect the entire page including the buttons and lists. You can use the tag feature on this website to search for the articles that discuss the use of Custom Content.
Any system action like "LibraryList" can have an additional button group associated with it that allows extra user defined buttons to be added to the screen. An article that discusses this is "Adding a Print Button to a System Screen".
The contextual Help buttons of System Actions can be changed. This is discussed in the article "Customizing Help Buttons".
The List Block
The List Block used in the "LibraryList" system action is also called "LibraryList". Lists are based on views. The underlying view of a list can be a very convenient way of providing calculated, derived or otherwise transformed data. If the List block you are investigating doesn't have a 'Change' button available in the meta data screens, you can find out the view being used from the logs.
The LibraryList list block uses the vLibrary view. The way views can be customized to allow additional information to be displayed in lists have been discussed in the article "Custom_Edits and Derived Fields Created in Views". Restrictions apply when trying to include HTML tags in data as it is added to a list page. See the article "HTML in the database".
The columns (GridColumns) of a list block have Create scripts associated with them that allow changes to be dynamically made. See the article "Using Create Script in GridColumns". The display of columns (GridColumns) within a List will also be covered by field level security. This article "Field Level Security and Create Scripts" although it talks about summary screens rather than List pages is still relevant.
Custom Content in the List Block
Custom Content maybe added to List Blocks that can be either simple HTML or script that is executed within the browser. But clientside control of List Blocks is not as easy as it is with Screen (EntryGroup) blocks.
The fields in screens are output with clear 'IDs' that allow the control of the field caption and data to be very easy. The columns (GridColumns) and individual data items of the List lack such clear identification. The List is output as an HTML table. The individual data items are contained in cells <td> within rows <tr> that would have to be navigated. The number of records (rows) displayed in the lists is controlled by the users preferences set within the 'My CRM' tab menu.
The detailed clientside control of data in lists will be covered in another article.
As mentioned earlier this article has not covered workflow primary rules. Neither has it covered List pages produced by system actions such as the OpportunityList and CaseList which may have pipelinegraphic blocks included. You can see a discussion of customizing the Opportunity PipeLine in the article "Customizing the Opportunity Pipeline Summary Information".