Changes: adapt reference queries, variable to iri projections in fn:concat no longer...
[qtcontacts-tracker:hasselmms-qtcontacts-tracker.git] / FUTURE
1 Implement missing QtContacts API
2 ---------------------------------
3
4  - QContact::preferredDetails()
5  - QContact::tags()
6  - QContact::relationships()
7  - what else?
8
9 First step would be to implement or steal unit tests.
10
11 Sorting in fetch requests implemented in query
12 -----------------------------------------------
13
14 (sorting also missing from QContactLocalIdFetchRequest)
15
16 sorting for QContactLocalIdFetchRequest is not implemented.
17 would be complex to implement as you would have to replicate the filtering framework
18 so won't happen before we got query sanity
19
20 but local id fetch request could be a good test bed: when it works and query sanity is done,
21 we might just apply the localidfetchrequest code to the contact fetchrequest
22 BlankPolicy seems to be hard to implement (?)
23 currently we use qtcontacts infrastructure and sort the retrieved result
24
25 for sorting local ids we'd have to create "order by" statements in the query.
26 this feature should be added to the query builder class
27
28
29 QContactManagerEngineV2
30 ------------------------
31 nothing done yet, explicite support might not be needed, qtm's fallback implementation hopefully is good enough,
32 incl. for partial saving.
33 only have to implement QContactManagerEngineV2 if we have ideas for optimization
34 (like for partial saving without doing the fetch as fallback does, pretty relevant for performance)
35
36 we should have unit tests, checking that QContactManagerEngineV2 features work properly with our plugin
37 also to see where custom code is really useful
38 could be used to check our own v2 implementations, once done
39
40 hasselmm proposal for partial saving:
41 all the QTrackerContactDetail loops in the save request might just have to check if the detail is covered
42 by the save request's definition list
43
44 probably should keep some fallback path in our engine, ignoring v2 support, as the v2 fallback mechanisms
45 are some kind of unit test we get from qt contacts for free
46 if V2 features work with their fallback implementation we have some indication that their and our interpretation
47 of some API doesn't differ too much
48
49         // Build custom detail query when needed
50         if (not context->customDetailHints.isEmpty()) {
51             context->queries += customDetailQuery(*context);
52         }
53 in QTrackerContactFetchRequest::buildQueries()
54
55 guess we must just fetch all custom details if the fetch hint doesn't restrict details
56
57
58 Refcounting on used resources
59 ------------------------------
60
61 nie:usageCounter a rdf:Property ;
62         nrl:maxCardinality 1 ;
63         rdfs:domain nie:InformationElement ;
64         rdfs:range xsd:integer ;
65         tracker:isAnnotation true ;
66         tracker:weight 3 .
67
68 we might want to use that reference counter on phone numbers, email addresses and so on