3 Levels "Link to Entry" cascading selections

94 views
Skip to first unread message

Joey W. Chow

unread,
Jan 21, 2023, 2:17:24 AM1/21/23
to mementodatabase
Hello,

I have been using Memento database for a while for basic inventory recordings.
Now I am working on another database for my DVD Collections.  I am facing the problem below.

I have 4 libraries 
A Master Library showing all the details of each title in the collection.
A Maker Library containing the names of Maker
A Label Library containing the names of Label, labels are dependent on maker.
A Series Library containing the names of Series, series are dependent on label.

As most of titles are non-English, I have created another field holding the original language names in the 3 libraries Maker, Label and Series for sorting purpose.  Because of this, I used "link to entry" to link up the master Library with the 3 libraries Maker, Label ans Series.  So the 3 "link to entry" fields are in the Master and each master entry holds only 1 maker 1 label and 1 series.

1 maker has multiple labels 
1 label has multiple series

How can I filter the labels in its "link-ro-entry" field when I select a maker in the "maker" link-to-entry field.  And then filter the series in its "link-to-entry" field when I selected "label" in my previous action.

OR 
Maker 1 has Label 1a, Label 1b, and Label 1a has Series 1aa, Series 1ab
Maker 2 has Label 2a, Label 2b, and Label 2a has Series 2aa, Series 2ab

When I select Maker 1 in Maker link-to-entry, only Label 1a and Label 1b available for selection in Label link-to-entry field.  no label 2a and label 2b available.
After selected Label 1a, only Series 1aa and Series 1ab available for selection in Series link-to-entry field.  no Series 2aa and series 2bb available 

I have no Java coding experience, but am willing to learn from zero.  Library structure revision is acceptable.

Thank you.

Joey













Er Mo

unread,
Jan 21, 2023, 5:35:16 AM1/21/23
to mementodatabase
Hallo
Wenn ich dir Richtig verstanden habe möchtest du auf einen anderen Baum zugreifen . Ein Baum hat Äste und die Äste haben Zweigen, die Zweigen haben Blätter . Wenn ich auf einen Baum bin kann ich auf verschiedene Ästen von DIESEN Baum , aber nicht auf einen Ast von einen andern Baum , zugreifen . Da müsste die ganze Struktur geändert werden .

Hi
If I understood you correctly, you want to access another tree. A tree has branches and the branches have branches, the branches have leaves. When I'm on a tree, I can access different branches from THAT tree, but not a branch from another tree. The whole structure would have to be changed.

Ernst

Bill Crews

unread,
Jan 21, 2023, 11:18:54 AM1/21/23
to Joey W. Chow, mementodatabase
Generally, when you're wanting to filter a list, the Memento list filtering facility needs to be available -- the library entries list and not the list of links in an entry view card. This means linking from the library whose entries are to be filtered to the other libraries. Where do you like to spend the most of your time and your efforts?

I'll make an assumption and suggest a linking structure based on that. I'll assume your efforts are maker-centric. So, the links should go out from there. Then, you can not only filter, but also aggregate,  sort, group, and chart from that list. Some links may not make sense for this model, so some adjustments might need to be made.

So, there'd be a link-to-entry field from maker to its masters, one to its songs, one to its labels, and one to its series. Now, when considering this, some might seem not to make sense, like maker to series, for instance. A way to provide fields to filter on in this case is to create a Lookup field or JavaScript field in Makers for the series based on a link-to-entry field, say, from master to series. In that case, go ahead and keep your link-to-entry field from Masters to Series, but put a Lookup field in Makers to that link-to-entry field in Masters. Then you can filter your list while in Makers by this value even though the link-to-entry field is elsewhere. A Lookup field is truly trivial to create. Just identify that other library where the link-to-entry field is and identify that field. A JavaScript field to do the same thing is also trivial, though you do has to remember the exact syntax to use. If the distant field is "Series" in Masters and the local field is Masters in Makers, then the JavaScript field script would be is...

field("Masters")[0].field("Series");

In my case, I'm a singer, so my #1 home is Songs and my #2 home is Artists. I optimize my database design for the list of songs first and then optimize for the list of artists. I also have Sets (playlists), Record labels, and Album tracks. Artists include performers,  lyricists, composers (songwriters), producers, arrangers, & bands. When an artist is a band, I link the band artist (say, Peter Paul & Mary) to the solo artists Peter, Paul, & Mary, taking care to never link a band to a band. (That would cause a loop and crash Memento. Actually, in the desktop edition, Memento crashes anyway, despite never linking to a band, so I don't use the desktop edition (one of many reasons).) In theory, I'm tracking record labels, but I seldom actually do. I'm not sure what your Series is, but I guess I'm not tracking that either.


--
You received this message because you are subscribed to the Google Groups "mementodatabase" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mementodataba...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mementodatabase/a638f96e-e779-44ff-812f-2cf5f4048cd6n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages