This topic is locked

Multiple pages per table

6/29/2015 12:19:55 PM
Suggestions
S
Stucco author

This is a huge change, but would really open up the power of the application to customize needs without redoing a bunch of work.
For example: I have three sets of users (admin, support, customer) that can only access different fields within a particular table. Admin has all permissions to all fields, add, edit, import, etc. Support has permission to a subset of fields, with add, edit, but no import. Customer has a very limited view with only add and list capabilities.
The way I implement this today is to have my base table which I use for Admin, and then create two additional views into that table for Support and Customer. I only enable certain fields and pages on the views. Then I manage the permissions through the table based permissions, such that the Customer role has access to the Customer View, and so on for each role.
The issues with this are:

  • Addition/update of a field requires significant effort. It must be updated in 3x queries, add screens, list screens, (etc) screens. Order of fields is also managed 3x. Testing must happen 3x.
  • Styles must be maintained across all 3 views. Translations, dropdown box options, field naming, search parameters, event code, required status, autocomplete, etc must all be maintained across all three views.
  • Permissions are able to be easily messed up. Someone checking may not realize a view is intended for a specific role only.


It is not so bad to develop this initially. But maintaining it becomes a real headache.
It would be really, really great if PHPRunner let me add additional pages of a specific page type to a table.
For example on a table called orders, this is what it looks like today:

  • orders_admin

    [list]
  • list
  • add
  • edit
  • import
  • export



[*]orders_support

  • list
  • add
  • edit



[*]orders_customer

  • list
  • add



[/list]
What I propose is:

  • orders

    [list]
  • list
  • add_internal
  • add_cust
  • edit_admin
  • edit_support
  • import
  • export



[/list]
This gives a lot of flexibility to create a limited add function or edit function within an existing table, instead of having to create an entire view with exactly one of each page type that adds lots of other maintenance. Yes - there could still be a permissions issue, where it could be mis-assigned. However, it is much less likely since the other add is right there next to it.
Another use would be to design multiple exports for a single table. Maybe there is a specialized export needed. This would allow additional configuration per export - for example display values vs data values, pagination, or otherwise. The same goes for imports.

Pete K 6/16/2016

+1
This is a much needed feature.

admin 7/21/2016

This a really neat suggestion. We've been thinking about implementing this for a long time. Unfortunately this is not a quick fix but somewhat a big design change. We are definitely going to introduce this functionality one day.