Anast, here some thoughts:
What will happen if a user tries to remove a track from a top crates, which is also member of a lower level child crate? Will both be removed? Can the user distinguish a track in a top crate from on that is recursively gapped form a child crate? We have discussed to use crates like tags. Do you like the idea ? Will there be something like a "crate membership" coloumn / search / sorting? How is a multi membership handled there? Kind regards, Daniel Am 31.03.2017 um 22:49 schrieb Be: > This looks better. Could you update your proposed timeline to reflect > the changes? > > On 03/31/2017 02:21 PM, Anast Gramm wrote: >> On Fri, Mar 31, 2017 at 06:59:48PM +0300, Anast Gramm wrote: >>> Hello, I wrote a more detailed plan for those two features you metioned for >>> the project >>> scope. I will send it soon after some polishing. >> here it is (also in pdf below) >> >> 1 Nested Crates >> =============== >> >> A preview for the nested crates is included. Tree like view. (If you don't >> listen >> to the Jazz/Trance sub-genre of Dub, you should!! :D ) >> >> The following is derived by the comments on launchpad and my thoughts >> on them. >> >> >> 1.1 Overview >> ~~~~~~~~~~~~ >> >> 1.1.1 What can a crate contain? >> ------------------------------- >> >> A crate can contain the following: >> - Another crate (smart or not) >> - Songs >> >> >> 1.1.2 Can a song be in multiple crates? >> --------------------------------------- >> >> Yes. >> >> >> 1.1.3 What happens when I click on a crate >> ------------------------------------------ >> >> Recursively lists all the songs that exist in the crate or the >> subcrates that it contains. DISTINCT! (eliminates duplicate songs) >> >> ["mixxx's unique selling point!"] >> >> >> ["mixxx's unique selling point!"] >> https://bugs.launchpad.net/mixxx/+bug/671632/comments/37 >> >> >> 1.1.4 What happens when I drag&drop a crate into another one >> ------------------------------------------------------------ >> >> If the crate you drag is a parent crate to the one you drop it then >> nothing happens. (or an error!) >> >> Else the drag crate and everything that it contains become members of >> the drop crate. (like moving files in a file system) >> >> >> 1.1.5 How do I insert a song to a multilevel crate >> -------------------------------------------------- >> >> You place the song to the crate you want it to become a member of. If >> you have multiple levels, the above still holds. If a crate/song >> belongs to a child, it belongs to the parent as well. >> >> >> 1.1.6 How many levels will be supported? >> ---------------------------------------- >> >> As many as the user wants. >> >> >> 1.1.7 What if I want two crates with different parents have the same name? >> -------------------------------------------------------------------------- >> >> Every crate will contain information about it's parent, so the >> following can work: >> >> Crate1/sameSubcrateName >> >> Crate2/sameSubcrateName >> >> >> 1.2 Implementation >> ~~~~~~~~~~~~~~~~~~ >> >> Here are some first thoughts on the way the above will get >> implemented. >> >> >> 1.2.1 Modifications >> ------------------- >> >> In order for crates to be able to hold both other crates and songs >> some modifications need to be made in the database schema. >> >> A new table with columns: >> PARENT_ID CHILD_ID >> --------------------- >> ... ... >> >> Here the CRATE_ID will be linked with other CRATE_ID's depending on >> the parent/child state of those. >> >> While populating this table checks will occur so that a crate can't be >> it's own parent, or a child can't have his parent as a child etc. >> >> The whole crate side of the database might need a revamp for this to >> work efficiently and be expandable at the same time. I will look at it >> in depth in time. >> >> >> 2 Search filter for Crates >> ========================== >> >> Due to the nested crate's complexity I will work on search filters >> first, while keeping in mind the future adjustments it might need in >> order to work well with nested crates. >> >> >> 2.1 Overview >> ~~~~~~~~~~~~ >> >> 2.1.1 What is the search filter for crates >> ------------------------------------------ >> >> Typing "crate:" in the search bar, will act like a filter listing >> whatever any song within a crate named whatever comes after "crate:" >> (fuzzy style). Like "artist:" >> >> >> 2.1.2 What about nested crates >> ------------------------------ >> >> Say you have a top level crate named (creatively) Crate1 with >> subcrates and songs nested under it. Typing crate:Crate1 in the search >> will list every song this crate contains and every subcrate's song as >> well. >> >> >> 2.1.3 What about the same name subcrates we talked before >> --------------------------------------------------------- >> >> Typing crate:sameSubcrateName will get you both the crates with the >> same name. If you want your search to stay in one crate you have to >> type it's parent crate (in case this is the same as well, you need the >> full path) >> >> >> 2.2 Implementation >> ~~~~~~~~~~~~~~~~~~ >> >> Here I will make things work like the other filters, already existing >> (artist: etc). >> >> I believe this part will be not that hard to pull off. >> >> I will have a more detailed plan for the implementation after the >> community bonding period where I will read the whole code, and >> understand it completely. >> > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > Get Mixxx, the #1 Free MP3 DJ Mixing software Today > http://mixxx.org > > > Mixxx-devel mailing list > Mixxx-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/mixxx-devel > ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Get Mixxx, the #1 Free MP3 DJ Mixing software Today http://mixxx.org Mixxx-devel mailing list Mixxx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mixxx-devel