Moved from Ideas.

I have started investigating a simple bread crumb implementation.

--KenLiu, 10-Jan-03

Mostly done. 13-Jan-03

This feature (based 90% on KenLiu's code) has now been integrated in the 2.0.19 version of JSPWiki.

One thing I have seen in another Wiki, was a history of pages (last 5) visited in the Wiki at the top of every page (like Breadcrumbs). It was just a simple array that popped and pushed the new pages visited as the individual worked their way through the Wiki. As my JSPWiki grows, I find that I really miss this feature. A lot of my pages follow a hierarchical structure of reference (although I know everything is placed in the same location physically). As I finish a new page, it would be nice to be able to go back to one of the previous pages without having to going back to the "Main" or using the Back button and go though a couple of pages. Just an idea.

--TraceyMonroe

Hm. Is there some reason why you can't use the pop-up history feature of most browsers? (I.e. in Mozilla, click on the small arrow next to the back button, in IE click-and-hold the back button).

How is this feature different from that? I'm asking because quite a lot of people have been asking for it, but so far I have not understood the difference between the browser history and this feature.

--JanneJalkanen, 20-Dec-2002

In truth, None. It is just a little more convenient to see where you are and where you just came from and makes navigation a little quicker. In my opinion, it is just a way of working that most (especially me) have come accustomed to with big websites and (breadcrumb) navigation.

--TraceyMonroe, 2002-12-20

One distinct benefit from using breadcrumbs is that you are always guaranteed to get an updated page. When you use the browser history to go back, you are using a locally cached version. Furthermore, it's a bit easier to navigate backwards. To go back say five pages, you use a single click. To use the browser history, you have to either click the back arrow five times, or click the (tiny) dropdown back menu and then move down to the appropriate page.

--KenLiu, 9-Jan-2003

An interesting twist might be to make this history a graphical view. It's not the same thing, but take a look at:

http://www.c2.com/cgi/wiki?VisualTour
http://www.c2.com/cgi/wiki?WikiNerveCenter

-- PaulDownes, 12/20/02

Torsten Hildebrandt sent me a very interesting patch (though very large =) which had among other things, a way to do graphical views. I'll see if I can integrate anything from that.[#1]

-- JanneJalkanen, 03-Jan-2003.


May 3, 2002 -- MattMower#

Track path through Wiki#

I've used a program called PersonalBrain for quite a while now as a PIM and thought organizer. One neat feature that is has that I think could be incorporated in the Wiki is its idea of a "path of thoughts."

That is, at the bottom of the screen it shows the path of thoughts you have traversed to get where you are (in that session).

I thought we could replicate this in JSPWiki using referrer information?

What I had in mind was that we would use the cookie to track each Wiki page you traversed and display them as a series of links somewhere useful on the screen. We would consider the start of a session to be arriving at a WikiPage with an off-site referrer.

JanneJalkanen: Well, most browsers give you an easily accessible history anyway from the back button.

MattMower: I appreciate that. However, for the most part, you don't see it - it's hidden away by the browser interface. I find being able to just see the path I've taken, right there in front of me, thought provoking. It may be one of those things that you don't appreciate until you don't have it. I guess if I think it's important I can implement it using a Plugin (when I learn how) and contribute it back in case anyone else likes it too...

GarethSB: I've been thinking about this too. One variant I considered was to be able to show the shortest path from the Main page to the current page (in the same way that many hierarchically structured sites do). Another option would be to weight the shortest path algorithm by associating costs based on how often a given link is traversed (more traversals, either by you the individual user or by the WikiCommunity as a whole, equals lower cost). What do you guys think?

JanneJalkanen: Sounds like an interesting excercise... Volunteers? :-)

KenLiu: Just a brainstorm, but it might be useful to analyze all the pages and sort them by distance from the Main page (excluding the Index page). Not particularly useful, but it might help to show pages which aren't easily accessible. Probably good from an administration standpoint. You could easily find orphan pages this way too.

Torsten: The patch Janne mentioned above[1] contains exactly that. You can also build a sitemap-like structure from this information. Currently not implemented is a display of pages not reachable from Main, but this could be added very easily.

Actually I find it quite usefull not only for administration as it doesn't (necessarily) show you the pages you have already seen, and it presents a kind of categorization of a page (if the Wiki is well structured).

JanneJalkanen: Yeah, it's a cool patch. The problem is, finding out the shortest distance between nodes is a NP-complete problem, and thus difficult to do in less than O(N^2) time :-).

I've pushed it back for now, but I'll very probably be including something like it in the future. I just want enough free time to finish the current problems and release 2.0 stable... Waa...

Torsten: I understand that you don't want to include it in 2.0 as the the new ReferenceManager is quite a substantial change (what actually about URL-upload and allowing property-references in the configuration? IMO only very small changes). Please give me some hints in what direction you want to push development, I'm certainly willing to make any necessary changes to ease integration. Unless you want to do it yourself of course ...

About NP-completeness: I'm not trying to minimize arbitrary edge weights (as the original idea suggested), it's just a breadth-first traversal. Still O(n^2), but not NP-complete.

To do a bit of advertising, I'll add two screenshots. Feedback appreciated...

Torsten, did you take a look at the Visual Tour on WikiWikiWeb, it looks kind of similar to what you did.

Methinks that this should be an optional feature of the wiki. I think it could be too processor intensive -- KenLiu

It was exactly meant to be similar to it, also the NerveCenter (just see above, thanks to PaulDownes for the links). So it's just a me-too feature of JSPWiki. :-) Btw, dot from AT&T Graphviz is used for the actual visualization.

I don't think it's too CPU-intensive

  • if you don't use one of the plugins there is no additional cost at all
  • caching is used as much as possible. Graph images/image maps are calculated on request and then cached till the next edit operation. Same applies to path information, if a path is requested after an edit operation all paths are recalculated and valid for all pages till the next edit. NerveCenter is basically the same.

Yes it is O(n²), but this is not really an argument as keeping track of all references in ReferenceManager is at least O(n²) anyway, and 2*O(n²) doesn't really make it much worse. If you're using JSPWiki with a very large number of pages you should get into trouble anyway (did anyone do a test with a very large number (>>1000) of pages?). My largest test consisted of 1000 pages each referencing each other and it took about 300ms on a Duron 1GHz to calculate the paths but about 2s to parse each page.

-- Torsten

Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
png
NerveCenter.PNG 29.0 kB 1 24-Jan-2003 19:01 TorstenH
png
SandBox.png 14.8 kB 1 24-Jan-2003 19:01 TorstenH
« This page (revision-25) was last changed on 28-Oct-2007 19:47 by HarryMetske