Breadcrumbs

4 views
Skip to first unread message

Brian FitzGerald

unread,
Aug 28, 2008, 1:56:54 PM8/28/08
to Mach-II for CFML
Hey all!

That was kinda weird... I posted on an old thread by Matt Williams
about breadcrumbs and now the whole thread seems to have disappeared.
I tried searching for it with no luck. Funky!

Anyway, in the thread Matt Williams was discussing some different
ideas for a dynamic breadcrumb system used in a Mach-II application.
I was wondering how Matt ended up solving this and/or how others have
done breadcrumbs as well.

I'm looking to do implement a similar system on an application I'm
currently working on, so any insight would be very helpful. Thanks a
lot in advance!
Brian

Brian Meloche

unread,
Aug 28, 2008, 2:17:06 PM8/28/08
to mach-ii-for...@googlegroups.com
I can forward the messages to you.
--
Sincerely,

Brian Meloche
brianmeloche at gmail dot com
Producer and Host, CFConversations Podcast
http://www.cfconversations.com
Blog: http://www.brianmeloche.com/blog/
Adobe Community Expert:
http://www.adobe.com/communities/experts/members/BrianMeloche.html
Twitter: http://twitter.com/coofuushun
Pownce: http://pownce.com/bmeloche
User Group Manager,
Cleveland ColdFusion Users Group,
http://www.clevelandcfug.org

Brian FitzGerald

unread,
Aug 28, 2008, 2:39:02 PM8/28/08
to Mach-II for CFML
Hey, thanks Brian!

That shouldn't be necessary though, because I remember the gist of the
thread.... The purpose of my original question was to see what
solution Matt ended up implementing. Or if Matt didn't feel like
jumping in, I was trying to open the door for anyone else that had
experience implementing breadcrumbs into their application in a way
they like.

Best,
Brian

.jonah

unread,
Aug 28, 2008, 4:39:38 PM8/28/08
to Mach-II for CFML
Index loop down to 1 with a negative increment. ;)

I think it largely depends on how you're representing your hierarchy
in the first place.

We tend to use an application scoped 'Adjacency List' structure where
each element contains a pre-computed array of parent IDs. Any time we
want to show the parent it's parents[n] or for the whole cookie trail,
just loop through them. No redundant info and pre-computing the
ancestry keeps things fast.

On Aug 28, 11:39 am, Brian FitzGerald <fitzgeraldme...@gmail.com>
wrote:

Brian FitzGerald

unread,
Aug 28, 2008, 11:57:49 PM8/28/08
to Mach-II for CFML
Hey Jonah,

Thanks for the feedback! That sounds like a good solution. So as far
as the relationships you've represented in the application scoped
structure... are you storing those id's in a database before you stick
them into the struct, or are they hardcoded somewhere in the source
code? Just curious how you were doing that.

Thanks,
Brian

Matt Williams

unread,
Aug 29, 2008, 2:59:39 PM8/29/08
to mach-ii-for...@googlegroups.com

Sorry for the delay. I hadn't checked the lists yet today.

My particular needs meant breadcrumbs only on certain pages/events,
not all. So I went the filter route. We also do not have our events in
a database or any other predefined hierarchy. Basically any top nav
events that should be trail "beginnings" have a 'reset' flag
(event-arg) so it will clear out the trail and start over.

From there, I have an array of structures in the session. Each
structure will hold the event name and any necessary event-args to
recall that event. Those structures are then put into the array which
is put in the session.

Does that make sense? I think I originally mentioned that I may blog
more about my solution. I never got around to that, so maybe that can
still happen. Meanwhile, let me know if you have any other questions
about this.

--
Matt Williams
"It's the question that drives us."

Matt Williams

unread,
Aug 29, 2008, 4:31:08 PM8/29/08
to mach-ii-for...@googlegroups.com
On Fri, Aug 29, 2008 at 1:59 PM, Matt Williams <mgw...@gmail.com> wrote:
> Does that make sense? I think I originally mentioned that I may blog

I just did a blog entry...
http://www.mattjanell.com/index.cfm?event=showEntry&entryId=102CE5C9-DDBE-57B0-6879FF66B3F0BE3C

And the demo (also linked in blog):
http://www.mattjanell.com/CrumbsExample/

Peter J. Farrell

unread,
Aug 29, 2008, 4:37:44 PM8/29/08
to mach-ii-for...@googlegroups.com
Matt Williams said the following on 8/29/2008 3:31 PM:
On Fri, Aug 29, 2008 at 1:59 PM, Matt Williams <mgw...@gmail.com> wrote:
  
Does that make sense? I think I originally mentioned that I may blog
    
I just did a blog entry...
http://www.mattjanell.com/index.cfm?event=showEntry&entryId=102CE5C9-DDBE-57B0-6879FF66B3F0BE3C

And the demo (also linked in blog):
http://www.mattjanell.com/CrumbsExample/


  
Awesome Matt!  Thanks for blogging it!

Would you consider adding your blog entry on the wiki under the common architectural approaches?

http://greatbiztoolsllc-trac.cvsdude.com/mach-ii/wiki/Documentation

This would be a great addition to the wiki...

.pjf

Matt Williams

unread,
Aug 29, 2008, 4:56:28 PM8/29/08
to mach-ii-for...@googlegroups.com
On Fri, Aug 29, 2008 at 3:37 PM, Peter J. Farrell <pe...@mach-ii.com> wrote:
>
> Awesome Matt! Thanks for blogging it!
>
> Would you consider adding your blog entry on the wiki under the common
> architectural approaches?
>
> http://greatbiztoolsllc-trac.cvsdude.com/mach-ii/wiki/Documentation

Done.

http://greatbiztoolsllc-trac.cvsdude.com/mach-ii/wiki/BreadcrumbsFilter

Peter J. Farrell

unread,
Aug 29, 2008, 5:07:19 PM8/29/08
to mach-ii-for...@googlegroups.com
Matt Williams said the following on 8/29/2008 3:56 PM:
On Fri, Aug 29, 2008 at 3:37 PM, Peter J. Farrell <pe...@mach-ii.com> wrote:
  
Awesome Matt!  Thanks for blogging it!

Would you consider adding your blog entry on the wiki under the common
architectural approaches?

http://greatbiztoolsllc-trac.cvsdude.com/mach-ii/wiki/Documentation
    
Done.

http://greatbiztoolsllc-trac.cvsdude.com/mach-ii/wiki/BreadcrumbsFilter

  
Thanks Matt for adding that to wiki! You're a true MachStar!

.pjf

Sami Hoda

unread,
Aug 30, 2008, 4:34:51 PM8/30/08
to Mach-II for CFML
I agree, Matt rocks.

Brian FitzGerald

unread,
Aug 31, 2008, 7:55:19 PM8/31/08
to Mach-II for CFML
Hey Matt - thanks a lot for your efforts in putting together the blog
post and wiki entry! This is very helpful for me, and I will be
taking a close look at your solution tomorrow.

Kind Regards,
Brian

.jonah

unread,
Sep 2, 2008, 11:49:40 PM9/2/08
to Mach-II for CFML
Hi Brian,

In our cases, it's hierarchical information. We're storing the nodes
in the tree structure in a single database table -
[ID,parentID,Name,sortOrder,etc.]. When the app is init'ed, we find
each element's ancestors and store their IDs in an array. To then
represent the ancestry (or nesting) we would simply roll through the
array using each ID to pull the appropriate element in the site model
structure.

If this is interesting I can do a writeup on it.

.jonah

On Aug 28, 8:57 pm, Brian FitzGerald <fitzgeraldme...@gmail.com>
wrote:

Brian FitzGerald

unread,
Sep 4, 2008, 12:38:47 PM9/4/08
to Mach-II for CFML
Hey Jonah!

Sorry it took me a bit to respond to this; somehow your message fell
through the cracks. As there are always multiple ways to solve a
problem, I would be very interested to hear more about your solution
so that I may be able to compare the different approaches. Thank you
for sharing.

Brian

Peter J. Farrell

unread,
Sep 4, 2008, 12:46:33 PM9/4/08
to mach-ii-for...@googlegroups.com
Brian FitzGerald said the following on 9/4/2008 11:38 AM:
Hey, it might be a good additional section to add to the wiki on
breadcrumbs. Hint hint ;-)

.pjf

.jonah

unread,
Sep 4, 2008, 1:44:20 PM9/4/08
to Mach-II for CFML
Hint taken. ;)
Reply all
Reply to author
Forward
0 new messages