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