building an admin tree with varying node types

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi.

I'm trying to build a new admin interface for my cms, in a single screen.

I was thinking to have a tree-view on the left side of that screen, something like
+Site-Name
 + UserGroups and Users (node-type section)
    + Administrators (node-type usergroup)
       - administrator (node-type user)
    + Editors (node-type usergroup)
       - Joe
    + Regular users
       - guest
 + Site main pages (node-type section)
    - frontpage (node-type article)
    - contactpage

Then on the right side of the screen, i'd have pieces of HTML+JS ("weblets") provide a "form service" to display/edit properties of different node-types.

Since i have to store access-rights for the different nodes, i have created a sql table that holds my tree, like:

CREATE TABLE master_admin_tree (
   /* tn == tree node */
   tn_id                    integer,
   tn_language_id                integer,
   tn_parent_id                integer,
   tn_path                    longtext,
   tn_level_order                integer,
   tn_label                varchar(250),
   tn_description                longtext,
   tn_type_id                integer,
   tn_value_int                integer,
tn_value_vc varchar(250), tn_value_text longtext,
       /* stores many values in JSON format */
   tn_flags_int                integer,
   tn_flags_text                longtext,
   tn_owner_user_id            integer,
   tn_owner_group_id            integer,
   resource_rights_id            integer,
PRIMARY KEY (tn_id, tn_language_id)
);

The problem is that i'd rather not store all user-groups and users in this table. Users and groups are stored in their own tables, just 2 flat list tables without tree-structure.

I wonder if it would get too complicated to load the users and groups from their own tables, format them to be tree-nodes in master_admin_tree, put them in the tree and work with them. I can't fully envision the problems that might arise with a dynamic loading approach like this, but i do know it would be a bitch to put a tree-node in master_admin_tree that loads up the desired groups-list (that's doable), but then to load the users in those groups as nodes under each group.

Should i just go for redundant data in master_admin_tree and on creation of a user also put a tree record in master_admin_tree?

Or is there a way to load,store and manage tree-nodes that represent records in other flat-list tables?


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux