Forum .LRN Q&A: Re: Re: navigation changes in dotLRN: RFC

Collapse
Posted by Jeremy Monnet on
Hi again,

I looked at different ways of implementing a kind of "static" menu for the tabs.

The goal is what is what is described in the post of Rafael : having a tabbed static menu (My Space, Courses, Preferences) that should qute never change (we are thinking if we should write the name of the community we're in, in case we're in one for example), and the menu that is now in the tabs (so the portal pages and control panel links) would move to the submenu.

In this view people would always have a reference and a contextual menu.

Now here are a few tries I made and the problems I had. Maybe you can help me find the good solution to solve them ?

-> I tried a few static links (written by hand in the adp). My problem is that portlets should be in a page, and to be referenced a page should be in a portal. So I tried to create a virtual portal with only the static pages. The problem is I don't how to reach these pages ?
-> I then tried to insert my pages in the default portal (My dotLRN workspace), but the fact is that in this case the page also appears in the contextual submenu of "My Workspace" (this is how I called the link to /dotlrn/index in the static menu, to make the difference with "My Space" page)

So the only thing I'm thinking about now is to do the last solution, and add conditionnals in the TCL procs to say "that's the page I use on top so I don't put in the submenu", but that's dreadful, isn't it ?

Hope you can help me make the right choice ! 😊

Jeremy

Collapse
Posted by Orzenil Silva Junior on
Hi Jeremy,

Sorry for this late response 😊

I don't know if i am going totally wrong but i suspect an approach to get tabbed static menu in dotLRN is by means of new callbacks implemented for openacs HEAD. see https://openacs.org/forums/message-view?message_id=274647

I said i just suspect because i am still reading about callbacks. As i see the very goal of callbacks -
"to promote reuse of standard pages and functions by removing the need to create per-package versions of these" - fits well in the issues you are dealing. Indeed callbacks seems to be in the near future a simple, flexible alternative to service contracts. As we know tab structure (pages) in dotlrn is today provided by service contracts defined in portlets.

As i said i am not sure i am understood correctly callbacks but i saw examples from HEAD wich administrative links for certains packages were created with callbacks. see for example forums package code ( forums/tcl/forums-callback-procs.tcl)

ad_proc -public -callback navigation::package_admin -impl forums {} {
return the admin actions for the forum package.
} {

What do you think? Did you already explore this feature? Is it fits to what you are doing?

I see Dirk Gomes, Dave Bauer and DeeDee Kane are working in backporting callbacks from HEAD to 5.1 so we could use it with dotlrn 2.1. see https://openacs.org/forums/message-view?message%5fid=305077

Maybe we could contact them to see if callbacks could help you deal with tab structure. I think Andrew Grumet
(https://openacs.org/forums/user-history?user_id=6611) could evaluate it too and dismiss or confirm this suspicion.

\Orzenil