Forum .LRN Q&A: Re: thinking in dotlrn and the university educational model

Hello Peter!

It's wonderful that you're interested in this feature, perhaps i can send you my modifications to the source code, or talk about it in this thread. I go to do it!

I thought model departments and classes with community-types. Why not?. I continue thinking that this diagram is a good model for dotlrn, but i will want listen other ideas.

Another thing, i think that the modificated tables could have this aspect:

create table dotlrn_faculties
    faculty_key                 varchar(100)
                                constraint dotlrn_faculties_key_fk
                                references dotlrn_community_types (community_type)
                                constraint dotlrn_faculties_pk
                                primary key,
    external_url                varchar(4000)
);
create table dotlrn_departments (
    department_key              varchar(100)
                                constraint dotlrn_departments_dept_key_fk
                                references dotlrn_community_types (community_type)
                                constraint dotlrn_departments_pk
                                primary key,
    external_url                varchar(4000),
create table dotlrn_classes (
    class_key                   varchar(100)
                                constraint dotlrn_classes_class_key_fk
                                references dotlrn_community_types (community_type)
                                constraint dotlrn_classes_pk
                                primary key,
                                                                                                    
);

We can establish the relationship between class and department when we create the department creating a composition_rel. I'm not sure if implement this, in pl/sql in the file classes-create.sql or in class-procs.* thanks to next query

      select composition_rel__new(:class_key, :department_id)
      from dual;

I think that is more elegant use pl/sql but it don't seem be used:

[12:09][darroyo@pikachu:~/cvs/dotlrn]$ grep -rl dotlrn_class__new *
packages/dotlrn/sql/postgresql/classes-create.sql

Thanks for your interest!