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
-~----------~----~----~----~------~----~------~--~---

Reply via email to