60 likes | 149 Vues
Detailed review of MW logical model with UI styling, XML structure, data preparation, validation, and API-façade layer implementation.
E N D
Deposition UI Middleware Strategy (MW logical model) Tom Oldfield Reviewed with JW, SV, TO, LR, GV, MQ via teleconference on Oct 21, 2011
Logical model for MWShowing Release 1 times/days – total = 6 weeks (30 days) 5 UI style <XML> UI structure Fieldset help 10 Field Help Enumeration validation mmCIF Dictionary Prepare once MW dictionary UI page request Prepare once 7 Json MW Json builder from K:V data, MW-dictionary, UI defintions. UI Runtime “load” 5 mmCIF Data Instance data K:W * Form (K:V) Runtime “save” UI page action event UI page action Slide 6 Key:value pair save <XML> Status DB 3 Page state
Logical model for MWShowing Release 2 times/days – total = 2 weeks (10 days) UI style <XML> UI structure Fieldset help Field Help Enumeration validation 14 mmCIF Dictionary Prepare once MW dictionary UI page request Prepare once Json MW Json builder from K:V data, MW-dictionary, UI defintions. UI Runtime “load” mmCIF Data Instance data K:W Form (K:V) Runtime “save” UI page action event UI page action Key:value pair save <XML> Status DB Page state
Logical model for MWShowing Release 3 times/days – total = 1 weeks (5 days) UI style <XML> UI structure Fieldset help Field Help Enumeration validation mmCIF Dictionary Prepare once MW dictionary UI page request Prepare once Json MW Json builder from K:V data, MW-dictionary, UI defintions. UI Runtime “load” mmCIF Data Instance data K:W 2 Form (K:V) 1 Runtime “save” UI page action event UI page action 2 Key:value pair save <XML> Status DB Page state
Logical model for MWShowing Release 4 times/days – total = 6 weeks (30 days) UI style <XML> UI structure Fieldset help Field Help Enumeration validation mmCIF Dictionary Prepare once MW dictionary UI page request Prepare once 25 Json MW Lookup web-server for auto-complete Cross field validation etc UI Runtime “load” mmCIF Data Instance data K:W Form (K:V) Runtime “save” UI page action event UI page action 5 Key:value pair save <XML> Status DB Page state
API-façade layer • The API façade layer will grab all data on load and send all data on write. • The data will be loaded using the MW structure module, inner loop : For fieldSet in container: def = getFieldSetDef(fieldsetName) instanceCount = numberOfInstance(fieldSetName) For n in range(0,instanceCount): fieldSetInstance = getInstance(fieldSetName,n) For item in def: Key,value = getValue(item,fieldSetName,n) • The key for an item will be formed using – where an item definition name is unique in the entire MW data model. • itemKey = itemName+str(n) • The item key is now unique across the MW. • Placing data back into the API will manage the unique keys in the same way.