[Seaside] Refactoring menu bar code for Seaside App..

Sean Allen sean at monkeysnatchbanana.com
Mon Aug 16 20:45:55 UTC 2010


I would create actual menus for each type of menu so you can work with
objects rather than a list of items and blocks.
I find objects/components much easier to refactor, debug etc.

On Mon, Aug 16, 2010 at 4:21 PM, Rick Flower <rickf at ca-flower.com> wrote:
> Hi all..
>
> I've got an existing Seaside 2.8(w/ Async) app that I'm
> refactoring as I move it to Seaside 3.0 +Jquery.  I'm
> taking the time to completely refactor everything from the
> ground up.  I've already gone thru all of my data objects
> and cleaned things up and now I'm on to the menu bar
> content as my initial starting point.. This is nothing more
> than populating a series of links that are placed in a bar
> within the page "header" and are relevant to the current
> user and more importantly what sort of user they are..
> It may also be the case that the contents may change as
> a user moves from one area of the app to another.
>
> In this case I've got menus for :
>
> 1) Visitors -- people not logged in.  These menus are
>   generally things like "about", "enroll", "contact" ,etc.
>
> 2) Regular users -- people logged in but with no special
>   permissions.. These menus are generally things like
>   "update profile", "generate reports", "place order",etc.
>
> 3) Organization admins -- people logged in with org admin
>   privs such as "user maint", "order handling", reports,
>   etc.  There are a lot of different pages associated with
>   this user -- a whole user maintenance section, another one
>   for handling orders, another one for various reports,etc.
>
> 4) Site admins -- this is kinda the super-user type of
>   login which can add/edit/delete entire organizations,
>   run site-wide reports,etc..
>
> Anyway, I think you can get the picture that these menus
> are very tailored to the type of user and where they are
> within the application and I imagine this sort of thing is
> in the vast majority of Seaside apps.
>
> To that end, I was watching some of the Seaside 3 tutorial
> webcasts done on the Smalltalk Daily blog back in May and
> they used a design pattern of sorts where there's an
> association list of menu names and blocks to be executed
> for each menu item callback.  I believe that will work OK
> and is arguably better than what I had rolled up in my
> Seaside 2.8 app several years back but I figured I'd check
> on the net 'wisdom' as I'm sure a number of you have been
> around the block on this area before and might have some
> well tested patterns you could suggest in this area..
>
> Thanks in advance!
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>


More information about the seaside mailing list