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