case 4690 - preparing project and organizing
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
DISPLAY FORMAT TEMPLATE SYSTEM SPECS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
************** DEPRECATED EVERYTHING BELOW **********************************
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
OVERVIEW
|
||||
RAVEN uses a user customizable template to determine what fields in which order get sent to the client when they display a list or select from a drop down
|
||||
- FILTER / SORT: The templating is ENTIRELY separate from the filtering and sorting code which is already coded sufficiently and is a separate thing
|
||||
- Users with BIZ rights can set the template
|
||||
- There is one template per list (not user based but global in nature)
|
||||
- Template affects both "MINI" single column display of list for small devices and "FULL" format wide mode with multiple columns for larger devices
|
||||
- In MINI list format displays they choose which columns go into the one single column for display that is returned
|
||||
- In FULL list format display they choose which columns are returned and which order separately from MINI format display
|
||||
|
||||
Narrow grids on small screens as well as picklists need to show a single field of information as required by that shop for selection, recognition etc so templated to format multiple return fields into one
|
||||
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
|
||||
PickLists need a way to format what is returned for picking (with template)
|
||||
|
||||
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
|
||||
- Template editor:
|
||||
- One area is for what goes into a single column in "MINI" mode for that list
|
||||
- Another separate area on the same form is for selecting which columns are returned in a wide list and in what order
|
||||
- Everyone gets the same template selections, i.e. there is only one template per list type
|
||||
- This differs from v7 in which each user could select the columns to display and the order but then they needed to for filtering and sort order and stuff
|
||||
- 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! ;)
|
||||
- PICKLISTS and RIGHTS
|
||||
- Initially I had picklist objects with just name and id and anyone could fetch them of any role, however, this isn't right and
|
||||
- I'm leaving the rights up to the case by case basis and will address it when the client dev drives a requirement for it
|
||||
- I'm thinking if people don't want a field exposed in mini list then don't put it into the template
|
||||
|
||||
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
|
||||
- REPORTS (FUTURE) 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
|
||||
|
||||
MOCK TEMPLATE
|
||||
{
|
||||
full:[
|
||||
ltKey,ltKey2,ltkey3
|
||||
],
|
||||
mini:[
|
||||
ltKey, ltkey2, ltkey3
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user