*** alga has joined #SchoolTool | 00:31 | |
*** dlobo has quit IRC | 00:40 | |
*** menesis has joined #schooltool | 01:08 | |
*** menesis has quit IRC | 01:56 | |
*** TwhK has quit IRC | 02:06 | |
*** TwhK has joined #schooltool | 02:07 | |
*** replaceafill has quit IRC | 03:20 | |
*** Lumiere has quit IRC | 03:34 | |
*** fsufitch has quit IRC | 03:41 | |
*** fsufitch1 has joined #schooltool | 03:41 | |
*** dlobo has joined #schooltool | 03:57 | |
*** pcardune has quit IRC | 03:59 | |
*** replaceafill has joined #schooltool | 04:07 | |
replaceafill | th1a, are you there? | 04:07 |
---|---|---|
*** replaceafill has quit IRC | 04:12 | |
*** th1a has quit IRC | 04:47 | |
*** alga has quit IRC | 05:05 | |
*** dlobo has quit IRC | 06:53 | |
*** TwhK has quit IRC | 08:16 | |
*** alga has joined #SchoolTool | 09:27 | |
*** ignas has joined #schooltool | 12:27 | |
*** krushik has quit IRC | 12:49 | |
*** krushik has joined #schooltool | 13:57 | |
*** ignas_ has joined #schooltool | 14:12 | |
*** ignas has quit IRC | 14:13 | |
*** replaceafill has joined #schooltool | 15:16 | |
*** dlobo has joined #schooltool | 15:35 | |
*** Lumiere has joined #schooltool | 16:08 | |
*** dlobo has quit IRC | 16:38 | |
*** th1a has joined #schooltool | 16:50 | |
replaceafill | th1a, https://code.launchpad.net/~replaceafill/schooltool/schooltool_xmlrpc | 16:59 |
replaceafill | th1a, doctests for the person functionality http://bazaar.launchpad.net/~replaceafill/schooltool/schooltool_xmlrpc/annotate/head%3A/src/schooltool/xmlrpc/basicperson.txt | 17:00 |
replaceafill | doctests for the course functionality http://bazaar.launchpad.net/~replaceafill/schooltool/schooltool_xmlrpc/annotate/head%3A/src/schooltool/xmlrpc/course.txt | 17:00 |
replaceafill | writing doctests for the section functionality right now | 17:01 |
th1a | hola | 17:11 |
replaceafill | :| | 17:11 |
th1a | Make sure and ping Chris, like, nowish. | 17:12 |
th1a | Otherwise it will be the end of the day on Friday. | 17:13 |
replaceafill | just sent you and them an email | 17:13 |
th1a | kk | 17:13 |
th1a | At this point I don't see any need to let anyone other than a manager login use XML-RPC. | 17:16 |
replaceafill | me neither | 17:17 |
th1a | We can save student mashups for down the road ;-) | 17:17 |
replaceafill | :D | 17:17 |
th1a | I think you just need a README about what paths to use to call these. | 17:19 |
replaceafill | oh yes | 17:20 |
replaceafill | all the methods are available under http://server_name/xmlrpc | 17:20 |
replaceafill | i made the SchoolToolApplication object the context of the method publisher | 17:21 |
replaceafill | and i start looking from it | 17:21 |
th1a | OK, good. | 17:21 |
th1a | I thought we'd end up at that point. | 17:22 |
th1a | That's the way xmlrpc usually works. | 17:22 |
replaceafill | yes, i guess it's easier than having multiple paths | 17:22 |
th1a | Otherwise you're doing a kind of pseudo-REST. | 17:22 |
replaceafill | one thing i'm not 100% sure how to handle is returns | 17:23 |
replaceafill | i mean, return dicts and list is ok | 17:23 |
replaceafill | but error messages and success messages | 17:23 |
replaceafill | i dont know if i should send Faults on errors for example | 17:24 |
th1a | What does the spec say? | 17:24 |
replaceafill | i remember Faults need a code | 17:24 |
replaceafill | looking... | 17:25 |
th1a | replaceafill: 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 |
th1a | I'll let you field that one. | 17:33 |
replaceafill | There 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 | :O | 17:52 |
th1a | Just do something that maps closely to our exceptions then. | 18:02 |
th1a | Or maybe mnet has something to say about ti. | 18:02 |
th1a | it | 18:02 |
alga | xmlrpc, huh | 18:07 |
*** dlobo has joined #schooltool | 18:08 | |
th1a | alga: Being "right" about interoperability doesn't help if there's nobody to talk to. ;-) | 18:09 |
th1a | Also, it is quick and easy. | 18:10 |
alga | I agree, XMLRPC is very easy in Python | 18:10 |
alga | But my sentiment is that Schooltool seems to be running around in circles | 18:10 |
th1a | Well, most of this work is going to be paid for by an outside client. | 18:11 |
dlobo | th1a: any specific reason u'll just dont use a REST API since it seems to be more used than either XML-RPC or SOAP | 18:11 |
th1a | Main reason is that Moodle uses XML-RPC, and a school is paying for a big Moodle/SchoolTool interop project. | 18:12 |
dlobo | does moodle have a REST interface? | 18:13 |
alga | Which system is driving which? | 18:13 |
th1a | Also, visiting one of the schools we work with last weekend, their sys admin asked about using XML-RPC to do his enrollment. | 18:13 |
th1a | So 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 |
th1a | No, Moodle does not do web services. | 18:14 |
th1a | And Moodle is in the driver's seat, because they're by far the biggest open source app in this space. | 18:14 |
th1a | By, literally, probably a thousand times. | 18:15 |
th1a | (that is, Moodle doesn't do REST) | 18:16 |
alga | replaceafill: 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 |
th1a | Well... it is more like an initial pass at it for one school we're working with. | 18:17 |
replaceafill | alga, thanks for scaring me :| | 18:17 |
replaceafill | :) | 18:17 |
th1a | In 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 |
alga | What will Moodle interoperability do? | 18:19 |
alga | Using someone's API is not a problem in my book | 18:19 |
th1a | Import students, sections, enrollment, etc. from Moodle. | 18:19 |
alga | Maintaining your own is | 18:19 |
th1a | Initially. | 18:19 |
alga | Pulling data, basically? | 18:20 |
th1a | Pushing eventually. | 18:20 |
th1a | One or the other. | 18:20 |
th1a | Not syncing. | 18:20 |
alga | Understood. | 18:21 |
th1a | There's even a spec page... | 18:21 |
alga | Re. APIs, Consider Zope2/Plone and Zope 3 | 18:21 |
alga | Plone kept compatibility forever, ended up with different 5 ways to do things, with varying degree of yuckiness. | 18:22 |
alga | The new, elegant one usually does not fully work yet. | 18:22 |
th1a | http://docs.moodle.org/en/Development:SchoolTool_Integration | 18:22 |
alga | Zope 3 kept morphing, scaring people off, deprecating books and docs, etc. | 18:23 |
th1a | There is no rush to get this into trunk. | 18:23 |
th1a | It 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 |
th1a | And strategically, Moodle interop is key now. | 18:25 |
th1a | A couple Moodle vendors offering SchoolTool support would be *huge*. | 18:25 |
th1a | I'm really not chasing this because it is shiny. It isn't even shiny! | 18:26 |
alga | Tom, I understand | 18:27 |
th1a | OK. | 18:27 |
alga | It allows you to get into the Moodle's slipstream | 18:27 |
th1a | I do appreciate your advice. | 18:27 |
alga | It's more like an old crank ranting ;) | 18:28 |
alga | I just feel that REST used to do most of what's needed | 18:29 |
alga | then it got ditched | 18:29 |
alga | now this work is being redone, mostly | 18:29 |
replaceafill | did schooltool have REST? :O | 18:30 |
th1a | It was only ditched because we didn't have time to maintain it. | 18:30 |
th1a | It originally used a wxWindows client and 100% REST. | 18:30 |
alga | OTOH, a small, custom made XML-RPC API is not a big deal to rewrite | 18:30 |
th1a | alga: That's the main thing. | 18:30 |
th1a | SchoolTool started during the brief period of optimism about wxWindows. | 18:31 |
replaceafill | wow, i didnt know that | 18:31 |
th1a | Also, the original spec called for client/server. | 18:31 |
th1a | So when I took over I moved to a web interface, which I think was the right move. | 18:32 |
replaceafill | :| | 18:32 |
th1a | And then for a while we tried to maintain REST and HTML for *everything*. | 18:32 |
th1a | But it was too slow, development-wise. | 18:33 |
th1a | And finding developers who understood Zope 3 and the way SchoolTool wanted to do REST was literally impossible. | 18:33 |
replaceafill | :) | 18:33 |
th1a | And it wasn't clear who we would be talking REST to. | 18:34 |
th1a | SchoolTool started with a bit of a standards and interoperability fetish, which is bad for actually finishing something. | 18:35 |
th1a | That's what I learned. | 18:35 |
th1a | Definitely *I* had a standards and interoperability fetish. | 18:35 |
replaceafill | you dont anymore? | 18:35 |
*** dlobo_ has joined #schooltool | 18:35 | |
alga | these things are not important if it's a closed system you control | 18:36 |
th1a | I definitely don't pursue it just for the sake of it. | 18:36 |
th1a | The amount of time you can lose is immense. | 18:36 |
replaceafill | yes | 18:36 |
th1a | Try implementing iCalendar. | 18:36 |
th1a | Oh, now you need CalDav. | 18:36 |
alga | With Schooltool, people *will* be doing things you did not think about | 18:36 |
alga | iCal is just a horrible standard | 18:37 |
*** dlobo has quit IRC | 18:37 | |
*** dlobo_ is now known as dlobo | 18:37 | |
th1a | At least some of the REST code is still there, I think. | 18:37 |
th1a | Probably in, like, groups? | 18:37 |
alga | Really? I thought Ignas has ditched it all | 18:38 |
th1a | Maybe he did. | 18:38 |
th1a | Probably. | 18:38 |
th1a | There'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 IRC | 18:55 | |
*** cpcarey has joined #schooltool | 19:07 | |
*** dlobo has quit IRC | 19:43 | |
*** dlobo has joined #schooltool | 19:44 | |
*** replaceafill has quit IRC | 20:00 | |
*** ignas_ has quit IRC | 20:19 | |
*** cpcarey has quit IRC | 20:57 | |
*** dlobo has quit IRC | 21:06 | |
*** dlobo has joined #schooltool | 21:28 | |
*** dlobo has quit IRC | 21:34 | |
*** alga has joined #SchoolTool | 21:52 | |
*** fsufitch1 has quit IRC | 22:41 | |
*** fsufitch has joined #schooltool | 22:41 | |
*** mgedmin has joined #schooltool | 22:45 | |
*** alga has quit IRC | 22:59 | |
*** cpcarey has joined #schooltool | 23:14 | |
*** replaceafill has joined #schooltool | 23:16 | |
replaceafill | th1a, you assigned me a bug :) | 23:19 |
th1a | Yes, you can invoice SchoolTool for that (unless it is going to take a really long time...) | 23:21 |
th1a | CanDo doesn't care about our sample data working for them, but it should. | 23:21 |
th1a | Perhaps you can let me know what the problem is on Monday, if you get a chance to look at it. | 23:22 |
replaceafill | do you have the spreadsheet that showed it? | 23:22 |
replaceafill | sure, i'll take a look at it | 23:22 |
th1a | It is the one in the distribution. | 23:23 |
th1a | There's a link on the import page. | 23:23 |
replaceafill | the sample one? | 23:23 |
th1a | Yes. | 23:24 |
replaceafill | sample_data.xls, cool | 23:24 |
*** th1a has quit IRC | 23:48 | |
*** cpcarey has quit IRC | 23:56 |
Generated by irclog2html.py 2.15.1 by Marius Gedminas - find it at mg.pov.lt!