08:01:58 <anitsirk> #startmeeting 53rd Mahara developer meeting
08:01:58 <mahara-meetbot> Meeting started Thu May 26 08:01:58 2016 UTC and is due to finish in 60 minutes.  The chair is anitsirk. Information about MeetBot at https://wiki.mahara.org/wiki/Developer_Area/Developer_Meetings/Chair_Duties#Meetbot_commands.
08:01:58 <mahara-meetbot> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
08:01:58 <mahara-meetbot> The meeting name has been set to '53rd_mahara_developer_meeting'
08:02:07 <anitsirk> Welcome to the 53rd Mahara developer meeting. Please introduce yourself by putting #info at the beginning of the line.
08:02:23 <anitsirk> #info anitsirk is Kristina Hoeppner, Catalyst in Wellington, shaky NZ
08:02:29 <robertl_> #info robertl_ is Robert Lyon, Catalyst in Wellington, New Zealand
08:02:31 <mingard> #info mingard is Jono Mingard, Powershop in Wellington NZ
08:02:42 <ghada> #info ghada is Ghada El-Zoghbi, Catalyst in Sydney, AU
08:02:46 <Gregor_Pirker> #info Gregor Pirker, Donau University Krems, Austria
08:03:18 <anitsirk> let's hope we'll get through this meeting without any earthquakes. prophylactically, we had one just a few minutes ago
08:03:22 <anitsirk> hi sl-yairspi
08:03:27 <anitsirk> we are just at the introductions.
08:03:32 <anitsirk> great to see you again.
08:03:44 <sl-yairspi> hi anitsirk. thank you
08:04:02 <anitsirk> sl-yairspi: can you please introduce yourself for the rest of us and the minutes? please use #info at the start of your line
08:04:44 <anitsirk> BTW, aarow will not be joining us today as he's engaged otherwise, but he updated the agenda at https://wiki.mahara.org/wiki/Developer_Area/Developer_Meetings/53 with his finished todo items.
08:04:53 <anitsirk> let's jump right in then.
08:05:07 <anitsirk> #topic Topics from previous meeting
08:05:22 <anitsirk> #info all items have been dealt with. :-)
08:05:27 <anitsirk> #info Dropping support for PHP 5.3 in 16.10: https://bugs.launchpad.net/mahara/+bug/1576448
08:05:34 <anitsirk> #info Adopting PSR-2 for Mahara's PHP coding standard: https://bugs.launchpad.net/mahara/+bug/1576074
08:05:36 <sl-yairspi> #info Yair Spielmann, Synergy Learning (Belfast), Moodle and (sometimes) Mahara developer.
08:05:43 <anitsirk> #info PHP Namespaces in 16.10: https://bugs.launchpad.net/mahara/+bug/1576075
08:05:55 <anitsirk> #info German "du" translation: Discussed and awaiting feedback from Ralf Hilgenstock as main German translator
08:06:22 <anitsirk> do you have any questions or comments for these?
08:07:11 <mingard> sounds good :) i'm definitely in favour of having a JS coding standard as well (preferably an industry standard rather than using the same guidelines as PHP)
08:07:42 <robertl_> is there a formalised js coding standard?
08:07:44 <mingard> worth thinking about extra things like how HTML elements are constructed / defined in JS as well as just formatting
08:07:51 <anitsirk> #info mingard in favor of having an industry standard JS coding standard
08:08:10 <mingard> there are a bunch - one sec
08:08:16 <anitsirk> #idea in that context also think about extra things like how HTML elements are constructed / defined in JS as well as formatting
08:09:11 <mingard> http://jscs.info/overview has a bunch of different presets - as far as i know airbnb and google are the most widely used ones
08:09:45 <anitsirk> great. thanks mingard
08:10:11 <anitsirk> mingard: do you want to add your thoughts to the bug in launchpad?
08:10:20 <mingard> ok, will do
08:10:25 <anitsirk> thank you.
08:10:51 <anitsirk> anybody else?
08:11:04 <ghada> i don't have anything
08:11:35 <anitsirk> let's move to the new interesting items.
08:11:39 <anitsirk> #topic Mochikit purging
08:11:47 <anitsirk> I proposed it as we have an update.
08:12:08 <anitsirk> #info a while ago, mingard started on the process of purging mochikit JS from Mahara and developed a tool for it.
08:12:17 <anitsirk> https://github.com/binary-koan/state-of-mahara
08:12:51 <anitsirk> #info Our Jen at Catalyst spent some time this week reviewing mingard's work to determine the next steps.
08:12:59 <anitsirk> https://wiki.mahara.org/wiki/Developer_Area/MochiKit_in_Mahara
08:13:21 <anitsirk> @info she updated the above wiki page with her findings and also made some suggestions for the tool.
08:13:50 <anitsirk> #info basically, it's still a lot of work to get rid of Mochikit in Mahara as it is everywhere as we had already established before.
08:13:59 <ghada> wow, that's a lot of files.
08:14:06 <anitsirk> #info the good news is that we can progress step by step.
08:14:29 <anitsirk> mingard already started on stripping out Mochikit for mahara.js. And Jen reckons that we can do the other files gradually as well.
08:14:50 <anitsirk> of course, having somebody spend time on it in longer stretches of time will be better than just here and there.
08:14:54 <mingard> ah, didn't notice the pull requests jen made - thanks for bringing it up :)
08:15:00 <anitsirk> ghada: yes, it's a lot of files.
08:15:10 <anitsirk> mingard: she just made them today.
08:15:20 <anzeljg> hi
08:15:33 <anitsirk> hi anzeljg
08:15:54 <Gregor_Pirker> hi anzeljg
08:16:00 <anitsirk> so yes, a lot of work, but in contrast to bootstrap, it doesn't have to be done all at once.
08:16:19 <sl-yairspi> hi anzeljg
08:16:31 <anzeljg> #info anzeljg is Gregor Anzelj, developer and translator, POVSOD, Ljubljana, Slovenia
08:16:39 <ghada> hi anzeljg
08:16:40 <anitsirk> #info Jen also updated https://reviews.mahara.org/#/c/5542/ to the latest master so we can look into getting this in sooner rather than later
08:17:04 <anitsirk> that's all from me on this for the time being. i just wanted to provide an update.
08:17:29 <anitsirk> great work already on this, mingard!
08:17:47 <anzeljg> I have another meeting coming so I might not be available all the time...
08:17:52 <anitsirk> And Jen for finding additional cases and reviewing code already for this.
08:17:52 <mingard> thanks, glad my tool is actually coming in handy!
08:18:19 <anitsirk> anzeljg: ok. we only have one more topic on the agenda. do you have anything to discuss before you have to leave?
08:18:23 <ghada> anzeljg: anitsirk said that this will probably be a very short meeting
08:18:36 <anzeljg> anitsirk: no
08:18:40 <anzeljg> ghada: ok
08:18:42 <anzeljg> :)
08:19:07 <anitsirk> are there any questions for the mochikit replacement seeing that we have one of the experts in this meeting today?
08:19:27 <ghada> so that change is gerrit is for some of the files
08:19:42 <ghada> is the idea to get it released for 16.10?
08:19:57 <robertl_> how are we going to handle 3rd party plugins that may use mochikit?
08:19:57 <anitsirk> ghada: it's for mahara.js only. the other files in the patch needed to change due to the changes in mahara.js as far as i understood jen.
08:19:59 <ghada> i mean the 'change in gerrit'
08:20:39 <anitsirk> ghada: since we don't have to get rid of mochikit all at once like with the CSS, we can make changes for 16.10 or later depending on how much we can get done
08:20:40 <ghada> humm... 3rd party plugins...
08:20:56 <ghada> good point roberl_
08:21:07 <ghada> i can't type today...
08:21:08 <robertl_> I guess they will have to be fixed up by their maintainers
08:21:11 <ghada> robertl_
08:21:20 <anitsirk> robertl_ do i assume correctly that you mean "third party plugins that depend on mochikit functionality available in mahara core"?
08:21:31 <robertl_> yep
08:21:39 <mingard> do you know roughly how many potentially problematic ones there are?
08:22:01 <mingard> also, is there any system in PHP-land for deprecating features / notifying plugin authors when things change
08:22:03 <robertl_> they will need to update their js to use jquery (or native js)
08:22:48 <robertl_> we could add a deprecation notice to admin index page and get it out in a minor release
08:23:16 <anitsirk> I would say as well that they'd have to be fixed up by their maintainers. an easy thing we could do is make an announcement in the various mahara channels (dev forum, newsletter) to make plugin developers aware of the changes coming and point to the patches so they can find the changes more easily.
08:23:23 <robertl_> so users can see that moochikit is going away and that they would need to sort out their plugins
08:23:54 <anitsirk> #idea we could add a deprecation notice to admin index page and get it out in a minor release to alert plugin developers to the fact that mochikit functionality is being deprecated.
08:24:06 <anzeljg> Maybe even on individual plugin pages in Admin > Extensions section?
08:24:24 <robertl_> yep, announcements in the usual channels would be good
08:24:45 <anitsirk> is that necessary seeing that there are so many pages affected? It's probably very likely that any plugin would need some fixing.
08:25:21 <robertl_> also could have a basic function to check plugins - if they have any of the basic moochikit syntax in them then warn with -deprecated- message
08:25:34 <anzeljg> not sure. i don't even know if any of my plugins use any of mochikit?
08:25:37 <robertl_> on extensions page
08:25:53 <anzeljg> i think not, though - but not sure
08:25:58 <ghada> we can point them to mingard's code
08:26:15 <anitsirk> anzeljg: a list of known occurrences is at https://wiki.mahara.org/wiki/Developer_Area/MochiKit_in_Mahara
08:26:40 <ghada> mingard: can it also identify the files in third party plugins?
08:26:41 <anitsirk> that's for Mahara core.
08:26:46 <ghada> oh..
08:26:56 <mingard> yeah, in theory it just goes through the entire directory tree looking for function uses
08:26:59 <anitsirk> ghada: i didn't mean the tool. just the wiki page
08:27:18 <mingard> so it would be possible to use on third-party plugins. might put that in the readme ...
08:27:19 <ghada> right, i was thinking of the github account.
08:27:53 <ghada> that would be a really nice way for the third party developers to see where they need to fix up their code.
08:27:55 <anitsirk> #idea we also could have a basic function to check plugins - if they have any of the basic moochikit syntax in them then warn with -deprecated- message
08:28:11 <anzeljg> anitsirk: is there a plain list of mochikit functions somewhere?
08:28:20 <anitsirk> mingard: ^
08:28:39 <robertl_> https://mochi.github.io/mochikit/doc/html/MochiKit/index.html
08:28:44 <anzeljg> thanx
08:28:58 <robertl_> there is the list of the different bits
08:29:07 <anitsirk> #info List of Mochikit functions is available at https://mochi.github.io/mochikit/doc/html/MochiKit/index.html
08:29:14 <mingard> also https://github.com/binary-koan/state-of-mahara/blob/master/lib/checker/mochikit.coffee has all the ones that don't have common equivalents in PHP
08:29:23 <robertl_> in core I think mostly we used MochiKit.DOM functions
08:29:38 <anitsirk> so if anybody has mad JS skills and plenty of spare time, please let us know. :-)
08:29:56 <anitsirk> sl-yairspi: would that be something synergy could get involved in?
08:31:07 <anitsirk> #info If you want to help with the purging of Mochikit, please let the core team know.
08:31:50 <anitsirk> any more ideas or comments?
08:31:54 <mingard> i'll hopefully be able to help in late june/early july when i'm on mid-semester break :)
08:32:07 <sl-yairspi> I'll bring it up with our front-end developer (who speaks very highly of Mahara)
08:32:11 <ghada> ah, great way to spend your holiday!
08:32:20 <anitsirk> sl-yairspi and mingard: awesome!
08:32:20 <mingard> haha keeps my hand in
08:32:49 <anitsirk> mingard: i'm sure we could russle up a desk for you etc.
08:33:27 <mingard> ah, well i won't actually be in the country ... i'm in the uk for most of the holidays but won't be travelling much so will most likely have lots of spare time
08:33:50 <anitsirk> Oh. Have fun!
08:34:03 <anitsirk> OK. It seems we've exhausted this topic for the time being. Let's move to the next one that is also good news.
08:34:15 <ghada> mingard: we've got offices in Brighton! By the sea...
08:34:32 <anitsirk> #topic MNet replacement
08:34:42 <ghada> oh, this is a good topic
08:34:50 <anitsirk> This is another one of those huge-effort pieces...
08:35:12 <anitsirk> So Piers had a bit of time to tackle this and he's made a huge leap.
08:35:18 <anitsirk> To remind everyone:
08:35:53 <anitsirk> #info Moodle has been talking about removing / replacing MNet for quite some time. We've met with them now already back in late 2014 to come up with a plan of how to approach this.
08:36:01 <anitsirk> https://wiki.mahara.org/wiki/Developer_Area/Specifications_in_Development/MNet_replacement
08:36:22 <anitsirk> #info there are a number of chunky pieces of work to make the replacement happen.
08:36:50 <anitsirk> #info Piers of Catalyst finished the tech side of the connection manager
08:37:04 <anitsirk> #info the connection manager is in review at https://reviews.mahara.org/#/q/status:open+project:mahara+branch:master+topic:%22connection+manager%22
08:37:04 <anitsirk> https://reviews.mahara.org/#/q/status:open+project:mahara+branch:master+topic:%22connection+manager%22
08:37:38 <anitsirk> #info another important piece to the puzzle is to make SAML an integral part of core mahara. Currently, it still needs to be installed separately. The patches for that are available at https://reviews.mahara.org/#/q/status:open+project:mahara+branch:master+topic:SimpleSAML
08:37:39 <anitsirk> https://reviews.mahara.org/#/q/status:open+project:mahara+branch:master+topic:SimpleSAML
08:39:02 <anitsirk> #info Piers also tackled removing the reliance on MNet for the Mahara assignment submission plugin. That is not yet merged into the plugin or in review as we'll need to check a couple things before putting that out there.
08:39:17 <anitsirk> So: lots of progress on that front. now it all needs to be reviewed ;-)
08:39:26 <anitsirk> and the connection manager needs some front-end love.
08:39:27 <robertl_> the making of simplesaml as part of mahara relies on doing a: make ssphp
08:41:04 <ghada> robertl_: brendan at Catalyst wrote a simplesaml plugin for moodle that includes simplesaml in there - one stop shop.
08:41:11 <ghada> is that what you're doing for Mahara too?
08:41:30 <anitsirk> #info the making of simplesaml as part of mahara relies on doing a: make ssphp
08:43:04 <anitsirk> ghada: i don't know if that is the same approach that piers took.
08:43:31 <ghada> i'm trying to find the link...
08:44:03 <robertl_> I believe Pier's way installs it via composer
08:44:04 <anitsirk> https://github.com/brendanheywood/moodle-auth_saml2
08:44:41 <ghada> yep, that's the link.
08:44:48 <anitsirk> we haven't had much time to look into the code yet. it's on the todo list.
08:45:04 <ghada> ok.
08:45:19 <sl-yairspi> anything that requires the site admin to use composer can be an issue
08:45:41 <anitsirk> sl-yairspi: why is that?
08:46:46 <sl-yairspi> some hosting companies can only deploy plugins by git pull
08:47:01 <mingard> is it possible to distribute with composer dependencies already installed?
08:47:26 <sl-yairspi> sometimes (where it's an institution completely closed to the internet) it has to be done by disk...
08:48:07 <anitsirk> #info components requiring composer could be a problem for some site admins that only have limited access to their server as some hosting companies allow deploying plugins by git pull only. Sometimes it even has to be done by disk when the institution is completely closed to the internet.
08:48:49 <anitsirk> wouldn't these then already have problems with gulp?
08:50:00 <sl-yairspi> that's a good question
08:50:20 <ghada> fyi - we've got a protest marching through the street outside our building...
08:50:31 <ghada> just another day in Sydney
08:50:42 <ghada> very noisy
08:50:46 <sl-yairspi> are they protesting against components that require composer?
08:50:54 <anitsirk> ghada: today is an interesting day. parliament was cordoned off for some time today.
08:50:58 <ghada> :)
08:51:07 <ghada> wow... that's serious
08:51:17 <ghada> anyway, sorry to disturb ...
08:52:09 <ghada> back on topic - yes, I think those sites would also have an issue with gulp
08:52:18 <anitsirk> robertl_ correct me if I'm wrong, but for some of our clients where we can't compile the theme on the server, you do that locally and then upload the compiled code. would that be possible for other components as well?
08:54:28 <ghada> anitsirk: for our clients, we don't compile on the server - gulp is not even installed. we compile them on a build machine, create a debian package to install the whole thing on the prod server.
08:54:54 <anitsirk> ghada: we do it differently. :-)
08:55:04 <robertl_> yep - that would be the way to do it - install it locally and add it to the git branch
08:55:05 <ghada> yeah, i know.
08:56:12 <anitsirk> #info a workaround for the limitation of everything needing to be in a git branch or not having direct internet access to pull other components, the code could be compiled locally and the pushed into git for deployment.
08:56:58 <anitsirk> We'll discuss it with Piers and aarow and see what they think.
08:57:17 <mingard> if that works well, i wonder if there are other components that could be installed with composer rather than kept in the repo ...
08:57:52 <anitsirk> #action anitsirk to bring up the composer issue for the SAML work and see if we want to proceed or make changes.
08:58:22 <anitsirk> #idea if the workaround works well, would there be other components that could be installed via composer rather than kept in the repository?
08:58:58 <anitsirk> and then the workaround wouldn't be so much of a workaround anymore but rather a feature...
09:00:20 <ghada> ok.
09:00:28 <anitsirk> I guess that's a lot to digest and think about. If there are other ideas, please add them either to the bug report or the reviews
09:00:34 <anitsirk> #topic Next meeting and chair
09:01:10 <anitsirk> Thursdays doesn't work for aarow for the next 12 or so weeks as he's got a class. could we move to tuesday or wednesday? same time?
09:01:23 <anitsirk> say 29 June at 8 UTC? http://www.timeanddate.com/worldclock/fixedtime.html?iso=20160629T08
09:02:03 <Gregor_Pirker> it's fine for me :-)
09:02:24 <anitsirk> anzeljg, robertl_, ghada, mingard, sl-yairspi?
09:02:30 <ghada> yep, that's fine with me.
09:03:02 <mingard> sounds good to me
09:03:25 <robertl_> ok
09:03:30 <sl-yairspi> good for me I think
09:04:06 <anzeljg> just back... i need a minute to go through everything
09:04:47 <anzeljg> fine with me
09:04:56 <anitsirk> ok.
09:05:06 <anitsirk> give me a sec. emergency outside.
09:05:11 <anitsirk> please decide who wants to chair
09:06:08 <ghada> i think anitsirk does a great job every time!
09:06:16 <ghada> :-D
09:07:15 <anitsirk> hehe
09:07:24 <anitsirk> happy to do it again.
09:07:30 <anitsirk> unless somebody wants to
09:07:42 <ghada> we're very happy for you to do it again
09:08:02 <anitsirk> #info next meeting will be on 29 June 2016 at 8 UTC http://www.timeanddate.com/worldclock/fixedtime.html?iso=20160629T08 and chair will be anitsirk
09:08:07 <anitsirk> ;-)
09:08:11 <anitsirk> #topic Any other business
09:08:46 <anitsirk> anybody?
09:09:08 <ghada> bueller bueller
09:09:13 <ghada> sorry
09:09:38 <anitsirk> mhh.
09:09:43 <mingard> not from me
09:09:46 <anitsirk> well, i just have a quick one.
09:09:51 <robertl_> nor I
09:09:56 <ghada> go for it anitsirk!
09:10:21 <anitsirk> #info aarow moved our meetbot to a server so it doesn't run off someone's computer anymore. thank you, dobedobedoo (Andrew Nicols) for hosting it for many years.
09:10:51 <anitsirk> the funky thing with it though that it takes a few seconds before the meeting links are generated once i end the meeting. so don't worry if things don't show up immediately.
09:11:12 <anitsirk> the rest can wait until the end of June. I promised a short meeting and it's already much later than that.
09:11:27 <anitsirk> Thank you everyone for attending today.
09:11:30 <anitsirk> #endmeeting