*** eukreign has quit IRC | 00:12 | |
*** eukreign has joined #schooltool | 00:12 | |
*** eukreign has quit IRC | 00:24 | |
*** eukreign has joined #schooltool | 00:25 | |
*** sili_ is now known as sili | 00:47 | |
*** jfroche has quit IRC | 00:51 | |
*** jinty has quit IRC | 01:23 | |
*** pcardune has joined #schooltool | 01:25 | |
pcardune | srichter, I've found a philosophical question we need to ask ourselves regarding the requirements package | 01:26 |
---|---|---|
srichter | pcardune: hey there | 01:27 |
srichter | pcardune: shoot | 01:27 |
pcardune | I think the best way to explain is with a code snippet | 01:29 |
srichter | ok | 01:29 |
srichter | pcardune: also, where is jeff these days? | 01:31 |
srichter | pcardune: I have not gotten the money for the sprint, but he is never around here anymore | 01:31 |
pcardune | he is teaching ;) | 01:31 |
srichter | so did development stall a bit? | 01:32 |
pcardune | ok, pastebin is taking forever | 01:32 |
pcardune | yeah somewhat, but we have just hired a *more* permanent developer (i.e. one that doesn't go to school) to do some work | 01:32 |
pcardune | he is eukreign | 01:32 |
srichter | ok | 01:32 |
pcardune | I'm just going to paste the code snippet in here - hope no one minds | 01:33 |
pcardune | Handling Sub Requirements | 01:33 |
pcardune | ~~~~~~~~~~~~~~~~~~~~~~~~~ | 01:33 |
pcardune | __Note__: You probably want to skip this section, if you read this file for | 01:33 |
pcardune | the first time. It is not important for your understanding of the | 01:33 |
pcardune | package. | 01:33 |
pcardune | Requirements do not only keep track of what other requirements they are | 01:33 |
pcardune | inheriting from (in the list of bases), but also the requirements that inherit | 01:33 |
pcardune | it. In terms of object oriented programming, Requirements keep track of both | 01:33 |
pcardune | base classes and direct subclasses. | 01:33 |
pcardune | >>> mathreq = requirement.Requirement(u"Math Requirements") | 01:33 |
pcardune | >>> algebra = requirement.Requirement(u"Algebra Requirements") | 01:33 |
pcardune | >>> algebra.addBase(mathreq) | 01:33 |
pcardune | Here we have created a general math requirement from which the algebra | 01:33 |
pcardune | requirement inherits. All requirements that inherit from mathreq are stored | 01:33 |
pcardune | in a list called subs. | 01:33 |
pcardune | >>> algebra in mathreq.subs | 01:33 |
pcardune | True | 01:33 |
pcardune | When we remove the mathreq base from algebra, then algebra should also be | 01:33 |
pcardune | removed from mathreq.subs | 01:33 |
pcardune | >>> algebra.removeBase(mathreq) | 01:33 |
pcardune | >>> algebra in mathreq.subs | 01:33 |
pcardune | False | 01:33 |
pcardune | When requirements get deleted, they should also be removed from whatever subs | 01:33 |
pcardune | they are in. | 01:33 |
pcardune | >>> algebra.addBase(mathreq) | 01:33 |
pcardune | >>> highSchoolMath = requirement.Requirement("High School Math") | 01:34 |
pcardune | >>> highSchoolMath['algebra'] = algebra | 01:34 |
pcardune | >>> del highSchoolMath['algebra'] | 01:34 |
pcardune | >>> algebra in mathreq.subs | 01:34 |
pcardune | False | 01:34 |
pcardune | this test fails on the last conditional | 01:34 |
pcardune | I think the test should fail in the context that it's in (out of zope's location paradigm) | 01:37 |
srichter | right, so what you want is garbage collection | 01:38 |
pcardune | But in practice, we don't want non locatable requirements floating around | 01:38 |
srichter | yep | 01:40 |
srichter | so you could solve that with an event subscriber | 01:40 |
sili | sounds complicated. | 01:40 |
pcardune | that is a good idea... the event subscriber only gets utilized through registering it in zcml, while the requirements package can still be stand alone | 01:41 |
srichter | yep, exactely | 01:41 |
srichter | and because we keep track of both directions, you always know when you want to delete the ref | 01:42 |
pcardune | right, because we don't want to delete requirements that other requirements are relying on | 01:42 |
srichter | yep | 01:43 |
sili | are you guys educators? | 02:06 |
srichter | Tom is an educator | 02:09 |
srichter | I have taught some university courses, but I am a programmer | 02:10 |
sili | done much work in the education "industry"? | 02:10 |
srichter | well, I have been around for a while | 02:12 |
srichter | most of the developers are developers, but ST works closely with schools to collect use cases | 02:14 |
sili | hmm | 02:43 |
sili | srichter: so does schooltool have a business plan? | 02:44 |
sili | or is it just "let's write this neat software and hopefully it'll get used" | 02:44 |
srichter | it does not need a business plan; it's open source | 02:44 |
srichter | 2 developers working at schools to ensure it will fit the real life | 02:45 |
sili | well, a business plan and f/oss aren't mutually exclusive :) | 02:48 |
srichter | no, but it is often far too formal for Open Source | 02:49 |
srichter | a business plan also means that you expect to do some business | 02:49 |
srichter | there is no interest by the Shuttlesworth Foundation to do anything else but give it awya | 02:50 |
sili | well, in my experience, schools aren't going to like the idea of "community" support. they'll need some sort of support contract. there is also the case of implementation and maintenance | 02:50 |
sili | i see. | 02:50 |
srichter | yes, right now we commit to support in the schools we have developers | 02:51 |
srichter | of course, consultants can provide support, like me or others | 02:51 |
sili | i see | 02:51 |
srichter | and then there is Canonical, of course | 02:51 |
sili | they mostly just want someone to blame | 02:52 |
sili | liability, to some extent | 02:52 |
srichter | SchoolTool is mainly aimed at the 3rd world where people think that something is better than nothing | 02:52 |
sili | not a bad place to start | 02:53 |
srichter | yes, it is the Shuttlesworth Foundation's mission | 02:54 |
sili | i'd love to see it in an american school. | 02:56 |
srichter | yeah, Tom is working with an American School | 03:16 |
srichter | also a sub-project called CanDo is developed in VA for competency tracking | 03:16 |
*** wrobel` has joined #schooltool | 03:18 | |
*** wrobel has quit IRC | 03:24 | |
*** eukreign has quit IRC | 03:51 | |
*** eukreign has joined #schooltool | 03:51 | |
*** pcardune has quit IRC | 06:42 | |
*** didymo has quit IRC | 08:09 | |
*** srichter has quit IRC | 09:06 | |
*** srichter has joined #schooltool | 09:06 | |
*** srichter has quit IRC | 10:35 | |
*** srichter has joined #schooltool | 10:36 | |
*** jinty has joined #schooltool | 10:40 | |
*** Aiste has quit IRC | 10:48 | |
*** thisfred has joined #schooltool | 11:16 | |
*** ignas has joined #schooltool | 11:20 | |
*** sili has quit IRC | 11:41 | |
*** ignas has quit IRC | 11:41 | |
*** eukreign has quit IRC | 11:41 | |
*** wrobel` has quit IRC | 11:41 | |
*** Aim2 has quit IRC | 11:41 | |
*** thisfred has quit IRC | 11:41 | |
*** jinty has quit IRC | 11:41 | |
*** srichter has quit IRC | 11:41 | |
*** Lumiere has quit IRC | 11:41 | |
*** toxygen has quit IRC | 11:41 | |
*** Aiste has joined #schooltool | 13:25 | |
*** Aiste has quit IRC | 13:26 | |
*** Aiste has joined #schooltool | 13:26 | |
*** Aiste has joined #schooltool | 13:27 | |
*** mgedmin has joined #schooltool | 13:28 | |
*** Aiste has quit IRC | 13:58 | |
*** mgedmin has quit IRC | 13:59 | |
*** povbot has joined #schooltool | 15:54 | |
*** vidasp has joined #schooltool | 15:55 | |
*** mgedmin has joined #schooltool | 16:30 | |
*** Aiste has joined #schooltool | 16:50 | |
*** th1a has joined #schooltool | 16:58 | |
*** sili_ has joined #schooltool | 17:06 | |
*** ignas has joined #schooltool | 17:07 | |
*** thisfred has left #schooltool | 17:11 | |
*** thisfred has joined #schooltool | 17:12 | |
*** highvoltage has joined #schooltool | 17:30 | |
highvoltage | hi. is the schooltool in edgy close to the current schooltool? | 17:30 |
mgedmin | I don't think so | 17:34 |
ignas | is there schooltool in edgy? | 17:35 |
highvoltage | yep | 17:35 |
highvoltage | it's installed by default in edubuntu | 17:35 |
th1a | highvoltage: No, it is old. | 17:35 |
highvoltage | i'm working on an edubuntu derivative that's being released in about a week, and I wondered if I should consider getting a new version first. | 17:35 |
highvoltage | (new version of schooltool, that is) | 17:35 |
th1a | The new versions aren't ready for production use. | 17:36 |
highvoltage | th1a: are there debian packages available of the latest version? | 17:36 |
highvoltage | ah, I see. | 17:36 |
highvoltage | ok, then I could probably just as well use the old version? | 17:36 |
th1a | We're stuck at a point where we're trying to add a huge amount of stuff. | 17:36 |
*** ignas has quit IRC | 17:37 | |
sili_ | hellooo | 18:19 |
*** jelkner has joined #schooltool | 18:41 | |
jelkner | th1a: mr. hoffman, are you here? | 18:41 |
jelkner | has anyone seen tom here recently? | 18:42 |
srichter | was here earlier | 18:43 |
jelkner | srichter: while i've got you, can i ask you a few questions about your book? | 18:45 |
th1a | hi jelkner | 18:46 |
srichter | jelkner: sure | 18:48 |
*** vidasp has left #schooltool | 18:51 | |
sili_ | someone connecting from a school district. cool | 18:59 |
*** jelkner has quit IRC | 19:22 | |
*** Aiste has quit IRC | 19:23 | |
*** srichter has quit IRC | 19:39 | |
*** srichter has joined #schooltool | 19:40 | |
*** th1a has quit IRC | 19:40 | |
*** th1a_ has joined #schooltool | 19:40 | |
Lumiere | th1a_: here? | 19:59 |
*** th1a_ is now known as th1a | 20:09 | |
th1a | Lumiere: I'm here. | 20:09 |
*** thisfred has quit IRC | 20:10 | |
Lumiere | the ACC just brought a domain online... candoskills.org | 20:12 |
Lumiere | I've pointed candoskills.org and www.candoskills.org at schooltool's site for now | 20:13 |
Lumiere | while I wait for welsh to give final instructions on it (which I am guessing will be to continue pointing them at schooltool | 20:14 |
Lumiere | he's more interested in it because it's an easy name to point to for the ACC's cando server | 20:15 |
th1a | ACC? | 20:28 |
sili_ | th1a: curious, you said the biggest limiting factor with schooltool is based on heavy-duty oo python -- mind telling me a bit more about this? performance hit, maintainability hit, or ... | 20:40 |
th1a | I mean, limiting factor in bringing interested developers like you into the fold. | 20:40 |
sili_ | ah | 20:41 |
th1a | SchoolTool is just an unusual design, in fairly fundamental ways. | 20:41 |
th1a | Unless you're a Zope programmer. | 20:41 |
th1a | We use an object database, | 20:41 |
th1a | Zope 3 is built around some unusual abstractions, like extensive use (some say overuse) of adapters. | 20:42 |
th1a | Now, I think SchoolTool and Zope 3 are well designed, | 20:42 |
th1a | it has just turned out to be a big learning curve for people. | 20:42 |
sili_ | ah | 20:43 |
sili_ | i guess one might experience some difficulties if not familiar with the patterns being used | 20:44 |
th1a | One reason for all this is that SchoolTool wasn't conceived as simply an SIS, but a framework for many educational apps, applicable all over the world. | 20:44 |
th1a | So compared to an SIS for a specific type of school, it is just way overengineered. | 20:45 |
Lumiere | th1a: the Career Center for Arlington Public Schools... | 20:45 |
Lumiere | bbiab | 20:45 |
th1a | Lumiere: Ah. Thanks. | 20:45 |
sili_ | hmm | 20:46 |
sili_ | th1a: I wonder what it would look like if one were to implement california-specific functionality | 20:46 |
th1a | Well, we've tried to keep things modular under the hood, and using adapters and interfaces in particular (two pain points for newbie developers) is meant to allow easy swapping of components. | 20:48 |
th1a | sili_: Essentially, there is a big split in the administrative app ecosystem, | 20:51 |
th1a | you've got your free PHP apps (Moodle, elgg, etc), | 20:52 |
th1a | and you've got your big honking enterprise systems in Java or .net or older stuff, | 20:52 |
th1a | and we're sort of splitting the difference. | 20:52 |
th1a | But it turns out that we're too beefy for the PHP hackers to pick up, | 20:53 |
th1a | and not really trusted by the people who expect everything to be Java, either. | 20:53 |
sili_ | eh | 20:53 |
sili_ | so long as it functions well, i think you'll be okay | 20:54 |
th1a | Once OLPC teaches every kid in the developing world Python, we'll be in good shape. | 20:54 |
sili_ | (who cares about php hackers, anyway?) | 20:54 |
th1a | Indeed. | 20:54 |
th1a | This has just been a problem in building a community of developers, though. | 20:54 |
sili_ | is there an admin logic i can use for the demo site? | 20:54 |
th1a | admin logic? | 20:54 |
sili_ | logic. typo. | 20:54 |
sili_ | login. ahhh!!! | 20:55 |
th1a | Um... hopefully it is not obvious. | 20:55 |
th1a | We don't have an admin login for the demo site because then it complexifies maintaining it considerably. | 20:55 |
sili_ | bummer. | 20:56 |
sili_ | i'll just install it. | 20:57 |
*** mgedmin has quit IRC | 21:03 | |
*** gintas has quit IRC | 22:19 | |
*** Aiste has joined #schooltool | 22:27 | |
*** didymo has joined #schooltool | 22:43 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!