[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Phpgroupware-developers] ged
From: |
Sigurd Nes |
Subject: |
Re: [Phpgroupware-developers] ged |
Date: |
Sat, 01 Apr 2006 17:23:41 +0200 |
User-agent: |
Mail/News 1.5 (X11/20060225) |
Pascal Vilarem wrote:
> hi,
>
>> Some questions:
>> What is 'ged' compared to 'filemanager'?
>>
>>
> it's something thought to fit "project documentations"... group acls,
> versions, expiration date... validation...
>
> i started from mydms... but porting mydms as a module into phpgw turned
> into nearly rewriting everything :-/
>
>> Is it going to use the existing vfs ?
>>
>>
> i know nearly nothing about vfs... so it's difficult for me to answer :o)
>
>> Will it utilize the new yahoo-treeview in /phpgwapi/js/ ?
>>
>>
> now it uses a "static" tree i got from mydms... but perhaps the
> yahoo-treeview would be better ?
>
> i still have many features to add : history of documents for example and
> the "look" need a great amount of work to be ok
>
> by the way : i made a specific ACL system because .16 ACL could not fit
> my needs but skwashd said ACL2 is far better... i'd like to see with you
> how i can use ACL2 instead of ged's
>
> regards,
> maat
>
>
There is some (extensive) documentation on vfs at phpgwapi/doc/vfs/
<wish-list>
It would be nice if documents are organized into projects - that could
be linked to both (one or the other) projects in the app 'projects' and
projects the app 'property'.
The app property is a facilities management system - and the
project-submodule would have good use for ged as a tool for coordination
/ validation and sharing of documents for house-building-projects where
many actors are involved and there is a complex structure of information
along different stages.
It would also be nice feature if involved parties (users and groups)
would get a reminder (an email and an item on an internal "todo-list" as
a part of a workflow) when new documents are added or documents are updated.
As a last feature to take over the marked from proprietary commercial
system - there would be a need for distributed print-outs - that is - to
order prints from selected documents (drawings) by listed vendors of
such services - and delivered to address of choice.
</wish-list>
As acl_location for the documents I would recommend a combination of
project_ID and folder-name.
The acl_locations goes into the table phpgw_acl_location.
There are two different aspects of the acl:
1) Give groups/users permission per locations within applications.
2) Grant other users rights related to ones (the grantor) records. These
rights can be defined with a group as the grantor (only admin-users can
do this).
Locations that are to be part of inheritance are named as:
.
.location1
.location1.sublocation1
.location1.sublocation2
.location2
.location2.sublocation1
.location2.sublocation2
The locations "run" and 'changepassword' are not listed at locations,
and are not subject to inheritance - because these locations are handled
in the user-setup.
Locations must be allowed to give grant - this is set in the
allow_grant-column in the phpgw_acl_location-table.
As an example - only the location '.user' is allowed to give grant in
the app 'hrm'.
Global categories for the application will be listed for both permission
and granting as:
$locations[$i]['id'] = 'C' . $cat['id'];
$locations[$i]['descr'] = $cat['name'];
The acl-class checks the groups-rights first - and then re-check for
user-rights
One can give a group some rights - and then mask - or give additional
rights for specified users.
In order to check if a user is allowed to add a record in
'.location1.sublocation1' at 'some_application' - one has to check for:
$GLOBALS['phpgw']->acl->check('.location1.sublocation1',
PHPGW_ACL_ADD,'some_application')
if the applicationname is not given - currentapp will be assumed.
check for grants:
in so-class:
$this->grants=$GLOBALS['phpgw']->acl->get_grants('some_application','.location1.sublocation1');
.
.
.
while ($this->db->next_record())
{
$ngrants = $this->grants[$this->db->f('account_id')];
$account_info[] = array
(
'value' => $this->db->f('value'),
'grants' => $ngrants
);
}
Regards
Sigurd
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [Phpgroupware-developers] ged,
Sigurd Nes <=