diff options
Diffstat (limited to 'devdoc')
-rw-r--r-- | devdoc/viewer_index_v2.1.md | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/devdoc/viewer_index_v2.1.md b/devdoc/viewer_index_v2.1.md index c37e925..0595a55 100644 --- a/devdoc/viewer_index_v2.1.md +++ b/devdoc/viewer_index_v2.1.md | |||
@@ -1,7 +1,7 @@ | |||
1 | --- | 1 | --- |
2 | title: "Viewer: index v2.1" | 2 | title: "Viewer: index v2.1" |
3 | author: pacien | 3 | author: pacien |
4 | date: 2022-10-22 (v2) | 4 | date: 2022-10-25 (v3) |
5 | --- | 5 | --- |
6 | 6 | ||
7 | # Abstract | 7 | # Abstract |
@@ -19,8 +19,9 @@ specification to clarify the problematic behaviours. | |||
19 | 19 | ||
20 | # Document version history | 20 | # Document version history |
21 | 21 | ||
22 | 1. 2022-10-15: call notes | 22 | 1. 2022-10-15 by pacien: call notes |
23 | 2. 2022-10-22: rewritten | 23 | 2. 2022-10-22 by pacien: rewritten |
24 | 3. 2022-10-25 by pacien: include feedbacks from zeroinformatique | ||
24 | 25 | ||
25 | 26 | ||
26 | # Description of the current implementation | 27 | # Description of the current implementation |
@@ -34,8 +35,9 @@ Two indexes are derived from that file through the `indexFactory` service: | |||
34 | 35 | ||
35 | - `tagsIndex`: | 36 | - `tagsIndex`: |
36 | - Maps each tag "part" (component) to items tagged with it. | 37 | - Maps each tag "part" (component) to items tagged with it. |
37 | - Maps the left-most disambiguating component to all components on its right. | 38 | - Maps tags to their immediately preceding disambiguating component as child. |
38 | - Includes a normalised version of the tag for searching. | 39 | - Includes a normalised version of the tag for searching. |
40 | - Stores the `childPart`, used to generate tag categories indexes. | ||
39 | - (Stores the left-most `rootPart` component. This is not used anywhere). | 41 | - (Stores the left-most `rootPart` component. This is not used anywhere). |
40 | 42 | ||
41 | - `tagsCategories`: | 43 | - `tagsCategories`: |
@@ -55,7 +57,9 @@ including the disambiguating tag parts. | |||
55 | 57 | ||
56 | The auto-completion suggestions are independent of the current directory. | 58 | The auto-completion suggestions are independent of the current directory. |
57 | Suggestions yielding no result (incompatible with the current search query) are | 59 | Suggestions yielding no result (incompatible with the current search query) are |
58 | not excluded either. | 60 | not excluded either. The current implementation makes the choice of suggesting |
61 | everything because the current index does not allow finer filtering, and | ||
62 | because walking the whole item tree may lead to performance issues. | ||
59 | 63 | ||
60 | 64 | ||
61 | ## Item search | 65 | ## Item search |
@@ -107,8 +111,14 @@ This is computed using a full gallery search through the `galleryStore` using | |||
107 | - It is not clear whether intermediate tag components should be treated as | 111 | - It is not clear whether intermediate tag components should be treated as |
108 | tags and suggested at all. (They currently are). | 112 | tags and suggested at all. (They currently are). |
109 | 113 | ||
110 | - Tags with more than two components do not seem to be handled correctly: | 114 | - Tags with indirect disambiguations are not handled correctly: |
111 | - `a:b:c`: `c` is not registered as a child of `a` in `tagsIndex`. | 115 | - Example in `a:b:c`: |
116 | - `b` is a child of `a`, `c` is a child of `b`. | ||
117 | - But `c` is not registered as a child of `a` in `tagsIndex`. | ||
118 | |||
119 | - Homonymous disambiguated tags are not handled in separate categories. | ||
120 | - Example with `a` and `b:a`: | ||
121 | - `a` seems to be shown under category `b`. | ||
112 | - This seems to be the cause of tags being displayed in the wrong category in | 122 | - This seems to be the cause of tags being displayed in the wrong category in |
113 | the suggestion pane. | 123 | the suggestion pane. |
114 | 124 | ||
@@ -117,6 +127,7 @@ This is computed using a full gallery search through the `galleryStore` using | |||
117 | panel, which restricts the suggestions. | 127 | panel, which restricts the suggestions. |
118 | - This might however be problematic for forced inclusions (union) tags | 128 | - This might however be problematic for forced inclusions (union) tags |
119 | which are still meaningful. | 129 | which are still meaningful. |
130 | - They could still be listed but greyed for example. | ||
120 | 131 | ||
121 | - The tag occurrence counts in the related tags "propositions" pane is | 132 | - The tag occurrence counts in the related tags "propositions" pane is |
122 | misleading: | 133 | misleading: |