Ticket #639 (closed todo: done)

Opened 20 months ago

Last modified 16 months ago

how to search/query for objects

Reported by: ichthyo Owned by: ichthyo
Priority: normal Milestone: 0integration
Component: lumieraProc Keywords: interfaces design session
Cc: Blocked By: #339, #641
Blocking: #319, #632, #640, #644

Description

define a top-level entry point for retrieving specific objects from the session. Later this may/will be unified with the ConfigQuery and the DefaultsManager

Change History

comment:1 Changed 20 months ago by ichthyo

  • Status changed from new to accepted

Starting to collect thoughts and informations regarding this topic....

  • first off -- yes indeed, thats something needing clarification, it isn't settled yet
  • currently we've gotten three different kinds of queries: config, default, discovery.
  • the intention is to unify them eventually, but this isn't going to happen soon
  • this problem here relates mostly to discovery queries
  • but later, the general config queries will too allow to pose such discovery requests
  • discovery queries happen on the QueryFocus and alternatively on the dedicated query functions ("Track::getClips()") of the session API
  • here, we're indeed lacking a variant of the query() function allowing to pick specific objects found during the discovery.

See the following pages in the TiddlyWiki:

comment:2 Changed 20 months ago by ichthyo

So, more specifically, the question is:

  • shall we implement a kind of additional filtering on the query()-function, beyond just the filtering by type (which is already in place)?
  • is such a filtering easy to use in practice? (read: how to code up the required closure/functor when issuing an actual query?)
  • doesn't this interfere with the more generic "config queries" (which are only planned by now)?
  • how could an equivalent "config query" implemented in practice? (read: how to implement the respective predicates by Proc functionality?)

comment:3 Changed 20 months ago by ichthyo

  • Blocking 640 added

comment:4 Changed 20 months ago by ichthyo

  • Blocked By 641 added

comment:5 Changed 20 months ago by ichthyo

  • Blocking 644 added

comment:6 Changed 20 months ago by ichthyo

  • Priority changed from grave to normal

Coded up and basically done now (with the exception of the question regarding the general "config query".... thats future work).

Implemented a filtering mechanism with client-provided predicate (functor) and defined a session interface to invoke it. Usage passes compiler, but can't test it yet because of the missing QueryFocus implementation (see #310 )

comment:7 Changed 16 months ago by ichthyo

  • Status changed from accepted to closed
  • Resolution set to done

Meanwhile QueryFocus is fully implemented and working...

Defined a SessionElementQuery_test just to be sure this fetch-element-from-session works as expected

Note: See TracTickets for help on using tickets.