Hello Turbine users

We are trying to do the following in the integration of Cocoon & Turbine. 

1. Turbine group/project is used as a directory/web page in Cocoon
2. Roles will be used to gather users who has the same set of permissions
3. Permission are set to Create/Modify/Delete/View/All

Hence, we have to capture a full hierarchy of a Cocoon web site in the system. 

Questions:
=========
1. How do we model a relationship between the a project/group and a 
subproject/projects?
2. If we are able to model (1), then a user has an access in a project/group, and we 
have 2 subprojects/groups, how do we model that the user can automatically access the 
2 
subprojects/groups?

Any help is much appreciated.

Thanks in advanced.

Rgds,

------------------------
  From: "Diethelm Guallar, Gonzalo" <[EMAIL PROTECTED]>
  Subject: Menu service 
  Date: Fri, 13 Jul 2001 09:07:52 -0400 
  To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>


Several (maybe all) of the apps we are developing need some form of
menu that can easily be administered, ties into the security system
and is generic enough to support multiple needs.  I have been working
on a design that will fit our needs, and I think this might make a
nice addition to Turbine.  So, let me explain what I'm thinking about,
and hopefully I can get some feedback from the development group.

A Menu is just a hierarchy of operations to be displayed somehow for
the user.  Each operation consists of the following:

* An id.
* An optional action to invoke.
* An optional screen to end up showing.
* A permission required to perform the operation.

This would all fit into an OPERATION table, and an internal
representation in an Operation class.  Then, a menu would have:

* An id.
* A text to be displayed (multilanguage considerations here).
* An operation id.
* The parent menu id.

This would all fit into a MENU table, with an internal representation
in a Menu class.  The parent relation would make it possible to build
a hierarchical menu.

Then we would have an interface MenuBuilder, which defines the
operations to read a Menu definition and build an internal
representation for it.  Multiple classes implementing MenuBuilder
could be built: DefaultMenuBuilder would read everything from a DB,
XMLMenuBuilder could read everything from a set of XML files, etc.
Incidentally, our projects would define their own means of building a
menu.

Once the menu is created into memory, we need to do something with it;
there would be a class MenuRenderer, defining the operations to render
a menu.  It could be used like this:

  context.put("menu", getMenuRenderer(user));

  ...

  #foreach ($item in $menu.getItems())
   <a href="$item.getOperation()">$item.getText()</a>
   <br>
  #end

This is where the permission system ties in with the menu system: the
renderer would skip any menu items for which the user has no
permission.

Then, we could change something (not sure where) so that when the user
executes an action, or goes to a screen, the system checks whether the
user has the permission that allows him to do that.

Finally, we would have a means to compose a menu from several
instances of the Menu class, creating a MenuSet.  My idea here is to
support specifying things like this: the menu for a user is made up of
menu General, which contains General options (for which probably
everybody has the required permissions), then menu Financial, with the
financial operations which the user is allowed to perform, and then
menu Administration, with the administrative options (probably with
tight security restrictions). The MenuSet would simply remember the
listed Menu definitions, and render them all when so asked.

That's it.  One way or the other, we need this functionality and are
currently building it.  We would be very happy to include it into
standard Turbine. Thanks,


-- 
Gonzalo A. Diethelm
[EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------End of Original Message-----------------

........................................................

Jessica Kung                           [EMAIL PROTECTED]
Brel Software Pte Ltd                  Tel: 65-272-6800
Blk 1003 Bukit Merah Central           Fax: 65-272-2811
#07-01/02                              http://www.brel.com
Singapore 159836                       07/16/01 22:15:51
                    
           Pls call us for the following services
         Web Creation, Web, Email & Domain Hosting
                 B2B B2C ASP CMS E-Commerce


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to