On Jun 8, 9:00 pm, "[email protected]" <[email protected]> wrote: > Just out of curiosity, why does the sqlstore change the work > situation?
That's really due to one of my assumptions about performance. If the text store gets very large with many tiddlers and revisions, I guess its performance becomes tied to how well the file system handles large numbers of small files. I think a database mitigates that aspect of a filesystem's role in performance. There are also some facilities like locking, and handling concurrency that could come in useful in a multi- user environment. If my planned test setup evolves into a more serious deployment with a wider user base and heavier load, I feel like a database backend is more suited to the task. > I was recently called a "paleo-wiki type" which basically means I'm > old school about wikis: There is no such thing as other people's > tiddlers, there's only tiddlers that belong to the whole group. If > there are issues with the group deleting stuff, then you have a social > problem that no amount of technology is going to help, you're going to > have to talk about it and work it out. This is something I've been mulling over. I prefer your altruistic outlook too, and the point about the social angle is well taken. My concern centers more around the possibility of users accidentally deleting tiddlers and losing important work, but that's probably better addressed by your suggestion of having DELETE just set a flag while keeping the revisions available. Now I'm thinking I'll just setup the test as a free-for-all, sit back and see what comes up rather than instituting a whole bunch of controls that complicate policies and bag structure. > That said, it occurs to me that DELETE of a tiddler in all of the > stores that I know about (text, sqlstore, simpletext, devtext) remove > the tiddler and all revisions irrevocably. It doesn't have to be like > that. One could flag the tiddler deleted, but leave it in place, > making deletes recoverable. > > My thinking on this matter is it should be up to the store what DELETE > really means. I definitely agree with this, and I think optionally making deletes recoverable is a very good idea. > If the situation is that you want every user to have their own bag in > which they can control their own stuff, but everyone can see all the > stuff, my suggestion at this point would be to make plugin that > enumerates all the users, gets the username and dynamically creates a > recipe by appending all those username as bags, and then calls > send_tiddlers(). You can look at the cachinhoster, dynarecipe and > tiddly-editor plugins for examples that do similar things. > > I would guess, even hope, that your plugin would have your own unique > style from which I might learn a ton. This discussion has nudged me toward starting as simple as possible. I think I'll start with just the default recipe, with the common and system bags, where any logged in users can make edits, but I do want to use recoverable tiddler deletes as a safety net. I'll leave per user bags and recipes for the next stage depending on how things go. I like the dynamic recipe solution you proposed. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TiddlyWikiDev" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/TiddlyWikiDev?hl=en -~----------~----~----~----~------~----~------~--~---
