[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [phpGroupWare-developers] Proposal for new menu system for phpGW
From: |
Dave Hall |
Subject: |
Re: [phpGroupWare-developers] Proposal for new menu system for phpGW |
Date: |
Fri, 28 Dec 2007 20:45:29 +1100 |
Hi all,
As there was no comments on this, I have implemented it in the resight
tree. Expect to see it in trunk after the next merge - coming RSN
It is working well. It still needs some polish, but I think people will
like it.
Cheers
Dave
On Wed, 2007-12-12 at 00:29 +1100, Dave Hall wrote:
> Hi all,
>
> It has been clear to me a for a while that the current hook_sidebox,
> hook_admin and hook_preferences is inadequate for phpGW now.
>
> I think we should move to a more generic menu system, which can be used
> in different ways across phpGW, for example, idots could keep its
> "sidebox menu", while another template set may implement a preferences
> menu on each page. It should also be possible to merge the folders
> application functionality into any change.
>
> The new system should use the method based hooks system.
>
> The hook would be called with no arguments.
>
> The hook method should return the following data
>
> array
> (
> 'admin' => array
> (
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above - optional>)
> ),
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above>)
> )
> ),
>
> 'preferences' => array
> (
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above - optional>)
> ),
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above>)
> )
> ),
> 'application' => array
> (
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above - optional>)
> ),
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above>)
> )
> ),
> 'folders' => array
> (
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above - optional>)
> ),
> array
> (
> 'url' => <link>,
> 'text' => <text for link>,
> 'title' => <optional hover
> text>,
> 'img' => <optional icon for
> item - may not be implemented by all templates>',
> 'children' => array(<child
> nodes same structure as above>)
> )
> )
> );
>
> All images must be relative to phpgw root
>
> All menus are optional for each application.
>
> The menu will be cached for user's session. A trigger should be created
> to clear the cache when certain events happen, such as changing ACLs,
> adding/removing cats etc.
>
> I think this gives us the flexibility we need.
>
> Discuss :)
>
> Cheers
>
> Dave
--
Dave Hall (aka skwashd)
API Coordinator
phpGroupWare
e address@hidden
w phpgroupware.org
j address@hidden
sip address@hidden
_ ____ __ __
_ __ | |__ _ __ / ___|_ __ ___ _ _ _ _\ \ / /_ _ _ __ ___
| '_ \| '_ \| '_ \| | _| '__/ _ \| | | | '_ \ \ /\ / / _` | '__/ _ \
| |_) | | | | |_) | |_| | | | (_) | |_| | |_) \ V V / (_| | | | __/
| .__/|_| |_| .__/ \____|_| \___/ \__,_| .__/ \_/\_/ \__,_|_| \___|
|_| |_| |_|Web based collaboration platform