G'day,

You might be getting into some paralysis by analysis or analysis by 
paralysis (which is how I operate),
or maybe you have some programming experience that is interfering with the 
"TiddlyWiki Way" (I'm a systems analyst and software developer, and I keep 
falling into the trap of seeing macros as functions),
or I might be totally out in left field, which happens frequently.

Just to get a baseline for discussion, download the attached, drag it into 
tiddlywiki.com to import the tiddlers, and give the imported tiddlers a 
look.

Do the queries in the "Query systems" tiddler make sense?

On Wednesday, December 15, 2021 at 3:02:08 PM UTC-4 CarloGgi wrote:

> Hi everybody,
> the struggle to get TW do what I want it to do goes on hopelessly.
> I have a database of systems described by one data tiddler each, like this:
>
> system_1
>       tag: system
>       feature 11: Y/N
>       feature 12: Y/N
>       feature 13: Y/N
>       feature 14: Y/N
>
> system_2
>       tag: system
>       feature 21: Y/N
>       feature 22: Y/N
>       feature 23: Y/N
>       feature 24: Y/N
>
> as you can easily guess, the tiddlers record what features system X 
> supports or not.
> Now I want to flexibly query my database for a certain feature, so I came 
> up with this code:
>
> \define check_feature(feature) [getindex[$feature$]trim[]match[Y]]
>
> <$set name="has_feature" value=<$macrocall $name='check_feature' 
> feature='IFTTT'/> >
>   <ul>
>       <$list filter="[tag[system]filter<has_feature>]" variable="sys">
>           <li> <$link to=<<sys>>> <<sys>> </$link> </li>
>       </$list>
>   </ul>
>
> </$set>
>
> (in the example above I'm checking which systems are supported by IFTTT as 
> you can imagine...). Fair enough, the above code DOESN'T work, because you 
> cannot put a <$macrocall> widget as right-side element of the 'value' 
> element of a <$set> widget. Ok, so how do I go? I know I could instead 
> write:
>
> <$set name="has_feature" value=<<check_feature IFTTT>> >
>
> and that would work, but I need to use the <$macrocall> widget because the 
> next step is to make the 'feature' parameter dynamically chosen via a 
> <$select> instruction, so I would need to call the macro as below:
>
> <$macrocall $name='check_feature' feature={{!!current_chosen_feature}}/>
>
> where of course field 'current_chosen_feature' wouldbe set by the 
> <$select> widget.
>
>
> Thanks in advance for helping. More and more TW seems to me like a too 
> much beautiful, too much independent woman: you love her but you cannot 
> make her listen to you...
>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tiddlywiki/8630659e-aab9-48d1-92a1-0650c858c3c2n%40googlegroups.com.

Attachment: QueryingSystemsDB_TW.json
Description: application/json

Reply via email to