IRC log of #schooltool for Friday, 2009-08-28

*** alga has joined #SchoolTool00:31
*** dlobo has quit IRC00:40
*** menesis has joined #schooltool01:08
*** menesis has quit IRC01:56
*** TwhK has quit IRC02:06
*** TwhK has joined #schooltool02:07
*** replaceafill has quit IRC03:20
*** Lumiere has quit IRC03:34
*** fsufitch has quit IRC03:41
*** fsufitch1 has joined #schooltool03:41
*** dlobo has joined #schooltool03:57
*** pcardune has quit IRC03:59
*** replaceafill has joined #schooltool04:07
replaceafillth1a, are you there?04:07
*** replaceafill has quit IRC04:12
*** th1a has quit IRC04:47
*** alga has quit IRC05:05
*** dlobo has quit IRC06:53
*** TwhK has quit IRC08:16
*** alga has joined #SchoolTool09:27
*** ignas has joined #schooltool12:27
*** krushik has quit IRC12:49
*** krushik has joined #schooltool13:57
*** ignas_ has joined #schooltool14:12
*** ignas has quit IRC14:13
*** replaceafill has joined #schooltool15:16
*** dlobo has joined #schooltool15:35
*** Lumiere has joined #schooltool16:08
*** dlobo has quit IRC16:38
*** th1a has joined #schooltool16:50
replaceafillth1a, https://code.launchpad.net/~replaceafill/schooltool/schooltool_xmlrpc16:59
replaceafillth1a, doctests for the person functionality http://bazaar.launchpad.net/~replaceafill/schooltool/schooltool_xmlrpc/annotate/head%3A/src/schooltool/xmlrpc/basicperson.txt17:00
replaceafilldoctests for the course functionality http://bazaar.launchpad.net/~replaceafill/schooltool/schooltool_xmlrpc/annotate/head%3A/src/schooltool/xmlrpc/course.txt17:00
replaceafillwriting doctests for the section functionality right now17:01
th1ahola17:11
replaceafill:|17:11
th1aMake sure and ping Chris, like, nowish.17:12
th1aOtherwise it will be the end of the day on Friday.17:13
replaceafilljust sent you and them an email17:13
th1akk17:13
th1aAt this point I don't see any need to let anyone other than a manager login use XML-RPC.17:16
replaceafillme neither17:17
th1aWe can save student mashups for down the road ;-)17:17
replaceafill:D17:17
th1aI think you just need a README about what paths to use to call these.17:19
replaceafilloh yes17:20
replaceafillall the methods are available under http://server_name/xmlrpc17:20
replaceafilli made the SchoolToolApplication object the context of the method publisher17:21
replaceafilland i start looking from it17:21
th1aOK, good.17:21
th1aI thought we'd end up at that point.17:22
th1aThat's the way xmlrpc usually works.17:22
replaceafillyes, i guess it's easier than having multiple paths17:22
th1aOtherwise you're doing a kind of pseudo-REST.17:22
replaceafillone thing i'm not 100% sure how to handle is returns17:23
replaceafilli mean, return dicts and list is ok17:23
replaceafillbut error messages and success messages17:23
replaceafilli dont know if i should send Faults on errors for example17:24
th1aWhat does the spec say?17:24
replaceafilli remember Faults need a code17:24
replaceafilllooking...17:25
th1areplaceafill: Chris responded.17:30
replaceafill"My only concern though is, would the response strings be subject to localization? Would it make sense for the responses to include both a string and numeric constant?"17:31
replaceafill:)17:31
th1aI'll let you field that one.17:33
replaceafillThere is no global list of fault codes. It is up to the server implementer, or higher-level standards to specify fault codes.17:52
replaceafill:O17:52
th1aJust do something that maps closely to our exceptions then.18:02
th1aOr maybe mnet has something to say about ti.18:02
th1ait18:02
algaxmlrpc, huh18:07
*** dlobo has joined #schooltool18:08
th1aalga: Being "right" about interoperability doesn't help if there's nobody to talk to.  ;-)18:09
th1aAlso, it is quick and easy.18:10
algaI agree, XMLRPC is very easy in Python18:10
algaBut my sentiment is that Schooltool seems to be running around in circles18:10
th1aWell, most of this work is going to be paid for by an outside client.18:11
dloboth1a: any specific reason u'll just dont use a REST API since it seems to be more used than either XML-RPC or SOAP18:11
th1aMain reason is that Moodle uses XML-RPC, and a school is paying for a big Moodle/SchoolTool interop project.18:12
dlobodoes moodle have a REST interface?18:13
algaWhich system is driving which?18:13
th1aAlso, visiting one of the schools we work with last weekend, their sys admin asked about using XML-RPC to do his enrollment.18:13
th1aSo I thought it would be worth having Douglas work on it a few days and get a head start on the whole thing.18:14
th1aNo, Moodle does not do web services.18:14
th1aAnd Moodle is in the driver's seat, because they're by far the biggest open source app in this space.18:14
th1aBy, literally, probably a thousand times.18:15
th1a(that is, Moodle doesn't do REST)18:16
algareplaceafill: in effect you're creating a brand new API to schooltool.  As soon as it is published and someone potentially starts using it, it will have to be maintained forever.  So be veeeeery careful designing this API.18:16
th1aWell... it is more like an initial pass at it for one school we're working with.18:17
replaceafillalga, thanks for scaring me :|18:17
replaceafill:)18:17
th1aIn particular, I thought it was worth spending a little time on now so we'd have a first pass before working on the Moodle interoperability, which will require us to conform to *their* API.18:18
algaWhat will Moodle interoperability do?18:19
algaUsing someone's API is not a problem in my book18:19
th1aImport students, sections, enrollment, etc. from Moodle.18:19
algaMaintaining your own is18:19
th1aInitially.18:19
algaPulling data, basically?18:20
th1aPushing eventually.18:20
th1aOne or the other.18:20
th1aNot syncing.18:20
algaUnderstood.18:21
th1aThere's even a spec page...18:21
algaRe. APIs, Consider Zope2/Plone and Zope 318:21
algaPlone kept compatibility forever, ended up with different 5 ways to do things, with varying degree of yuckiness.18:22
algaThe new, elegant one usually does not fully work yet.18:22
th1ahttp://docs.moodle.org/en/Development:SchoolTool_Integration18:22
algaZope 3 kept morphing, scaring people off, deprecating books and docs, etc.18:23
th1aThere is no rush to get this into trunk.18:23
th1aIt is really just to get on more solid footing for the upcoming Moodle work (which, did I mention, someone else is paying for).18:24
th1aAnd strategically, Moodle interop is key now.18:25
th1aA couple Moodle vendors offering SchoolTool support would be *huge*.18:25
th1aI'm really not chasing this because it is shiny.  It isn't even shiny!18:26
algaTom, I understand18:27
th1aOK.18:27
algaIt allows you to get into the Moodle's slipstream18:27
th1aI do appreciate your advice.18:27
algaIt's more like an old crank ranting ;)18:28
algaI just feel that REST used to do most of what's needed18:29
algathen it got ditched18:29
alganow this work is being redone, mostly18:29
replaceafilldid schooltool have REST? :O18:30
th1aIt was only ditched because we didn't have time to maintain it.18:30
th1aIt originally used a wxWindows client and 100% REST.18:30
algaOTOH, a small, custom made XML-RPC API is not a big deal to rewrite18:30
th1aalga: That's the main thing.18:30
th1aSchoolTool started during the brief period of optimism about wxWindows.18:31
replaceafillwow, i didnt know that18:31
th1aAlso, the original spec called for client/server.18:31
th1aSo when I took over I moved to a web interface, which I think was the right move.18:32
replaceafill:|18:32
th1aAnd then for a while we tried to maintain REST and HTML for *everything*.18:32
th1aBut it was too slow, development-wise.18:33
th1aAnd finding developers who understood Zope 3 and the way SchoolTool wanted to do REST was literally impossible.18:33
replaceafill:)18:33
th1aAnd it wasn't clear who we would be talking REST to.18:34
th1aSchoolTool started with a bit of a standards and interoperability fetish, which is bad for actually finishing something.18:35
th1aThat's what I learned.18:35
th1aDefinitely *I* had a standards and interoperability fetish.18:35
replaceafillyou dont anymore?18:35
*** dlobo_ has joined #schooltool18:35
algathese things are not important if it's a closed system you control18:36
th1aI definitely don't pursue it just for the sake of it.18:36
th1aThe amount of time you can lose is immense.18:36
replaceafillyes18:36
th1aTry implementing iCalendar.18:36
th1aOh, now you need CalDav.18:36
algaWith Schooltool, people *will* be doing things you did not think about18:36
algaiCal is just a horrible standard18:37
*** dlobo has quit IRC18:37
*** dlobo_ is now known as dlobo18:37
th1aAt least some of the REST code is still there, I think.18:37
th1aProbably in, like, groups?18:37
algaReally?  I thought Ignas has ditched it all18:38
th1aMaybe he did.18:38
th1aProbably.18:38
th1aThere's also a big difference between trying to comprehensively implement an API in multiple ways and just providing multiple ways to import basic objects.18:39
*** alga has quit IRC18:55
*** cpcarey has joined #schooltool19:07
*** dlobo has quit IRC19:43
*** dlobo has joined #schooltool19:44
*** replaceafill has quit IRC20:00
*** ignas_ has quit IRC20:19
*** cpcarey has quit IRC20:57
*** dlobo has quit IRC21:06
*** dlobo has joined #schooltool21:28
*** dlobo has quit IRC21:34
*** alga has joined #SchoolTool21:52
*** fsufitch1 has quit IRC22:41
*** fsufitch has joined #schooltool22:41
*** mgedmin has joined #schooltool22:45
*** alga has quit IRC22:59
*** cpcarey has joined #schooltool23:14
*** replaceafill has joined #schooltool23:16
replaceafillth1a, you assigned me a bug :)23:19
th1aYes, you can invoice SchoolTool for that (unless it is going to take a really long time...)23:21
th1aCanDo doesn't care about our sample data working for them, but it should.23:21
th1aPerhaps you can let me know what the problem is on Monday, if you get a chance to look at it.23:22
replaceafilldo you have the spreadsheet that showed it?23:22
replaceafillsure, i'll take a look at it23:22
th1aIt is the one in the distribution.23:23
th1aThere's a link on the import page.23:23
replaceafillthe sample one?23:23
th1aYes.23:24
replaceafillsample_data.xls, cool23:24
*** th1a has quit IRC23:48
*** cpcarey has quit IRC23:56

Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!