Alexey Parshin wrote:
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.From what you're saying, the course isn't necessary for the topic.
In real life, the topic always belongs to some course.
Right, and this is to be implemented, when a course is created.
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 do understand the situation when topic belongs to more than one course - that totally makes sense.
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: Course[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit§ion=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§ion=16>]
Optional Features * Topics. * Tests * Competitions * List of experts[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit§ion=17>]
Necessary Features * Title[edit <http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit§ion=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§ion=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 <firstname.lastname@example.org <mailto:email@example.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 eventually) Definitions. Topic: Unit of content organization. It is umbrella under which sub-topics, problems, explanations, texts, tests, etc. are gathered. Course: 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 spec). This does _not_ mean its content is not shareable. Just the administrative aspects. B. When user creates course, interface is such, that he sets up administrative 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 features as normal topic. What this means for logical organization of functionality (Model layer). Course becomes a direct derivative of topic: it basically has same functionality as normal topic (has problems, tests, subtopics, etc). Plus it has some extra 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 sharing/copying 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 basis. -- Ilya A. Volynets-Evenbakh Total Knowledge. CTO http://www.total-knowledge.com -- Alexey Parshin,http://www.sptk.net
-- Anatoly Volynets, Co-Founder total-knowledge.com culturedialogue.org
Authoright © Total Knowledge: 2001-2008