phpgroupware-developers
[Top][All Lists]
Advanced

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

[phpGroupWare-developers] linking items across applications


From: Sigurd Nes
Subject: [phpGroupWare-developers] linking items across applications
Date: Sat, 27 Oct 2007 10:53:44 +0200
User-agent: Thunderbird 2.0.0.6 (X11/20070914)

Hi all,

As Dave already has announced - there is a project hosted in Norway to
develop phpGroupWare into a Facilities Management System. A lot of work
has been focused on the application "property".
At this stage we are looking into possibilities of linking items across
applications - some sort of "interlink" (there might be a better word
for it).
As an example - it would be nice to be able to link in projects from the
application "projects" as work performed with internal employees - as
opposed to work order from external vendors (which already is implemented).

I have used a similar approach within the app "property" - linking items
from the helpdesk with reports/requirements/orders.

So - is there a interest in the community to have this as a general
feature within the API?

My proposal (as it is used in property) is as follows:
The idea is to link from a location (the acl-location) within an
application as origin - to a corresponding destination.

origin <--> destination

For this I think we need a table "phpgw_interlink" (see attachment) to
hold the relations - and a new column in the table "phpgw_acl_location"
- let's call it "baselink"

phpgw_acl_location.baselink can hold the information on where to point
the link.

example:
The baselink for tts (the helpdesk) within property would be "uitts.view"

Any thoughts or better ideas ?

Regards

Sigurd
                'phpgw_interlink' => array(
                        'fd' => array(
                                'origin_app' => array('type' => 
'varchar','precision' => '25','nullable' => False),
                                'origin_location' => array('type' => 
'varchar','precision' => '12','nullable' => False),
                                'origin_id' => array('type' => 
'int','precision' => '4','nullable' => False),
                                'destination_app' => array('type' => 
'varchar','precision' => '25','nullable' => False),
                                'destination_location' => array('type' => 
'varchar','precision' => '12','nullable' => False),
                                'destination_id' => array('type' => 
'int','precision' => '4','nullable' => False),
                                'user_id' => array('type' => 'int','precision' 
=> '4','nullable' => True),
                                'entry_date' => array('type' => 
'int','precision' => '4','nullable' => True)
                        ),
                        'pk' => 
array('origin_app','origin_location','origin_id','destination_app','destination_location','destination_id'),
                        'fk' => array(),
                        'ix' => array(),
                        'uc' => array()
                ),


reply via email to

[Prev in Thread] Current Thread [Next in Thread]