TW has the ability to deny the ability to read and/or write to the wiki when served on node, but does it have this ability on a per tiddler basis? That is a separate feature you kind or hint at or just gloss over.
Otherwise, this doesn't look much different than serving several wikis like Bob currently does. With the added benefit to being able to search through all the wikis.
So, breaking down the feature requests, we can say:
- Add ability for TW to choose to save to multiple subdirectories. It is already able to save to the Files directory in addition to the Tiddlers Directory, but with the specific use case you are talking about, you now need to interface user names to the filesystem. I don't know enough about what usernames are limited to in TW, but the FS definitely has limitations. Older FS default to other than UTF8 encoding, and EXT can support different ones depending on the server. I don't know what the situation is on Windows. Node will probably handle that, but there will be cases where the User Name and the Directory don't match. Also, if the Username is a First Name and Last Name, should TW make one folder, two folders First Name first or two folders Last Name first? I tend to favor the last, which can reduce the number of folders in the top level directory.
- Add the ability to have r/w permissions on the Folders. This is the simplest method, and give nobody the right to edit the main Tiddler top level. This gives you all the benefits, without having to have a canonical source for all wisdom, the top level tiddlers.
- Additionally, add r/w permissions to tiddlers. This should not be too difficult, in terms of implementation. Each tiddler would get a hidden field with predetermined values. In the wiki model, we could take a page from Facebook and include group permissions, which would allow for, say, adding receipts that are viewable from anyone in the accounting group, or if writing articles, anyone in the editor group. That makes it a set of fields, however.
- The ability to version control the tiddlers.
- The ability to diff the tiddlers.
- A UI for those functions.
- Extrapolating: The ability to modify username on import. Possibly the ability to change multiple usernames at import.
- Create namespacing for tiddlers. I have no idea if this is in TW currently. If this were done, I can foresee a lot of performance use cases in large wikis.
- You could could namespace each connection to the server, and only serve the tiddlers necessary for the current view. This is almost certainly needed if you have 100 people using the same wiki. Other wise, your bandwidth cost will grow extremely quickly out of control. This would force most searches be done server side.
Alright, see if this is close to the idea you are expressing? Correct anything that is wrong with it, or add to it.
For me the key is to permit multiple users to to use the same wiki but once this is possible, the designer needs to choose how and when they interact. Keep in mind if you are in the wiki my tiddlers are not loaded over the main wiki, yours are. If they are in a json or external files they will not influence your tags or macros. However we could build solutions to view selected content from other users.
Regards
Tony
For me the key is to permit multiple users to to use the same wiki but once this is possible, the designer needs to choose how and when they interact.
Keep in mind if you are in the wiki my tiddlers are not loaded over the main wiki, yours are.
If they are in a json or external files they will not influence your tags or macros. However we could build solutions to view selected content from other users.
Thanks for your comments.
This idea of stacking wikis is very interesting and should be pursued. There are cases though where such a ridged separation of user content is not as desirable and I think we can permit more than one user writing to a single wiki store, especially when it's only permitted to part of the wiki.
I agree authentication and authorisation is critical but once someone is entitled to update content there is a lot we can do in trusted environments. Solutions should cater for both open and locked down cases.
I think everyone can be the owner of his/her own content. Yet there are many cases where people are happy to share there content with other users and even have it become part of the shared wiki. An authorised curator should be able to commit content to the main wiki contributed by any user. It could work a little like github.
I like your suggestion about using the shadow tiddler mechanisium. Sometimes I do not want to overide someone's content with my own by accident as I want them to maintain the source of truth. A way to denigh shadow overwrites is also needed
Regards
Tony
I like your suggestion about using the shadow tiddler mechanisium. Sometimes I do not want to overide someone's content with my own by accident as I want them to maintainthe source of truth. A way to denigh shadow overwrites is also needed
I agree authentication and authorisation is critical but once someone is entitled to update content there is a lot we can do in trusted environments. Solutions should cater for both open and locked down cases.
Thanks for sharing this DAT information, Mario.
In some ways, it seems like a lite-weight version of a blockchain.
I may be able to structure an evaluation exercise for this fall. If so, I'll make sure the opinions are made available here.