jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavel Konnikov" <konni...@gmail.com>
Subject Re: jackrabbit-jcr-demo. Another idea.
Date Sun, 08 Apr 2007 18:49:09 GMT
Hello,

On Sat, 07 Apr 2007 11:02:46 +0400, Jukka Zitting  
<jukka.zitting@gmail.com> wrote:

> Do you plan to keep also test results in the repository?

Initially I didn't plan to keep information of test resulting, cause I  
think it would complicate demo-application.
In case of need It would be possible to realize result keeping.

> Instead of using references, would it make more sense to use the tree
> structure for the topic-test relationships? Something like
> /mu:tests/<topic>/<test>. Or is it possible to have multiple topics
> for a single test?

No doubt the situation when one test refers to different topics is  
possible. For example, "JSP & Servlets" test refers
to "Java programming" and to "Web programming".

> Is it possible for a single question to appear in more than one test?
> If yes, then having a separate "questions" tree is OK, otherwise I'd
> put the questions as subnodes of the test that they belong in.

Of course questions and test are different entities. Questions don't  
always need to be in a test. But always should be in "question package",  
cause the only way of adding questions in the test is realized by means of  
packages.

>>    - author (String)
>>    - date (Date)
>
> Do you need these properties on the top-level questions node? Or would
> they be more appropriate for the "question package" concept you
> mentioned?

It's my fault. Of course not author of "questions" - author of "question  
package".
I have changed that. See below.

> BTW, I would assume that the "weight" of a question would be relative
> to a test in which the question appearsh.

The maximum for the test would result of simple sum of results for each  
question. I agree that the information of how
much put to the question in each test (That would depend on the test  
complexity) should be pointed at test forming. As
we are trying to simplify most things, we could leave this and settle the  
question point static at the place it would be
kept.

> Also, as discussed for tagging in Nandana's proposal, it would
> probably make sense to have the test nodes reference the topics
> associated with the test:
>
>     - topics (REFERENCE) mandatory multiple < 'mu:topic'

Should I keep the information about test topic?
I'll try to explain why shouldn't You do that.
Imagine the situation of  "JSP & Servlets" test existence.
The topics "Java programming", "Web programming" exist.
It's clear, that reference to test "JSP & Servlets" would be both in the  
topic "Java programming" and "Web programming".
But in the test by itself there would be only reference on topic "Java  
programming" and no reference on "Web
programming".
The problem of consistency information support appears.
In that case you'd better leave one-way relation: topic -> tests.  
Particularly because tests would be overlooked by
categories and if keep the topic tree, It wouldn't need to be generated in  
contrast to keep the topics by simple list
when each test keeps references on topics.



Repository sturcture example (in path-view):

mu-root (nt:folder)
mu-root/questions-packages (nt:folder)
mu-root/questions-packages/questions-package (mu:question-package)
mu-root/questions-packages/questions-package/question (mu:question)
mu-root/questions-packages/questions-package/question/answer (mu:answer)
mu-root/questions-packages/questions-package/question/image (nt:file)
mu-root/tests (nt:folder)
mu-root/tests/test (mu:test)
mu-root/topics (nt:folder)
mu-root/topics/topic (mu:topic)
mu-root/users (nt:folder)
mu-root/users/user (mu:user)

Repository sturcture example in tree-view:

mu-root (nt:folder)
|
+- questions-packages (nt:folder)
|  |
|  +- questions-package (mu:question-package)
|  |  |
|  |  +- question (mu:question)
|  |  |  |
|  |  |  +- answer (mu:answer)
|  |  |  |
|  |  |  +- ...
|  |  |  |
|  |  |  +- answer (mu:answer)
|  |  |  |
|  |  |  +- image (nt:file)
|  |  |  |
|  |  |  +- ...
|  |  |  |
|  |  |  +- image (nt:file)
|  |  |
|  |  +- ...
|  |  |
|  |  +- question (mu:question)
|  |
|  +- ...
|  |
|  +- questions-package (nt:folder)
|
+- tests (nt:folder)
|  |
|  +- test (mu:test)
|  |
|  +- ...
|  |
|  +- test (mu:test)
|
+- topics (nt:folder)
|  |
|  +- topic (mu:topic)
|  |
|  +- ...
|  |
|  +- topic (mu:topic)
|
+- users (nt:folder)
    |
    +- user (mu:user)
    |
    +- ...
    |
    +- user (mu:user)

Custom types in CND:

<mu = 'http://www.konnikov.net/GSoC/2007/jackrabbit-jcr-demo/0.1'>

[mu:question-package] > nt:folder
   - author (STRING)
   - date (DATE)

[mu:question] > nt:folder, mix:referenceable
   - text (STRING) mandatory primary
   - weight (LONG) mandatory

[mu:answer] > nt:hierarchyNode
   - text (STRING) mandatory primary
   - correct (BOOLEAN) mandatory

[mu:test] > nt:hierarchyNode, mix:referenceable
   - title (STRING) mandatory primary
   - question (REFERENCE) mandatory multiple < 'mu:question'
/*
   - topic (REFERENCE) mandatory multiple < 'mu:topic'
*/

[mu:topic] > nt:hierarchyNode /*, mix:referenceable */
   - theme (STRING)
   - test (REFERENCE) mandatory multiply < 'mu:test'

[mu:user] > nt:hierarchyNode
   - login (STRING)
   - password (STRING)
   - fullName (STRING)

-- 
Best regards. Pavel Konnikov

Mime
View raw message