Felicia 

Thank you for your detailed reply. I will study it in the morning and make sure 
I follow what you are saying.

BobJ

---------------
Dr Bob Jansen
The Cultural Conversations project 
Turtle Lane Studios Pty Ltd trading as the Australian Centre for Oral History
122 Cameron St, Rockdale NSW 2216, Australia 
Ph (Korea): +82 10-4494-0328 
Ph (Australia) +61 414 297 448 
Resume: http://au.linkedin.com/in/bobjan 
Skype: bobjtls 
KakaoTalk: bobjtls 
http://www.cultconv.com 

 In line with the Australian anti-spam legislation, if you wish to receive no 
further email from me, please send me an email with the subject "No Spam"

> On 14 Sep 2020, at 22:39, Felicia Crow <[email protected]> wrote:
> 
> Hi,
> so to extend Jed's solution I assume three things: Each tiddler for a person 
> has a buyer-id field, each tiddler for an artwork has an artwork-id field and 
> each person tiddler has an bought-artwork field that contains a space 
> separated list of artwork-ids. If the artwork ids don't contain spaces 
> themselves it is enough to just write the id otherwise you have to wrap the 
> id in double square brackets like a link. Basically looking like what Jed had 
> in his answer for the artwork names, but with your ids instead.
> 
> To show what artworks a person has bought you would use this triple list - 
> probably preferably in a macro with the buyer-id being a macro parameter - to 
> set the buyer-id, get the list of bought artwork and list out the artwork 
> titles:
> <$list filter="[!has[draft.of]field:buyer-id[specific_id_here]]">
> <$list filter="[list[!!bought-artwork]sort[title]]" variable="artwork-id">
> <$list filter="[!has[draft.of]field:artwork-id<artwork-id>]">
> <<currentTiddler>>
> </$list>
> </$list>
> </$list>
> 
> The outer most list just sets the currentTiddler to that of the person having 
> this specific id as the list operator only works with either fixed references 
> or the currentTiddler.
> The next list takes the content of the bought-artwork field and turns it into 
> an actual list of (pseudo) tiddlers. While the field passed to sort is title 
> due to how things work, it actually essentially sorts by id. Setting the 
> result to a variable in this step isn't essential, but may helps to make the 
> readabilty of the next filter better.
> The inner most list finally takes each id one after the other and looks for a 
> tiddler that has a field artwork-id with the same value as the artwork-id it 
> currently processes. If it finds such a tiddler it displays it.
> 
> In the other direction you would have this far smaller one list - once again 
> could be put in a macro, just this time with the art-id being a parameter:
> <$list 
> filter="[!has[draft.of]has[buyer-id]contains:bought-artwork[specific_id_here]]">
> <<currentTiddler>>
> </$list>
> 
> The filter here gets every tiddler that has a field buyer-id and then looks 
> up for every one of them if the bought-artwork field contains the artwork-id.
> 
> Hope this helps!
> 
> Kind Regards,
> Felicia
> 
> 
>> On Monday, 14 September 2020 13:32:07 UTC+2, Bob Jansen wrote:
>> Jed
>> 
>> Thanks for your email 
>> 
>> I can’t use titles as they can not be guaranteed to be unique. That’s why 
>> every tiddler has a unique id.
>> 
>> I was thinking about a filed in the name riddler with the ids of the 
>> artworks but then how to display the titles?
>> 
>> Bobj
>> 
>> Dr. Bob Jansen
>> 122 Cameron St, Rockdale NSW 2216, Australia
>> Ph: +61 414 297 448
>> Skype: bobjtls
>> 
>> 
>>> On 14 Sep 2020, at 21:15, Jed Carty <[email protected]> wrote:
>>> 
>>> Do these relations need to be bi-directional? That makes things difficult 
>>> enough that I made a plugin for it 
>>> https://ooktech-tw.gitlab.io/plugins/relations/
>>> 
>>> if it only needs to go person -> artwork the easiest way is to use a list 
>>> field in the persons tiddler that lists each artwork associated with them.
>>> 
>>> So in the tiddler for Person A you create a field called list
>>> In the field you put in the title for each artwork to associate with the 
>>> person, it would look something like this:
>>> 
>>> [[La Joconde]] Sphinx [[Elvis on Black Velvet]]
>>> 
>>> then to list the artwork associated with a person in the tiddler for that 
>>> person you could use
>>> 
>>> <$list filter='[list[]]'>
>>> 
>>> 
>>> </$list>
>>> 
>>> 
>>> or to list the artwork associated with Person A in any tiddler you would use
>>> 
>>> <$list filter='[list[Person A]]'>
>>> 
>>> 
>>> </$list>
>>> 
>>> there are other methods, using a data tiddler could also be a good choice 
>>> but that may require more work to set up.
>>> -- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "TiddlyWiki" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/tiddlywiki/6I60ywWH5Fo/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/tiddlywiki/94bf5445-6dfe-447b-864c-ac220aab8437o%40googlegroups.com.
> 
> -- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "TiddlyWiki" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/tiddlywiki/6I60ywWH5Fo/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/tiddlywiki/2da4b35d-c3ed-478d-8149-1fa7960d7bf6o%40googlegroups.com.

-- 
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/52305C45-9B3B-4CDD-A2C4-AA68CC6ED3C4%40gmail.com.

Reply via email to