← Back to team overview

schooltool-developers team mailing list archive

Enrollment states implementation

 

My idea to fulfill the Enrollment States user story (http://docs.google.com/Doc?docid=0AXUw5wdlJ-oLYWZtYzU3azltMzZjXzEyN2N0NXJnZGNo&hl=en) is influenced by the way CanDo handles course/section association of competencies, and by the way SchoolTool handles members and instructors in sections, and how sections are related to courses. I'm talking about RelationshipProperties.

I like how easy is to say section.members.add(person) or how safe is to blow the whole CanDo competencies container get your courses/sections not having anything associated anymore. We also have adapters like IInstructor/ILearner to get from the teacher/student to their sections.

We could add a container to the ISchoolToolApplication object:

app['schooltool.enrollment_states']

which would contain IEnrollmentState objects. These objects would provide:

- id (TextLine)
- title (TextLine)
- description (Text)
- members (RelationshipProperty)

Maybe we could add two marker interfaces to distinguish "basic" and "extended" states: IBasicEnrollmentState(IEnrollmentState) and IExtendedEnrollmentState(IEnrollmentState) instead of a "type" attribute.

And the proposal says that basic states can be hardcoded, so I'm thinking we could add them on initialization (or startup or evolution) and not let the user to modify them, delete them or add more basic states.

The user would be able to add/modify/delete extended states.

An evolution script would be necessary to add all existing students to the 'enrolled' basic state.

And I know that the student just needs ONE basic state and ONE optional extended state, and that RelationshipProperties can handle multiple values. But I take as an example the way sections relate to courses. Even though in the data model it's possible to have multiple courses for a section, the user interface doesn't allow the user to do it.

Let me know what you think.

Douglas

"... allí­ es cuando te das cuenta que las cosas malas pueden resultar bastante buenas..." - Lionel Messi

Por favor, evite enviarme adjuntos de Word, Excel o PowerPoint.
Vea http://www.gnu.org/philosophy/no-word-attachments.es.html



Follow ups