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

Reply via email to