Home Projects Jobs Clientele Contact


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: course <-> topic, take 3

Alexey Parshin wrote:
From what you're saying, the course isn't necessary for the topic.
That is right in certain sense. By specs, a topic (like ANY other UMO in THIS environment!) may be created alone, for the purpose just to be created. In this case it stays in Repository under category "Topics". We have to decide if stand alone topic (like any other UMO, except for Course) may be allowed on proprietary server. As of now I tend to forbid this.
In real life, the topic always belongs to some course.
Right, and this is to be implemented, when a course is created.

I do understand the situation when topic belongs to more than one course - that totally makes sense.
This requires clarification. "This topic" may be used in different courses when it is sharable. OTOH, logically it belongs to that one course only it is included in! These are different relationships.
I don't see much difference so far between the top-level topic and the course. The only difference I can see so far is the connection to the students. In that case top-level topic is the course. However, the topic may also have connection to the persons such as access level and status, for instance.
Please, clarify this by displaying detail in specs:


[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit&section=15>]

     Necessary Features

   * Title

   * Author(s)

   * Choice of server:

Open Server or Proprietary one

   * Choice of access for students:

         o Free or Paid Course

[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit&section=16>]

     Optional Features

   * Topics.

   * Tests

   * Competitions

   * List of experts

[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit&section=17>]


[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit&section=18>]

     Necessary Features

   * Title

[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit&section=19>]

     Optional Features

   * Summary (Annotation)

   * Test

   * Explanations

   * Blocks of problems of different difficulty levels

[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit&section=20>

So, my original schema was correct, and topic relates to course as many to many.

Again: talking about what? Shareability or content relationship? If this is the later - no: one course - many topics.
2006/10/13, Ilya A. Volynets-Evenbakh <ilya@total-knowledge.com <mailto:ilya@total-knowledge.com>>:

    I guess I didn't say everything that needs to be said on this subject
    in coherent manner. Let's try to clear out some of this confusion, so
    that we don't get stuck on this (fairly minor) detail of design.
    (Some of things I will say here will be changes to functional
    spec, that
    are still not reflected in our wiki. I'll get around to that


    Unit of content organization. It is umbrella under which sub-topics,
    explanations, texts, tests, etc. are gathered.

    Administrative entity that encompasses certain content structure
    for purposes of linking it with students.

    What this means to end user.

    A. Course is non-shareable entity (this is a change from original
    This does _not_ mean its content is not shareable. Just the

    B. When user creates course, interface is such, that he sets up
    features separately from content.

    C. Interface to creating content of course can be organized in
    exactly same
    way as interface to creation of any topic, as it really has all
    the same
    as normal topic.

    What this means for logical organization of functionality (Model

    Course becomes a direct derivative of topic: it basically has same
    as normal topic (has problems, tests, subtopics, etc). Plus it has
    functionality: it takes care of students signing up for it, getting
    grades (if we
    ever implement this kind of thing), etc.

    What this means on data layer:

    Course becomes an additional set of data pieces that is associated
    with some
    topics. In other words: each course has a TLT (top level topic),
    that it
    is associated
    with. More then one course can have same TLT - this is how course
    is implemented. Topic doesn't have to have direct relationship
    with course
    (could be just a stand-alone object not yet used anywhere, could
    be subtopic
    of some other topics).

    This is still not quite complete write out of my vision, but I can't
    think of the way
    to make it both concise and complete. If you have
    questions/comments, please
    try to keep all three layers in mind. This should give us a good

    Ilya A. Volynets-Evenbakh
    Total Knowledge. CTO

Alexey Parshin,


Anatoly Volynets, Co-Founder

Authoright © Total Knowledge: 2001-2008