Files
raven/devdocs/specs/core-display-format-template-system.txt
2020-01-09 20:18:39 +00:00

46 lines
2.5 KiB
Plaintext

DISPLAY FORMAT TEMPLATE SYSTEM SPECS
OVERVIEW
Grids need a way to ensure you can see what you need on small devices as well they need to show the columns desired on larger devices
Display format template (aka name display format) templates are used for THREE purposes:
- to customize what is shown in XS (<600px) single column grid and inside forms in drop down boxes order for a user to identify a record uniquely for selection purposes.
- To select which columns and in which order display on the grid in > 600px sizes
- To limit bandwidth used by selecting only the necessary columns
This is used for both small form factor grids (see core-main-grids.txt) i.e. on a phone as the only column displayed
This is also used for picklists inside forms like drop down boxes etc
CASES
none relevant
REQUIREMENTS
Client
- Main grid lists < 600px show only a single column based on template
- Selection drop down boxes in forms for selecting other objects
- Template editor under global settings for all main list objects
- Warning displayed to client if they select more than 16 columns to send out about bandwidth usage and slowness over slower connections
Server
- List of templates with their column selections
- For client editor
- For server to process what the query and send for lists
- List of fields available for templates for client and server validation etc
- Caching likely useful as server will need to deal with templates constantly as users fetch almost any list or combo box source etc
- Has to be very peformant as it will be doing this a lot
- SERVER handles composing the list object name display, NOT the client
- This saves bandwidth
- Incurrs more computing ops at the server but bandwidth is more expensive than server power all around
- Clients could be shitty and slow, this elminates that prospect
- Easier to code in c# than in javascript! ;)
Back AND front end
- Need to handle changes in fields gracefully i.e. a new field added in an update, a field removed in an update cleans out the template when detected etc
- Should send the customized templated display name field to the reports as well as all the regular including name fields
- This is because users will likely want that for many reports
- Kind of a calculated field
- Default templates come with Raven, user can customize further