IRC log of #schooltool for Friday, 2015-07-03

*** replaceafill has quit IRC00:47
*** menesis has joined #schooltool04:01
*** th1a has quit IRC07:09
*** menesis has quit IRC07:25
*** menesis has joined #schooltool13:29
*** th1a has joined #schooltool13:52
*** replaceafill has joined #schooltool17:18
th1ahi replaceafill.17:35
replaceafillhey th1a17:35
th1aWe're having a vaguely defined holiday weekend here, with Indpendence Day falling on Saturday.17:36
replaceafilloh17:36
replaceafillright17:36
replaceafillok, not much to report from me17:36
replaceafillfixed the bugfix release :/17:36
replaceafillthere was a validation problem with the request view17:36
replaceafillso i released gradebook 2.8.4.117:37
th1aOK.17:37
replaceafillalso, i updated the spanish translation of the homepage17:37
replaceafilland uploaded it17:37
th1aOh, we can take out the extra trademark info in the footer.17:38
th1a(critical links and intel)17:38
replaceafillah ok17:38
th1aI should send CL an email someday.17:38
th1aI'm glad I had an excuse to visit Portugal...17:39
replaceafill:)17:39
th1aAnyhow, I'd say the next thing on the list is Proximity still.17:40
replaceafillfooter updated17:42
replaceafillremoved the trademarks17:42
th1aThanks.17:42
th1aHave you thought in general how we'd talk to Canvas?17:44
th1aUsing the API.17:44
replaceafillnot really17:44
replaceafilli was thinking i should go through all these emails17:44
replaceafilland get notes17:44
replaceafillbecause at this point i have no concrete idea on what we'll do17:44
th1aWell, I'm not sure that's the necessary starting point.17:44
th1aOK, so.17:44
replaceafilli remember you sent some ideas17:45
th1aIn terms of 80% of this.17:45
replaceafill(about canvas)17:45
th1aI think it may be pretty simple.17:45
th1aIF17:45
th1awe can get a good abstraction for making these calls.17:45
th1aI mean, essentially, when a person is added to SchoolTool, we need to add them to Canvas.17:46
replaceafillso, the idea is to produce a xls and send it, right?17:46
replaceafillall in the background17:46
th1aOK, so17:46
replaceafillok17:46
replaceafillwe may not need the xls17:46
th1abased on my somewhat closer look at the api, I think if we can get a good wrapper for that, yes, we don't need xls.17:46
replaceafillright17:46
th1aIt maps pretty well to what we do conceptually.17:46
th1aSeems straightforward, clean, json.17:47
th1aotoh, you just have the general overhead of dealing with, for example, keeping track of whether the persons has *successfully* been added to Canvas.17:47
replaceafilland retry attempts17:48
th1aIt is that level I'm worried about.17:48
th1aYeah.17:48
th1aHow much of that is "for free" with Celery, etc.17:48
replaceafilli was thinking we could code some dumb api17:48
th1aYes.17:48
replaceafilli mean, simulate canvas17:49
replaceafilljust something that prints17:49
replaceafilland do the schooltool part as an experiment17:49
th1aAnd just work through creating a subscriber that would add a person to Canvas when you added them to SchoolTool.17:49
th1aYes.17:49
replaceafilli can work on that today17:49
th1aYes, and particularly how much of this can be handled just as a generic task queue issue.17:50
* replaceafill was thinking of trying the demographics catalog17:50
replaceafillbut this sounds interesting too :)17:50
replaceafillok17:51
replaceafillthis is the right link for the canva docs, right?17:51
replaceafillhttps://canvas.instructure.com/doc/api/index.html17:51
th1aYeah.17:53
replaceafillok17:54
replaceafilloh my17:54
replaceafilloauth2 authentication17:54
th1aYeah.17:54
replaceafillpanic attack...17:54
replaceafill:D17:54
th1aWell, there is a Python library.17:54
replaceafillyeah17:54
th1aI have to remember that the one thing that seemed to calm down Jose at ARK was when I thought to point out that Zope 3 is specifically designed to integrate standard python libraries.17:55
th1aI mean, it is only relevant to another geek.17:55
th1aBut that's one reason it will work for us almost indefinitely.17:56
th1aAs long as there is a Python library -- and every new technology will have one -- we can integrate it.17:56
replaceafillstandard?17:56
th1aWell,17:56
replaceafillah got it17:56
replaceafillbtw17:56
replaceafillat some point17:56
th1aI mean, not "special" ones, like you'd need for Zope 2 say.17:56
replaceafilli think we'll need to discuss python 3 :)17:56
replaceafilli've been reading ubuntu 16.04 will switch17:57
replaceafilli mean17:57
replaceafillto python 3.517:57
th1aMaybe when we hire a second developer.17:57
th1aThat's one reason we're probably riding 14.04 into the ground.  ;-)17:57
replaceafilli'm glad you're optimist we'll get there...17:57
replaceafillanyway17:58
replaceafilli won't worry about authentication yet17:58
replaceafillsmall steps :)17:58
th1aIt doesn't seem like it should be a problem when dealing with a specific instance.17:59
th1aAs opposed to, say, "This LDAP will just work with yours (we hope)."18:00
replaceafillcould you answer: https://answers.launchpad.net/schooltool/+question/26880618:01
replaceafilli'm not good at saying "No." :D18:01
*** menesis has quit IRC18:02
th1aHm?  You can do a report card for one student.18:02
th1aCan't you?18:02
replaceafillyeah18:03
th1aIsn't that what he's asking?18:04
replaceafillthe report sheet part confuses me18:04
replaceafilli think he wants an export?18:04
th1aI'll handle it.18:05
replaceafillthanks18:05
th1aOK, so you have something a little different to research and play with.18:06
replaceafillyeah18:07
replaceafilli'll try to stay focused :)18:07
th1aThanks replaceafill.18:09
replaceafillkk, thanks th1a18:09
th1abtw replaceafill, I'll definitely help out with translating the API into SchoolTool terms.18:17
replaceafillah cool18:17
th1aProbably just do this first? https://canvas.instructure.com/doc/api/users.html#method.users.create18:18
replaceafillprobably18:19
*** menesis has joined #schooltool18:19
replaceafilluser[timezone]!!! :D18:20
th1a;-)18:20
th1aDamn virtual schools.18:21
replaceafillth1a, you there?19:25
th1ahi replaceafill.20:41
replaceafillhey th1a20:41
replaceafillwe're only adding "students" to canvas, right?20:41
th1aWell, I don't know if only.20:41
th1aWhy?20:41
replaceafillto know when to fire the event20:42
replaceafillto set the tasks20:42
replaceafilli mean20:42
replaceafillso i know what part of the person view to modify20:43
replaceafilland the importer probably20:43
th1aWell, everyone is a user in canvas?20:46
th1aI like their "observers" and "observees" terminology.20:46
th1aFor relationship based permission, I think.20:46
replaceafillah20:46
replaceafillhaven't seen that yet20:46
replaceafillwell, i moved on from that part anyway20:47
th1ahttps://canvas.instructure.com/doc/api/user_observees.html20:47
replaceafill(when to fire the event)20:47
th1aOK.  What did you decide?20:47
replaceafillit's a single view anyway20:47
replaceafillfor adding people20:47
replaceafillwe just use group ids20:47
replaceafillto put people in the right group20:47
replaceafilli'm now messing with the remote task machinery20:48
replaceafilli'm trying to bring the db down20:48
replaceafillso i get an exception20:48
replaceafilland see the retries working20:49
th1aOK, so celery will pretty much retry on its own?20:50
replaceafillwell, currently there's only a couple of scenarios for the retry20:50
replaceafill(i think)20:50
replaceafilldb not found20:50
replaceafilland two phase commit not ready20:50
replaceafill(tpc error happens for example when the task was deleted in the task container)20:51
replaceafillwhich currently users can't do20:51
replaceafillanyway, i can continue20:52
th1aSo will it require some additional code to make it    retry based on the HTTP request to Canvas?20:53
replaceafillnot sure yet20:54
replaceafillbut that's the only place where i've seen the retry being called explicitly20:54
th1aIt has been?20:55
replaceafillwhen there's no database and when the task has been aborted in ST20:55
th1aOh, ok right.20:55
th1aOK.  I'll let you get back to work.20:56
replaceafillkk20:56
th1aWe're getting ready to paint the bedroom.20:56
replaceafill:)20:56
*** menesis has quit IRC21:44
*** menesis has joined #schooltool21:54

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