GSoC:2008 Collections 2.0 Todo list

Erik Massop edited this page Nov 4, 2017 · 1 revision

bold are the larger tasks.

italic are the not-so-important tasks.

  • Attributes
    • Allow general xmmsv_ts as attributes
      • Several values for field, value (except for MATCH), source. To be interpreted as a union.
  • Chop history in logical chunks
  • Documentation
    • Add documentation for most functions
    • Add documentation on the wiki
  • Querying
    • Work on querying proposal
    • Implement querying proposal
  • Matching
    • Define pattern-matching for some of the collations
    • Disable for those collations in the meantime.
  • Prefix
    • Make prefix-matching work for collations.
    • Fix prefix for non-ascii characters like Å‚
    • Move idlist to the attributes.
  • IdlistVirtual
    • Implement an index
  • Checking
    • Set default value for type-attribute of idlist to "list"
    • Check for cyclic behavior in jumplist
    • Check source-attribute
    • Check source-preference-attribute
    • Make default values configureable
  • Sourcerank
    • Add default sourcerank to more plugins
  • Medialib
    • Change schema to use value ids, which then appear in MediaTokens, MediaValues and MediaBackend tables
  • Abolish INTERSECTION_ORDERED
  • Change attributes to LIMIT (to not use UINT_MAX)
  • Fix FIXMEs
  • Do TODOs
  • Add optimizations to collquery
  • Serialize as a true DAG

Pre February 10 2009

Notation: In bold high-priority stuff, in italic optional/low-priority stuff, in normal font normal-priority stuff.

  • Finish this todo list
  • Prefix does not work with non-ascii characters like Å‚ (in the NATCOLL-collation at least).
  • Create a Collections 2.0 operator documentation page
  • Work on the querying proposal
  • Work more on the querying proposal
  • Use strings in the medialib everywhere
  • Implement NATCOLL
  • Add prefix-matching
    • For BINARY collation
    • For NOCASE collation
    • For other collations (how is prefix defined for INTCOLL, NATCOLL when ending in numerals?)
  • Abolish case-sensitive attribute
  • sed "s|FULLORDER|COMPARE|g"
  • Implement an "index" in the idlist virtual table
  • Readd DAG-checking
  • Implement an id-wise operator
  • Implement the token-operator
  • Implement a similar-operator (extra)
  • Revisit the "is this id in the collection"-function
  • Implement global source-preference
    • Change database
    • Use it for collection-queries
    • Use it for medialib_info-variant
    • Have a config-value system to change the priorities
    • Allow plugins to set default sourcerank values. (Create a function that sets the [pluginname].sourcerank config if it is an empty string (signifying that the user wants the default or never set a value.) or does not exist.)
    • Change the config names from "server.sourcerank", "plugin/[pluginname].sourcerank" and "client/[clientname].sourcerank" to something different.
  • Implement per collection-node source preference
  • Add default-properties when saving a collection. (still double-checked when querying, not for pshuffle/queue, as those are to be abolished)
  • Make these properties configureable
  • Change the uniqueness of the medialib table + change the xforms accordingly
  • Allow all the funky querying (needs value_t!)
    • Abolish json-like string for requesting. Request using xmmsv_t instead.
    • Better error handling
    • implement query_medialist
    • implement query_clustered
      • Change syntax to avoid ambiguity
      • Allow distinct tuples
      • Allow collations for clustering diction
      • Allow ordering
    • Aggregates:
      • implode
        • only distinct values
      • min, max, avg
      • list
      • tuple
      • named-tuple?
      • dict
        • only distinct keys
    • Functions:
      • url-decode
      • source-name
      • source-rank
  • Maybe use a dict for the collection-attributes?
  • Add a specials namespace
  • Add proper database updating (once all is stabilized) Done for now
  • Add some optimizations to collquery.c
  • Update collparser
  • Do the FIXMEs
  • Do the TODOs
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.