X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=RATIONALE;h=b37e1a2fe8b993596b692b201dfa34434fba00f8;hb=a985411066a41bc9d656d844d4bfd8f57ce16036;hp=e68dcb883f225cf6ec58b0ecdaa9f596a126ee8d;hpb=0a217a8df1657b4334b55b0e4a6c7837a8dbcfd9;p=oweals%2Fgnunet.git diff --git a/RATIONALE b/RATIONALE index e68dcb883..b37e1a2fe 100644 --- a/RATIONALE +++ b/RATIONALE @@ -234,6 +234,8 @@ PROBLEM GROUP 6 (FS-APIs): * If GUIs die (or are not properly shutdown), state of current transactions is lost (FSUI only saves to disk on shutdown) +* FILENAME metadata is killed by ECRS/FSUI to avoid + exposing HOME, but what if the user set it manually? SOLUTION (draft, not done yet, details missing...): * Eliminate threads from FS-APIs @@ -243,4 +245,47 @@ SOLUTION (draft, not done yet, details missing...): * Store FS-state always also on disk => Open question: how to do this without compromising state/scalability? +* Have API to manipulate sharing tree before + upload; have auto-construction modify FILENAME + but allow user-modifications afterwards +PROBLEM GROUP 7 (User experience): +* Searches often do not return a sufficient / significant number of + results +* Sharing a directory with thousands of similar files (image/jpeg) + creates thousands of search results for the mime-type keyword + (problem with DB performance, network transmission, caching, + end-user display, etc.) + +SOLUTION (draft, not done yet, details missing...): +* Canonicalize keywords (see suggestion on mailinglist end of + June 2009: keep consonants and sort those alphabetically); + while I think we must have an option to disable this feature + (for more private sharing), I do think it would make a reasonable + default +* When sharing directories, extract keywords first and then + push keywords that are common in all files up to the + directory level; when processing an AND-ed query and a directory + is found to match the result, do an inspection on the metadata + of the files in the directory to possibly produce further results + (requires downloading of the directory in the background) + + + + +SUMMARY: +* Features eliminated from util: + - threading (goal: good riddance!) + - complex logging features [ectx-passing, target-kinds] (goal: good riddance!) + - complex configuration features [defaults, notifications] (goal: good riddance!) + - network traffic monitors (goal: eliminate) + - IPC semaphores (goal: d-bus? / eliminate?) + - second timers + - DNS lookup (goal: have async service; issue: still need synchronous + resolution in places, current code may not be portable) + => code shrunk from 61 files to 34, 22k LOC to 15k LOC, 470k to 330k (with symbols) +* New features in util: + - scheduler + - service and program boot-strap code +* Major changes in util: + - more expressive server (replaces selector)