[
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:
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>]
Topic
[edit
<http://www.total-knowledge.com/wiki/index.php?title=UU&action=edit§ion=18>]
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 <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
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