[MWS][POLL] Tree or Flat URL linking?

Ok, important question about MWS. I’m trying to decide whether to support a folder structure for recipes.

MWS is a web server, so it can serve TiddlyWiki at URL paths like the following.

  • https://example.com/wiki/personal/journal/secret
  • https://example.com/wiki/personal/family/weekly
  • https://example.com/wiki/work/project1/notes

Then when you want to insert a hyperlink in your secret journal to open a tiddler in the family weekly in a new tab, you would do something like <a href="../family/weekly#The week we moved" ></a>.

There’s really nothing preventing me from going all out with this and building a full drag & drop menu arranger with indentation and so on so people can easily organize their wikis into folders, or if someone just prefers to edit the paths as text, we can easily give them that option as well.

The idea of folders has a well-defined intuition from file systems, so non-technical users should easily understand a hierarchy layout view of all their wikis, with clear formatting and easy drag and drop menu controls for reorganizing.

Each menu entry would have a title and a slug displayed, making it obvious exactly what the title of any given recipe actually is. The drag and drop editor would just split the recipe names on / and save it in the same way, so there wouldn’t be any complicated shenanigans behind the scenes.

Is there any reason not to allow forward slash in recipe names to remain unencoded and generate a relative-linkable hierarchy of HTML pages? Note that wiki mount points already do not end with a trailing slash, so relative links work the same as they would if you were serving static single-file wikis.

The only real reason I’m even asking this question is to ask whether some users might be confused by the idea of relative linking enough that we want to remove that for everyone and just force everyone to use work_project1_notes instead of ../../work/project1/notes when linking to a different wiki.

  • Tree (allow forward slash in URL)
  • Flat (percent-encode forward slash in URL)

0 voters

Sorry, but I don’t understand what you mean. Could you explain it a little more clearly? Perhaps some pictures would help me understand better. Are you saying that we can create different wikis just like we create files in a folder?

@Arlen22 … How long do you want to keep this poll open. I’ll pin it globally if you want.

Sure go ahead. I’d say it could stay open for at least a week.

I’ve edited the post, hopefully that’s a little more clear.

I pinned it for 1 week.

Thank you. I voted for the forward slash approach. But there is one issue that may need to be discussed. That is how many tiers this folder subdivision supports. If it is unlimited number of levels, then how to handle such relative paths in some complex situations? Users from non-technical background may not be able to figure out the complex relative references.

  • https://example.com/wiki/aaa/1.1/apple/ddd

  • https://example.com/wiki/bbb/1.2/apple/ddd

  • https://example.com/wiki/ccc/1.3/apple/ddd/eee

The above is a simple example. Let’s say eee wants to reference something in /wiki/aaa/1.1/apple/ddd, how can it be handled? While we could ask AI to get the answer, perhaps we can provide a more convenient way of quoting it, by copying it directly at the click of a button.

Just a discussion, as I’ve used the includewikis feature in nodejs before because the reference path was too complicated. So I put all the wikis under the same folder.

If it’s too complicated for someone, nothing would prevent them from just not using the feature, obviously.

It also wouldn’t be hard to add a feature that generates the relative path between two wikis by just clicking both of them in the menu.

Thanks in advance, I’m really looking forward to the final results of MWS.

Just to be clear I am keen on a heirachical tree, but just be sure that the use of / does not clash with is use in system tiddlers and plugins.

  • I dont expect it to.

I voted path since it’s a well understood way to semantically organise things, etc etc.

I do have a question though - how does tagging work? In this example:

…if eee was tagged ddd, which ddd will be seen as it being tagged by? What if I want it to be explicitely tagged by a different one, would I have to give the tag as the full (or relative?) path?

You can’t put tags on wikis themselves. And there’s no server-side crosstalk between wikis. But if a user has read access to both wikis, they could pull data from the other one.

ah I’d not grok’d that those were different wiki’s, not references to identically named tids in different wikis.

Recipes and bags means only one tid with any given name will be active, so my question is meaningless! I think I get it now :slight_smile: