From RPM Wiki
| Table of contents |
[edit]
Summary
Definable shortcuts shown in the top frame.
- Staff users define their own through the preferences
- Agent users share one set of shortcuts defined by a staff user in the management section.
[edit]
Preferences
All eligible pages (security - see below) are displayed grouped with the same text as the resulting link and in that color (see below). Use the order as shown. Group names are not shown, they are obvious.
- Processes
- Processes
- {EACH PROCESS(S)} (Example link: "Orders")
- Start {a/an} {EACH PROCESS} (Example link: "Start an Order")
- Import {EACH PROCESS(S)} (Example link: "Import Orders")
- {EACH PROCESS} template (Example link: "Order template")
- Reconcile {EACH ELIGIBLE PROCESS(S)} (Example link: "Reconcile Orders")
- Commissions
- Commissions
- Runs
- Latest run
- Schedules
- Agencies & reps
- Agencies & reps
- Agencies
- Add an agency
- Import agencies
- Reps
- Import reps
- Rep IDs
- Customers & accounts
- Customers & accounts
- Customers
- Add a customer
- Import customers
- Accounts
- Import accounts
- Suppliers & products
- Suppliers
- Products
- Subscriber
- {SUBSCRIBER}
- Staff
- Add a staff
- Import staff
- Reports
- Reports
- Management
- Management
- Shells
[edit]
Security
- On the preferences page use the security check to see which pages are shown.
- If a page was selected but is now no longer active, the next time the user goes to the preferences page it will not be listed and if they click OK, it will be deselected.
- Security check does not need to be run on the bottom frame link display. I'm worried about performance here. Worst case is a link is no longer viewable but the shortcut is still shown meaning they will get an error if they click it.
- When the user clicks OK on the preferences page, their shortcuts are erased then rebuilt using the currently checked shortcuts. Since shortcuts not displayed can't be checked, this "cleans up" their selected shortcuts.
[edit]
Defaults
- Processes
- Commissions
- Agencies
- Reps
- Customers
- Accounts
[edit]
For agent users
- Processes
- {EACH PROCESS(S)} (Example link: "Orders")
- Start {a/an} {EACH PROCESS} (Example link: "Start an Order")
- Commissions
- Summary
- Customers & accounts
- Customers
- Accounts
[edit]
Management
The options are selected in a wizard page called "Agent user shortcuts". The link to this page is on the "Management" page on the right under "Defaults".
[edit]
Security
- During setup only list processes that allow agent user access. Further, only list a "start" shortcut if the process allows agent users to start forms.
- For each agent user check their agency permission to see if they can start forms, and hide any select "start" shortcuts.
- Setup is staff users only and requires the "setup.defaults" security group.
[edit]
Common
[edit]
Color
- Links are colored in the frame display and when displayed as a span in the preferences.
- Give the label/link the following CSS class based on its group:
- procSec
- commSec
- agentSec
- custSec
- supSec
- subSec
- mgmtSec
- reportSec
[edit]
Other ideas
- "Add this page". This is possible, but it would be inconsistent since not every page could be added since some pages are not meant to be accessed out of turn and require certain data before clicking. Like add a product is only supposed to be launched from a list of products where a supplier is already chosen, or the delete confirmation for a view full of items.
- A menu or set of menus of the whole application. The problem is that many pages in the overall hierarchy are dynamic, like the list of agencies. A menu would have to be completely rendered so imagine having to load a list of everything in the application every time you load any page. In other words, this would be slow. Also, there are pages that should no be accessed directly (see above).
- Partial menus that only show the pages that are static & safe.
- Idea 2: Maybe there is a shortcut for each section and mouse-over lists the safe pages in each. Like "Agencies & reps" would list "Agencies", "Add an agency", "Import agencies", "Reps", "Add a rep", etc. Unfortunately, it still gives us the slow down of requiring a process lookup since a processes menu would be useless without dynamic content. In other words, it's kind of like loading each root page at once every time a page is visited and the menu is rendered.
- Idea 3: Do idea 2 but use AJAX to populate the menu. Advantage is there is no data loading slowdown. Disadvantage is the menu won't be snappy, it will have to do a load on hover making it seem a bit sluggish.
[edit]
History
- This page was last modified 18:08, 18 Dec 2008.
- This page has been accessed 1270 times.
