On Jan 20, 10:43 pm, EduardWagner <[email protected]> wrote: > The key question from myself is: what was the reason for the bag- > concept in filesystems? > From a "real real green green" user opinion the concept with extented > tiddler fields and tags would have been more > of a meta description (groupings of tiddlers in "virtual" bags with > policies and things like that). > What was the need of filesystem, was it due to performance of the wiki- > generation or deployment needs, or ... > Would be just interesting why the developers decided to go this way;)
When Jeremy and I were having the conversations that led to TiddlyWeb, the original goal with bags was to have an independent concept that would act as a container for tiddlers. That container would have permissions about who could manipulate the stuff in the bag. By having a separate concept for these needs it was believed (and I think this have proven to be true) some complicated notions (selecting and protecting tiddlers) could be wrapped up in a more simple notion. The bag is a place that tiddlers are in, it is a finite space and sometimes you can only get some stuff in and out. To ensure that the bag concept was maintained as a separate beast in the code, the library API and the HTTP API we chose to make it a first class real thing. There are bag objects in the code, bag URIs in the HTTP API and bags in the storage system. It is certainly the case that the bag concept could have been achieved with additional fields or attributes on tiddlers, but I think that would have made things more complicated. It is also the case that when tiddlers were being written to disk they could have been stored with a bag attribute and would not need to be in a separate directories, but I simply found it easier to understand and implement the first text store as things are set up. In the google data store (which likely does not work with newer versions of TiddlyWeb) the tiddlers have a bag attribute instead of physically being in a bag. I never particularly imagined the original text store to remain as the default, but for the time being that's the way it is going. The design is certainly not the result of striving for performance: I'm of the first make it right and easy to understand, then make it fast school of development. On a related note: In the early days there was another similar discussion. Martin and I asked why there needs to be recipes: can't a recipe just be a bag of bags? Technically this is certainly possible and to some extent it is what is going on, but by making the concept separate throughout the system its easier to understand what's going on. Unfortunately we've not really done a good enough job (yet) of exploring the power of recipes to really demonstrate why there should be a separate concept, but I suspect that is to come. Thanks again to everybody for participating in the TiddlyWeb creation process. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TiddlyWiki" 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/TiddlyWiki?hl=en -~----------~----~----~----~------~----~------~--~---

