Developer meeting April 2014
Warning: This page is no longer in use. The information contained on the page should NOT be seen as relevant or reliable. |
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 |
#moodledev |
In this meeting we focused on the impending release.
Meeting Video
<mediaplayer>http://youtu.be/UjK_lpKG0gQ</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: https://plus.google.com/hangouts/_/hoaevent/AP36tYekrFJpObWWuN_qdOkqcg60uexxLJdbNgVh8qPi3eX6nWHDSQ?authuser=0&eid=105778778870640201730&hl=en |
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 | david.mobile 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: http://beardsy.com/archives/229 | 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 | https://tracker.moodle.org/browse/MDL-42719 - 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 | https://github.com/moodle/moodle/blob/master/lib/editor/atto/plugins/strike/yui/src/button/js/button.js | 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: https://github.com/FMCorz/moodle-availability_xp | 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: https://docs.moodle.org/dev/Availability_conditions | 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 https://docs.moodle.org/27/en/Conditional_activities_settings | 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 | https://tracker.moodle.org/browse/MDL-25499 - 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 | https://docs.moodle.org/dev/Task_API | 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 | https://github.com/moodle/moodle/tree/master/lib/classes/lock | 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 | https://docs.moodle.org/dev/Migrating_logging_calls_in_plugins | 9:53:51 PM |
nadavkav | thanks | 9:54:00 PM |
jleyva@jabber.org | 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 | https://docs.moodle.org/dev/Event_2 | 9:54:45 PM |
Marina Glancy | https://docs.moodle.org/dev/Migrating_log_access_in_reports | 9:54:49 PM |
Marina Glancy | Nadav, yes, this is a dev meeting | 9:55:00 PM |
Martín Langhoff | https://docs.moodle.org/dev/Logging_2 | 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 | https://tracker.moodle.org/browse/MDL-44078 - 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 : https://docs.moodle.org/26/en/ad-hoc_contributed_reports | 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 |
jleyva@jabber.org | 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 |
jleyva@jabber.org | 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 |
jleyva@jabber.org | 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. https://tracker.moodle.org/browse/MDL-44815?focusedCommentId=286812&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-286812 | 10:15:59 PM |
Moodle Bot | https://tracker.moodle.org/browse/MDL-44815 - 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 @ https://docs.moodle.org/dev/Moodle_2.7_release_notes#Long-term_support_.28LTS.29_until_June_2017 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: https://tracker.moodle.org/browse/MDL-44902 | 10:24:47 PM |
Moodle Bot | https://tracker.moodle.org/browse/MDL-44902 - 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.