Navigation Menu

crimsonknave
crimsonknave
edited May 2013 in General Archive
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

  • Micah
    Micah
    Posts: 894
    I would probably roll something like this into "the templating discussed here":http://forums.obsidianportal.com/comments.php?DiscussionID=3004 In other words, you'd probably have to include a template on each page and then use CSS to style it how you want. It's not perfect, but would be accomplishable with much greater ease than how it is now.
  • crimsonknave
    crimsonknave
    Posts: 28
    That's fair, and would be better than what I've got now, but it still wouldn't display on all of the site (character list and so on).
  • Langy
    Langy
    Posts: 364
    I'd recommend going a different route, Micah. Rather than including it in templates, I'd include it in the revamp of the Tag system and have the navigation menu be automatically generated. Note that what I'm talking about would be a different navigation menu from the base one listing 'Main, Adventure Logs, Wiki, Characters', etc. Instead, the navigation menu I'm talking about would be more like the sidebars in my "Edgerunners":http://www.obsidianportal.com/campaign/edgerunners/wikis/setting campaign.

    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.
  • aelana
    aelana
    Posts: 3
    Not sure how it works on the new site (haven't been following too much) but I would like to see the equivalent of the tabs on the current site to be more customizable.

    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...)
  • JustinMason
    JustinMason
    Posts: 36
    To be honest, I think something that would *seriously* help with wiki navigation would be dynamics bread crumbs. Even if the feature is has a “turn off/on” option for those who may not utilize it. Once you build a complex, multilevel wiki structure, there are so many various ways to access content. It would make navigation much easier if there were an available breadcrumb, not defined by the page, but dynamically defined by how the user got there from the wiki home.

    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. :)
  • Langy
    Langy
    Posts: 364
    That could be good, Hop, but it's not so useful for navigating *to* the page. This is why I prefer the method I mentioned, which not only generates a breadcrumb trail but also creates an entire navigation menu.
  • Quasimotocar
    Quasimotocar
    Posts: 12
    I've started manually adding the bread-crumb navigation to my pages, and I find it makes a big difference - I know where I am in the Wiki structure, and I can easily get to higher nodes with one click rather than going back to a root page and re-drilling. I would love to see this kind of navigation as an optional, dynamically generated widget. I like to see the structure back to the root node, in one long string such as what Hoptowngamenight describes, but what Langy has done with his campaign looks great as well.
  • GTB
    GTB
    Posts: 10
    I agree with Aelana here. I think all that is really needed is the ability to customize the tabs we already have, remove the ones we don't need (you can do this with CSS but it would be better to just have check boxes on the edit screen) and maybe choose a couple different locations for them to be. "side tabs/top tabs/bottom tabs"
  • Micah
    Micah
    Posts: 894
    Hiding tabs (and/or renaming them) is something I've been kicking around, especially because it's fairly simple to do with CSS. I don't see it happening right away, but I am considering it.

    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.
  • Langy
    Langy
    Posts: 364
    The kind of breadcrumb menu I'd like is something like what's available at "Wowhead":http://www.wowhead.com/factions - it's an entire navigation menu which appears on each page and can allow you to navigate to any other page on the site using a single click (and some hovering), because the breadcrumbs have dropdown and flyout menus.

    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.
  • Micah
    Micah
    Posts: 894
    Thanks for the Wowhead example. Playing with something is so much easier than trying to understand from a text description.

    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.
  • crimsonknave
    crimsonknave
    Posts: 28
    If you can only go root -> wiki pages -> individual page that last drop down would be way too long. However, if I can add navigation tags (or something) to it I'd see it becoming much more useful. For example root -> wiki pages -> locations -> planets -> individual page would hold a much smaller list. However, that would require location tags which have sub tags (at least in that example). I could also see wanting to do root -> characters -> guild -> guild member.

    Though, you'd probably need a way to declare separate tags otherwise your tag drop down would be massive.
  • Micah
    Micah
    Posts: 894
    Special tags are definitely one answer, although I'm always worried about that kind of thing. It's a little complicated and I can see a lot of people either ignoring it completely or being confused by it. I hate adding advanced features that get ignored or cause confusion.

    Are there any sites that do this well?
  • Langy
    Langy
    Posts: 364 edited June 2013
    I know what you mean about an actual example being useful, Micah - I honestly hadn't seen one quite like what I was envisioning until I stumbled upon Wowhead while looking for cool breadcrumb implementations (which was after my initial post in this thread).

    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.
    Post edited by Langy on
  • Matrissa_The_Enchant
    Matrissa_The_Enchant
    Posts: 18 edited June 2013
    I like the idea of hierarchical categories - they appeal to me, especially the ability to put a page under multiple categories would definitely be useful. It would need to be possible to optionally select a "parent" category when defining a new one.

    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)
    Post edited by Matrissa_The_Enchant on
  • Micah
    Micah
    Posts: 894
    Hmm, I like the categories and sub-categories too. Of course, everyone is going to want to define their own categories for their campaign, or at least, they're not going to be happy with a rigid list of pre-defined categories.

    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.
  • Langy
    Langy
    Posts: 364 edited June 2013
    Oh, absolutely, Micah! There should definitely be no rigid list of predefined categories; that not only makes it more flexible, it lifts the burden of defining categories from you and puts it on the campaign authors;)

    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.
    Post edited by Langy on
  • StoryMaster
    Posts: 12
    Maybe another solution? What if tags were made tagable? Then I could have a location tag, create my big political/regional units, make them tags tagged with 'location'. Then I could make the sub-units, tag it with which bigger unit it's with and it would have Location>Region>New shiny place as its ancestry. How doable this would be would likely depend on how tags are interpreted on the back end. If they're just a 'this is appended to that object', then it probably wouldn't work. If they're 'objects' themselves, then it might be feasible. If it's feasible, nothing would have to be 'preset up' the code would just have to read up the trail of tags.

    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.
Sign In or Register to comment.

March 2024
Wrath of the Highborn

Read the feature post on the blog
Return to Obsidian Portal

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Discussions