Thanks all for comments. It really helped.

I settled in this relationship which seems solve all problems, atleast
as of now.

Entity Group (EG) #1
User     -      User related CRUD can be done

EG#2
Exam      -        Exam related CRUD can be done

EG#3
PageIndex               -         Contains all (keys of) Pages under
Exam, in order. Page CR and D, (re)ordering of Pages can be done
simply & maintaining data integrity.
Page                       -         Page CRUD can be done. Deletion
will just happen in PageIndex first and then here. Can also done in
transaction if needed as we are in same EG
QuestionIndex          -         Contains all (keys of) Questions
under a Page in order. Question (re)ordering can be done. Note
Question can be reordered within a Page or from 1 page to another and
can be done as all QuestionIndex  are in same EG. Also Question CR, D
can be done.

EG#4
Question                -          Actual Question CRUD. Like Page,
deletion of Question will happen in QuestionIndex (yes only its key)
and lated propagated to actual entity here. Its ok if deletion of key
of Question happens in QuestionIndex passes and it fails when actual
Question is deleted, as we can try again later and the single source
of truth would be QuestionIndex
Answer                   -         Answer CRUD

Hope this also helps someone.
I would be happy if someone points out flaws in my modeling.

Andy,
Am not clear about yr question. May be if you could show what are the
relevant entities and what exactly should be the relationship btw
them, i can share my 2 cents.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to