07:16:35 <anitsirk> #startmeeting 52nd Mahara Developer Meeting 07:16:35 <maharameet-nz> Meeting started Thu Apr 28 07:16:35 2016 UTC and is due to finish in 60 minutes. The chair is anitsirk. Information about MeetBot at http://wiki.debian.org/MeetBot. 07:16:35 <maharameet-nz> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 07:16:35 <maharameet-nz> The meeting name has been set to '52nd_mahara_developer_meeting' 07:16:40 <anitsirk> Welcome to our 52nd Mahara developer meeting. Please say who you are and prefix that with "#info" so that the meeting minutes pick it up. 07:16:47 <anitsirk> #info anitsirk is Kristina Hoeppner, Catalyst, Wellington in New Zealand 07:16:49 <robertl_> #info robertl_ is Robert Lyon, Catalyst in Wellington, New Zealand 07:16:54 <aaronw_> #info aaronw_ is Aaron Wells, Catalyst IT, Wellington NZ 07:17:35 <sl-yair> #info Yair Spielmann, Synergy Learning, in Belfast, Northern Ireland 07:17:37 <ghada> #info ghada is Ghada El-Zoghbi, Catalyst IT, Sydney, Australia 07:17:41 <Gregor_Pirker> #info Gregor_Pirker is Gregor Pirker, Danube University Krems, Krems, Austria 07:17:53 <anitsirk> #topic Items from last meeting 07:17:54 <anitsirk> #info since both mingard and anzeljg aren't here (yet), we'll postpone their items until later or next time. 07:18:08 <anitsirk> So onto our first new agenda item 07:18:08 <anitsirk> #topic Drop support for PHP 5.3? 07:18:13 <anitsirk> aaronw_: all yours 07:18:31 <aaronw_> Just wondering if we want to drop support for PHP 5.3 in the next Mahara release 07:18:49 <robertl_> the next being 16.04 or 16.10? 07:18:51 <aaronw_> Unfortunately I have not collated the latest data from mahara.org/stats as I'd intended to... 07:18:54 <aaronw_> 16.10 07:18:59 <sl-yair> no objection to this on my part 07:19:21 <robertl_> well seeing as php7 is upon us now 07:19:45 <aaronw_> And we just had some PHP 5.3 compatibility bugs a couple of weeks ago 07:19:46 <robertl_> we should definitely consider dropping active support for 5.3 07:20:03 <robertl_> but if a patch is given by community 07:20:10 <robertl_> and it's small easy fix 07:20:12 <ghada> right, i thought the min was PHP5.5 already 07:20:14 <robertl_> then include it 07:20:30 <robertl_> some redhat I think uses 5.3 07:20:38 <aaronw_> ghada: strangely enough there are still a few places out there tied to PHP 5.3, because they're running RHEL 6.7 07:20:52 <aaronw_> or the CentOS equivalent 07:21:06 <aaronw_> earlier this month we had to fix some bugs for two separate institutions on 5.3 07:21:16 <anitsirk> #idea drop support for PHP 5.3 officially in Mahara 16.10. It is getting old. 07:21:36 <ghada> There was also this on the forums: https://mahara.org/interaction/forum/topic.php?id=7529&offset=30 07:21:42 <aaronw_> Alright, it sounds like amongst us devs there is not much love for 5.3 07:21:43 <ghada> it was because he was using php5.3 07:21:46 <robertl_> do we know when RHEL 6.7 becomes obsolete? 07:22:08 <aaronw_> I think it is possible to get newer versions of PHP on RHEL 6.7 07:22:16 <aaronw_> you have to add some additional software repositories 07:22:24 <ghada> yes you can. but it's a pain 07:22:33 <ghada> we had to do it for one of our clients. it wasn't fun 07:22:40 <aaronw_> hm 07:22:51 <aaronw_> 6.7 is still under extended support until July 2017 07:23:29 <aaronw_> oh, another consideration is that some of our dependencies are starting to drop support for 5.3 07:23:43 <anitsirk> #info some of our dependencies are starting to drop support for 5.3 07:23:43 <aaronw_> Specifically, I noticed it in one of the PEAR libraries 07:24:17 <robertl_> ah true - so us supporting 5.3 might end up being unattainable anyway 07:24:31 <aaronw_> yep 07:25:02 <aaronw_> anitsirk: Any thoughts? 07:25:40 <anitsirk> if some of our dependies drop support, shouldn't we take the approach we did for IE? 07:25:47 <aaronw_> what's that? 07:25:50 <anitsirk> or rather similar approach 07:25:57 <anitsirk> not support it anymore when it's not supported? 07:26:22 <aaronw_> oh, well, PHP 5.3 has actually been out of support from Zend for several years now 07:26:22 <anitsirk> we could still fix issues as robertl_ noted if people provide patches but we would not actively support such an old system anymore 07:26:40 <aaronw_> since August 2014 07:26:46 <aaronw_> http://php.net/eol.php 07:26:48 <anitsirk> alex from synergy was asking me about php7 support just recently. so we need to find a balance there. 07:27:09 <sl-yair> most similar open-source packages I've seen have stopped 5.3 support also. 07:27:14 <aaronw_> yeah, dropping 5.3 support would make our "support" burden smaller, since now we also have to start worrying about PHP 7 support 07:27:33 <aaronw_> okay, so let's say we're dropping support for 5.3 in 16.10, unless we come across some big reason to keep it 07:27:57 <ghada> I'm for that 07:28:46 <robertl_> sounds good to me 07:28:46 <aaronw_> next topic? 07:29:00 <anitsirk> yep. let me just take note of the decision 07:29:26 <anitsirk> #agreed Drop support for php 5.3 in 16.10, unless we come across some big reason to keep it. 07:29:36 <anitsirk> #topic Switch to PSR-2 coding standard? 07:29:45 <anitsirk> aaronw_: you again 07:29:57 <aaronw_> Yep, sorry guys, I put a few hefty topics on this one. ;) 07:30:07 <aaronw_> http://www.php-fig.org/psr/psr-2/ 07:30:24 <aaronw_> So, PSR-2 is the most widely used PHP code formatting standard 07:30:31 <aaronw_> shared by several prominent PHP projects 07:31:16 <aaronw_> I think it would be good if we switched from Mahara's individual coding standard to that one 07:31:16 <aaronw_> thoughts? 07:31:47 <ghada> "Opening braces for classes MUST go on the next line, and closing braces MUST go on the next line after the body." 07:31:53 <robertl_> how much effort would it be to update existing code to the standard? 07:31:55 <ghada> wow... that's going to confuse Moodle 07:31:59 <ghada> Moodle devs 07:32:14 <dobedobedoh> it already does 07:32:26 <aaronw_> Yep, no more confusing than our current standard ;) 07:32:33 <aaronw_> I guess as an alternative, we could adopt the Moodle coding standard 07:32:47 <dobedobedoh> No... please don't 07:32:48 <ghada> that's actually my preferred format. braces on new lines. 07:32:56 <ghada> no, not Moodle 07:33:03 <aaronw_> oh, good 07:33:03 <dobedobedoh> PSR-2 is much nicer 07:33:16 <aaronw_> yeah, and PSR-2 will have better tool support 07:33:18 <dobedobedoh> (And consider JS coding style too) 07:33:18 <ghada> I've had to make a few adjustments over the past few years for those braces! 07:33:33 <aaronw_> dobedobedoh do you know if there's a PSR-2 equivalent, for Javascript? 07:33:44 <sl-yair> I prefer it on the same line (but admittedly I am mostly a Moodle dev, so slightly biased here) 07:33:46 <dobedobedoh> Not off the top of my head - there are loose standards but no spec 07:34:04 <aaronw_> something we could do, also, is to put a formatter step into our Makefile 07:34:15 <aaronw_> so, that would ease things a bit 07:35:00 <ghada> aaronw_: yes the formatter is a great idea 07:35:37 <ghada> oh why!!!! "Opening braces for control structures MUST go on the same line, and closing braces MUST go on the next line after the body." 07:35:49 <ghada> did we lost anitsirk? 07:38:12 <robertl_> well, if we go with PSR-2 we will have to embrace cuddled elses again :) 07:39:38 <robertl_> hmm, people seem to be dropping out 07:39:44 <ghada> kristina can't get into the chat room 07:40:10 <robertl_> I guess we will pause for a few minutes 07:40:30 <aaronw_> whoops, disconnected for a second there 07:40:30 <robertl_> sweet they are back 07:40:36 <aaronw_> did I miss anything? 07:40:45 <ghada> ah, you're back! 07:40:50 <anitsirk> sorry. i was lost in IRC space. 07:40:58 <anitsirk> second computer to the rescue (for now). 07:41:17 <ghada> is the bot still on? 07:41:20 <aaronw_> last message I saw was dobedobedoh at 7:33:50? 07:41:40 <aaronw_> the bot is showing some error messages in its logs... 07:41:57 <aaronw_> but it seems like it's still connected 07:42:17 <aaronw_> oh, seems like everyone is getting kicked off 07:43:00 <aaronw_> who's still here? 07:43:07 <robertl_> I am 07:43:09 <ghada> i'm here 07:43:10 <Gregor_Pirker> at the moment i don´t have any problems :-) 07:43:13 <anitsirk> i am 07:43:24 <Gregor_Pirker> i am 07:43:49 <ghada> have we lost sl-yair ? 07:43:51 <anitsirk> aaronw_: was asking about moving to the psr-2 coding standard and what your thoughts were. any discussion on that yet? 07:44:08 <ghada> i think it's a good idea. 07:44:24 <ghada> just need to figure out how long it will take to change the cod 07:44:25 <ghada> code 07:44:28 <robertl_> I think it is a good idea also 07:44:39 <ghada> and effort involved... 07:44:43 <anitsirk> ghada: good question about the bot. if it's not, we can run the log through it later 07:44:59 <aaronw_> well, I'd like to just bite the bullet, run an autoformatter on all the existing code (excluding external libraries) and commit in one big commit 07:45:03 <aaronw_> that would be not much effort at all 07:45:10 <anitsirk> #info good idea to move to widely recognized coding standards. we'll need to assess the effort needed to do so. 07:45:30 <anitsirk> #idea run an autoformatter on all the existing code (excluding external libraries) and commit in one big commit 07:45:32 <aaronw_> plus it'll give me a lot of "lines changed" for the next release ;) 07:45:40 <anitsirk> lol 07:45:47 <robertl_> cheater 07:45:56 <aaronw_> another thing we could do to ease the transition is put a formatter step into the Makefile 07:46:00 <ghada> That's ok. we're going to have to go in and fix it after 07:46:15 <anitsirk> aaronw_: should we coordinate that with jen who's reviewing mochikit and effort needed there for stripping it out (taking jono's patch into consideration)? 07:46:18 <ghada> ;-) 07:46:39 <aaronw_> Well, this formatting change shouldn't affect the MochiKit thing 07:46:51 <aaronw_> but it might be good to ask Jen if she has any suggestions on a JS code formatting standard 07:47:46 <aaronw_> okay, sounds like we're decided. I'll file a Launchpad bug for the format change. 07:48:02 <sl-yair> still here 07:48:44 <anitsirk> #action aaronw to file a bug to switch to the PSR-2 coding standard 07:48:58 <anitsirk> alright and because there are three things to everything: 07:49:03 <sl-yair> the problem with reformatting everything is that it could really mess up the git history 07:49:04 <anitsirk> #topic Namespaces and autoloading 07:49:08 <anitsirk> presented by ? 07:49:13 <anitsirk> aaronw_ :-) 07:49:15 <ghada> the formatter in the Makefile is also good idea 07:49:23 <aaronw_> and my third topic! 07:49:48 <aaronw_> I'd like to move all of Mahara's library code into namespaces, so we can use an autoloader 07:49:48 <sl-yair> and rebasing core customisations would be a disaster 07:50:13 <anitsirk> #idea move all of Mahara's library code into namespaces, so we can use an autoloader 07:50:20 <aaronw_> yes, one downside to changing the code format is that it'll make it harder to apply patches 07:50:44 <aaronw_> it's just whitespace changes, though, so it shouldn't be too big of a problem 07:51:00 <anitsirk> #info one downside to changing the code format is that it'll make it harder to apply patches. it's just whitespace changes, though, so it shouldn't be too big of a problem 07:51:19 <aaronw_> back to namespaces... 07:51:50 <aaronw_> in 16.04dev, Robert while investigating performance issues, found that we were loading the artefact/lib.php and a whole bunch of artefact libraries, on every single page load 07:51:54 <aaronw_> usually unnecessarily 07:52:02 <aaronw_> so he removed that, to improve performance 07:52:32 <aaronw_> but then it turned out that there was a lot of code that wanted to call get_artefact_descendants(), from artefact/lib.php, and didn't have the proper require()'s, because previously it'd been loaded on every single page 07:52:39 <sl-yair> namespace and autoloader would be a very welcome addition i.m.o 07:52:43 <aaronw_> if we switched to an autoloader system, it would let us resolve problems like that 07:53:02 <aaronw_> so basically, the way this would go is that we'd put all of our library files under namespace \Mahara 07:53:12 <aaronw_> and then artefacts would be \Mahara\Artefact, etc 07:53:40 <aaronw_> and then we could register an autoloader, that would automatically know which PHP file to load, based on the namespace and our file layout 07:53:51 <aaronw_> thus removing our need for most require() statements 07:54:08 <anitsirk> #idea so basically, the way this would go is that we'd put all of our library files under namespace \Mahara and then artefacts would be \Mahara\Artefact, etc and then we could register an autoloader, that would automatically know which PHP file to load, based on the namespace and our file layout thus removing our need for most require() statements 07:54:25 <aaronw_> unfortunately there's no autoloader for standalone functions, so I would also like to move all the standalone functions like artefact_get_descendants into static functions of a utility class, so they could be autoloaded too 07:54:46 <aaronw_> like, artefact_get_descendants would become \Mahara\ArtefactUtil::artefact_get_descendants() or some such 07:54:55 <anitsirk> #info unfortunately there's no autoloader for standalone functions, so aaronw_ would also like to move all the standalone functions like artefact_get_descendants into static functions of a utility class, so they could be autoloaded too 07:55:07 <aaronw_> for backwards compatibility we could provide a compatibility library that maps the standalone function names to the new static functions 07:55:21 <anitsirk> #idea for backwards compatibility we could provide a compatibility library that maps the standalone function names to the new static functions 07:55:29 <aaronw_> so, that's the whole thing 07:55:33 <aaronw_> thoughts? 07:55:50 <ghada> third party plugins 07:55:54 <robertl_> would that mean turning group/lib.php into a class as well? 07:55:59 <ghada> they'll have to make the change as well 07:56:15 <robertl_> as I keep expecting it should be 07:56:17 <aaronw_> yeah, all the functions under group/lib.php would be moved into static functions of a utility class 07:56:34 <robertl_> then I'm all for it :) 07:56:43 <anitsirk> #info third-party libraries would need to make the change as well. 07:56:50 <aaronw_> hm, will have to give some thought to 3rd-party libraries... 07:56:59 <anitsirk> #undo 07:56:59 <maharameet-nz> Removing item from minutes: <ircmeeting.items.Info object at 0x7f1becc76b10> 07:57:15 <aaronw_> it would be best not to require them to be massively rewritten 07:57:27 <aaronw_> I'll think about that 07:58:15 <aaronw_> if we provided that backwards-compatibility library that provides wrapper functions around the namespaced functions... similarly I guess we could provide BC non-namespaced classes? 07:58:39 <aaronw_> something like "class ArtefactType extends \Mahara\Artefact\ArtefactType {};" 07:58:56 <anitsirk> #action aaronw_ to think about how a change to namespaces would affect 3rd-party libraries and whether they'd need to move to namespaces as well. 07:59:47 <aaronw_> okay, I'll file a Launchpad bug, and make sure not to move forward until we've figured out how to avoid breaking 3rd-party libraries 07:59:59 <aaronw_> any other thoughts on this topic? 08:00:37 <ghada> well, since we're going to be formatting, there will be lots of changes in the code. 08:00:44 <sl-yair> when Moodle introduced autoloader, it allowed a couple of transition versions in which third party plugins could behave as before if they wanted. 08:00:48 <ghada> this will be another change - which is not a bad thing 08:01:04 <aaronw_> thanks sl-yair, I'll take a look at how Moodle handled it 08:01:30 <anitsirk> #action aaronw_ to file a bug around namespaces. but no changes will be made until we have a solution to avoid breaking 3rd-party libraries as best as possible 08:01:31 <sl-yair> (in fact they still technically can, but it's frowned upon) 08:01:49 <anitsirk> #info Moodle faced a similar issue and provided a couple of transition versions in which third party plugins could behave as before if they wanted. 08:02:14 <anitsirk> anything else? 08:02:50 <anitsirk> ok. then i'm just throwing in a new topic because i can as chair. ;-) it's too important to just come under "Any other business" 08:02:52 <ghada> we don't keep anything in the db do we ? 08:03:03 <ghada> like location of a class or something crazy like that? 08:03:26 <aaronw_> just the names of classes 08:03:27 <ghada> sorry anitsirk 08:03:48 <anitsirk> nah. go ahead, ghada 08:03:55 <ghada> so wouldn't that be affected? 08:03:56 <aaronw_> i.e. blocktype_installed expects the names of the blocktypes to correlate to the directory of the blocktype and the name of the class 08:04:08 <aaronw_> nope 08:04:19 <ghada> ok. 08:04:22 <aaronw_> we'll just correlate the namespaced name of the class in the same way 08:04:26 <ghada> and the sitedata should be all good. 08:05:01 <ghada> i hope.. 08:05:57 <anitsirk> all good? 08:06:08 <ghada> i think so. 08:06:11 <ghada> thanks anitsirk 08:06:22 <anitsirk> #topic Mahara 16.04 release 08:06:42 <anitsirk> So, the champagne or tequilla, whichever is your vice, is cooled, but needs to cool its heals a bit longer 08:06:50 <anitsirk> i still need to finish the release notes. 08:07:11 <anitsirk> aaronw_: i sent you a draft to review. if you are ok with them, i'll just add the sponsors and I'm good to go if you are 08:07:19 <aaronw_> alright! 08:07:47 <anitsirk> #info This release is a nice small one but does have some cool new features. 08:07:49 <anitsirk> http://manual.mahara.org/en/16.04/genindex.html#N 08:07:57 <anitsirk> the big one is HTML5 media player 08:08:08 <anitsirk> thanks to ZHAW in switzerland which sponsored that. 08:08:32 <anitsirk> #info we also integrated the Open Badges displayer plugin that discendum had developed. it's now in core. 08:08:54 <anitsirk> #info the big feature is HTML5 media player, which ZHAW in switzerland sponsored. 08:09:13 <anitsirk> take a look in the manual to see all the new / changed features that users can experience 08:09:47 <anitsirk> #info I also gave a presentation on the big new features last week https://slides.com/anitsirk/count-down-to-mahara-1604 (in the recording it starts at around minute 4) 08:10:03 <anitsirk> so thank you very much to everybody who's contributed to this release. 08:10:19 <anitsirk> we were able to include some nice long-wished for features (including wall notifications!) 08:10:48 <sl-yair> oh, cron protection. nice. 08:10:54 <anitsirk> if the packaging has been done (aaronw_?) we will release tonight. 08:11:04 <aaronw_> yep, it's done 08:11:13 <anitsirk> sl-yair: yes. nice but also annoying during testing. fortunately, there is a way to turn it off for that. :-) 08:11:18 <anitsirk> aaronw_: cool. thanks. 08:13:16 <anitsirk> so yes. that'll be 16.04 for you. 08:13:46 <anitsirk> #info the release of 16.04 also means that support for 1.10 is dropped. we will have one more minor point release for that version but not more. 08:14:42 <anitsirk> great work again by everyone making mahara better! 08:15:03 <ghada> yes, good work you guys 08:15:03 <anitsirk> That brings me to the next topic 08:15:24 <anitsirk> #topic Next meeting and chair 08:15:45 <anitsirk> What about 26 May at the same time? That would be a thursday again 08:15:49 <anitsirk> http://www.timeanddate.com/worldclock/fixedtime.html?iso=20160526T07 08:16:28 <ghada> sure, that works for me 08:16:35 <aaronw_> same 08:16:51 <robertl_> time sounds fine to me 08:17:09 <anitsirk> Gregor_Pirker and sl-yair: does that work for you up north? 08:17:39 <sl-yair> up west, the later the better 08:18:03 <anitsirk> huh? you are not in europe? 08:18:38 <Gregor_Pirker> for me sound good time and date 08:18:58 <ghada> N. Ireland 08:19:00 <sl-yair> I am. sorry, I mostly commented on the timezone :) But most people here seem to be in NZ so waking up a bit early is fine. 08:19:41 <anitsirk> 8 am too early? 08:20:28 <anitsirk> we could probably do 9 a.m. green isles which should be 8 p.m. NZ if aaronw_ and robertl_ are ok with that and it also works for the others 08:20:32 <anitsirk> to have it an hour later 08:20:56 <aaronw_> I could do that 08:21:24 <sl-yair> that would be great 08:21:55 <anitsirk> ghada, robertl_ and Gregor_Pirker would one hour later work for you? http://www.timeanddate.com/worldclock/fixedtime.html?iso=20160526T08 08:22:54 <Gregor_Pirker> It´s okay for me :-) 08:23:16 <ghada> yep 08:23:46 <anitsirk> ok. who wants to be chair? :-D 08:25:09 <anitsirk> #info the 53rd Mahara developer meeting will take place on 26 May 2016 at 8:00 UTC and anitsirk will be chairing the meeting. http://www.timeanddate.com/worldclock/fixedtime.html?iso=20160526T08 08:25:13 <anitsirk> all sorted. 08:25:18 <anitsirk> #topic Any other business 08:26:07 <anitsirk> I can have one 08:26:20 <ghada> fire away! 08:26:32 <anitsirk> So, earlier I said to postpone anzeljg's action item "will try to create some plans/wireframes for simplifying Mahara create page procedure" 08:26:40 <anitsirk> but actually, i can speak to that :-) 08:27:20 <anitsirk> #info alja, a UX designer who works with anzeljg, has come up with some wireframes and ideas that I'll put together with our current ideas and upload within the next two weeks. 08:27:52 <anitsirk> it's been great to get her perspective on mahara as she hadn't used it before. some things were similar, others not and getting something out to the wider community will be great to gather wider feedback. 08:28:07 <sl-yair> have to go now, thanks guys, it has been a very good meeting. 08:28:07 <anitsirk> we already implemented at least one small change following on from the discussions the two of us had. 08:28:12 <anitsirk> so watch this space. 08:28:24 <anitsirk> bye sl-yair. thanks for joining in. 08:28:31 <anitsirk> CU some other time. 08:28:40 <anitsirk> Any other small items? 08:28:46 <sl-yair> CU! 08:29:31 <anitsirk> doesn't look like it. or maybe some people got dropped again. so let's finish for tonight / morning. 08:29:36 <Gregor_Pirker> :-) I can give you a little bit feedback from our Partners: The Mahara 15.10 is very nice designed and userfriendly and they like it very much ;-) 08:29:44 <anitsirk> right. go ahead, Gregor_Pirker 08:30:00 <aaronw_> well, that's good to hear 08:30:04 <anitsirk> fantastic. good to read. patk and the other front-end devs will be happy to hear that. 08:30:37 <anitsirk> #info feedback from the partners in the european portfolio project: The Mahara 15.10 is very nice designed and userfriendly and they like it very much 08:30:45 <Gregor_Pirker> big feedback can i give you in october then startet the schools in the projekt ;-) 08:30:57 <anitsirk> that sounds great. 08:31:22 <anitsirk> definitely have a chat with anzeljg and alia before then in case you want to make some changes to test with different default parameters for your users 08:31:55 <anitsirk> we can discuss that in july in vienna as well :-) 08:32:08 <anitsirk> anything else? 08:32:18 <anitsirk> oh yes. 08:32:26 <Gregor_Pirker> :-) 08:32:53 <anitsirk> #info aaronw_ resurrected the script that allows pulling translations from git into the langpack site so that we now have the up-to-date czech translation in 08:33:10 <anitsirk> aaronw_: would that actually also help with the german "du" translation that we can't do via launchpad? 08:33:26 <anitsirk> but we can discuss that next week seeing that it's getting late. 08:33:36 <aaronw_> oh, yeah, I guess it could 08:34:32 <anitsirk> cool. let's discuss that then. 08:35:02 <anitsirk> #action anitsirk to discuss the german "du" translation with aaronw_ and whether git would be the solution to make the up-to-date translation available. 08:35:15 <anitsirk> alright. i think that's really it now. 08:35:17 <anitsirk> going once 08:35:31 <anitsirk> going twice 08:35:40 <anitsirk> the end 08:35:42 <anitsirk> #endmeeting