Project

General

Profile

EditorStrategies » History » Version 12

Andreas Müller, 04/29/2010 02:29 PM

1 1 Andreas Müller
{{>toc}}
2
3
4
5
6
# Editor Strategies
7
8
9
Handling protected cache fields and atomized data, freetext areas and structure data input, objects that need to be updated but are related to other objcets, and other issues at the same time needs defined stratagies.
10
11
12
This page tries to point out the different strategies and to lay emphasis on the possible alternatives and considered rules.
13
14
15
16
17
## Strategies
18
19
20 2 Andreas Müller
Strategies to be considere are
21
22
23 1 Andreas Müller
1. Interaction of cache / atomized fields and protected /non protected states
24
25
1. Locking freetext area
26
27
1. Object change strategy
28
29
1. NameRelationships: Editing (in particular basionyms and replaced synonyms, parsing of homonyms)
30 2 Andreas Müller
31
32
33
## Interaction of cache / atomized fields and protected /non protected states
34 3 Andreas Müller
35
36
to be done
37
38 5 Andreas Müller
39 4 Andreas Müller
Just some text to move this all down
40 3 Andreas Müller
41 5 Andreas Müller
42 4 Andreas Müller
Just some text to move this all down
43 3 Andreas Müller
44 5 Andreas Müller
45 4 Andreas Müller
Just some text to move this all down
46
47 5 Andreas Müller
48 4 Andreas Müller
Just some text to move this all down
49
50 5 Andreas Müller
51 4 Andreas Müller
Just some text to move this all down
52
53
Just some text to move this all down
54
55
Just some text to move this all down
56
57
Just some text to move this all down
58
59
Just some text to move this all down
60
61 5 Andreas Müller
62 4 Andreas Müller
Just some text to move this all down
63
64
Just some text to move this all down
65
66
Just some text to move this all down
67
68
Just some text to move this all down
69
70 5 Andreas Müller
71 4 Andreas Müller
Just some text to move this all down
72
73
Just some text to move this all down
74
75
Just some text to move this all down
76
77
Just some text to move this all down
78
79
Just some text to move this all down
80
81
Just some text to move this all down
82
83
Just some text to move this all down
84
85
Just some text to move this all down
86
87
88
89
90 1 Andreas Müller
## Locking freetext area
91
92
93
94
### Attributes that will lead to a lock independent of the object change strategy
95
96
97 5 Andreas Müller
|Attribute| Reasoning |Example(s)|Actions needed| Notes |
98
|name.appendedPhrase|a change in name.appededPhrase is shown in the fullTitleCache and therefore in the freetext, but name.appended phrase can not be parsed  |  | |  |
99
|NOT: taxon.appendedPhrase| a change in taxon.appededPhrase is not shown in the freetext area| | | | |
100 6 Andreas Müller
|All protected caches like | a change in one of the cache fields is reflected in the fullTitleCache and the freetext. Generally the parser may not be able to set the same protected caches as the details view (either it may unprotect parts that are protected on purpose or more often it will protect other caches that do not need to be protected  | _Areca calisoA Becc., Leafl. Philipp. Bot.  8: 2998 (1919)_ may have a protected namecache because the name part is not parsable. Ones you edit this in the freetext the whole string will not be parsable resulting in a protected full title cache  | | |
101 5 Andreas Müller
|name.fullTitleCache |  |  | | |
102
|name.titleCache |  |  | | |
103
|name.nameCache|  |  | |  |
104
|name.authorshipCache|  |  | | |
105
|name.combinationAuthorTeam.nomenclaturalCache (and other teams)|  |  | | |
106 7 Andreas Müller
107
108
### Attributes that will lead to a lock dependent of the object change strategy
109
110
111
* to be done
112 8 Andreas Müller
113
114
115
## Object Change Strategy
116
117
118 11 Andreas Müller
119
### Intentions
120
121
122 10 Andreas Müller
In general a user may have three main intentions to change an object:
123
124
125
1. Correct a typo / minor corrections
126
127
1. Change the representation of an existing object
128
129
1. Change the object itself
130
131
132
A user may also change a name unintentionally. 
133
134
1. Unintended change of data 
135
136
137
Examples:
138
139
140
1. Askellia elegans (Hook.) W. A. Weber in Phytol*go*ia 55: 6. 1984 -> Askellia elegans (Hook.) W. A. Weber in Phytol*og*ia 55: 6. 1984
141
142
1. **Askellia *elegans (Hook.) W. A. Weber in Phytologia 55*: 6. 1984** -> **A. *elegans (Hook.) W. A. Weber in Phytologia 55** (1984): 6.*
143
144
1. Askellia elegans (Hook.) W. A. Weber in **Phytologia 55: 6. 1984** -> Askellia elegans (Hook.) W. A. Weber in **Trans. Amer. Philos. Soc. 23: tab 7. 1999.** 
145
146 11 Andreas Müller
1. Unintended hit of key or unintended drag&drop 
147 10 Andreas Müller
148 1 Andreas Müller
149 11 Andreas Müller
The four types of object changes differ in the most probable intended object change strategy.
150 1 Andreas Müller
151 11 Andreas Müller
152 10 Andreas Müller
1. For typos / minor corrections the most probable intended change strategy is to change the object itself because also in other contexts the corrected version of the object will be the preferred one.
153
154
1. For representation changes it depends on further conditions what the preferred strategy is. 
155
156 1 Andreas Müller
  a. In a single-user environment or an environment that agrees on sharing the same objects and the same representation for an object the most probable intended change strategy is to keep the object and save it updated.
157
158 11 Andreas Müller
  b. In an environment that shares objects but may want to use different representations for objects (due to personal preferences or due to some other demands, e.g. the need to show historical representations) the most probable intended change strategy is to create a new object / find a matching object
159
160
1. For changing the object itself the most probable intended change strategy is to create a new object / find a matching object.
161
162
1. For unintended changes the most probable intended change strategy is to create a new object (to reduce the damage to a minimum)
163
164
165
Unfortunately we often do not know if a change is intended to be a change of type 1, 2, 3 or 4. However there are different ways to guess what type was intended. You may guess via 
166
167
168 12 Andreas Müller
1. compare functions like Levenshtein distance or others
169 11 Andreas Müller
170
1. the way how the user entered the change
171
172 1 Andreas Müller
  
173 12 Andreas Müller
174
175
176
 ... in work ...
177
178 10 Andreas Müller
179
180
 
181
182 8 Andreas Müller
Object change stragies may have two extremes. The first resulting in almost no new objects when you change any data. The second resulting in only new objects with even objects created new because they relate to a changed object, e.g. a TaxonName may be created new because its nomenclatural reference has been changed.
183
184
185 9 Andreas Müller
In the following these two strategies are described and some rules are extracted.
186
187
188
The objects we talk about are: 
189
190
* taxon
191
192
* taxon name
193
194
* all author teams
195
196
* all author team members
197
198
* nomenclatural reference
199
200
* nomeclatural inreference
201
202
* nomenclatural status (set)
203
204
* name relationships (set)
205
206
* type designations
207
208
* (homotypical groups) 
209
210 10 Andreas Müller
211
212
 | taxon
213
214
* taxon name
215
216
* all author teams
217
218
* all author team members
219
220
* nomenclatural reference
221
222
* nomeclatural inreference
223
224
* nomenclatural status (set)
225
226
* name relationships (set)
227
228
* type designations
229
230
* (homotypical groups) 
231 9 Andreas Müller
232
233
234
235
236
### Strategy 1: Do not create any new objects: all objects will be changed and saved, no new objects are created if not necessary