Skip to content

Archive Trac dn user levels

madscatt edited this page Jun 20, 2026 · 1 revision

Dn User Levels

Legacy Trac archive page imported from dn_user_levels. Source: https://genapp.rocks/wiki/wiki/dn_user_levels. Review age, links, and examples before treating as current.

user based module and field access groups

  • groups defined globally

  • appear in user config

  • license-like approval possibility

  • module and field level control

  • if no menu modules are currently accessible, top level menu hide()'s

    • could modify appconfig.json or maybe via a mongo pull
  • implementation idea

    • in module top level and module individual fields
    • groups: "g1g2g3"
    • in appconfig.json
groups: { 
    g1 : {
           desc           : "group 1" // if present will be used as label instead of group name
           ,approvalemail : x@y.z  // if present will require approval (similar to license mech)
           ,notifyemail   : a@b.c  // if present will notify this email of changes  
           ,userconfig    : 1      // whether or not present in user configuration as an option
           ,help          : "the hover help text"
         }
    ,...
}
  • in mongo:users
groups: [ g1, ... ]
  • relevant code insertion points

    • ga_global.js / ga.group* support routines
    • types/group.input / calls ga.group
    • sys/sys_user_config.php / updates mongo user:group array
    • sys/sys_status.php / returns global group info
    • modules/sys_user_config.json / add "group" type
  • user configuration module

  • menu pull

extra notes

  • if pcntl already enabled php5dismod pcntl
  • install.pl is putting proxypass into php.ini, should be in apache2.conf
  • enable proxypass a2enmod proxy && a2enmod proxy_wstunnel

todo

  1. modify user configuration to recognize groups
  • [done] modules/sys_user_config.json -> etc/sys_user_config.html
  • [done] sys/sys_user_config.php -> ajax/sys_config/sys_user_config.php
  • [done] add update of group info with "userconfig" set
    • later this may change to "requested" etc.
  • modify admin user list to show group membership
  • sys/sys_userslist.php -> ajax/sys_config/sysuserlist.php
  • go back and add support for approvalemail & notifyemail
  1. modify gui to recognize menu entries and hide appropriately
  2. modify input screen to hide input fields

Clone this wiki locally