ZedVal f2f Stockholm May 2005 ** day one ** ZedVal Background Architecture overview Three main parts Engine: has the parts that does not change contains basic utilities; File object hierarchy Test Processors (dtd, schema, xslt, custom) inherit from the same interface, return the same kind of values ZedSuite: is specific for the set of tests testMap, procMap implementations of tests (dts, schemas, etc) Application: the simplest part if wanting to replace application currently default application: load maps, create test processors, execute MG: possible to instantiate programmatically? JP: all you need to do is create another zedval object PK: the existing one needs a method that takes in parameters JP: main work for us is testprocessor changes - but: possibly add application instantiation; PK what does it get from zedval, what does it expose when its done PK: also requires improvements in error handling JP: should be added to zedval.java; we may consider splitting JP: command line processing library from apache JP: zedvalrunner object that does part of what the application does - but: mod to reporter (stax or ecs) - but: java testprocessor error reporting could be simplified with an abstract parent @specversion and mime -- handling of multiple specversions -- assumptions: - application and engine should be spec version agnostic - suite should be spec version specific --> new testMap --> new processorMap JP: specVersion, zedvalEngineVersion, resourceRootDirectory, testMapRef --> procMap to reference 2002 processors (xslt, customTest) where there is no change --> application --> engine ZedFile Hierarchy must support 2002 and 2005 Proposed work order; 1. put together new testMap (NLS) 2. put together new procMap for that testMap --> use Schematron? --> use XSLT? --> drop DTD test proc and use CUSTOM (validate during init sax parse) --> use custom for interdoc link? 4. Make changes to engine fileset hierarchy - make sure that new properties are populated - use jlayer for mp3File - go jaxp1.3 - entity resolver 5. Rewrite RNG test processor (and possibly XSLT processor) 6. Implement the new tests 7. Start looking at general refinement issues - new reportwriter - new commandline parser - fix exception handling ** day 2 ** think of procMap as the document that describes the whole context for a particular test environment - testMap loc - resource root - catalog existing procMap stays but is extended ES: what do we get from XSLT JP: presence of metadata, audiofile exists, clipBegin if multiple navLabels exist, they are in different languages for customTests can we use StAX? Hypothetical decision - to drop XSLT and move to sch+custom reasons for dumping XSLT - improve readability but have to keep xslt/xalan in 2002 compilation of new test/procMap ids ** day 4 ** ** ESTIMATED TIME ** Phase 1: 28 hours: 1 day per person Phase 2: 136 hours; 17 days: 5 days per person Phase 3: 32 hours approx -> not counting post-release and admin stuff ** AVAILABILITY ** Vacation dates - Piotr: 15th July--27th August - Edmar: 1 August--20th August, and 12 september -- 18 september - James: no complete unavailiability - Markus: probably gone september/october ** SCHEDULE ** Milestone: 15 July == end iteration 1 zedval shall be runnable again on 2002 books [to be tagged in CVS 1.2] primary focus during July: (markus/edmar: do at least RNG, possibly SCH) james/markus focus on map analysis piotr/edmar focus on iter1 coding tasks Milestone: end August - procMap done - decisions made on Schematron/XSLT - spec for all new implementations (what new props of files etc) Milestone: mid October == end iteration 2 - all tests implemented (customTests (w changes to file classes), RNG, (SCH||XSLT), - we cut a beta release 2.0 At this point, ready to begin external testing Iteration 3 development may take place during external testing phase ** procMap building process ** (each person takes one file type [4x8]) - analyze/fix the tests in testMap - if exists: check current procMap impl; changes required? - if no changes, just copy values from 2002 procMap - if new impl: how, and indicate this in procMap procType attribute: leaving "uses" empty to indicate its new - if changed impl; add '2005' to uses name