[Contrib: Evaluation System] Proposed XML schema for import/export of evaluations

Jim Eng jimeng at umich.edu
Fri Sep 11 21:12:06 PDT 2009


I finished the top-down view.  While doing that, I found a couple  
minor errors and will correct them in the next version.  But I'll wait  
a few days before creating a new version to give people a chance to  
look at this version.  Please take a look if you are interested in the  
import/export capability.

Thanks.

Jim


On Sep 11, 2009, at 5:23 PM, Jim Eng wrote:

> I have posted a new draft of the proposed schema.  There's a link to  
> it near the top of this page in Confluence:
>
> http://confluence.sakaiproject.org//x/Hw-tAw
>
> The significant changes are that I added the "update_policy"  
> attribute to EVAL_DATA element and reworded documentation of  
> EVAL_DATA element to make it clearer that certain top-level elements  
> within the EVAL_DATA element may contain one or more elements.  The  
> "update_policy" attribute is my attempt to deal with the issue I  
> mentioned yesterday about the behavior of the import utility when  
> attempting to import an element that already exists within the system.
>
> All of this is a proposal and open for discussion and revision.
>
> The Confluence page contains a link to the XML Schema for Version  
> 005 (http://www-personal.umich.edu/~jimeng/eval_data005/ 
> eval_data.xsd) and a link to the html documentation for Version 005 (http://www-personal.umich.edu/~jimeng/eval_data005/eval_data.html 
> ).
>
> The Confluence page also contains a link to top-down view of the  
> latest version within Confluence (http://confluence.sakaiproject.org//x/TBDtAw 
> ).  That is my attempt to make it easier for people to comment on  
> details of the proposed schema or propose changes and additions. I  
> would guess that this top-down view is about one-third done.  In  
> other words, I have added about one-third of the pages that will be  
> needed to fully document the proposed schema.
>
> You're invited to look through these pages, add comments, suggest  
> additions, suggest revisions, etc. If you find it easier to work  
> from schema itself (http://www-personal.umich.edu/~jimeng/eval_data005/eval_data.xsd 
> ) or the html documentation for the schema (http://www-personal.umich.edu/~jimeng/eval_data005/eval_data.html 
> ) and then send comments by email, you're welcome to do that. Or you  
> can add comments to the main confluence page (http://confluence.sakaiproject.org//x/Hw-tAw 
> ).
>
> Thanks.
>
> Jim
>
>
>
> On Sep 10, 2009, at 5:43 PM, Jim Eng wrote:
>
>> Our fourth draft is here:
>>
>> http://www-personal.umich.edu/~jimeng/eval_data004/eval_data.html
>>
>> The first three drafts were just to get it to the point where it  
>> documents fairly well what Dick Ellis implemented in the Michigan  
>> branch, with a few extensions or changes we plan to make before  
>> merging it to trunk.  Dick implemented code to import files in this  
>> format.  Export has not yet been done.
>>
>> Some eval model classes are missing from this schema because they  
>> are not needed at Michigan.  If you want additional types added to  
>> the import/export capability, please let me know and I will add  
>> them to the schema.
>>
>> I would appreciate help working through the lists of properties for  
>> each type of element to ensure that they are correct.  If a  
>> property is not needed in some cases and is needed in others, it  
>> should have minOccurs set to 0.  If a property is always required,  
>> minOccurs is not needed (since the defaults for both minOccurs and  
>> maxOccurs are 1).
>>
>> I would like to raise another issue having to do with the behavior  
>> when an element defines an object that is already defined in the  
>> system.  We have discussed three possible responses:
>>
>> 1) reject the changes (i.e. make no changes in the current state of  
>> the object and report an error)
>>
>> 2) make the changes in the existing object (but not in other  
>> objects that might depend on it)
>>
>> 3) make the changes and cascade them to all objects that depend on  
>> the changed object.
>>
>> An example related to options 2 and 3 would be when an import file  
>> includes a definition for a template that already exists in the  
>> system (i.e. same EID as an existing template).  The original  
>> import implementation at Michigan replaced all property values of  
>> the existing template with the new values and then also changed the  
>> values in all evaluations that referred to that template.  That is  
>> described by item 3 above. It produced unexpected results that were  
>> wrong in some cases. Dick then removed the cascading capability,  
>> giving us something like item 2 above.  That works better, but now  
>> we are changing policies so changes are effected by replacing the  
>> old item with a new item (i.e. a different EID).  In that case,  
>> most attempts to change an existing item from an import file are  
>> invalid and should be rejected.  That is best described by item 1  
>> above.
>>
>> We could implement the import utility to effect any or all of these  
>> policies.  I think it makes most sense to control it with a  
>> property.  It could be a system-wide setting.  Or it could be an  
>> attribute of the EVAL_DATA element:
>>
>> <EVAL_DATA duplicate_policy="reject">
>> 	...
>> </EVAL_DATA>
>>
>> <EVAL_DATA duplicate_policy="accept">
>> 	...
>> </EVAL_DATA>
>>
>> <EVAL_DATA duplicate_policy="cascade">
>> 	...
>> </EVAL_DATA>
>>
>> We would need to work out some details about each one.
>>
>> Thoughts?
>>
>> Jim
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/evaluation/attachments/20090912/7e2f5369/attachment.html 


More information about the evaluation mailing list