crimsonknave
I would love to see the ability to create a navigation menu that stays visible and has custom links. My main wiki page is quite long and I currently have a menu written in html added to the bottom and locked in place in the upper left corner using CSS. The main advantage for me of having a menu like this is that I can link to anchor tags in my main wiki page to jump around inside it as well as link to external pages (where we store xp). Currently I have to copy this html across any pages that I'd like to see it on, but I can't include it on the adventure log/character list pages since I don't control what's shown there.
An example of what I'd like is "here":http://www.obsidianportal.com/campaign/crimsonknave-s-test-campaign/wikis/main-page
Comments
Specifically, the way I'd handle it would be to switch out basic Tags for Categories, and add a new page for organizing how categories relate to one another (for example, the "Locations" category might be under the "Setting" category). I'd then have each page have, at the top, a list of navigational breadcrumbs similar to MediaWiki's "BreadCrumbs2":http://www.mediawiki.org/wiki/Extension:BreadCrumbs2 extension, but make it so when you hover over one of those breadcrumbs you get a dropdown list of the other pages in that category level.
For example, if I were to be on the "North America" page, the bread crumb might look like this:
Wiki >> Setting >> Locations >> North America >>
If I were to hover over "North America", I'd get a dropdown list containing the following items:
North America, South America, Europe, Africa, Asia, Oceania, Antipodes, Near Space
These are all the pages that are listed under the "Locations" category. Note that all Categories are also the name for a Wiki page; if I were to create a "Deep Space" category, but I've already created a "Deep Space" page, then the page and the category would automatically link together. However, if I were to create that category but I haven't yet created a "Deep Space" page, then a default "Deep Space" category would be generated, with the content being an automatically-generated index of all items under the "Deep Space" category.
Finally, a note: in my example, there's a final '>>' at the end of the breadcrumb. This should be slightly off-color from the other ">>'s" and only exist if there are other pages underneath the North America category. Hovering over this brings up a dropdown list of all the pages/categories that underneath the North America category. Alternatively, when hovering over a category in the drop-down menu you can also browse up the chain to higher-up categories/pages. For example, if I were to hover over "North America" in the primary breadcrumb, then I'd get the drop-down list:
North America, South America, Europe, Africa, Asia, Oceania, Antipodes, Near Space
If I were to then hover over Antipodes, I'd a second drop-down list would appear to the right of the current list, including "North Pole" and "South Pole" and so on. This would allow full, easy navigation between pages - and more importantly it would allow very easy construction of indexes and general organization of OP pages. The lack of a feature like this (which MediaWiki has) is a major reason someone I know decided against using OP and I'll admit to it being one of the major things that I get annoyed with, too.
Also: Some pages might have multiple categories and thus have multiple 'breadcrumb' links. I'd only show one set of breadcrumbs normally (probably the longest by default, or the one belonging to the first category I put the page under). I'd allow the user to show others by clicking on a little down-arrow button next to the breadcrumb.
Also2: Read 'hover' as 'click' for mobile devices, since they don't have hover functionality.
For example if I run a campaign that doesn't use the Maps feature yet, keeping the Maps tab around is basically wasted space and somewhat misleading, allowing me to specify (without needing to CSS) that I don't want the Maps tab but do say want to put a custom tab with a deep link into the wiki or to a tags/category page, etc... would be very useful to some.
So if I used a more complex equipment table then can be used in Items and I stored links to the various google docs or even broke it down into tables in the wiki, I could remove the Items tab and replace it with a tab named Equipment that brought the user right to the Equipment wiki page. (or World description, or...)
For example, If I accessed my “Badass NPC” via the character tab, the breadcrumb would display: Home > Characters > Badass NPC
But, if I accessed it through a link on a specific page, the dynamic breadcrumb may look something like: Home > Wiki > Locations > Cities > Hometown > Hometown Personalities > Badass NPC
I could see how this could become complex in back-navigation, but I think it could add a lot to the basic navigation of a campaign site. Programmatically, for back-navigation, maybe something that checks for an existing “crumb” in the bread crumb string, and if found, truncates to that point.
Just throwing some ideas out here. :)
Breadcrumbs are a tricky one, mainly because there are so many different paths to a location, and it's context-dependent on which are most useful at any given time. Sometimes you want to know where you are, while other times you want to know how you got there. My hope is that we can make it easier to quickly get anywhere you need to be, regardless of where you currently are. Let's revisit this once we get the basic layout and interaction up and running.
These are 'location'-based breadcrumbs, not 'path'-based, but honestly I find them to be the most useful. The only issue is if one page is under multiple categories; it'd be a bit odd to display multiple breadcrumbs at once, so instead I'd suggest displaying a single breadcrumb but have the option of expanding to a list of multiple breadcrumbs if there are multiple breadcrumb paths that the page could fall under, probably by clicking on or hovering over some icon or text beneath or next to the original breadcrumb trail.
Given the information that we have on each OP page, how would you envision something like the Wowhead breadcrumbs? In other words, for a given "page", we have name, type (ie. character, wiki page, adv. log post), and tags. We also have (sort of) the link structure showing who links in and who links out. That structure is useful for what you're calling "path-based" but not really for "location-based", which I think is basically a "taxonomy":http://en.wikipedia.org/wiki/Taxonomy.
Again, my hope is that we can make better use of tags to quickly get where we need to be. That said, I really do like breadcrumbs and if there's some way they make sense on OP, I'm definitely open to it.
Though, you'd probably need a way to declare separate tags otherwise your tag drop down would be massive.
Are there any sites that do this well?
In any case, in order for this to work we'd need some extra information on the wiki. Primarily what would be required is defining that path structure you mentioned; this could be done using a feature very similar to the Tag system, but it'd need to be expanded in order to show hierarchy. Rather than calling these tags, since they're not quite the same, I'd call them Categories - they're like super-tags, but you're only generally supposed to put one page under a few categories. Each category would have two properties - it'd have a linked wiki page (probably the one describing the category as well as linking to those pages that are under that category), but the category itself would be a member of another category.
This would basically result in a hierarchical structure of Wiki pages; the page 'Robots' is under the page 'Characters' which is under the page 'Rules'. Further, a page may be under multiple categories at once (the Robots page may be under the Characters page *and* the Technology page, for example). That kind of issue is where we run into the 'multiple breadcrumbs' problem, but as I mentioned, I think a button that could be pushed to 'show alternative breadcrumbs' would be one way to solve that.
(alternatively to actually manually adding a new 'Categories' section, just add something on to each Edit page so we can define any pages that this page is under - name it something like 'Parents', and you're good-to-go; this would be edited in the same way as Tags)
And yes, this does mean that sites would need to be set up specially to utilize these breadcrumbs, but I don't think they'd be too difficult for people to set up.
EDIT: Oh, and Wikipedia/MediaWiki both do Categories in something like this way.
The idea kind of puts me in mind of the categories that Amazon gives to items on its site:
!https://dl.dropboxusercontent.com/u/3407479/amazon-categories.png!
As you can see, they provide a list all applicable categories. (That said, I'm not particularly fond of the fact that they put it right at the bottom of the page, after all the reviews)
I'll have to think if there's a straightforward way to do this, something perhaps analogous to the tags, but distinct. It would definitely help with organizing a large campaign.
And yeah, analogous to tags but distinct is what I was thinking. I see two ways to handle it:
1. A 'Categories' section of the wiki edit page, allowing you to define what categories to put the page under. This would act exactly like the current Tagging interface. There would also need to be a way to define the hierarchy between categories for the wiki as a whole, possibly in the Wiki settings section or somewhere else. I'd probably create it via reading in an unordered list in current Textile markup, something like:
* Setting
**Timeline
** Locations
*** Boston
*** Florida
** Organizations
*** The Indian Mob
*** Piratical Potents
* Equipment
** Armor
** Weapons
** Other
etc. Alternatively, some nice drag-and-drop style interface would be nice, but would be more work.
2. A 'Parents' section of the wiki edit page, where you would select some other pages to be the 'Parents' of the current wiki page. You'd probably want to avoid the Grandfather Paradox here and prevent people from selecting a daughter page as a parent just because it'd probably screw things up a bit when making the breadcrumbs/navigation/etc.
Disclaimer: My coding was learned in a language called MOO (yes cow jokes were rampant) a very long time ago, and they did something similar to track objects. There was a 'parent' property and things coded on the parent were inherited by the objects created from that parent. It was a quick way to copy things... and you could then add additional code to those 'child' objects and create different subtypes and so forth. I don't know a thing about this style of programming, so I don't know if it's mechanically simple or closer to parting the red sea.