On Sep 8, 10:43 am, Tobias Beer <[email protected]> wrote: > Hi everyone, especially those actively working with and developing > TiddlySpace,
Since you asked in another thread, I'm going to try to give some responses to your comments. I should state up front, though, that there's a fair few of us working on TiddlySpace and that means there are probably conflicting views on how this stuff should work. This is, in the end, a good thing as it means there's plenty of debate about how things ought to be done which ought to lead to good solutions. However it can also mean that things seem to meander. Also, as the author of TiddlyWeb, the primary server-side component for TiddlySpace, I see one of my roles as not letting the needs of TiddlySpace break the more diverse context in which TiddlyWeb operates. Because of that, a lot of the solutions that we try to make for TiddlySpace are done in ways that take advantage of the existing users, recipes, bags, policies, filters and tiddlers entities that TiddlyWeb already supports. So, for example, while TiddlySpace has the concept of space, TiddlyWeb does not. For TiddlyWeb a space is really just two recipes with related names. Given those disclaimers... > [Since this is a somewhat user centric view and since I think > TiddlySpace deserves more attention in the TW community I preferred > discussing it here rather than in the TiddlyWeb group.] Seems like a good idea. However I warn you there are some fairly technical details ahead. > Having played with TiddlySpace I have come to realize that inclusion > is THE most essential part of it. Although this or parts of what > follows may have been discussed already, here's how I would improve > inclusion in the future: I agree. Inclusion provides a lot of interesting possibilities and for now it is the thing that distinguishes TiddlySpace. As following matures, I suspect that and the public/private model will likely also be important. First off it might be important to state that TiddlySpace's inclusion model is a dumbed down version of what's called the recipe cascade in TiddlyWeb. In TiddlyWeb a recipe is a list of bags paired with optional filter strings. There can be any number of bags and the filters are a powerful and extensible query language that let's you say which tiddlers in the currently being processed bag will be included in the recipe cascade. The output of the recipe cascade is the list of uniquely named tiddlers found in the processing. If there are duplicates, the most recently found tiddler is the one that wins. In TiddlySpace inclusion adds the public bags found in the included space's recipe to the current space's two recipes. Without filters, for now. This means, as you've found, that all the public tiddlers in the included space (including the ones it includes from other spaces) get included in the current space. > 1) First of all, inclusion makes one thing of desperate need: space- > TAGS. Tags should no longer pertain only to tiddlers but be attached > to spaces as well ...and very likely, so should fields. Space-TAGS > should be the foundation of any space listing and thus space inclusion > management. The easiest way would be to introduce a ShadowTiddler > called SpaceTags containing a bracketedList of strings that follow the > same naming conventions as space-names. This way a space name could be > easily converted to an inter-space-link if a space of said tag > existed. I _think_ the plan for this is to use the SiteInfo tiddler in the space with its tags, fields and potentially slices as ways of accomplishing some of what you are talking about. To find the tags associated with a space, one would look at the SiteInfo tiddler in the public bag of the space. > 2) There are certain general options of need when it comes to dealing > with secondary spaces (e.g. spaces included by the space being > included), something like... These scenarios were discussed in the early chats about TiddlySpace and are expected to be accomplished, eventually, through filters. The exact mechanism for that is not yet known, but I can imagine something a bit like the @EXPORTS stuff in Perl. Basically a space would have a tiddler or tiddlers which defines how secondary inclusion options would be managed. These tiddlers would be inspected in two different ways: * At the time when someone choose to include the space the user is asked the questions you suggest. Depending on the answers the info from the tiddlers is used to generate the list of bags that need to be subscribed as well as any filter strings that need to be in the recipes. * At the time of load, those filter strings might inspect tiddlers in the spaces which act as a pointer to filters which the space owner defines in the space (thus allowing other spaces that include this one to be correctly adjusted as the filter list changes). The first one of those seems pretty straightforward and much like you imagine. The second one I'm hesitant about as it could get messy. More thought required. Generally your suggestions seem right on, in spirit, to me. I suspect the interface won't be exactly as you describe, but the tasks are in alignment with what I've heard people (devs and users) talk about. Give the detailed level of control that you are interested in having, it may be worth your while for you to come to grips with the details of the TiddlyWeb HTTP API which allows you far greater control of bags and recipes (and filters) than the TiddlySpace UI currently provides. For experimentation its probably best to operate on your own TiddlyWeb server, but the whole API _is_ available on the tiddlyspace.com server, just have to look under the hood. -- 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.

