If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Developer meeting April 2014

From MoodleDocs

Developer meetings > April 2014 meeting notes

Time 13:00 UTC on Tuesday, 29 April 2014
Meeting room Moodle Google+ Event page
Chat Regular Dev chat
Twitter #moodledev

In this meeting we focused on the impending release.

Meeting Video

<mediaplayer></mediaplayer> Note: For an optimised view and to see the chat log, change settings to 1024p HD quality.

Meeting Notes

Moodle 2.7 progress

Atto (Damyon Wiese)

  • Issue Docs
  • Atto chosen as new editor in 2.7, now polished and ready
  • More reliable, robust and works on mobile devices
  • Will work better with Moodle themes and UI improvements (such as dialogues)
  • TinyMCE still installed and available but no longer default
  • Custom editor plugins will need to be rewritten for Atto, but the API is simpler (see Atto docs page)
  • No changes needed to forms to make use of the new editor

Conditional activity conditions (Sam Marshall)

  • Issue Docs
  • Simplification of activity contions
  • New plugin type to define conditions, could be useful for institutions with specific requirements
  • Developers relying on conditions currently generally don't have to do anything
  • Performance should remain the same when calculating conditions

Theme clean-up and More theme (Frédéric Massart)

  • Issue
  • Clean is now default
  • Other themes removed and now available on Plugins Directory, but base themes remain
  • If you are using a theme that has been removed, you will want to check out the latest Moodle code, get the theme from the Plugins Directory and the run the upgrade script (although theme settings will remain if the theme goes missing)
  • More theme added, which includes customisable settings
  • Theme designers should clone theme and modify that to suit their needs

Task scheduling (Cron improvements) (Damyon Wiese)

  • Issue Docs
  • Can have scheduled and ad-hoc tasks defined
  • Scheduled tasks can run in parallel and can be spread across a cluster
  • Administrators should increase the frequency for the Moodle cron task to once per minute
  • Scheduled tasks can be administered through the UI and tasks can be run individually through the UI
  • Tasks that fail will not affect other tasks and repeats of that failing task will be increasingly delayed until the task works again
  • Plugins that use cron should be updated to make use of scheduled tasks (see Docs), but will run as "legacy cron" tasks until they are converted
  • Core cron jobs (such as enrolment updates) have been converted to scheduled tasks and standard plugin jobs will be updated soon

Logging (Petr Skoda)

  • Issue Docs
  • All core events converted to new system
  • add_to_log() function has been deprecated and these should be converted to events that are triggered (see Migrating logging calls in plugins)
  • Plugins accessing the mdl_log table using queries should start using the logging interfaces (see Migrating log access in reports)
  • Administrators upgrading to 2.7 will now be able to control the logging systems: standard log, legacy log, external log and potentially more
  • Logging interfaces can be created to work with other external systems (eg, NoSQL, text files, etc.)
  • Legacy logging comes with a cost, but may be needed for people using it for custom reports
  • There may be future work on Hooks
  • The logging and events system is now ready for administrators and researchers to create complex reports, analytics and feedback to users in real-time
  • A list of all possible events in Moodle is now available as a report

What does LTS (Long Term Support) mean? (Martin Dougiamas)

  • Moodle 2.7 will be supported for three years with minor fixes for one year and fixes for security or data-loss bugs will be backported for three years
  • Hopefully this will encourage people still on Moodle 1.9 to (finally) upgrade
  • We still recommend that people continue upgrading to later versions as normal
  • Another LTS is not expected for some time as it is costly

Roadmap after 2.7 (Martin Dougiamas)

  • Up-in-the-air at the moment
  • Potential work
    • Outcomes
    • Improved forum
    • Component library
    • Adding more logging coverage
    • Gradebook improvements (interface and API)
  • Gradebook event happening in early June in Los Angeles

MootUK14 Hackfest (Michael de Raadt)

  • Well attended one-day event; a lot of activity went on with work continuing over coming months
  • Topics voted on and discussed were
    • Elements library
    • Getting more information for Analytics
    • LTI usability
    • Lesson module simplification
    • Administrative view of emails sent
    • Themes, specifically Bootstrap3
    • Video player consistency
    • Improving trust in Moodle add-ons
    • Drag-and-drop of activities into course to facilitate course design

Questions from the Audience

Q: Please give some status report on the development progress of : LTI, xAPI (TinCan) & SCORM modules. A: TinCan actions are covered in the new events system. A TinCan logging plugin could easily be created if someone wanted to. There is work going on to move from LTI 1.2 to LTI 2.

Q: Since the events system got overhauled in Moodle 2.7, what is the future of the messaging system and API? A: The messaging system does create events, but there is no plan to replace the messaging system by extending the new events system.

Meeting chat log

David Mudrák just started here 9:07:39 PM
Davo Smith refresh the page 9:07:40 PM
Adrian Greeve working here as well. 9:07:40 PM
Dan Poltawski just started 9:07:41 PM
Martín Langhoff I'm in! 9:07:45 PM
danbennett On! *waves* 9:07:50 PM
Davo Smith i can see youtube spinner ... 9:07:58 PM
Martín Langhoff hello from the meeting room 9:07:58 PM
Martín Langhoff I had to press "play" again. No auto-start 9:07:59 PM
Sam Hemelryk howdy 9:08:12 PM
Justin Filip Morning everyone. 9:08:30 PM
OdyX evenin' 9:08:59 PM
Tim Hunt Sam is here 9:09:55 PM
Dan Poltawski this is funny 9:09:57 PM
Tim Hunt At his desk 9:09:59 PM
Tim Hunt I can see sam desperately installing the hangout plugin 9:10:19 PM
Justin Filip I forsee a lot of Martin accidentally repeating what someone else has already said in our future. =) 9:10:20 PM
Barbara Ramiro X.Y. Ng 9:09
if you log into your google+ account you should've gotten an invite alr?
X.Y. Ng 8:45
otherwise, try clicking here:
9:10:23 PM
Martin Dougiamas (I didn't get one either XY) 9:10:47 PM
Tim Hunt Good grief. HQ is infested by beards. Damyon has one now. 9:10:53 PM
Martin Dougiamas I can't hear Damyon at all, can anyone else? 9:11:11 PM
Sam Hemelryk an impressive one at that 9:11:12 PM
Davo Smith I can hear him 9:11:19 PM
XY Ng Yep can hear Damyon fine 9:11:19 PM
Sam Hemelryk Yip I can hear clearly 9:11:19 PM
Adrian Greeve No problem 9:11:20 PM
Rajesh Taneja Yes I can 9:11:20 PM
Dan Poltawski we can hear Damyon, Marti 9:11:21 PM
Michael de Raadt Yes. 9:11:23 PM
Dan Poltawski you can't hear anyone 9:11:29 PM
David Mudrák noticed couple more beers Petr is hiding at the shelve 9:11:30 PM
Jason Fowler that sounds like a good time to raise this: 9:11:36 PM
sam marshall TinyMCE 3.5.8 has IE11 bug which 3.5.10 fixes apparently, any plans to update? 9:12:33 PM
Martin Dougiamas ok, fixed it at my end by resetting google settings in hangout 9:12:48 PM
Mary Cooch just been documenting that this morn(TinyMCE and Atto preferrences) 9:12:56 PM
sam marshall (Thanks for answering that, IE11 bug is MDL-42719 btw) 9:13:25 PM
Moodle Bot - Text editor reports 'Required' once even with text in it (IE11), V: 9, W: 14, Type: Bug, Assignee: Unassigned, Priority: Minor, Status: Open 9:13:25 PM
John Atto is probably one of the most usuable web text editors I've seen 9:13:41 PM
jetha it's pretty great 9:14:09 PM
Michael de Raadt Can you talk about what devs will need to do in relation to transitioning their plugins? 9:14:33 PM
Dan Poltawski transitioning is a delicate way of putting it :P 9:15:01 PM
Michael de Raadt Also, it's worth reassuring people that they don't have to do anything to add the new editor to forms. It's just like it was before. 9:15:03 PM
Jason Fowler john, it gives me warm fuzzies to hear you say that :D 9:15:11 PM
Michael de Raadt (I'm a delicate guy, Dan ;) ) 9:15:22 PM
Jason Fowler delicate like a hammer ... 9:15:33 PM
Tim Hunt TinyMCE is based on content editable too. It always has been. 9:17:30 PM
Dan Poltawski can you zoom the file or paste a link? 9:17:41 PM
Dan Poltawski I'll get the link 9:17:53 PM
sam marshall Sidenote: Atto looks really good! I might change my mind when I have to rewrite my TinyMCE plugin but I looked at the API before and it looked like it would be fine. 9:18:09 PM
Justin Filip Thanks, Dan. This text is too blurry, low-res to really read. 9:18:17 PM
Tim Hunt CTRL + 9:18:38 PM
Jason Fowler timhunt, yes it is, but it is also in a iframe shim ... 9:18:42 PM
Dan Poltawski 9:18:53 PM
Tim Hunt Yes, because old browsers. 9:18:53 PM
Adrian Greeve I can see! 9:19:03 PM
Jason Fowler yes, ones Atto doesn't need to support :D 9:19:41 PM
Adrian Greeve It looks really good. 9:20:46 PM
Martin Dougiamas Show us your code 9:21:20 PM
Martín Langhoff we cant see 9:22:14 PM
Dan Poltawski Fred wrote a plugin using the new api: 9:22:33 PM
Michael de Raadt Click on Sam's icon. 9:22:38 PM
Michael de Raadt I can see his sharing. 9:22:41 PM
Martin Dougiamas click away and then back, wfm 9:23:02 PM
Tim Hunt Wow! The lag is huge! I can see Sam's screen, and the hangout. 9:23:06 PM
nadavkav Can we control the Atto's CSS from the theme? (So I can add RTL CSS rules to all the dialogs, unlike with TinyMCE) 9:23:24 PM
Michael de Raadt The CSS should follow that used in the theme, unlike TinyMCE. 9:23:45 PM
Martín Langhoff yes - you can override the css in a theme 9:23:48 PM
nadavkav Beautiful 9:24:04 PM
Martín Langhoff but RTL will work without changes 9:24:09 PM
nadavkav TineMCE dialogs are all LTR. And I could not fix it from the theme's CSS 9:24:44 PM
Dan Poltawski think this is the link Sam was after: 9:24:57 PM
sam marshall thanks dan!!! That is the one 9:25:12 PM
Marina Glancy Sam, can conidtional availability be used in other content, not only in course modules or sections? For example, parts of the module? 9:25:21 PM
Justin Filip BTW, there are questions in the Hangout Q&A section (in case nobody at HQ is looking there?) 9:26:39 PM
sam marshall hmm, not really - designed for course modules/sections (basically it's integrated with those two forms) 9:26:40 PM
Justin Filip (unless that's been addressed and I'm really lagged) 9:27:03 PM
sam marshall (that was answer to Marina's question). It could maybe be added other places but I think would need some reworking of the API a bit. There are some points where it needs to know the context in some way and it's coded for those two cases. 9:27:27 PM
Dan Poltawski wow the quality on that hangout on air thing is terrible 9:27:30 PM
Michael de Raadt I wish there was something better. 9:27:48 PM
Dan Poltawski (use the youtube link if you can, its better) 9:28:01 PM
Martín Langhoff Hmmm… I'm seeing pretty good quality. Odd. 9:28:34 PM
nadavkav The conditional activity Group plugin does not seems to be available inside activities, although it is installed. Should I enable some special feature for it to work/be available? 9:28:41 PM
Mary Cooch turn off enable group members only 9:28:57 PM
sam marshall nadav - that is because you have 'group members only' turned on on your site under experimental settings 9:28:59 PM
danbennett Watching on YouTube and its not bad. Not HD (even though 720 selected) but still readable on full screen 9:29:00 PM
nadavkav Thanks 9:29:03 PM
Martín Langhoff There is a settings icon on the player bar at the right. I have HD on. 9:29:06 PM
Mary Cooch snap samamarshall_ou 9:29:14 PM
Mary Cooch work in progress 9:29:18 PM
sam marshall (sorry Mary) re group members only - at present, we made it so you can't do it both ways, to avoid potential confusion. In 2.8 I hope to make it so that groupmembersonly goes away and is automatically implemented using this api instead. 9:29:44 PM
Mary Cooch yes I remember that conversation/tracker thingie 9:30:29 PM
Eloy Lafuente (stronk7) Just saw this Q from Kris in the onair page, Sam:
From a performance perspective, is the new version of Conditional Activities roughly equivalent to previous versions?
--- Kris Stokking
9:30:40 PM
sam marshall (right now there are slight differences in how it would work if you use groupmembersonly vs. this feature - a few bits might be better in GMO) 9:30:48 PM
sam marshall Eloy/Kris - Performance should probably be similar or maybe a bit faster in general, I think it does slightly more php and less database access. 9:31:13 PM
Dan Poltawski Our testing in HQ found it to be faster 9:31:25 PM
Dan Poltawski after Marina fixed a major regression :P 9:31:43 PM
sam marshall yes sorry about that 9:31:49 PM
sam marshall and thanks Marina! 9:31:52 PM
Eloy Lafuente (stronk7) get_course()^n 9:31:54 PM
Marina Glancy 9:31:57 PM
Rajesh Taneja Yeah, it was better on performance. 9:32:03 PM
Tim Hunt It takes many more clicks to reset all the course and user themes, if you were using those. 9:32:56 PM
Justin Filip Don't clone Clean, create a child of Clean. Otherwise you don't inherit bug fixes in the parent theme. 9:33:12 PM
Marina Glancy The interface is so great, I wish we can apply it everything. Would be so great to have like book pages, lesson pages, etc. with conditional visibility 9:33:19 PM
Martín Langhoff MDL-25499 9:33:20 PM
Moodle Bot - Centralise management of all types of cron tasks with registration, scheduling, parallel task conflicts(blocking) and running once off tasks, all using an administration screen., V: 13, W: 26, Type: New Feature, Assignee: Damyon Wiese, Priority: Major, Status: Open 9:33:20 PM
Martin Dougiamas Justin, no, Clean doesn't have any significant CSS in it. It's all in bootstrapbase. 9:34:00 PM
Martin Dougiamas so if you clone Clean then you will have a new theme based on bootstrapbase 9:34:20 PM
sam marshall marina - thanks! and I completely didn't think of that (within module restrictions) beforehand unfortunately... I guess it should be possible especially if those use cases are always within a module, i.e. we still have a $cm where the API needs it... hm 9:34:46 PM
Justin Filip Martin, ah, okay. Good to know. 9:35:04 PM
Martín Langhoff 9:35:37 PM
Justin Filip Martin, the issue we encountered over here (on 2.6) is we had a theme that was created as a copy of Clean and it had bugs that had been subsequently fixed in Clean that were still present in the theme that had been created as a clone. 9:35:59 PM
Martin Dougiamas shouldn't happen in future 9:36:24 PM
Martin Dougiamas all core theme fixes should be in base and bootstrapbase only now 9:36:51 PM
Justin Filip Fantastic. 9:37:04 PM
Dan Poltawski worth noting that for the tasks API to become effective, we could do with encoruaging sites to run cron more frequently 9:37:06 PM
sam marshall Btw theme changes sound good. And scheduled tasks are really awesome... 9:37:06 PM
Dan Poltawski ah, damyon just said that 9:37:22 PM
Martin Dougiamas (base is deprecated by the way, even though we'll support it for a while yet, we really encourage all new themes to be based on boostrapbase) 9:38:07 PM
sam marshall We have had a lot of problems in the past with something random breaking/taking ages in cron, and it causing forum emails not to be sent, so our random back-end problem becomes something that affects students. So if they can run in parallel that will be awesome. 9:38:26 PM
Martin Dougiamas yeah it's really good 9:38:40 PM
Dan Poltawski I think most people have been hit by that problem 9:38:49 PM
Tim Hunt Also, it is surprisingly hard to code the logic "Run every day just after 02:00", and now Moodle core does that for you. 9:39:45 PM
Dan Poltawski IIRC we did have a dst bug so you didn't have to 9:40:09 PM
Justin Filip This makes me VERY happy. 9:40:12 PM
danbennett Is there a limit on how many tasks can run simultaniously? 9:40:19 PM
Tim Hunt Dan, presumably the sane limit is at most one task per web server. 9:41:18 PM
Jason Fowler Dan Bennett I think the limit is based on the server 9:41:21 PM
sam marshall Can you set up dependencies like task B cannot run until task A finishes? 9:41:36 PM
Jason Fowler you can have multiple running at the same time though ... 9:41:46 PM
Martín Langhoff Will non-critical tasks related to the Moodle upgrade process be moved to this new scheduled task system? That would limit the amount of downtime required for sites to upgrade, particularly with expensive "cleanup" tasks. 9:42:04 PM
sam marshall OK, no dependencies. (I guess could manually set something in prefs so that the second task notices if the first one didn't finish, and doesn't start itself...) 9:42:21 PM
danbennett thanks all 9:42:24 PM
Martin Dougiamas you could make a task AB that calls functions A and B in order, I guess 9:42:27 PM
Dan Poltawski Kris: as we've discussed before, I don't think this is an approach we can use that much 9:42:32 PM
Martin Dougiamas Does Unix cron have dependencies? I don't think so 9:43:08 PM
Dan Poltawski most of the cleanups we do are fixing problems where moodle expects things to be in a consistenet state 9:43:16 PM
Martín Langhoff yeah, you can't code moodle to cope with the prior state and the after state 9:43:36 PM
Tim Hunt It is a good foundation 9:43:38 PM
Martín Langhoff you got to code to one 9:43:40 PM
Martín Langhoff Yup, and that expectation hasn't changed after the upgrade. 9:43:55 PM
sam marshall fair point, I'm not sure dependencies are really needed! 9:43:58 PM
Martín Langhoff I missed a bit — is this run under moodle's cron or as a new daemon? 9:44:04 PM
Dan Poltawski moodles cron 9:44:11 PM
Martín Langhoff ok. 9:44:14 PM
Tim Hunt RUn under Moodle's cron 9:44:16 PM
danbennett Dependencies would be a nice to have, but just schedule it sensibly would be the better option (like unix) 9:44:20 PM
Dan Poltawski but you can run the tasks in seperate stricts 9:44:23 PM
Tim Hunt Which you should now set to run every minute. 9:44:25 PM
Martín Langhoff it allows us to split some work into "top" parts and "bottom" parts 9:44:32 PM
Justin Filip Is there a way to target a specific task via CLI? 9:44:42 PM
Dan Poltawski yes 9:44:48 PM
Martín Langhoff similar to what kernel drivers do, where the top part runs quick and queues the slow for the "bottom" (which runs under cron) 9:44:54 PM
Martín Langhoff however, it _is_ tricky re expectations of data state 9:45:06 PM
sam marshall dan - basically I think our dependencies are going to have to be done sort of like, run every hour, then see if X has happened and if so actually do something. Thinking about it, the main one I know of, it wouldn't be a Moodle task that finisheed or not anyhow, it is us waiting for another system. so... 9:45:09 PM
Martín Langhoff ... 9:45:14 PM
Martín Langhoff should we be looking at a moodledaemon ??? 9:45:24 PM
Dan Poltawski see admin/tool/task/cli/schedule_task.php 9:45:29 PM
Tim Hunt If your plugin cron does several things, is it bettere to make several separate cron tasks? 9:45:46 PM
Dan Poltawski yes 9:45:51 PM
Tim Hunt Good. 9:45:55 PM
Dan Poltawski if they can be split 9:45:57 PM
Eloy Lafuente (stronk7) so ppl does NOT need to prevent multiple cron.php executions any more. That's not good for the new system (or am I wrong?) 9:46:24 PM
Martín Langhoff if this gets used widely, we'll need to (a) try to parallelize moodle cron (forking off tasks) or (b) have a long-running moodlecrond … or both 9:46:25 PM
Martín Langhoff at RL we place flocks around moodle cron to prevent concurrent execution 9:46:52 PM
Dan Poltawski Martin: you could explicitly disable some tasks from running in moodle cron 9:46:56 PM
sam marshall (lol at coding style invented 2 weeks ago) 9:46:59 PM
Martin Dougiamas martin, if you run it on a cluster each node will be in parallel 9:47:03 PM
Martín Langhoff yes you should remove custom locking around locking 9:47:10 PM
Tim Hunt MArtin, you missed the bit wher they said that it locks individual tasks. 9:47:15 PM
Martín Langhoff it does it's own now 9:47:19 PM
sam marshall yay removing custom locks 9:47:27 PM
Tim Hunt Don;t the validations hurt performance? 9:47:53 PM
Martín Langhoff current moodle cron code is full of race conditions. if you run it in parallel (in a cluster, or on a single machine) you get a ton of fugly bugs 9:47:59 PM
OdyX yay for custom locks indeed. 9:48:04 PM
Eric Merrill Where did he say the best example is? I couldn't understand him 9:48:05 PM
sam marshall Eric: assign module 9:48:13 PM
Michael de Raadt timhunt: No, the class constructs are doing most of the validation. 9:48:15 PM
Martin Dougiamas yes martin exaclty why the new cron is better 9:48:23 PM
Martín Langhoff we could place more granular locks per module, to avoid the race conditions. 9:48:26 PM
Tim Hunt Martin, that is waht it does! 9:48:35 PM
Marina Glancy some validation is skipped when debugging dev mode is off 9:48:44 PM
Martín Langhoff oh, ok, I missed some parts of it. 9:48:46 PM
Martín Langhoff and there is a locking api if you need to do your own locking for something else 9:49:01 PM
Martín Langhoff how does it reap a lock from a dead process? 9:49:22 PM
Martín Langhoff the locking api is pluggable 9:49:32 PM
Eric Merrill If old log is disabled, when you backup with logs, with logs from before the 2.7 upgrade be included? 9:49:43 PM
Martín Langhoff so it can use flock / db locking / memcache 9:49:45 PM
Martín Langhoff whatever you want 9:49:51 PM
Eric Merrill *will logs from before the 2.7 upgrade be included? 9:50:05 PM
Martín Langhoff it cleans up locks automatically 9:50:05 PM
Dan Poltawski 9:50:07 PM
sam marshall Can we turn off the new logging api, i.e. select null output for it, while we are depending on the old tables? To save some of the performance. 9:50:08 PM
Marina Glancy everything goes though logging api 9:50:37 PM
Marina Glancy but you can disable the logstore_standard 9:50:51 PM
sam marshall yes - that's what I meant. Great, thanks. 9:50:59 PM
sam marshall (we have external systems pulling mdl_log and doing analysis or whatever, so they probably won't want to change all at once.) 9:51:21 PM
Marina Glancy don't forget to enable both legacy logstore AND inside it's settings - writing to it 9:51:23 PM
sam marshall 9:52:19 PM
nadavkav we also have a lot of custom SQL reports depending on mdl_log 9:52:23 PM
Tim Hunt When is HQ going to add the missing add_to_log calls to core? 9:52:33 PM
Michael de Raadt After 2.7. 9:52:54 PM
Martin Dougiamas Petr can you show the docs about how to convert add_to_log calls? 9:52:58 PM
Michael de Raadt There is an epic ready to go. 9:53:00 PM
Marina Glancy we hope on community contributions there Tim 9:53:07 PM
nadavkav what should be done on our part to migrate those reports to use the new log store? 9:53:14 PM
Marina Glancy 9:53:51 PM
nadavkav thanks 9:54:00 PM it will be great to connect logging with the notification/messaging system (so you can subscribe to receive notifications from some type of events logged) 9:54:26 PM
Tim Hunt I still think it sucks how hard it is to log one action. 9:54:34 PM
nadavkav Marina, that's from the developer side. 9:54:42 PM
Martín Langhoff 9:54:45 PM
Marina Glancy 9:54:49 PM
Marina Glancy Nadav, yes, this is a dev meeting 9:55:00 PM
Martín Langhoff 9:55:03 PM
nadavkav what about from the reports side. (Where those event's registered?) 9:55:09 PM
Marina Glancy Nadav, the first link was answer to Martin, the second - to your question 9:55:32 PM
sam marshall for info about hooks (low-level plugin communication) that Petr is talking about - this is MDL-44078 9:55:44 PM
Moodle Bot - Proposal: API standard in Moodle that uses autoloading (hooks), V: 11, W: 18, Type: Improvement, Assignee: Marina Glancy, Priority: Minor, Status: Open 9:55:44 PM
Martin Dougiamas yes, get involved there 9:57:21 PM
Dan Poltawski i'd not seen the comments on that issue 9:58:33 PM
nadavkav marina, I am using a lot to reports from : 9:58:38 PM
nadavkav will mdl_log be not available anymore? 9:59:02 PM
danbennett Q from IRC "can we not get an originaltime property or similar for events raised by the backup system?" 9:59:04 PM
Dan Poltawski but I wholeheartly support that way more important than a 'hook api' is not inventing yet another way to do things that everything is disjointed 9:59:09 PM
Tim Hunt I think the integrtators should only allow hooks to be added if they allow three other things to be removed. 9:59:40 PM
Tim Hunt Or t last deprecated. 9:59:46 PM
Dan Poltawski people ahve been asking for hooks for at least 6 or 7 years, I remember us defending the position that moodle is different to drupal in that way 9:59:55 PM
sam marshall I think we should have the hook API and deprecate old events... 9:59:57 PM
Eloy Lafuente (stronk7) rofl 10:00:06 PM
nadavkav what needs to be done from the php developer side is very clear, but I am not sure what I need to do from the SQL developer side 10:00:12 PM
Dan Poltawski and in fact, thats one of the worst things about drupal from when I last looked at it, you've got no idea which hook to use 10:00:31 PM
nadavkav I am using block_configurable_reports 10:00:41 PM
Tim Hunt I acutally think that calling it hooks makes it soulds like more than it is. It is really just a convention for using lazy-loading to let core find things in add-ons. 10:00:43 PM
sam marshall tim- there's definition files to make it documentable too, isn't there? 10:01:08 PM
Tim Hunt Well, a base class. Yes. 10:01:19 PM
nadavkav btw, Any news on Totara's ReportBuilder? 10:01:35 PM
Martin Dougiamas not yet 10:01:48 PM
nadavkav Thnanks 10:02:09 PM
Dan Poltawski Is petr gonna convert mod_quiz events to his new syntax 10:02:10 PM
sam marshall lol 10:02:20 PM
Tim Hunt You still have to create a whole class 10:02:22 PM
Marina Glancy but triggering is in one line 10:02:33 PM
Tim Hunt Also, why did you dump 1,600 lines of crap code into quiz, before invending the good way? 10:02:49 PM
Dan Poltawski agree with Tims sentiment. 10:02:59 PM
Dan Poltawski it was too late. 10:03:08 PM
Tim Hunt Yes 10:03:13 PM
Martin Dougiamas better late than never 10:03:19 PM
Tim Hunt Yes. 10:03:23 PM
Marina Glancy Tim, it would not change the number of lines, just relocate some of them 10:03:44 PM
Eloy Lafuente (stronk7) hoho 10:03:53 PM
Marina Glancy thanks Petr for calling me hooks expert 10:04:14 PM
Tim Hunt Right, so in a tyical log class, tehre iare maybe a dozen lines if meaningful information, and about 50+ lines of bolierplate. 10:04:17 PM
Tim Hunt Not a good API. 10:04:26 PM
Marina Glancy btw Tim, look at the new report "Events list" 10:05:08 PM
Martin Dougiamas someone put that on the screen 10:05:24 PM
Marina Glancy you will see where those dozens of lines are used 10:05:26 PM
Dan Poltawski or should they use a hook, fred! 10:06:15 PM
nadavkav Thanks 10:06:17 PM
Tim Hunt Really, you will let me delete quiz/classes/events? 10:06:32 PM
Marina Glancy if you create quiz/classes/hook 10:06:53 PM
nadavkav Is on the same DB? 10:07:04 PM
nadavkav or does the new DB store put the logging/events on a remote DB/storing system? 10:07:33 PM
Martin Dougiamas observering? 10:07:33 PM
sam marshall dan - re your last troublemaking comment I looked at the new event system - regarding listening to it from code, if you want to listen to something that is already logged, it probably works great, but if you want to make a new event specifically for inter-plugin communication that isn't really about logging, it isn't all that suitable (hence hooks) 10:07:39 PM
Eloy Lafuente (stronk7) what mostly concerns me more about all those new things (observers, tasks, hooks...) is that we should avoid abusing them in core. I see all them like sort of "execution at distance" (RMI) that for my mono-core-brain sounds too complex. That saying, at the same time, that I love all them. Just the abusing risk. 10:08:02 PM
Marina Glancy Nadav, by default it's in the same DB but it can be setup to be in external 10:08:07 PM
Adrian Greeve stupid typos >_> 10:08:07 PM
nadavkav thanks (marina) 10:08:21 PM
Marina Glancy Nadav, check the Site administration>Plugins>Logging 10:08:47 PM
sam marshall eloy - agree action at a distance can be really confusing, has to be a balance... 10:08:51 PM
nadavkav I did 10:08:59 PM
Tim Hunt On the other hand, observer pattern is better than hard-coded fucntion calls between add-ons. 10:09:15 PM
nadavkav I was a little confused to see I can log out side of Moodle's DB 10:09:24 PM
Justin Filip ... video just went away? 10:09:36 PM
Tim Hunt Just reload the page 10:09:42 PM
Eric Merrill I just had to resume 10:09:45 PM reload 10:09:47 PM
nadavkav which could potentially breaks the SQL JOINs 10:09:51 PM
Justin Filip 10:09:54 PM
Michael de Raadt Martin is a bit jumpy for me. Anyone else? 10:10:56 PM
sam marshall yes, me too 10:11:01 PM
Justin Filip Yeah 10:11:02 PM
Adrian Greeve Yep 10:11:03 PM
Marina Glancy yes for me too 10:11:04 PM
Sam Hemelryk yip same here 10:11:04 PM
sam marshall lots of dalek voice bits 10:11:04 PM
Eric Merrill Yeah, bad audio/vid 10:11:06 PM
swit better now though 10:11:11 PM
Marina Glancy Martin, stop moving! 10:11:21 PM
sam marshall maybe if he could turn off camera (audio only) it might fix it? 10:11:23 PM
Martín Langhoff he has jet lag 10:11:25 PM
Martín Langhoff its not his fault 10:11:32 PM nadav, you have a setting in Moodle 2.7 (loglegacy) for logging to the old table 10:11:36 PM
Marina Glancy Jun-17 10:11:50 PM
nadavkav I know (Juan), but I wish to migrate to the new Event's store. But I am not sure if that will break my old reports 10:12:29 PM SQL reports you mean? 10:12:52 PM
nadavkav I will dig into it and asked question later, if i get into issues 10:13:06 PM
Justin Filip The longer people wait to jump up from 1.9, the harder that transition will be. =/ 10:13:11 PM
nadavkav (Juan) yes 10:13:14 PM
sam marshall justin - but the more improvements they'll get ;) 10:13:26 PM
Justin Filip This is true. Some people don't see it that way, though. I feel great sadness for those people. 10:13:41 PM
Dan Poltawski Summary is: data loss bugfixes and security only in LTS period 10:14:03 PM
nadavkav Thanks 10:14:08 PM
nadavkav Thanks 10:15:21 PM
nadavkav (again) 10:15:27 PM
nadavkav It's more clear now 10:15:37 PM
Tim Hunt Proposed new qtype icons. (I think they need a bit more work.) Comments welcome. 10:15:59 PM
Moodle Bot - New icons for the question types, V: 1, W: 6, Type: Improvement, Assignee: Tim Hunt, Priority: Major, Status: Open 10:15:59 PM
sam marshall martin's been autotuned, did somebody think he was off-key? 10:16:37 PM
OdyX sound quality is hardly bearable here. 10:16:59 PM
nadavkav Also new features? (Should be ported to 2.7) 10:18:30 PM
Tim Hunt New featurse shoudl be master only 10:18:41 PM
Martin Dougiamas new features no 10:18:43 PM
Eloy Lafuente (stronk7) N O 10:18:48 PM
Martin Dougiamas API changes no 10:18:48 PM
OdyX BIgBlueButton would be super-nice to replace G+Hangout 10:18:50 PM
nadavkav Thanks 10:18:52 PM
Martín Langhoff we will backport the bugs 10:18:52 PM
Marina Glancy bugs or bugfixes? 10:19:04 PM
Eloy Lafuente (stronk7) the dataloss & security bugs. 10:19:08 PM
Martín Langhoff bugs 10:19:08 PM
Dan Poltawski only if they caue dataloss Moodle Meetings 10:19:09 PM
sam marshall lol 10:19:10 PM
Martin Dougiamas Odyx, I'd like that, but BBB screensharing is not good enough yet 10:19:16 PM
Tim Hunt Hackfest was good. 10:19:23 PM
Martín Langhoff backport havoc 10:19:26 PM
Eloy Lafuente (stronk7) the dataloss & security bugs.
the dataloss & security bugs.
the dataloss & security bugs.
the dataloss & security bugs.
the dataloss & security bugs.
the dataloss & security bugs.
the dataloss & security bugs.
or no?
10:19:28 PM
OdyX Martin: ah yeah, Java crap 10:19:32 PM
Justin Filip * Minor fixes backported for one year (normal) 10:19:32 PM
Dan Poltawski fixes only, justin 10:20:00 PM
Martin Dougiamas 10:20:02 PM
Eloy Lafuente (stronk7) Plz, state it clearly @ too. 10:20:23 PM
Marina Glancy marina is looking forward backporting bugs 10:20:41 PM
Martin Dougiamas ok, I'll rewrite, it seemed pretty straightforward! 10:20:57 PM
Dan Poltawski wait till the morning, Martin :P 10:21:07 PM
Justin Filip s/bugs/bug fixes/ =) 10:21:10 PM
sam marshall questions about bootstrap 3 there (not sure this has a straight answer). I've been wondering, if we make a new theme for our Moodle 2.7, do we base it on bootstrap2 (core) or bootstrap3... 10:21:18 PM
Justin Filip I mean, you _could_ backport bugs but I wouldn't recommend it. 10:21:37 PM
Dan Poltawski bootstrap 2 if you want core support 10:21:37 PM
Tim Hunt Surely core will move to 3 at some point? 10:22:00 PM
sam marshall Somebody (Baz?) was telling us we should all use bootstrap 3 even though it isn't in core because it's better... ;) 10:22:05 PM
Dan Poltawski its very non-trivial 10:22:08 PM
Martín Langhoff but first we need to abstract things more 10:22:15 PM
Martín Langhoff so we don't have to redo everything everytime 10:22:24 PM
Martín Langhoff ie 10:22:28 PM
sam marshall lol. yay designers 10:22:33 PM
Martín Langhoff the element library etc 10:22:34 PM
nadavkav How about integrating LAE Grader ? 10:22:52 PM
Tim Hunt Yes. element library 10:22:59 PM
Martin Dougiamas LAE grader is one thing on the table 10:23:28 PM
nadavkav Great 10:23:40 PM
Eloy Lafuente (stronk7) Re: TinCan, good plan. 10:24:26 PM
nadavkav How about some social features in courses? 10:24:37 PM
Dan Poltawski I'm not sure Dan is actually here 10:24:44 PM
Mark Nielsen Latest round of updates for LTI is here: 10:24:47 PM
Moodle Bot - Several additions to External Tool (LTI), V: 0, W: 5, Type: New Feature, Assignee: Mark Nielsen, Priority: Major, Status: Reopened 10:24:47 PM
Martin Dougiamas if anyone needs more log details for TinCan then just write new events and submit for integration 10:25:02 PM
Jason Hardin We are also working with a group looking to upgrade to LTI 1.2 and 2 10:25:08 PM
Martín Langhoff Martin - did you get an email from Stephen Vickers re: LTI 2? 10:25:42 PM
Dan Poltawski I heard a rumour the message popup got some css love 10:25:45 PM
danbennett Dan P: yay! 10:26:09 PM
Tim Hunt Are you sure? 10:26:38 PM
Dan Poltawski it generates an event 10:26:50 PM
Dan Poltawski it isn't actually an event itself 10:26:56 PM
Martin Dougiamas Kris yes, I forwarded him to you 10:27:07 PM
danbennett Oh poor popup 10:27:14 PM
Dan Poltawski no, I think it did! 10:27:22 PM
Martín Langhoff Hmmm, would have been in the last couple of days. We had a meeting last Thursday. Will followup on that. 10:27:37 PM
Martin Dougiamas then nope 10:27:53 PM
Dan Poltawski noooo 10:29:00 PM
sam marshall btw, thanks again to everyone who helped with the conditional availability stuff at slightly last minute 10:29:09 PM
Dan Poltawski 10:29:33 PM
danbennett danbennett applauses for all 10:29:37 PM
Justin Filip Thanks for being strict(er?) on the freeze this time. 10:29:37 PM
Dan Poltawski ^ messaging popup 10:29:39 PM
Martín Langhoff cya from hq 10:29:39 PM
Tim Hunt Thanks all. 10:30:02 PM
Rajesh Taneja gn 10:30:03 PM
John nigh 10:30:04 PM
Justin Filip Thanks, all. 10:30:09 PM
Sam Hemelryk Thanks and night! 10:30:09 PM
danbennett G'day all! 10:30:10 PM
Martin Dougiamas see ya all, now I'll go and collapse in jetlag 10:30:15 PM
Michael de Raadt Thanks, all. Bye. 10:30:16 PM
OdyX Thanks! 10:30:24 PM
jetha thanks 10:30:33 PM

If you have something you'd like to correct on this page, please edit this page or contact Michael d.