← Back to team overview

schooltool-developers team mailing list archive

CourseInfo/Cando skin conflict

 

Hey Justas,

I'm working on getting cando to work with schooltool.courseinfo for
David Welsh, and after figuring out how to install the checkout of
schooltool.courseinfo to the test server (various changes to setup.py)
 and putting the slug in the plugins directory, I get an error on
startup of the server with a conflict with the defaultSkin.

You see, in order to override the schoolyear add view in the
courseinfo package, I created a coursinfo layer and put it in the
courseinfo skin that I then in turn made the defualtSkin.  Usually,
like in the case of cambodia or niepa, we create a skin in those
packages and make them the default.  However, cando itself does the
same thing, so it can't be possible to make both cando and courseinfo
the default skin.

I had to solve this problem before for niepa, but the solution was to
make the niepa skin inherit from the cando skin.  That was possible
only because our customer was still in research mode, so making such
an assumption of niepa inheriting from cando was not a problem.
However, in David Welsh's case, he has a production instance of cando
to which he wishes to add the courseinfo package.  Cando doesn't know
about the courseinfo package, so having it inherit from that would not
be possible.

Something tells me that this kind of issue will continue to show up
until we come up with some kind of general way of having packages
register their views against their own layers and somehow dynamically
build the skin when all the packages are loaded together.  I don't
know if that is even possible in theory.  Could you please think about
this issue for the upcoming meeting.

The courseinfo package I'm referring to is found at:

lp:~schooltool-developers/schooltool/schooltool.courseinfo

You can see the layer and view that I register against as well as the
defaultSkin directive it in the browser/configure.zcml file.

Thanks,
Alan