[K12OSN] Frameworks for Web based Student Information Systems

Tom Hoffman tom.hoffman at gmail.com
Tue Jan 16 22:39:41 UTC 2007


On 1/16/07, Robert Arkiletian <robark at gmail.com> wrote:
> Not sure how many developers are on this list but here goes.
>
> What types of frameworks would be best suited for developing a full
> featured large scale (district level) Student Information System?
>
> The ones which I know exist are
> J2EE
> JBoss
> Zope (Python)
> Django (Python)
> Ruby on Rails
> PHP
>
> I'm assuming the database backend would be PostgreSQL, MySQL or Oracle.
>
> The real question is if one (or more) district(s) was to hire a team
> of developers to write a GPLed SIS, how long would this take and cost?
> (Approx.)
>
> I realize this is probably not the best place to ask this question.
> Where should this question be asked?

This is as good a place as any to ask the question.  Having managed
the development of a GPL-ed SIS for the past couple years, I've got
some experience with the matter.

A student information system for one school, or for one type of school
isn't a very complicated operation.  I know of plenty of anecdotal
cases of a team of two or three reasonably competent developers
writing a system for their school in a year or less.  In the past,
this usually meant FileMaker or FoxPro, but agile frameworks like
Django or Rails provide equally rapid development.

I'm not sure what the difference in cost to scale up to a whole
district would be.  The Providence School Department still runs off a
FoxPro database, as far as I know.  I think it is fair to say that the
knee-jerk reaction by most folks is to jump up to a big Java solution,
but it is probably not necessary.

Anyhow, the big question becomes your ambitions beyond simply making
an application for your district.  I've found that the numbers in the
first chapter of the classic Mythical Man-Month are pretty accurate.
That is, if just writing the application for your own use takes X
amount of time.  Getting it to the point where it is sufficiently
robust, documented, packaged, tested so that anyone can use it will
take 3X.  If you want it to be easily modified and extensible in a
systematic way by third parties, that'll take 3X.  If you want both,
you're looking at 9X.

This is, generally speaking, why there are so few open source SIS's,
despite the fact that a number of people have written systems for
their own schools using open source frameworks.  The one or two
developers who wrote the application can't then devote the necessary
time to turn it into an ongoing open source project.

Regarding a choice of frameworks...

I do think the first question is PHP or not PHP.  Among people
actually working in schools, and thus who are more likely to
understand the requirements of the application well, PHP seems to be
far and away the most commonly known and used language.  Also, Moodle,
Drupal, MediaWiki and other similar, popular apps are written in PHP.
And it is supported by just about every web host, etc.

On the other hand, it is probably the option most likely to cause you
security issues, if not because of the inherent properties of the
language, because lots of those PHP programmers know exactly enough to
be dangerous, and the language itself makes no effort to keep them
from hanging themselves.

I'm generally a not-PHP person.

Whether or not you'd use Java pretty much depends on if you have Java
programmers handy and money to pay them.  Just using Web2School
(written in Java) will become an option if Wicked Good software open
sources it.  They've stated their intention to do so, but they may
find it is a longer, more complicated process than it appears to be.
They seem like nice guys, but I'll believe it when I see it.

Rails, Django, etc., seem like good options.  The weird thing about
designing an SIS based on one of these is how do you handle
customization?  Not that they are difficult to customize; they're easy
to customize.  In fact, it is so easy to customize them, it isn't
clear exactly what a general purpose Rails or Django SIS is.

For example, if I had a Rails SIS, and I needed to modify the
demographic form for our students, would I do it the Rails way, and
modify the tables and run generate scripts?  Or would I modify the
form through some administrative screens in the web interface like a
normal SIS?  If the answer is the latter, we've immediately ditched
some of the basic assumptions that make Rails development so fast and
efficient.

As you may know, SchoolTool is written in Python using Zope 3, which
on its technical merits is extremely well suited to the task.  The
problem is that Zope 3 is not very well known and has a somewhat
idiosyncratic design, so it is hard to find developers, particularly
in the US.  Although... now that I think about it, Vancouver is
actually a hotbed of Zope development, and I even know some Zope 3
developers there.  So building on SchoolTool would actually be a
possibility for you.

What's your hypothetical timeframe?

--Tom




More information about the K12OSN mailing list