<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kstokking</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kstokking"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/Special:Contributions/Kstokking"/>
	<updated>2026-06-04T03:50:18Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Caliper&amp;diff=50883</id>
		<title>Caliper</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Caliper&amp;diff=50883"/>
		<updated>2016-09-11T20:12:12Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Caliper Logstore component uses the Moodle Logging interface to capture user events and emit them to a Caliper event store.  The [https://www.imsglobal.org/caliper Caliper Framework] is a specification from IMS Global which provides a data representation of learning activities and an API for transmitting these to an event store for later analysis.  Metric profiles are used to describe different types of learning activity, allowing representations to be matched against the nature of the activity.  Events may be sent immediately to the event store, or captured for sending later in batches.&lt;br /&gt;
&lt;br /&gt;
== Events supported ==&lt;br /&gt;
&lt;br /&gt;
The following table shows the mapping of Moodle URLs to Caliper events supported by the current version of this component:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Supported Caliper Events&lt;br /&gt;
|-&lt;br /&gt;
!Metric Profile&lt;br /&gt;
!Action&lt;br /&gt;
!Moodle URL&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Session&lt;br /&gt;
|Logged In&lt;br /&gt;
|\core\event\user_loggedin&lt;br /&gt;
|-&lt;br /&gt;
|Logged Out&lt;br /&gt;
|\core\event\user_loggedout&lt;br /&gt;
|-&lt;br /&gt;
|Navigation&lt;br /&gt;
|Navigated To&lt;br /&gt;
|\core\event\course_viewed&lt;br /&gt;
|-&lt;br /&gt;
|View&lt;br /&gt;
|Viewed&lt;br /&gt;
|&lt;br /&gt;
\mod_book\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_chat\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_choice\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_data\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_facetoface\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_feedback\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_folder\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_forum\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_forum\event\user_report_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_glossary\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_imscp\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_lesson\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_lti\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_page\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\attempt_reviewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\attempt_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_resource\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_scorm\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_survey\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_url\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_wiki\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_workshop\event\course_module_viewed&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Assessment&lt;br /&gt;
|Started&lt;br /&gt;
|\mod_quiz\event\attempt_started&lt;br /&gt;
|-&lt;br /&gt;
|Submitted&lt;br /&gt;
|&lt;br /&gt;
\mod_quiz\event\attempt_submitted&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_assign\event\assessable_submitted&lt;br /&gt;
|-&lt;br /&gt;
|Outcome&lt;br /&gt;
|Graded&lt;br /&gt;
|\mod_assign\event\submission_graded&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
The component adopts the same implementation method as the logstore component for [https://moodle.org/plugins/logstore_xapi xAPI].  It is made up of three parts: an [https://github.com/LearningLocker/Moodle-Log-Expander Expander], a Translator, and an Emitter.  Each log entry follows a six step process before finally reaching the event store:&lt;br /&gt;
&lt;br /&gt;
# The component passes the log entry from the logstore_standard_log to the Expander.&lt;br /&gt;
# The Expander expands the log entry with data from the Moodle database.&lt;br /&gt;
# The component passes the expanded event from to the Translator.&lt;br /&gt;
# The Translator translates the expanded event to Caliper metric profile options.&lt;br /&gt;
# The component passes the translated event to the Emitter.&lt;br /&gt;
# The Emitter emits the event to the event store using the Caliper Sensor API.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The component can be installed onto a Moodle 2.7+ instance as follows:&lt;br /&gt;
&lt;br /&gt;
# [https://moodle.org/plugins/logstore_caliper Download the component].&lt;br /&gt;
# Log into your instance of Moodle as a System Administrator.&lt;br /&gt;
# Go to &#039;&#039;/admin/tool/installaddon/&#039;&#039; on your Moodle instance.&lt;br /&gt;
# Drag and drop your download from step 1.&lt;br /&gt;
# Click &#039;&#039;Install plugin from the ZIP file&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Install plugin!&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Upgrade Moodle database now&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Continue&#039;&#039;.&lt;br /&gt;
# Complete the component&#039;s settings page:&lt;br /&gt;
#* &#039;&#039;Event Store URL&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;API Key&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;Send statements immediately to event store?&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;Batch size&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Save changes&#039;&#039;.&lt;br /&gt;
# Go to &#039;&#039;/admin/settings.php?section=managelogging&#039;&#039; on your Moodle instance.&lt;br /&gt;
# Enable the &#039;&#039;Caliper log store&#039;&#039; component (use the &#039;&#039;Settings&#039;&#039; option to update the component&#039;s settings values).&lt;br /&gt;
&lt;br /&gt;
NB If zip installation is disabled, you can unzip the zip file to &#039;&#039;/admin/tool/log/store&#039;&#039; instead of steps 3 to 5 above.&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Blackboard Product Development team in collaboration with Stephen Vickers. Blackboard is an education technology company dedicated to bringing excellent online teaching to institutions across the globe. We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms. We are proud to be a Moodle Partner company.&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Caliper&amp;diff=50881</id>
		<title>Caliper</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Caliper&amp;diff=50881"/>
		<updated>2016-09-11T18:21:42Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Caliper Logstore component uses the Moodle Logging interface to capture user events and emit them to a Caliper event store.  The [https://www.imsglobal.org/caliper Caliper Framework] is a specification from IMS Global which provides a data representation of learning activities and an API for transmitting these to an event store for later analysis.  Metric profiles are used to describe different types of learning activity, allowing representations to be matched against the nature of the activity.  Events may be sent immediately to the event store, or captured for sending later in batches.&lt;br /&gt;
&lt;br /&gt;
== Events supported ==&lt;br /&gt;
&lt;br /&gt;
The following table shows the mapping of Moodle URLs to Caliper events supported by the current version of this component:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Supported Caliper Events&lt;br /&gt;
|-&lt;br /&gt;
!Metric Profile&lt;br /&gt;
!Action&lt;br /&gt;
!Moodle URL&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Session&lt;br /&gt;
|Logged In&lt;br /&gt;
|\core\event\user_loggedin&lt;br /&gt;
|-&lt;br /&gt;
|Logged Out&lt;br /&gt;
|\core\event\user_loggedout&lt;br /&gt;
|-&lt;br /&gt;
|Navigation&lt;br /&gt;
|Navigated To&lt;br /&gt;
|\core\event\course_viewed&lt;br /&gt;
|-&lt;br /&gt;
|View&lt;br /&gt;
|Viewed&lt;br /&gt;
|&lt;br /&gt;
\mod_book\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_chat\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_choice\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_data\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_facetoface\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_feedback\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_folder\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_forum\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_forum\event\user_report_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_glossary\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_imscp\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_lesson\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_lti\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_page\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\attempt_reviewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\attempt_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_resource\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_scorm\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_survey\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_url\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_wiki\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_workshop\event\course_module_viewed&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Assessment&lt;br /&gt;
|Started&lt;br /&gt;
|\mod_quiz\event\attempt_started&lt;br /&gt;
|-&lt;br /&gt;
|Submitted&lt;br /&gt;
|&lt;br /&gt;
\mod_quiz\event\attempt_submitted&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_assign\event\assessable_submitted&lt;br /&gt;
|-&lt;br /&gt;
|Outcome&lt;br /&gt;
|Graded&lt;br /&gt;
|\mod_assign\event\submission_graded&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
The component adopts the same implementation method as the logstore component for [https://moodle.org/plugins/logstore_xapi xAPI].  itis made up of three parts: an [https://github.com/LearningLocker/Moodle-Log-Expander Expander], a Translator, and an Emitter.  Each log entry follows a six step process before finally reaching the event store:&lt;br /&gt;
&lt;br /&gt;
# The component passes the log entry from the logstore_standard_log to the Expander.&lt;br /&gt;
# The Expander expands the log entry with data from the Moodle database.&lt;br /&gt;
# The component passes the expanded event from to the Translator.&lt;br /&gt;
# The Translator translates the expanded event to Caliper metric profile options.&lt;br /&gt;
# The component passes the translated event to the Emitter.&lt;br /&gt;
# The Emitter emits the event to the event store using the Caliper Sensor API.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The component can be installed onto a Moodle 2.7+ instance as follows:&lt;br /&gt;
&lt;br /&gt;
# [https://moodle.org/plugins/logstore_caliper Download the component].&lt;br /&gt;
# Log into your instance of Moodle as a System Administrator.&lt;br /&gt;
# Go to &#039;&#039;/admin/tool/installaddon/&#039;&#039; on your Moodle instance.&lt;br /&gt;
# Drag and drop your download from step 1.&lt;br /&gt;
# Click &#039;&#039;Install plugin from the ZIP file&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Install plugin!&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Upgrade Moodle database now&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Continue&#039;&#039;.&lt;br /&gt;
# Complete the component&#039;s settings page:&lt;br /&gt;
#* &#039;&#039;Event Store URL&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;API Key&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;Send statements immediately to event store?&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;Batch size&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Save changes&#039;&#039;.&lt;br /&gt;
# Go to &#039;&#039;/admin/settings.php?section=managelogging&#039;&#039; on your Moodle instance.&lt;br /&gt;
# Enable the &#039;&#039;Caliper log store&#039;&#039; component (use the &#039;&#039;Settings&#039;&#039; option to update the component&#039;s settings values).&lt;br /&gt;
&lt;br /&gt;
NB If zip installation is disabled, you can unzip the zip file to &#039;&#039;/admin/tool/log/store&#039;&#039; instead of steps 3 to 5 above.&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
This plugin was contributed by the Blackboard Product Development team.  Blackboard is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  We are proud to be a Moodle Partner company.&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Caliper&amp;diff=50880</id>
		<title>Caliper</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Caliper&amp;diff=50880"/>
		<updated>2016-09-11T18:21:14Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Created page with &amp;quot;== Introduction ==  The Caliper Logstore component uses the Moodle Logging interface to capture user events and emit them to a Caliper event store.  The [https://www.imsglobal...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
&lt;br /&gt;
The Caliper Logstore component uses the Moodle Logging interface to capture user events and emit them to a Caliper event store.  The [https://www.imsglobal.org/caliper Caliper Framework] is a specification from IMS Global which provides a data representation of learning activities and an API for transmitting these to an event store for later analysis.  Metric profiles are used to describe different types of learning activity, allowing representations to be matched against the nature of the activity.  Events may be sent immediately to the event store, or captured for sending later in batches.&lt;br /&gt;
&lt;br /&gt;
== Events supported ==&lt;br /&gt;
&lt;br /&gt;
The following table shows the mapping of Moodle URLs to Caliper events supported by the current version of this component:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+Supported Caliper Events&lt;br /&gt;
|-&lt;br /&gt;
!Metric Profile&lt;br /&gt;
!Action&lt;br /&gt;
!Moodle URL&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Session&lt;br /&gt;
|Logged In&lt;br /&gt;
|\core\event\user_loggedin&lt;br /&gt;
|-&lt;br /&gt;
|Logged Out&lt;br /&gt;
|\core\event\user_loggedout&lt;br /&gt;
|-&lt;br /&gt;
|Navigation&lt;br /&gt;
|Navigated To&lt;br /&gt;
|\core\event\course_viewed&lt;br /&gt;
|-&lt;br /&gt;
|View&lt;br /&gt;
|Viewed&lt;br /&gt;
|&lt;br /&gt;
\mod_book\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_chat\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_choice\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_data\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_facetoface\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_feedback\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_folder\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_forum\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_forum\event\user_report_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_glossary\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_imscp\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_lesson\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_lti\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_page\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\attempt_reviewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\attempt_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_quiz\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_resource\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_scorm\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_survey\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_url\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_wiki\event\course_module_viewed&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_workshop\event\course_module_viewed&lt;br /&gt;
|-&lt;br /&gt;
|rowspan=&amp;quot;2&amp;quot;|Assessment&lt;br /&gt;
|Started&lt;br /&gt;
|\mod_quiz\event\attempt_started&lt;br /&gt;
|-&lt;br /&gt;
|Submitted&lt;br /&gt;
|&lt;br /&gt;
\mod_quiz\event\attempt_submitted&amp;lt;br /&amp;gt;&lt;br /&gt;
\mod_assign\event\assessable_submitted&lt;br /&gt;
|-&lt;br /&gt;
|Outcome&lt;br /&gt;
|Graded&lt;br /&gt;
|\mod_assign\event\submission_graded&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== How does it work? ==&lt;br /&gt;
&lt;br /&gt;
The component adopts the same implementation method as the logstore component for [https://moodle.org/plugins/logstore_xapi xAPI].  itis made up of three parts: an [https://github.com/LearningLocker/Moodle-Log-Expander Expander], a Translator, and an Emitter.  Each log entry follows a six step process before finally reaching the event store:&lt;br /&gt;
&lt;br /&gt;
# The component passes the log entry from the logstore_standard_log to the Expander.&lt;br /&gt;
# The Expander expands the log entry with data from the Moodle database.&lt;br /&gt;
# The component passes the expanded event from to the Translator.&lt;br /&gt;
# The Translator translates the expanded event to Caliper metric profile options.&lt;br /&gt;
# The component passes the translated event to the Emitter.&lt;br /&gt;
# The Emitter emits the event to the event store using the Caliper Sensor API.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The component can be installed onto a Moodle 2.7+ instance as follows:&lt;br /&gt;
&lt;br /&gt;
# [https://moodle.org/plugins/logstore_caliper Download the component].&lt;br /&gt;
# Log into your instance of Moodle as a System Administrator.&lt;br /&gt;
# Go to &#039;&#039;/admin/tool/installaddon/&#039;&#039; on your Moodle instance.&lt;br /&gt;
# Drag and drop your download from step 1.&lt;br /&gt;
# Click &#039;&#039;Install plugin from the ZIP file&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Install plugin!&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Upgrade Moodle database now&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Continue&#039;&#039;.&lt;br /&gt;
# Complete the component&#039;s settings page:&lt;br /&gt;
#* &#039;&#039;Event Store URL&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;API Key&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;Send statements immediately to event store?&#039;&#039;;&lt;br /&gt;
#* &#039;&#039;Batch size&#039;&#039;.&lt;br /&gt;
# Click &#039;&#039;Save changes&#039;&#039;.&lt;br /&gt;
# Go to &#039;&#039;/admin/settings.php?section=managelogging&#039;&#039; on your Moodle instance.&lt;br /&gt;
# Enable the &#039;&#039;Caliper log store&#039;&#039; component (use the &#039;&#039;Settings&#039;&#039; option to update the component&#039;s settings values).&lt;br /&gt;
&lt;br /&gt;
NB If zip installation is disabled, you can unzip the zip file to &#039;&#039;/admin/tool/log/store&#039;&#039; instead of steps 3 to 5 above.&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Developer_meeting_January_2014&amp;diff=43731</id>
		<title>Developer meeting January 2014</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Developer_meeting_January_2014&amp;diff=43731"/>
		<updated>2014-02-05T14:37:00Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Fixing link to prototype.moodle.net&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Developer meetings]] &amp;gt; January 2014 meeting notes&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| Time&lt;br /&gt;
| [http://timeanddate.com/worldclock/fixedtime.html?year=2014&amp;amp;month=1&amp;amp;day=21&amp;amp;hour=13&amp;amp;min=0&amp;amp;sec=0 13:00 UTC on Tuesday, 21 January 2014]&lt;br /&gt;
|-&lt;br /&gt;
| Meeting room&lt;br /&gt;
| [http://www.youtube.com/user/moodlehq/videos Moodle HQ YouTube channel] (changed since last meeting)&lt;br /&gt;
|-&lt;br /&gt;
| Chat&lt;br /&gt;
| [https://moodle.org/local/chatlogs/info.php Regular Dev chat]&lt;br /&gt;
|-&lt;br /&gt;
| Twitter&lt;br /&gt;
| [https://twitter.com/search?q=%23moodledev #moodledev]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The meeting was streamed live on YouTube with chat through the regular Dev chat room and comments on Twitter.&lt;br /&gt;
&lt;br /&gt;
== Meeting Video ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;mediaplayer&amp;gt;http://youtu.be/o5G0nPzGpZI&amp;lt;/mediaplayer&amp;gt;&lt;br /&gt;
&#039;&#039;Note: For an optimised view and to see the chat log, change settings to 1024p HD quality.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Meeting Notes ==&lt;br /&gt;
=== Possible future changes to Conditional Activities (Sam Marshall, OU) ===&lt;br /&gt;
* More flexible, plug-able conditions&lt;br /&gt;
* Better access through groupings&lt;br /&gt;
* Better interface, lean and mean&lt;br /&gt;
* No docs yet, spec and issues coming&lt;br /&gt;
&lt;br /&gt;
=== Quiz editing changes (Tim Hunt, Colin Chamber, Mahmoud Kassaei, OU) ===&lt;br /&gt;
* [https://tracker.moodle.org/browse/MDL-40987 Issue], [https://moodle.org/mod/forum/discuss.php?d=231180 Discussion]&lt;br /&gt;
* Dependency between questions as a user works through a quiz&lt;br /&gt;
* Improving the interface to make it simpler, similar to course page editing, which people are familiar with.&lt;br /&gt;
* Possibly a new &amp;quot;combinable&amp;quot; question type that allows something similar to cloze, but with a simpler interface.&lt;br /&gt;
* Possibly other OU question types coming to core. It would be good if the community could provide feedback on what&#039;s in the Plugins Directory currently.&lt;br /&gt;
&lt;br /&gt;
=== Moodle 2.7 progress ===&lt;br /&gt;
==== Prototypes site (Martin Dougiamas) ====&lt;br /&gt;
* [http://prototype.moodle.net prototype.moodle.net]&lt;br /&gt;
* A site for early development to gather feedback&lt;br /&gt;
* Projects currently there include navigation, editor replacement, forum changes, outcomes...&lt;br /&gt;
&lt;br /&gt;
==== Clean as default theme (Jérôme Mouneyrac) ====&lt;br /&gt;
* [https://docs.google.com/presentation/d/1eea9oQj1bihpWpsYJGstX_CASLBFF7N51M6DLquixK0/edit?pli=1#slide=id.g2a33bfb2a_097 Notes]&lt;br /&gt;
* Resolve open bugs&lt;br /&gt;
* Default theme on new install&lt;br /&gt;
* Increase configurability, requires ability to compile LESS on-the-fly.&lt;br /&gt;
* New navigation is being considered&lt;br /&gt;
* Adding an element library&lt;br /&gt;
* Allow people to add bootswatches&lt;br /&gt;
* It intended that we will move most themes to Plugins Directory (not Standard, Clean or base themes)&lt;br /&gt;
* Bootstrap 3 has been considered and won&#039;t be adopted yet&lt;br /&gt;
&lt;br /&gt;
==== Editor replacement (Damyon Wiese) ====&lt;br /&gt;
* [https://docs.moodle.org/dev/Editor_2.7 Docs]&lt;br /&gt;
* TinyMCE3 is out of support&lt;br /&gt;
* Editor is critical part of Moodle and has huge impact on user experience&lt;br /&gt;
* Editor search narrowed down to TinyMCE4, CKEditor and Atto.&lt;br /&gt;
* Prototypes were put up and feedback requested.&lt;br /&gt;
* Tending towards Atto, with a CKEditor in the Plugins Directory for those who want it.&lt;br /&gt;
&lt;br /&gt;
==== Old Assignment removal (Damyon Wiese) ====&lt;br /&gt;
* [https://tracker.moodle.org/browse/MDL-33952 Issue]&lt;br /&gt;
* The old assignment has been removed and on upgrade instances of the old assignment will be converted to the new.&lt;br /&gt;
* If you are using an old assignment type that is not represented in the new assignment you will have to install the old assignment module from the Plugins Directory&lt;br /&gt;
&lt;br /&gt;
==== Outcomes (Andrew Davis) ====&lt;br /&gt;
* [https://tracker.moodle.org/browse/MDL-40230 Issue], [https://docs.moodle.org/dev/Outcomes_Specification Docs]&lt;br /&gt;
* A lot of work done on Outcomes before 2.6 that didn&#039;t make it into the release.&lt;br /&gt;
* We&#039;re reviewing Totara and Elis to see what features are needed overall.&lt;br /&gt;
&lt;br /&gt;
==== New logging (Rajesh Taneja) ====&lt;br /&gt;
* New events system is in place&lt;br /&gt;
* Old logging calls are being converted to events&lt;br /&gt;
* More information captured than previous logging&lt;br /&gt;
* Performance is an issue, with more events being captured&lt;br /&gt;
** Initiatives to optimise DB queries with a single batch insert at the end of a page load.&lt;br /&gt;
* Ability to create new observers to reduce the reliance on the log table for real-time analytics&lt;br /&gt;
* Logging system is more plugable.&lt;br /&gt;
** Potential to push logs to external database&lt;br /&gt;
&lt;br /&gt;
=== Moodle Mobile update (Juan Leyva) ===&lt;br /&gt;
* New version of app coming soon (fixing issues with new devices with Android 4.4 and old devices with Android 2.1 and 2.3)&lt;br /&gt;
* Potential to use the app from the desktop (See https://docs.moodle.org/26/en/Running_Moodle_Mobile_in_Desktop)&lt;br /&gt;
* PUSH notifications is top priority&lt;br /&gt;
&lt;br /&gt;
=== Integration update  (Dan Poltawski) ===&lt;br /&gt;
* Pre-checking of issues by CiBot (Continuous integration bot) automated checks on changes before they are submitted to integration (waiting for integration, peer review or with label &amp;quot;cime&amp;quot;) ([https://tracker.moodle.org/browse/MDLSITE-2662 Issue])&lt;br /&gt;
* Testing requirements&lt;br /&gt;
** PHPUnit or Behat tests required for changes&lt;br /&gt;
* Behat improvements&lt;br /&gt;
** Working on Linux and Windows. Firefox is the preferred browser. Chrome is being improved. IE is somewhat working and Safari... ([https://docs.moodle.org/dev/Acceptance_testing/Browsers Docs])&lt;br /&gt;
** You can get automatic screenshots when a test fails ($CFG-&amp;gt;behat_screenshots_path: [http://git.moodle.org/gw?p=moodle.git;a=blob;f=config-dist.php#l659 link])&lt;br /&gt;
** Parallel Behat testing ([https://tracker.moodle.org/browse/MDL-39752 issue])&lt;br /&gt;
* Misc&lt;br /&gt;
** Specific rules for [https://docs.moodle.org/dev/Integration_Review#Backporting backporting]&lt;br /&gt;
** Please be aware of the [https://docs.moodle.org/dev/Integration_Review#Schedule weekly integration schedule]&lt;br /&gt;
&lt;br /&gt;
=== Long term support (Martin Dougiamas) ===&lt;br /&gt;
* 2.7 is going to be a long-term release that will be supported for longer (3 years instead of 18months)&lt;br /&gt;
* Backports will be required to backport bug-fixes to the LTS release&lt;br /&gt;
&lt;br /&gt;
=== A better video conferencing solution for Gen Dev meetings? (Michael de Raadt) ===&lt;br /&gt;
* GoToMeeting (no free)&lt;br /&gt;
* Need more suggestions&lt;br /&gt;
&lt;br /&gt;
=== Questions ===&lt;br /&gt;
&lt;br /&gt;
Q. What are the plans in 2.7 for Gradebook improvements?&amp;lt;br /&amp;gt;&lt;br /&gt;
A. Minor bugs being fixed. Three major projects happening, but not going into 2.7. (See MDL-25423)&lt;br /&gt;
&lt;br /&gt;
Q. Will the base theme no longer receive updates or be actively worked on?&amp;lt;br /&amp;gt;&lt;br /&gt;
A. It will be kept for long term support and fixed for bugs, but may go away after a number of versions.&lt;br /&gt;
&lt;br /&gt;
Q. Anymore changes to the event system? We want to start planning/scoping out analytics/alerts using the new event system in 2.6, but don&#039;t want to progress if more changes are expected.&amp;lt;br /&amp;gt;&lt;br /&gt;
A. Mostly stable now.&lt;br /&gt;
&lt;br /&gt;
Q. Global Search?&amp;lt;br /&amp;gt;&lt;br /&gt;
A. Code has been written. Waiting for code review for core.&lt;br /&gt;
&lt;br /&gt;
Q. Any plans to actually treat the code freeze deadline as a code freeze for 2.7?&amp;lt;br /&amp;gt;&lt;br /&gt;
A. That freeze should be colder than last time.&lt;br /&gt;
&lt;br /&gt;
== Live Attendees ==&lt;br /&gt;
Adam Olley, Adrian Greeve, Amy Groshek, Andrew Davis, Andrew Nicols, Ankit Agarwal, Anthony Borrow, Aparup Banerjee, Barbara Ramiro, Bas Brands, Damyon Wiese, Dan Bennett, Dan Poltawski, David Monllaó, David Mudrák, Davo Smith, Eloy Lafuente, Eric Merrill, Frédéric Massart, Helen Foster, Jason Fowler, Jason Hardin, Jenny Gray, Juan Leyva, Justin Filip, Jérôme Mouneyrac, Kirsty, Marina Glancy, Mark Johnson, Martin Dougiamas, Martín Langhoff, Mary Cooch, Matthew Spurrier, Michael de Raadt, Mike Churchward, Moodle Bot, Prateek Sachan, Rajesh Taneja, Rex Lorenzo, Rossiani Wijaya, Ruslan Kabalin, S Bourget, Sam Hemelryk, Sam Marshall, Tim Hunt, Tomasz Muras, XY Ng&lt;br /&gt;
&lt;br /&gt;
== Meeting chat log ==&lt;br /&gt;
&amp;lt;div style=&amp;quot;height:300px;overflow:auto;&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| 123&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:02:39 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Andrew Davis&amp;lt;/span&amp;gt;&lt;br /&gt;
| ping&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:02:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| testing&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:02:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, all.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:02:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| Good morning&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:02:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| commiserations sam&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Andrew Davis&amp;lt;/span&amp;gt;&lt;br /&gt;
| what is it there sam h?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Mudrák&amp;lt;/span&amp;gt;&lt;br /&gt;
| hello&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| 2am now&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Barbara Ramiro&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:16 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Andrew Davis&amp;lt;/span&amp;gt;&lt;br /&gt;
| awesome. going out raving after the meeting?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Did someone say rave?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| techno techno techno techno]#&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| unce unce unce&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:03:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| If someone is using a screen reader here they&#039;re probably getting excited!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:04:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| brrrrr wubwubwub do doo doo brrwub&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:04:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Ruslan Kabalin&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hello&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:04:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Monllaó&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:04:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sbourget&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hello&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:04:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| hey, by end of the meeting you can play the &#039;it&#039;s 4 o&#039;clock in the morning and it&#039;s starting to get light&#039; happy hardcore song, I love that one.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:04:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Yes! :D&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:05:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| is the link to youtubepasted here?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:06:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:06:31 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Now it is&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:06:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| I can get chat on my iPad burr some reason Adium is borked&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:06:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| It&#039;s live&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:07:01 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| You&#039;re on! *waves*&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:07:31 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Mary Cooch&amp;lt;/span&amp;gt;&lt;br /&gt;
| we can see you&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:07:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Mudrák&amp;lt;/span&amp;gt;&lt;br /&gt;
| Moodle Meetings: you&#039;re on my radar&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:07:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Sam just said responded to bug reports&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:08:55 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Time the lag&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:08:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adrian Greeve&amp;lt;/span&amp;gt;&lt;br /&gt;
| Now&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:09:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| now&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:09:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Mary Cooch&amp;lt;/span&amp;gt;&lt;br /&gt;
| oh wow&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:10:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Mary Cooch&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;quot;or&amp;quot;/not&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:10:39 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| (do we do introductions/his?)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:11:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Tim you can be next if you want&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:11:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I need to open some browser tabs&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:11:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| sorry Im late&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:12:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| pidgin doesn&#039;t like my laptop&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:12:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| loving it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:12:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| I don&#039;t know where to comment about this..&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:13:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| but we&#039;ve got a few things which want pluggable versions of the same thigns now&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:13:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| like badges&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:13:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rex Lorenzo&amp;lt;/span&amp;gt;&lt;br /&gt;
| Is there a tracker ticket for these changes?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:13:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| although now i&#039;m thinking, does badges allow activity level awards&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:13:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| OK, I think I am ready.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:14:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Good [insert appropriate time of day / night here] everyone.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:16:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I thought badges used conditional activities&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:17:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Yes, performance will be tough&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:17:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Mudrák&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan P: +1 for trying not to do same things in paralel&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:18:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jenny Gray&amp;lt;/span&amp;gt;&lt;br /&gt;
| I can imagine some open courseware sites that would love conditional courses with the same sorts of rules too&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:18:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi from Tim at the OU in Milton Keynes.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:18:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Dan from Moodle HQ, Perth Australia&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:18:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Monllaó&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, my name is David&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:18:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Davo Smith&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Davo, Synergy Learning (but based in Sheffield)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:18:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;bmbrands&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi from the Netherlands!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jenny Gray&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, from Jenny at the OU in Milton Keynes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hello&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:08 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tomasz Muras&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Tomek Muras here&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Anthony Borrow&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi from Albuquerque&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi from Belgium&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adrian Greeve&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Adrian from Moodle HQ, Perth&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hello! Dan from HowToMoodle (UK)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:13 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Sam Hemelryk from Nelson, New Zealand&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| Jason from HQ&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| sam at the Open University in Milton Keynes, UK (as hopefully you noticed from logo on all my slides&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Adam from NetSpot&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Jerome from Moodle HQ, Perth&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;kirsty&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi from Kirsty at HowToMoodle&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Amy Groshek&lt;br /&gt;
| Hi from Amy Groshek, Minnesota, US&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Barbara Ramiro&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi from HQ&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rex Lorenzo&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hello, Rex from Los Angeles, CA, USA&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:32 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| hi from HQ&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| Hi, Aparup Banerjee, moodle HQ perth&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Mary Cooch&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi from Moodle HQ outpost in Preston Lancs&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Mudrák&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, David Mudrak, Czech&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sbourget&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Steve from New Hampshire USA&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Prateek Sachan&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, Prateek Sachan here.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:19:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Helen Foster&amp;lt;/span&amp;gt;&lt;br /&gt;
| hi, Helen in Belgium&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:20:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| lol, I liked the &#039;what the hell are we doing&#039; there&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:21:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Haha&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:21:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi, everyone. Thanks for coming.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:21:37 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Martin Dougiamas waves from home in Perth&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:21:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jenny Gray&amp;lt;/span&amp;gt;&lt;br /&gt;
| wow, sam my time lag is even longer than yours!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:21:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tomasz Muras&amp;lt;/span&amp;gt;&lt;br /&gt;
| so can you define dependency between questions on the question level (so in question bank and not just in the quiz)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:23:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-40987&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:24:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://moodle.org/mod/forum/discuss.php?d=231180&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:24:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| error at moodlehq&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:25:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| restarting&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:25:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| back now&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:26:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| you look to be back Moodle Meetings&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:26:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| I just heard Michael ask everyone to say hi and where they are from. Wow... the lag is going to make asking questions here really difficult.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:26:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| snap&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:26:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://github.com/moodleou/moodle-qtype_combined&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:27:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| jfilip: can you think of your questions in advance?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:27:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Mary Cooch&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:27:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| I just reloaded the G+ event page so hopefully it&#039;s less lagged now?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:28:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| We&#039;re looking at tims Github screen if that helps jfilip&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:29:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| http://www.open.edu/openlearnworks/course/view.php?id=1643&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:29:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks, it looks like you can scroll ahead in the timeline on the YouTube player so I think I&#039;m up much closer to &amp;quot;live&amp;quot;.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:30:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| If you click the text saying &amp;quot;live&amp;quot; it should forward you right to it as well. (red dot for watching live, grey for behind)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:30:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Yes, it&#039;s got the red dot showing &amp;quot;Live&amp;quot; since I scrolled ahead. Perfect.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:31:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Drag and drop is tough on screen readers&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:32:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| +1 on the DnD questions. We love them here.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:32:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| There are aria guideline for drag and drop. They are complex though&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:33:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| We could gather some numbers on usage of qtypes on our customer&#039;s sites for contrib types.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:33:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| lesson: with a decent ui..&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:33:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://docs.moodle.org/dev/Using_the_question_engine_from_module&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:34:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| can we force the camera on martin?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:36:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| michael, mute microphone please? it keeps switching to you&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:36:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| thanks&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:37:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| I muted him&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:37:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| we have&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:37:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| we don&#039;t see your screen martin&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:38:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| I do&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:38:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| i do&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:38:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Andrew Davis&amp;lt;/span&amp;gt;&lt;br /&gt;
| fyi, to stop the screen jumping around you can click on whoever you want it to stay on. click their thumbnail at the bottom of the hangout.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:39:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| HQ I hope you are remembering to direct the camera for the recording&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:39:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| Whers the beers HQ?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:39:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| omg no beers&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:40:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| (it&#039;s super hot here, I could really use one)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:40:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| that&#039;s a lot of crazy people at HQ ... you know you have to travel home after this ... unless the tenants upstairs can be bribed ...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:40:55 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| TimH just popped on screen for me (again)&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:41:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-43784&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:41:37 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://docs.google.com/presentation/d/1eea9oQj1bihpWpsYJGstX_CASLBFF7N51M6DLquixK0/edit?pli=1#slide=id.g2a33bfb2a_097&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:41:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| I have beer. White rabbit.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:41:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Mike Churchward&lt;br /&gt;
| Martin -21C here. (opposite of super hot)&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:42:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| i&#039;ve got a flask.. of hot water and mint tea..&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:42:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| yay automatic less compiler in core!&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:43:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;XY Ng&amp;lt;/span&amp;gt;&lt;br /&gt;
| martin: yep we are directing the camera&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:43:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Please stop talking about the element library, and get the code in core!!!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:43:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:43:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| (We need elements first ;))&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:43:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| No, release early and release often.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:44:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| MDL-36558&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:44:16 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-36558 - Add element library to moodle.V: 11, W: 22, Type: Improvement, Assignee: Sam Hemelryk, Priority: Critical, Status: Development in progress&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:44:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Get the basic strucutre, there, then people can add to it.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:44:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| Not sure if it was mentioned, but does the LESS compiler mean we&#039;ll get rid of compiled LESS css files from being tracked at all?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:44:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;bmbrands&amp;lt;/span&amp;gt;&lt;br /&gt;
| jay for bootswatches!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:44:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| +1 release early n often n om&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:45:01 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Yes it would, they would go in moodledata&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:45:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| Awesome&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:45:31 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Ooo i likey&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:45:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:45:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| compiled less is a pain when cherry picking :P&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:46:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| ^&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:46:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;bmbrands&amp;lt;/span&amp;gt;&lt;br /&gt;
| does it do less compiling when setting the bootswatch?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:46:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| No, this is just a POC&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:46:37 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| But it could (should?)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:46:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| custom css styles go in moodledata too then i guess?&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:47:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| I think they already do&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:47:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| the do indeed&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:47:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| custom css styles should go into the themes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:47:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| *they&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:47:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| &amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:48:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| ah! here at last! took some work to get empathy working here&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:48:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| hey hi&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:48:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Welcome.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:48:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| I have been enjoying the show over breakfast&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:48:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| try and look at the agenda and ask your questions 2min in advance&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:48:39 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adrian Greeve&amp;lt;/span&amp;gt;&lt;br /&gt;
| POC = Point Of Care?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:48:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| Proof of concept&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:49:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| (isn&#039;t that right? lol)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:49:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| y&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:49:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adrian Greeve&amp;lt;/span&amp;gt;&lt;br /&gt;
| Not Piece Of Cake?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:49:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| The cake is a lie adrian. A lie!!!!!!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:49:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Nano, Pico, Atto&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:51:32 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Are we really, really, sure we want to maintain our own editor?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:51:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| +1 about text editor being important. I&#039;d be interested in how well it works in narrow width, that&#039;s a problem with current..&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:51:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| tim that is the question that is not decided&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:52:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| but i have to say I&#039;m tending that way after lots of thinking&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:52:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| the greatest benefit of maintaining our own editor is that we never have to worry about upstream changes, abandonment, and the featureset is always what we want. The worst part of that is that we would have to do the work ourselves&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:54:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| and there is no community around the editor already&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:54:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| (I am suspicious about all the maths comments.. I know its important, but I also know the maths editor community are very vocal.. have to balance that to average moodle user who doesn&#039;t know what moodle.org is)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:54:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| ^&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:55:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Amy Groshek&lt;br /&gt;
| Which of these editors have the options configurable, and how accessible is the config? Currently we are trying to alter the options for the editor in the db with an install script. Giving people options is nice, but then they complain when their theme doesn&#039;t apply to the text they&#039;ve borked in the text editorâ€¦&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:55:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| maths is pretty much the same for all editors in that we need to do some custom work for all&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:55:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| we asked the survey takers to test the maths editor ...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:55:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tomasz Muras&amp;lt;/span&amp;gt;&lt;br /&gt;
| there was a license issue with dragmath as well&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:55:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| The other thing you need to consider with the editor&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:55:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| is the 3rd party plugins that use it currently&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dragmath and things like voice / audio recording in the editor are very popular 3rd party plugins for our customers.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| and all of the support you will need to have for them&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| amygroshek: they all have cionfigurable options&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| drag math also works not at all on mobile&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| there are several 3rd party math plugins&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| atto is the easiest to configure already&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| and I think TinyMCE 4 is the next easiest&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:39 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| All 3rd party plugins would need to be re-written regardless.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| followed very very closely by CKEditor&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| sort of&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:52 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| some editors will already have plugins for them&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:56:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| benefit of a standard os editor&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:57:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| CK has lots, that&#039;s the main advantage of it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:57:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| my plugin should work for Tinymce in all innstances of it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:57:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| atto i have to make a plugin specifically to moodle&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:57:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Atto will cost us a lot more&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:57:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| Jason Hardin: some will have plugins that can be modified to work, yes, but not all of them can be taken and made to work with Moodle without considerable effort&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:57:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| We have a few editor plugins at the OU (biggest is our maths one). Also need to turn off standard things that don&#039;t work well for us... *shrugs*&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:58:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Amy Groshek&lt;br /&gt;
| Use Atto. It has less options. = less theme support problems for amy.&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:58:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| Atto is close to what would work on mobile (limited set of options, neat interface)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:58:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| I&#039;m not that bothered about updating the plugins if we don&#039;t have to do it instantly though, it says on that wiki page it&#039;ll keep old tinymce for a few versions&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:58:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| There were two questions that went along with Jerome&#039;s agenda item which I don&#039;t believe were addressed, are those going to come up later?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:58:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| Just one thing about simple editor - I 100% agree but our users are probably going to go ape if we take all their features (tables, colour, stupid crap they shouldn&#039;t use) from them...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:59:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| For Moodle, the 1/3 row switching is very nice.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:59:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| not students, but tutors etc&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:59:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| (editor for mobile is stupid IMO. Its going to be built into the mobile os)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:59:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Sam, educate them =)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;9:59:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan P: I agree, different editor (or none) for mobile&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| jfilip - tried that before&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:08 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| just try and edit a line on a mobile phone with the standrard iphone/android interfaces&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| its painful, and I imagine they will innovate with their oses&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| any moodle editor used with conflcit with it when they change&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sbourget&amp;lt;/span&amp;gt;&lt;br /&gt;
| Would implementing Atto put in in the same situation we saw with Moodle 1.x with Htmlarea editor?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| dan - okay but how do you do, I dunno, insert an image together with upload into moodle filesystem? that needs custom buttons etc&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:00:52 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Evernote has a really nice mobile editing interface, you can push a &amp;quot;keyboard&amp;quot; button to remove text input and replace that part of your screen with formatting options. It&#039;s really smart and easy to use.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:01:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Stephen, the opposite. HTMLarea was third-pary and it died.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:01:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| If we build atto ourself, it won&#039;t die for as long as we use it.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:01:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| jfilip: is that html5 only or in an app?&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:01:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| AFAIK, it&#039;s in the app. I&#039;ve never used their Android app before but that&#039;s how the editor works in iOS. It&#039;s super handy on a phone screen.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:02:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| I woukld recommend talking to the accesisblity grou[&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:02:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| is atto liscensed?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:02:39 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| about how costly that will be&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:02:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| is that where the cost is?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:02:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Jason, Martin posted there this morning.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:02:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| https://moodle.org/plugins/view.php?plugin=editor_atto&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:03:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://docs.moodle.org/dev/Editor_2.7&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:03:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:03:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| RIP mod/assignment&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:04:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Martin Dougiamas has another small minute of silence&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:04:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Tracker issue for the mod_assignment removal?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:05:08 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-33952&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:05:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| thx&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:05:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Hardin&amp;lt;/span&amp;gt;&lt;br /&gt;
| On the accessibility group i did see the email breifly this morning. It was 4;30 am when i got up to get to this meeting. I still think it is better to talk to them in the next meeting&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:06:14 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| (lol at gang sign)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:06:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| will mod_assignment live on as an add-on at all ?&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:06:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| There were two questions that went along with Jerome&#039;s agenda item which I don&#039;t believe were addressed, are those going to come up later?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:06:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Jason Hardin&lt;br /&gt;
| the editor has been mentioned in previous meetings but I don&#039;t know that the group has been focused on the topic.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:06:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| yeah in moodle.org/plugins&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:06:55 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| isn&#039;t it there already? Should be&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:07:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| can&#039;t add 2.7 plugins yet&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:07:14 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Not yet.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:07:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| HQ: change the feed view&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:07:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| What dan said&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:07:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| roger&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:07:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Is there a wiki page for this latest outcomes work?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| The youtube feed is still looking at Damyon and gang&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| ( / research / etc. )&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:13 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| where are you listening to Eric?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Ruslan Kabalin&amp;lt;/span&amp;gt;&lt;br /&gt;
| It is a shame, I do not know (recognise) anyone of those 7 who is sitting at the table, can someone list their names&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Raj is with Damyon&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| jfilip: Not as yet.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| MDL-40230&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-40230 - Integrate Outcomes stage 2 into core.V: 3, W: 34, Type: Bug, Assignee: Mark Nielsen, Priority: Blocker, Status: Reopened&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| jfilip: basically we didn&#039;t make any decision about hiding/removing themes . I think the best it&#039;s to go to each issues. About bootstrap3 it&#039;s most likely we won&#039;t have it in 2.7.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks, Jerome.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:09:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| mouneyrac: Do you have the link to that document we made, including the BS3 details?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Ruslan Kabalin: testing my short term memory.. Jerome, XY, Rosie, Raj, David Mo, Ankit, Damyon&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Marina Glancy&amp;lt;/span&amp;gt;&lt;br /&gt;
| Jerome, XY, Rossie, Raj, DavidMo,&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| See MDL-40177 about Bootstrap 3&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| yes it&#039;s in the document I lined and in the issue too&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-40177 - Update to Bootstrap v3.V: 7, W: 19, Type: Bug, Assignee: Unassigned, Priority: Minor, Status: Open&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Marina Glancy&amp;lt;/span&amp;gt;&lt;br /&gt;
| I was late&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Ruslan Kabalin&amp;lt;/span&amp;gt;&lt;br /&gt;
| thanks&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:10:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I still have this serious concern about the logging stuff. Look at the diff stat for https://github.com/markn86/moodle/compare/master...MDL-40063_master &amp;quot;Showing 35 changed files with 1,599 additions and 35 deletions. &amp;quot; This is a change that bring no user-visible benefit. How to we justify that huge lines-of-code count? Surely this is a clear sign that the design if flawed.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:11:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-40063 - Replace add_to_log with an event trigger - mod_quiz.V: 0, W: 4, Type: Task, Assignee: Mark Nelson, Priority: Major, Status: Reopened&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:11:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://docs.google.com/document/d/1ktkigIsJrxcqPeHWcDdRANA1072JVZZ0azg0INo6v48/edit#heading=h.mhopzjiavfyi&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:11:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Petr is off-screen. Lucky.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:11:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| that&#039;s the bootstrap3 link&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:11:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Andrew Davis&amp;lt;/span&amp;gt;&lt;br /&gt;
| jfilip, see https://tracker.moodle.org/browse/MDL-40230 and https://docs.moodle.org/dev/Outcomes_Specification for the outcomes system from Moodlerooms. A document detailing what features we want based on examining the moodlerooms system as well as Totara and Elis will appear in the next few days.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:11:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Logging is eventually about analytics and notifications, real-time&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:12:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Liking the look of this!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:12:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| logging looks nice in the UI, but we have a potential concern with performance as it&#039;s a massive cost in the current system already - especially if there are more things logged. (I.e. at the moment a typical student page view logs 1 thing - is that still true?)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:12:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Marina Glancy&amp;lt;/span&amp;gt;&lt;br /&gt;
| We store more information about an event, that&#039;s true&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:13:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| Could we change it to chuck it into a local file or something instead, for instance?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:13:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| (with custom logging plugin)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:13:30 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| yeah sure&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:13:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Marina Glancy&amp;lt;/span&amp;gt;&lt;br /&gt;
| But you can set up not to store some&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:13:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| ah OK, single insert sounds good&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:13:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Andrew, thanks.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:13:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| the profile of Moodle will change. Some things will be slower, but some things will be faster&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:01 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| MDL-34055&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-34055 - Database function for fast bulk inserts.V: 2, W: 5, Type: Improvement, Assignee: Petr Å koda, Priority: Major, Status: Waiting for peer review&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| ok this sounds good - thanks. Just had concern because it&#039;s probably one of the slowest things at present.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rex Lorenzo&amp;lt;/span&amp;gt;&lt;br /&gt;
| What are the different types? You mentioned &amp;quot;Educational&amp;quot;, what are the others?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| well yeah that&#039;s why building analytics on top of it is a bad idea&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| (old logs)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I am not sure that I am convinced by the &#039;it is pluggable so we can do antyhing&#039; argument. editors are pluggable, so we now have a big debate about which editor to implement, and a lot of work to do it.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:14:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| (At OU we don&#039;t do anything that reads log table I think - we&#039;ve disabled all those things.)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:15:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| you can ignore our editor :D&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:15:13 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| No, you can&#039;;t What we really want is one editor that works for everyone. If that is possible.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:15:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| *nods* got it, thanks.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:15:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Plugins with special needs can listen direct to events instead of parsing logs&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:16:16 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Marina Glancy&amp;lt;/span&amp;gt;&lt;br /&gt;
| Another benefit is ability for reports NOT to use log table&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:16:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Marina Glancy&amp;lt;/span&amp;gt;&lt;br /&gt;
| Grr I&#039;m always slow on this iPad&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:16:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| Great - looks good.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:16:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Petr is surprisingly quiet&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:17:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| thanks for answering all the questions&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:17:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Sorry, you answered my point?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:18:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I don&#039;t think so.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:18:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Editor?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:18:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| tim - the editor one or the thousands of lines of code one?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:18:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Which point Tim?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:18:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| SO, to conver the add-to-log calls in the quiz, 35 lines of existing code are repalced by 1600 lines of new code. How is that anything other than the sign of a totally broken API?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:19:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Marina Glancy&amp;lt;/span&amp;gt;&lt;br /&gt;
| Lines of code in logging&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:19:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| yes we see it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:19:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| yes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:19:16 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| no browser yet&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:19:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| I see the browser&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:19:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| ah got it now&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:20:01 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Perhaps some backend folks want to answer why the API is not broken&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:20:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| It is important to have more lines to have reliable, constant information&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:20:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| or quiz is broken&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:20:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| No trolling please&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:20:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| It is important to have reliable, constant information. I am not convince that requires thousands of lines of code.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:20:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| Sorry about that.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:20:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Moodel Meetings, woudl you like to say who you are?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Martin Dougiamas never liked all the classes nonsense&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tomasz Muras&amp;lt;/span&amp;gt;&lt;br /&gt;
| I also have doubts about new logging - I&#039;m not sure what are we really getting here in return for more complexity. What kind of real life issue are we solving?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adrian Greeve&amp;lt;/span&amp;gt;&lt;br /&gt;
| Most of that is class declarations and unit tests.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:37 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Me too&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| yes breaking up here too&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Wait, Tim are you saying that 35 lines that were previously executed to write a log now goes through 1600 lines or 1600 lines is just the total of the patch?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| yes for us too&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| making quite nice bell type noises&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:21:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| here too&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:14 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| Rajesh: We need to have some framework which can check adde to event&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:16 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| lines of code is a stupid metric for anything.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| bad audio here too&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| I&#039;m loosing sound&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;bmbrands&amp;lt;/span&amp;gt;&lt;br /&gt;
| here to&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| breaking up&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;marxjohnson00&amp;lt;/span&amp;gt;&lt;br /&gt;
| yep&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| speaker needs a cat5&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Also, lines of source code doesn&#039;t translate to interpreted opcode being executed.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:22:53 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Yes, events are more complex than addtolog but add to log was adhoc and not guaranteed to be useful&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:23:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| But, to bring it around, yes, profiling logging before / after those changes will be very important.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:23:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan P, in term of mainteneance, number of lines of code thta have to be written to fire one event is a reasonable metric.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:23:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| your painting an extreme picture&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:23:37 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| yeah, less code is always better if possible&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:23:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| looking at that code ~50% is unit tests&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:23:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| probably another 25% is comments&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:24:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| now, smartly written code can still hit the hot paths&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:24:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| Petr: please stop complaining about new events, it is part of public API since 2.6, it is nit going away, it works for new reports so far&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:24:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martín Langhoff&lt;br /&gt;
| so it&#039;s hard to tell without reading / profiling&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:24:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan P, if representing one event is so complex, it requires unit tests to verify the code is correct, I don&#039;t think that is a good sign.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:24:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| It&#039;s not just lines, it&#039;s a different API, thus different way of working. Switching from a single function call to an OO model had to create more lines&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:24:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Fred, exactly. I see no evidence that is a good trade-off.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:25:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adrian Greeve&amp;lt;/span&amp;gt;&lt;br /&gt;
| Everything New requires either unit or begat test s regardless of complexity.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:25:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Juan: Sorry I couldn&#039;t hear very well. This OS X app of moodle mobile available now or with the latest release?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:25:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| is there any audio atm?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:25:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| adrian, so don&#039;t require a new class for every single event.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:25:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan, v soon&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:25:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| dan: yes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:25:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Cool!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:26:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| Raj: It would be nice to look at Log and live log reports changes and it gives more information and better filtering.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:26:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| We just need more people getting around this Mobile client and extending it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:26:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Am I the only person who can&#039;t hear anything?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:26:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| in the hangout?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:26:55 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Audio good for me&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:27:00 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| youtube audio is fine&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:27:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I can hear but not see Juan.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:27:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| leaving and coming back&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:27:08 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| it worked ok for me&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:27:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tomasz Muras&amp;lt;/span&amp;gt;&lt;br /&gt;
| audio works fine for me as well&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:27:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adrian Greeve&amp;lt;/span&amp;gt;&lt;br /&gt;
| Any change to logging would generate more test code regardless of the architecture.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:27:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Do you have many stats on the numbers of app downloads of the old versions?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:28:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| is messages.moodle.net going to serve anyone who want to use notifications out there?&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:28:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| Raj: If we don&#039;t add class then we need to process every event, which needs more processing and sometimes unreliable information (Legacy events which were added previously was good example that one line code is not always goodâ€¦ )&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:28:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| adrian, it is a scalability thing. Does every new event requrie new unit tests, O, or does just the core of the system require unit tests, optimisation, etc. O(1).&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:28:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Should be the latter.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:28:31 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| An event is just data, not behaviour.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:28:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Juan is there a doc for the nodewebkit/moodle mobile app stuff on moodle.org? Be interesting to see it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:29:00 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| There should be no functionality to test.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:29:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| There is a need for data validation&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:29:24 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| the functionality and test should be of the API, not the individial events ...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:29:30 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| JAson, yes, but that is not how it currently works.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:29:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| but if each event is it&#039;s own function, then a unit test will be required...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:29:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| in theory&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:30:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| Events don&#039;t get introduced every day. It should be tested and added with proper thought.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:30:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| I asked about download stats for the app&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:30:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Exactly. &#039;IF;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:30:08 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jleyva@jabber.org&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://docs.moodle.org/26/en/Running_Moodle_Mobile_in_Desktop&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:30:32 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Links for integration update:&amp;lt;br /&amp;gt;&lt;br /&gt;
[1] https://tracker.moodle.org/browse/MDLSITE-2662&amp;lt;br /&amp;gt;&lt;br /&gt;
[2] cime&amp;lt;br /&amp;gt;&lt;br /&gt;
[3] https://docs.moodle.org/dev/Acceptance_testing/Browsers&amp;lt;br /&amp;gt;&lt;br /&gt;
[4] $CFG-&amp;gt;behat_screenshots_path: http://git.moodle.org/gw?p=moodle.git;a=blob;f=config-dist.php#l659&amp;lt;br /&amp;gt;&lt;br /&gt;
[5] https://docs.moodle.org/dev/Integration_Review#Backporting&amp;lt;br /&amp;gt;&lt;br /&gt;
[6] https://docs.moodle.org/dev/Integration_Review#Schedule&amp;lt;br /&amp;gt;&lt;br /&gt;
[7] https://tracker.moodle.org/browse/MDL-39752&amp;lt;br /&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:30:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| danbennett&lt;br /&gt;
| Thans Juan!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:30:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Nope&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:31:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| we can hear you dan&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:31:27 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| cibot looks suspiciously like a smurf&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:31:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jleyva@jabber.org&amp;lt;/span&amp;gt;&lt;br /&gt;
| Aparup messages.moodle.net is only for registered Moodle sites&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:32:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| &amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:32:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| cime&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:33:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jason Fowler&amp;lt;/span&amp;gt;&lt;br /&gt;
| cime doesn&#039;t pay ...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:33:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| :D&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:33:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| cime is great&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:33:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| comme ci, comme ca&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:34:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Monllaó&amp;lt;/span&amp;gt;&lt;br /&gt;
| I&#039;m addicted to cime&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:34:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| MDLSITE-2662&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:34:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDLSITE-2662 - First public runs of prechecker against various criteria.V: 1, W: 5, Type: Task, Assignee: Eloy Lafuente (stronk7), Priority: Minor, Status: Open&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:34:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Just been asked by Ray Lawrence whether theres any info regarding decisions of server requirements for 2.7 if thats able to be covered today. (Don&#039;t shoot the messenger!! :P)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:35:14 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| it&#039;s NOT perfect???&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:35:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| cime watch!&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:35:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| We do shifter checks on all issues, but its a different bot&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:35:59 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| phpunit which is easy to install and behat which is impossible to install ;)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:36:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Ankit Agarwal&amp;lt;/span&amp;gt;&lt;br /&gt;
| Mdk ftw&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:36:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| No. Behat is easy&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:36:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| with less compiler being considered to go into core as the in-built thing - any same ideas for shifter?&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:36:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| No it isn&#039;t.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:36:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| It is getting easier.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:36:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Monllaó&amp;lt;/span&amp;gt;&lt;br /&gt;
| Ask OU bosses to let you install serious OS&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:36:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| LOL&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:37:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| lol&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:37:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| good idea, but&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:37:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan Bennet: https://docs.moodle.org/dev/Moodle_2.7_release_notes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:37:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Martin: Yeah I did say to him ... thanks&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:37:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| that&#039;s current, AFAIK&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:37:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| for now ;) haha&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:37:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| I doubt it will change further&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:38:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| ok&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:38:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Monllaó&amp;lt;/span&amp;gt;&lt;br /&gt;
| Please, report issues and we can work on them&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:38:14 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| I know I&#039;m going to have to make behat work (for the conditional activity thing) and am dreading it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:39:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| then you will love it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:39:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Actually, sam, it works for me now.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:39:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Except that I get random failures.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:39:31 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Ruslan Kabalin&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan P, great slides!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:39:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Be hat + phantomjs is great (even on windows)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:39:55 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| tim - Oh, it works now? Are there instructions? Thanks for reassurance, sorry I should be less sarcastic then&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:08 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| yes, nice slides!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Sarcasm is good.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://gist.github.com/danpoltawski/8036489&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thats David Monllao serving up a paella&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I really ought to copy that to docs.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Frédéric Massart&amp;lt;/span&amp;gt;&lt;br /&gt;
| LOL&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Great pic lol&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Looks good.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:40:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| Paella!&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:41:00 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tomasz Muras&amp;lt;/span&amp;gt;&lt;br /&gt;
| So we want to fix coding style in the line that happened to be edited for another purpose - e.g. https://tracker.moodle.org/browse/MDL-43040 (I think that&#039;s a good idea, why not)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:41:13 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Also that&#039;s exactly what behat code looks like&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:41:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;David Monllaó&amp;lt;/span&amp;gt;&lt;br /&gt;
| Aparup&#039;s home rules&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:41:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| screenshot - i like that&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:42:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Or have no wwwroot&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:43:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Damyon: https://tracker.moodle.org/browse/MDL-43246#comment-265751&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:43:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Quite a long time == overnight.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:43:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| OK 4 or 6 hours for me.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:44:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| on windows?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:44:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Yes.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:44:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| About the same for me.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:44:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Is that a subtle hint about how to bribe the integrators.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:44:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| ?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:44:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks tim, will look first thing tomorrow&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:44:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| There was a problem found in Linux with ext4, that our tests took something like 10x longer than ext3 â€¦. perhaps someone else can elaborate&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:45:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| (I know it sounds crazy)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:45:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| There are fs options you can add to ext4 mount points to make them run a lot faster.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:45:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| I missed the thing about docblocks/backports - is there a url for this policy?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:45:52 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| AFAIK no-one here found them&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:45:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| sam, yes.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:46:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Scroll back.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:46:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| oh sorry&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:46:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Reject&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:46:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| This is what I use for ext4 on my workstation -- rw,noatime,seclabel,nobarrier,nouser_xattr,errors=remount-ro&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:46:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| thanks Justin, hope that helps someone&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:47:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| i heard about a blackbook Dan&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:47:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| the bit about doc blocks in backports doesn&#039;t seem to be mentioned in https://docs.moodle.org/dev/Integration_Review#Backporting unless I am missing something&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:47:52 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hopefully the code freeze will be more relaxed for you this time&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:47:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| But, yeah, when I first switched to ext4 a year or two ago I did notice a dramatic slowdown until I did some digging for options to speed it up.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:48:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Sounds like the new MySQl&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:48:30 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| So, is the code freeze for 2.7 going to be a code freeze or more of a light frost?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:48:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| We discuss in I team and agree, then someone has to update the doc. It will happen soon&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:49:01 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Very cold.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:49:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Soon(TM)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:49:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I missed the key number. Is this 2.7 or 2.6 that will be LTS?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:49:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| No more integrating non-bug fix work the week or two before scheduled release?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:49:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| 2.7&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:50:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| No integrating half done things the week before freeze&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:50:32 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Oh. Woldn&#039;t it be better to do risky infrastrucutre chagnes after the LTR?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:50:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| jfilip: we are very firm about it in the integration team for this release&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:50:55 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Damyon: *cheers*&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:51:00 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| Will the LTS version need backports of all bugs?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:51:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;marxjohnson00&amp;lt;/span&amp;gt;&lt;br /&gt;
| If it&#039;s based on usage/installation, you&#039;ll never be able to drop it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:51:31 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;marxjohnson00&amp;lt;/span&amp;gt;&lt;br /&gt;
| people will always avoid upgrades unless they have to, look at WinXP&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:51:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Dan Poltawski just wonders about alll.. the bug fixes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:52:00 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| Is no there a distinction on which bugs?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:52:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| because there are LOADS of bugfixes and some are not very serious and it&#039;s been broken forever&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:52:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| IMO, the important thing is security and serious bugfixes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:52:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| OK&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:52:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| some of the nigly bugs people can livewith&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:52:51 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| (and often they can cause small changes in behaviour)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:53:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| New JIRA label for lts bugs? =)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:53:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| was it mentioned how long roughly it&#039;d be LTS&#039;d for?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:53:25 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| 3 yrs&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:53:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| (just echoing Martin for chat&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:53:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| So, 2.7, 2.13, 2.19 ?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:53:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| thanks sam&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:53:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| -1 to lag&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:54:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| its like prerecording the meeting, and then watching it again and discusisng it&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:54:50 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| (in fact that would prob work better)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:54:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Also chat not archived with video&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:54:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Also Google&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:55:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| yeah, the streaming is great, its just the interaction which is a problem&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:55:28 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| it&#039;s designed for broadcasting really&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:55:52 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| It&#039;s nice that Hangouts on Air have 720p video now. It makes a shared browser window actually readable. =)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| (wait for the lag, michael :P)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| I&#039;d prefer open source and BBB but it was just falling short with larger numbers&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eloy Lafuente (stronk7)&lt;br /&gt;
| Offtopic: Looking to Michael in the darkness... and the reflection on his glasses... do you know F.lux? It works great: http://justgetflux.com&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| +1 to f.lux&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| F.lux is wonderful&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| =)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:36 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| GoToMeeting at all Michael? just a thought&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:53 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| i think that&#039;s about cvhanging screen brightness&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:56:54 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Not free tho to be fair&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:57:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| Needs to cope with 100 people&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:57:11 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Michael, we&#039;ve got someone on our team doing a personal project to research shared communication / meeting systems. If something interesting comes out of it we&#039;ll share the findings.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:57:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| we could code one ourself! I just built a voice recorder using html5, it&#039;s totally reliable*.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:57:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| * I am lying&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:57:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Maybe a Moodle video conference plugin? lol&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:57:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| no f.lux is for your screen brightness ..&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:57:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| we coudl stream to youtube on top of whatever we do, no?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| btw mic unplugged michael?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| oops audio cut off? or just me? oh it&#039;s back&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:13 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Smoke signals and really powerful telescopes.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| back now&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jérôme Mouneyrac&amp;lt;/span&amp;gt;&lt;br /&gt;
| now yes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| cut off again&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:31 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| back&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:32 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| mic gone soft&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:37 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Seems the mic has some kind of crazy limiter lol&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:38 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| lol&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| oops, cut out again..&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| v quiet&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:47 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| yeah&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:58:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Over to yuo...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:59:16 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| NSA&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:59:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Matthew Spurrier&amp;lt;/span&amp;gt;&lt;br /&gt;
| jfilip: i certainly wouldn&#039;t recommend using nobarrier, you lose power, you have the potential to lose a lot of data.. also noatime,nodiratime are risky for auditing/security purposes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:59:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Too many torrents&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:59:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Matt, it&#039;s just my workstation on a battery backup.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;10:59:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| It&#039;s not a server. =)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:00:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Matthew Spurrier&amp;lt;/span&amp;gt;&lt;br /&gt;
| yah, just pointing it out, just in case ;)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:00:14 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Yeah, you&#039;re correct. For something that is &amp;quot;important&amp;quot; or might go down, poorly, those options won&#039;t really work.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:00:39 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Andrew Nicols&amp;lt;/span&amp;gt;&lt;br /&gt;
| Nigel McNie (former Catalyst/Mahara) was working on a VC type solution. I&#039;ll ping him and find out&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:00:46 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rex Lorenzo&amp;lt;/span&amp;gt;&lt;br /&gt;
| BBB had a new release&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:00:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Audio is breaking up for me. Am I alone?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:01:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rossiani Wijaya&lt;br /&gt;
| audio seems fine here&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:01:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Do they have an Epic for this in the tracker?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:02:00 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| half of the gradebook proposal comes from David Mudrakâ€¦&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:03:30 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| For the Aus cahgnes?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:03:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Would be good to group them with an Epic.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:03:42 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| You can add it to the meeting notes later.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:03:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| OK&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:04:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Rex asked the questions&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:05:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I&#039;ve been booted and can&#039;t get back in. That&#039;s telling for Hangouts.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:05:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| there have been 2 this week..&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:06:13 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| no major changes expected, just more improvements&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:06:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eloy Lafuente (stronk7)&lt;br /&gt;
| bootstrapwood is coming back!&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:06:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| apart from the two this week, Petr?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:06:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I asked earlier if we ahd to convert events in our add-ons when we ugprade to 2.6,and Petr said wait for 2.7.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:06:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Once you go bootstrap you never go booback&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:06:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| Random question: what&#039;s up with the namespace stuff in code - are we supposed to use that for all new core code in 2.7? If so is it documented?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:06:35 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| Sam: MDLSITE-2549&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:07:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDLSITE-2549 - Rules for namespacing.V: 0, W: 7, Type: Bug, Assignee: Dan Poltawski, Priority: Minor, Status: Open&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:07:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://moodle.org/local/chatlogs/index.php?conversationid=14661 https://moodle.org/local/chatlogs/index.php?conversationid=14662&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:07:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| No docs in the 2.6 release notes to explain the events changes.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:07:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks Dan! So, it is not yet defined? OK&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:07:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tomasz Muras&amp;lt;/span&amp;gt;&lt;br /&gt;
| yeah, I&#039;ve put GS there&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:03 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| https://moodle.org/mod/forum/discuss.php?d=239646 Prateek is on as well&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| MDL-31989&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-31989 - Global Search 2.V: 48, W: 56, Type: New Feature, Assignee: Prateek Sachan, Priority: Major, Status: Open&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| sam marshall: i&#039;m afraid its a bit undefined yep&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:29 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rex Lorenzo&amp;lt;/span&amp;gt;&lt;br /&gt;
| What is the link to the Moodle Docs?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rex Lorenzo&amp;lt;/span&amp;gt;&lt;br /&gt;
| For new features, will they still be tested/supported on base?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:34 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| its another one on the integration team list&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:08:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| dan - Let&#039;s say I start building the conditional availability changes tomorrow, am I okay to not learn how to use namespaces? Is the question.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:06 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| If its in core still, then yes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:07 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eric Merrill&amp;lt;/span&amp;gt;&lt;br /&gt;
| Martin Dougiamas: Reload the wiki page, someone added a line&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Rex, that came up earlier: yes. New UI changes should be tested on Base and Clean.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:09 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jenny Gray&amp;lt;/span&amp;gt;&lt;br /&gt;
| Another random question: what&#039;s happening (if anything) with survey 2.0?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:17 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I found it hard to believe!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eloy Lafuente (stronk7)&lt;br /&gt;
| I really hate people &amp;quot;registering&amp;quot; words like &amp;quot;task&amp;quot; and others without any control. We should not allow first-to-land-wins liberty there. But look for a limited vocabulary. (after thinking about it like 10^6 times)&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:30 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Ther is a link to the tracker issue, but htat is all.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:43 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| More important than name spaces is auto loading, which is great&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:48 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://docs.moodle.org/dev/Automatic_class_loading&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:09:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Shall I create a MDLSITE?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| For docs for how to upgrade your add-on?&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| damyon - auto loading used to work without namespaces, not sure it still does or not&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Prateek Sachan&amp;lt;/span&amp;gt;&lt;br /&gt;
| Hi Aparup, Tomasz!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| MDL-39797 - New events infrastructure&amp;lt;br /&amp;gt;&lt;br /&gt;
https://docs.moodle.org/dev/Moodle_2.6_release_notes#For_developers:_API_changes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Moodle Bot&lt;br /&gt;
| https://tracker.moodle.org/browse/MDL-39797 - META: Events 2.V: 2, W: 5, Type: Epic, Assignee: Unassigned, Priority: Major, Status: Closed&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| just tell petr to stop removing dev_docs_required off his issues with 1 line&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:23 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| That is system spect, not advice for add-on authros.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:26 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| (Dan - thanks for doc)&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Auto loading works with or without&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:53 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| Hi Prateek&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:10:57 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Oooh pretty new homepage&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:12:12 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| i like the colours&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:12:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Prateek Sachan&amp;lt;/span&amp;gt;&lt;br /&gt;
| Everything is pretty good.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:13:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| MDLSITE-2710&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:13:18 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Moodle Bot&amp;lt;/span&amp;gt;&lt;br /&gt;
| https://tracker.moodle.org/browse/MDLSITE-2710 - The Moodle 2.6 release notes need to make it clear to add-on authors how to upgrade their plugins for the events changes.V: 0, W: 0, Type: Bug, Assignee: Unassigned, Priority: Minor, Status: Open&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:13:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Tim Hunt&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks all&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;sam marshall&amp;lt;/span&amp;gt;&lt;br /&gt;
| thanks everyone sorry for the people who stayed up late...&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;danbennett&amp;lt;/span&amp;gt;&lt;br /&gt;
| Great stuff!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:33 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;jfilip&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks, all.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:37 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| next dev mtg?&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:40 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Damyon Wiese&amp;lt;/span&amp;gt;&lt;br /&gt;
| Cya&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:41 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| 3 months&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:44 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Andrew Davis&amp;lt;/span&amp;gt;&lt;br /&gt;
| night all&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:45 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Rossiani Wijaya&lt;br /&gt;
| byeee&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:49 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| roger gdnite!&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:53 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Adam Olley&amp;lt;/span&amp;gt;&lt;br /&gt;
| 2am is a perfectly acceptable sleep time :P&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:14:58 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;bmbrands&amp;lt;/span&amp;gt;&lt;br /&gt;
| bye all&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Aparup Banerjee&lt;br /&gt;
| rave!&amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:02 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Jenny Gray&amp;lt;/span&amp;gt;&lt;br /&gt;
| sam - was this the music you wanted to end on? &lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks everyone - have a great yesterday&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Martin Dougiamas&amp;lt;/span&amp;gt;&lt;br /&gt;
| off to find an air conditioner now&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:05 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Ankit Agarwal&amp;lt;/span&amp;gt;&lt;br /&gt;
| Bye!&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:10 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Michael de Raadt&amp;lt;/span&amp;gt;&lt;br /&gt;
| I need a burger.&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:15 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Sam Hemelryk&amp;lt;/span&amp;gt;&lt;br /&gt;
| Perfect timing with the music&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:19 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Eloy Lafuente (stronk7)&lt;br /&gt;
| &amp;lt;/span&amp;gt;&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:22 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;meetingroom&amp;lt;/span&amp;gt;&lt;br /&gt;
| Thanks all&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:15:53 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| sam: david fixed the cygwin problem&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:17:20 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Ruslan Kabalin&amp;lt;/span&amp;gt;&lt;br /&gt;
| Bye, thanks everyone&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:17:21 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| and we need help from newbies identifiying the gaps in the intructions&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:17:56 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;Dan Poltawski&amp;lt;/span&amp;gt;&lt;br /&gt;
| its practiaclly the same as phpunit in terms of setup, except that unlike phpunit it needs a webserver and browser server&lt;br /&gt;
| &amp;lt;span style=&amp;quot;white-space:pre&amp;quot;&amp;gt;11:20:04 PM&amp;lt;/span&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you have something you&#039;d like to correct on this page, please [https://docs.moodle.org/dev/index.php?title=Developer_meeting_January_2014&amp;amp;action=edit edit this page] or contact [http://moodle.org/user/profile.php?id=381842 Michael d].&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Moodlerooms_Framework&amp;diff=42264</id>
		<title>Moodlerooms Framework</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Moodlerooms_Framework&amp;diff=42264"/>
		<updated>2013-09-04T16:02:59Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this document is to provide a brief orientation to the Moodlerooms Framework.&lt;br /&gt;
&lt;br /&gt;
== High Level Feature List ==&lt;br /&gt;
&lt;br /&gt;
This section describes some of the features that are provided by the framework.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Autoloading&#039;&#039;&#039;: the framework can automatically load its classes.&lt;br /&gt;
* &#039;&#039;&#039;Controllers&#039;&#039;&#039;: The &amp;quot;C&amp;quot; part of [[#MVC|MVC]], handles basic routing of requests, setup and output.  There is a generic controller provided, plus ones geared towards blocks, modules and administrative pages.&lt;br /&gt;
* &#039;&#039;&#039;DB&#039;&#039;&#039;: Another layer of database abstraction that include tables, records, queues and table dumping.&lt;br /&gt;
* &#039;&#039;&#039;Exporting&#039;&#039;&#039;: An export handler that can export data to various formats.  Currently supported formats are CSV, TSV, Excel and ODS.&lt;br /&gt;
* &#039;&#039;&#039;Formatting&#039;&#039;&#039;: Reusable and configurable formats that can transform data.&lt;br /&gt;
* &#039;&#039;&#039;Helper design pattern&#039;&#039;&#039;: A simple way to dynamically use library type classes.  Key [[#Helpers|Helpers]] include:&lt;br /&gt;
** &#039;&#039;&#039;Buffer&#039;&#039;&#039;: Helps to buffer output.&lt;br /&gt;
** &#039;&#039;&#039;HTML&#039;&#039;&#039;: Helps generate HTML for routine tasks, like auto-complete.&lt;br /&gt;
** &#039;&#039;&#039;Load&#039;&#039;&#039;: Helps to load classes.  Great for when you need to dynamically instantiate classes, like for plugins.&lt;br /&gt;
** &#039;&#039;&#039;Recent activity&#039;&#039;&#039;: Generate Moodle&#039;s recent activity list.&lt;br /&gt;
** &#039;&#039;&#039;Tag&#039;&#039;&#039;: Quick access to Tag.&lt;br /&gt;
** &#039;&#039;&#039;Test Web Services&#039;&#039;&#039;: Helps with testing web services in unit testing.&lt;br /&gt;
* &#039;&#039;&#039;Filtering&#039;&#039;&#039;: Easy way to display filtering options to a user which then generate SQL to limit results.  The filtering options are persistent through the user&#039;s session.&lt;br /&gt;
* &#039;&#039;&#039;Notify&#039;&#039;&#039;: Easy session based notification system.  Most common use-case: set the message, redirect and display the message.&lt;br /&gt;
* &#039;&#039;&#039;Heading&#039;&#039;&#039;: Assists with printing headings with or without help icon.&lt;br /&gt;
* &#039;&#039;&#039;Table&#039;&#039;&#039;: Tabular data display with sorting.  The columns are configurable objects.&lt;br /&gt;
* &#039;&#039;&#039;Paging&#039;&#039;&#039;: Paging bar and SQL limits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tabs&#039;&#039;&#039;: API wrapper over Moodle&#039;s tab API.  Attempts to automate and simplify tab creation/management.&lt;br /&gt;
* &#039;&#039;&#039;Tag&#039;&#039;&#039;: HTML tag generation.&lt;br /&gt;
* &#039;&#039;&#039;Distributed locking&#039;&#039;&#039;: Provide a locking mechanism to ensure that only one process is performing a specific task at one time.  Current back end is [http://redis.io/ Redis].&lt;br /&gt;
* &#039;&#039;&#039;Model&#039;&#039;&#039;: Provide very basic abstract model classes.&lt;br /&gt;
* &#039;&#039;&#039;Model repository mapper&#039;&#039;&#039;: Abstract class for mapping models to the DB and visa versa. See [http://martinfowler.com/eaaCatalog/dataMapper.html http://martinfowler.com/eaaCatalog/dataMapper.html]&lt;br /&gt;
* &#039;&#039;&#039;Plugin&#039;&#039;&#039;: Simple class for [[#Sub-plugins|Sub-plugins]].&lt;br /&gt;
* &#039;&#039;&#039;Preferences&#039;&#039;&#039;: user session preferences that are course and plugin aware.&lt;br /&gt;
* &#039;&#039;&#039;Report&#039;&#039;&#039;: Combines filtering, table, columns, formatting, exporting, paging and preferences for simple report generation.&lt;br /&gt;
* &#039;&#039;&#039;Server&#039;&#039;&#039;: A set of classes for providing a web service endpoint.  Currently only the REST server is provided.  Other classes involved are request validation and server response.&lt;br /&gt;
* &#039;&#039;&#039;Var&#039;&#039;&#039;: Static variable storage.&lt;br /&gt;
* &#039;&#039;&#039;Fixture&#039;&#039;&#039;: A fixture API for setting up and tearing down fixtures like users, courses, enrollments in unit tests.&lt;br /&gt;
&lt;br /&gt;
== Framework Files ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;local/mr&#039;&#039;&lt;br /&gt;
** All of the framework&#039;s files are located inside of this local plugin.&lt;br /&gt;
&lt;br /&gt;
== Setup Guide ==&lt;br /&gt;
The &#039;&#039;local/mr&#039;&#039; plugin install normally.  To get additional features, follow these steps:&lt;br /&gt;
&lt;br /&gt;
* Display framework documentation&lt;br /&gt;
*# Add the following code to your config.php: &amp;lt;code php&amp;gt;define(&#039;MR_DOCS&#039;, 1);&amp;lt;/code&amp;gt;&lt;br /&gt;
*# This will display the following link: &#039;&#039;Site Administration &amp;gt; MR Framework &amp;gt; Docs&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Quick Start Guide ==&lt;br /&gt;
&lt;br /&gt;
It is very easy to start using the Moodlerooms Framework.  Just include the following line in the PHP script to automatically load any of the Moodlerooms Framework classes:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
require($CFG-&amp;gt;dirroot.&#039;/local/mr/bootstrap.php&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
That&#039;s it!  Now you can start using the framework:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$tag = new mr_html_tag();&lt;br /&gt;
echo $tag-&amp;gt;b(&#039;Hello World!&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Framework Design Patterns ==&lt;br /&gt;
&lt;br /&gt;
This section describes some of the reasoning behind the design of the major components of the framework.&lt;br /&gt;
&lt;br /&gt;
=== MVC ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model-View-Controller (MVC)] is a popular coding design pattern.  From my understanding (Mark Nielsen&#039;s), it is popular because its design facilitates the re-use of code, which in turn reduces the size of the code base, which in turn results in multiple benefits through the life cycle of the software.  The Moodlerooms Framework works off of this design pattern.&lt;br /&gt;
&lt;br /&gt;
==== Controller ====&lt;br /&gt;
&#039;&#039;Controllers handle the application logic by responding to user actions, processing those actions (generally by using models) and then generating output to the user by means of views.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Moodlerooms Framework provides the controller through the base &#039;&#039;mr_controller&#039;&#039; class.  The controller is responsible for routing HTTP requests, security checks and general variable setup.  Each controller endpoint is responsible for whatever processing that needs to occur and, if needed, setup and return the view for sending to the user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of controllers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Stores application logic.&lt;br /&gt;
* Easy to create a consistent look and feel throughout a plugin.&lt;br /&gt;
* Easier to implement security restrictions.  Through a single method, a controller can protect all of its actions from unprivileged users.  This can be a blanket restriction or fine grained access for each action.&lt;br /&gt;
* Controllers allow one to focus on the task at hand instead of all the overhead of generating a secure and full featured Moodle page.&lt;br /&gt;
* Controllers help to organize code into smaller functional snippets instead of large files with very large &#039;&#039;if/else if&#039;&#039; and &#039;&#039;switch&#039;&#039; statements that tend to produce security holes and nasty bugs.&lt;br /&gt;
* Automatic setup of &#039;&#039;local/mr/framework&#039;&#039; classes and of plugin variables like instance records, contexts, etc.&lt;br /&gt;
* Reduces code duplication in plugins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explanation of controller execution in the framework&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enough abstract, let&#039;s dig into what the framework&#039;s controller is really doing.  All HTTP requests come in through a single point.  The way that the request gets routed all depends on the request&#039;s parameters.  The &#039;&#039;controller&#039;&#039; parameter determines which controller to use.  The &#039;&#039;action&#039;&#039; parameter determines which function to call within the controller.  The defaults are, &#039;&#039;controller=&#039;default&#039; &#039;&#039; and &#039;&#039;action=&#039;view&#039; &#039;&#039;.  In order for the controller to handle the various actions, it must implement a method with the following naming scheme: &#039;&#039;public function ACTION_action()&#039;&#039; where ACTION is the value of the &#039;&#039;action&#039;&#039; parameter.  If the action method returns a string, then the controller will print the header and footer around the string, otherwise the controller won&#039;t do anything after the action method is called.  Returning void or false is useful for when you really have to customize output or want to avoid printing header/footer altogether (e.g. web service response).  Of course, all security checks are executed before the action method to make sure the user is logged in and has the appropriate capabilities.  For more information on the controller, read &#039;&#039;local/mr/docs&#039;&#039;, view the source code of &#039;&#039;local/mr/framework/controller/*&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== View ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Views handle the presentation and do not handle any complex processing or business logic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the introduction of renderers in Moodle 2.0, the Moodlerooms Framework can now use renderers for generating the view.  Though, not every controller endpoint may need a specific renderer method, it is beneficial to write renderers as they can be re-used and overridden by theme developers.  The framework will provide some default renderers that is easily accessible through the controller and Moodle API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of views (AKA Moodle renderers):&#039;&#039;&#039;&lt;br /&gt;
* Stores presentation.&lt;br /&gt;
* Separates logic/processing code from display code.&lt;br /&gt;
* Re-usable renderings.&lt;br /&gt;
* Easier to customize the rendering via another plugin or theme.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Models handle the business logic by processing data and storing business rules within them.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Models house your application&#039;s data so that one can more easily guarantee the correctness of the data.  Models contain no display logic, but rather, only logic for accessing, setting and validating data.  It is encouraged that plugins have their own &#039;&#039;model&#039;&#039; directory to house plugin specific model classes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of models:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Stores business logic. EG: valid values for &#039;&#039;widget&#039;&#039;&#039;s &#039;&#039;foo&#039;&#039; property.&lt;br /&gt;
* Re-usable.&lt;br /&gt;
* Easier to test and modify.&lt;br /&gt;
* Helps to reduce code duplication.&lt;br /&gt;
&lt;br /&gt;
==== Helpers ====&lt;br /&gt;
&lt;br /&gt;
The helper design pattern was borrowed from [http://framework.zend.com/manual/en/zend.controller.actionhelpers.html Zend Framework&#039;s Action Helpers].  Zend&#039;s manual has a great description of the purpose of helpers:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Helpers aim to minimize the necessity to extend the abstract Action Controller in order to inject common Action Controller functionality.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So, in other words, the helpers provide an easy way to re-use code throughout the application without having to overly extend classes, which could potentially lead to accidentally overriding a function used by the parent class (e.g. a new version of the parent class comes out and implements a new function that you have implemented in your child class).&lt;br /&gt;
&lt;br /&gt;
The implementation of helpers in the Moodlerooms Framework does not follow Zend&#039;s implementation exactly, but rather it has been simplified and generalized.  So, the helper design in the Moodlerooms Framework can be used outside of controllers so that the whole application can reuse the code in the helpers.  This means that the helpers are now like a helper library that is easy to access, loads dynamically and requires very little setup.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helpers do not replace models or other classes with clear purpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The point of Helpers is not to replace models or other classes, but to replace files like &#039;&#039;/path/to/plugin/locallib.php&#039;&#039; and to provide functionality across classes in your plugin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of helpers over traditional libraries:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The number one use and advantage of helpers is in controllers.  This allows the controller to remain skinny by just having methods related to routing, security, etc.&lt;br /&gt;
* Helpers replace the need for a &#039;&#039;/path/to/plugin/locallib.php&#039;&#039; which can be massive, unorganized and uses more memory because it has to be loaded all at once every time any of the methods are used.&lt;br /&gt;
* Helpers are treated as singletons, so their state remains constant throughout the execution of your script. This means that any setup happens only once, caching is easy, your helper can have a state.&lt;br /&gt;
* No name space issues.  The helper&#039;s class is based on the location in the code base and its name.  No more, block_crazy_block_name_now_we_get_to_function_name() type function definitions.&lt;br /&gt;
* Dynamically loads. Class files are included and classes are instantiated only for helpers that are used.  This is better than loading a 10,000 line library file every time.&lt;br /&gt;
* Easy setup and it&#039;s the same for every helper.  Just include the framework&#039;s bootstrap.php, make an instance of the helper and you are good to go.  No more &#039;&#039;require_once&#039;&#039; for every library or class file at the top of every PHP script in which they are used.&lt;br /&gt;
* May not have to extend parent classes in order to add your own set of methods.  Store them all in the helper instead. EG: instead of extending the base controller class to make a new parent class with new methods, add methods to helpers that your controllers can then access. &lt;br /&gt;
* Easily share code between drastically varying classes.&lt;br /&gt;
* Easily share code between plugins et al (e.g. two plugins may share a common set of methods but the rest do not; store those method in a helper instead of mucking up the base plugin class definition).&lt;br /&gt;
&lt;br /&gt;
For more information on helpers, read the framework&#039;s PHPDocs, view the source code of &#039;&#039;local/mr/framework/helper/*&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Fluent Interface ===&lt;br /&gt;
&lt;br /&gt;
A lot of the framework implements a fluent interface when it makes sense.  A fluent interface is when you can string multiple function calls together for a single object.  This is achieved by each function returning the object itself, e.g. &#039;&#039;return $this;&#039;&#039; or &#039;&#039;return new some_nifty_class()&#039;&#039;.  So, a fluent interface can look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...)-&amp;gt;bar(...)-&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, if the function calls are long, you can break it out onto separate lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...)&lt;br /&gt;
       -&amp;gt;bar(...)&lt;br /&gt;
       -&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above is equivalent to the following, which doesn&#039;t take advantage of the fluent interface. (Note: each method still returns the &#039;&#039;$object&#039;&#039; instance, but it&#039;s just ignored now.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...);&lt;br /&gt;
$object-&amp;gt;bar(...);&lt;br /&gt;
$object-&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of a fluent interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Increases readability of code.&lt;br /&gt;
* Reduces amount of code.&lt;br /&gt;
* Allows for really neat functionality, e.g. the helpers use this to dynamically load objects, thus giving one access to the objects methods.&lt;br /&gt;
* It&#039;s really cool! &#039;&#039;/snort&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disadvantages of a fluent interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Since there are multiple function calls in one line of code and if there is an error in the middle of the fluent interface calls, then it could increase the difficulty of debugging where exactly the problem lies.&lt;br /&gt;
&lt;br /&gt;
=== Class Naming Conventions ===&lt;br /&gt;
&lt;br /&gt;
The class naming conventions used by the Moodlerooms Framework also mimics [http://framework.zend.com/manual/en/coding-standard.naming-conventions.html|Zend Framework&#039;s class naming conventions].  The class name is derived by the class file&#039;s directory path and file name.  Directories are separated by underscores and everything is lowercase.  One exception is blocks, where it is reasonable to use block instead of blocks.  Example:&lt;br /&gt;
* &#039;&#039;&#039;mod/modname/model/foo.php&#039;&#039;&#039; maps to &#039;&#039;&#039;mod_modname_model_foo&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;blocks/blockname/form/edit.php&#039;&#039;&#039; maps to &#039;&#039;&#039;blocks_blockname_form_edit&#039;&#039;&#039; or &#039;&#039;&#039;block_blockname_form_edit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages to using this class naming convention:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Reduce the chance of name space collisions.&lt;br /&gt;
* When looking at the class name, one can easily derive where the class definition file is located.&lt;br /&gt;
* Classes and their files can be more easily dynamically loaded.  See &#039;&#039;local/mr/framework/helper/load.php&#039;&#039; which loads classes and their files.&lt;br /&gt;
&lt;br /&gt;
Using this naming convention in your plugin will make it &#039;&#039;&#039;easier to use all of the features&#039;&#039;&#039; of the framework.&lt;br /&gt;
&lt;br /&gt;
=== Sub-plugins ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it makes sense to have plugins inside of your plugin.  The framework uses &#039;&#039;mr_helper_load::plugin(...)&#039;&#039; method to load single or multiple base plugin classes.  In order to take advantage of this functionality, your sub-plugins must be organized in a specific way:&lt;br /&gt;
&lt;br /&gt;
* plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/base/class.php&lt;br /&gt;
** The above is the base plugin class where &#039;&#039;&#039;path&#039;&#039;&#039; can be any directory depth.&lt;br /&gt;
* plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;/class.php&lt;br /&gt;
** The above is the actual plugin where &#039;&#039;&#039;path&#039;&#039;&#039; matches the &#039;&#039;&#039;path&#039;&#039;&#039; for the base and &#039;&#039;&#039;name&#039;&#039;&#039; is the plugin&#039;s name.&lt;br /&gt;
&lt;br /&gt;
Note that the above uses &#039;&#039;&#039;path&#039;&#039;&#039; which means you can have plugins at any directory depth which in turn means, your sub-plugins can have sub-sub-plugins if so desired.  Example of common plugin layouts:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Single tiered&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugin/&lt;br /&gt;
** base/class.php&lt;br /&gt;
** modxuser/class.php (Extends plugin/base/class.php)&lt;br /&gt;
** course/class.php (Extends plugin/base/class.php)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multi tiered&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugin/&lt;br /&gt;
** export/&lt;br /&gt;
*** base/class.php&lt;br /&gt;
*** xml/class.php (Extends plugin/export/base/class.php)&lt;br /&gt;
*** csv/class.php (Extends plugin/export/base/class.php)&lt;br /&gt;
** report/&lt;br /&gt;
*** base/class.php&lt;br /&gt;
*** user/class.php (Extends plugin/report/base/class.php)&lt;br /&gt;
*** class/class.php (Extends plugin/report/base/class.php)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of sub-plugins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Easy iterative functionality.  EG: loop over all your plugins, each get to execute their own unique code.&lt;br /&gt;
* Convenient way to group files that relate.  EG: The base class and form classes.&lt;br /&gt;
* Supports drop in code that runs automatically.&lt;br /&gt;
&lt;br /&gt;
For more information on plugins, read the framework&#039;s PHPDocs on &#039;&#039;mr_helper_load&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Plugin Layout ==&lt;br /&gt;
&lt;br /&gt;
Below is the recommended way to setup the structure of a plugin that wants to make use of the Moodlerooms Framework.  Please note that the below is not all or nothing, but rather each can be implemented individually and as needed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
! Directory/File&lt;br /&gt;
! Description&lt;br /&gt;
! Relates to &lt;br /&gt;
|-&lt;br /&gt;
| view.php &lt;br /&gt;
| Endpoint for the controller, so all URLs go to this file.  Using view.php is consistent with Moodle&#039;s coding standards. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| controller/ &lt;br /&gt;
| Store controller classes in this directory. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| controller/default.php &lt;br /&gt;
| This is the default controller, not necessary, but makes for short default URLs: wwww/plugin/path/view.php routes to this controller&#039;s &#039;&#039;view&#039;&#039; action. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| helper/ &lt;br /&gt;
| Store helper classes in this directory.  The helper will search here for helpers first and then in &#039;&#039;local/mr/framework/helper/&#039;&#039;. &lt;br /&gt;
| mr_helper &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&lt;br /&gt;
| Store any sub-plugins in this directory. This is for organizational/consistency purposes. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/base/class.php &lt;br /&gt;
| The base plugin class where &#039;&#039;&#039;path&#039;&#039;&#039; can be any directory depth. &lt;br /&gt;
| mr_helper_load &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;/class.php &lt;br /&gt;
| The actual plugin where &#039;&#039;&#039;path&#039;&#039;&#039; matches the &#039;&#039;&#039;path&#039;&#039;&#039; for the base and &#039;&#039;&#039;name&#039;&#039;&#039; is the plugin&#039;s name. &lt;br /&gt;
| mr_helper_load &lt;br /&gt;
|-&lt;br /&gt;
| lib/ &lt;br /&gt;
| Store library classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| model/ &lt;br /&gt;
| Store any model classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| mr_model_abstract (Extension not required) &lt;br /&gt;
|-&lt;br /&gt;
| repository/ &lt;br /&gt;
| Store any model repository mappers in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| mr_repository_abstract (Extension not required) &lt;br /&gt;
|-&lt;br /&gt;
| form/ &lt;br /&gt;
| Store any Moodle form classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| cli/ &lt;br /&gt;
| Store any CLI scripts in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| report/ &lt;br /&gt;
| Store plugin report classes that extend &#039;&#039;mr_report_abstract&#039;&#039;. &lt;br /&gt;
| mr_report_abstract &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
The Moodlerooms Framework requires the installation of a single plugin: &lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=local_mr Moodlerooms Framework] - unzip the contents into /wwwroot/local&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome-folder-open.png&amp;diff=42197</id>
		<title>File:outcome-folder-open.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome-folder-open.png&amp;diff=42197"/>
		<updated>2013-08-22T10:23:25Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome-folder.png&amp;diff=42196</id>
		<title>File:outcome-folder.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome-folder.png&amp;diff=42196"/>
		<updated>2013-08-22T10:22:21Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome-folder-open-assessable.png&amp;diff=42195</id>
		<title>File:outcome-folder-open-assessable.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome-folder-open-assessable.png&amp;diff=42195"/>
		<updated>2013-08-22T10:21:51Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome.png&amp;diff=42194</id>
		<title>File:outcome.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome.png&amp;diff=42194"/>
		<updated>2013-08-22T10:16:33Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome-assessable.png&amp;diff=42193</id>
		<title>File:outcome-assessable.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome-assessable.png&amp;diff=42193"/>
		<updated>2013-08-22T10:15:57Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Kstokking uploaded a new version of &amp;amp;quot;File:outcome-assessable.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome-assessable.png&amp;diff=42192</id>
		<title>File:outcome-assessable.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome-assessable.png&amp;diff=42192"/>
		<updated>2013-08-22T10:14:48Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Kstokking uploaded a new version of &amp;amp;quot;File:outcome-assessable.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome-folder-assessable.png&amp;diff=42191</id>
		<title>File:outcome-folder-assessable.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome-folder-assessable.png&amp;diff=42191"/>
		<updated>2013-08-22T10:04:27Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=File:outcome-assessable.png&amp;diff=42190</id>
		<title>File:outcome-assessable.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=File:outcome-assessable.png&amp;diff=42190"/>
		<updated>2013-08-22T10:02:59Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Outcomes_Administrator_Specification&amp;diff=42189</id>
		<title>Outcomes Administrator Specification</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Outcomes_Administrator_Specification&amp;diff=42189"/>
		<updated>2013-08-22T10:00:47Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: /* Add New Outcome Set / Edit Outcome Set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Description == &lt;br /&gt;
The first step in building an outcomes based system inside of Moodle is to handle the Administration of standards.  This includes the importing of standards from various sources and the mapping of standards to individual courses.  &lt;br /&gt;
&lt;br /&gt;
== Outcomes Administration Screen == &lt;br /&gt;
The screen, Outcomes Administration, is accessed from the following path: &lt;br /&gt;
Settings &amp;gt; Site Administration &amp;gt; Grades &amp;gt; Outcomes&lt;br /&gt;
&lt;br /&gt;
This screen lists off all outcome sets that have been added to the system, as well as providing access to the courses that are mapped to the standards and reports on the standards.  &lt;br /&gt;
[[File:Outcomes Administration.png]]&lt;br /&gt;
&lt;br /&gt;
=== Page Elements ===&lt;br /&gt;
*Title: Outcomes Administration&lt;br /&gt;
*Link: Add New Outcome Set – Links to the page where you can manually add a new Outcome Set. &lt;br /&gt;
*Link: Import Outcome Set – Links to the page where you can import XML, CSV, etc. Outcome Sets&lt;br /&gt;
*Checkbox: Display Individual Course Outcomes.  This will show all outcome sets in the system, even ones added by individual instructors to their course directly.  (Phase II - Leave out of Phase I) &lt;br /&gt;
*Data Grid: Displays all of the current outcome sets that are included in the system.  &lt;br /&gt;
**Full Name – Name of the standards.  Links to the editor for these outcomes. &lt;br /&gt;
**Mapped Courses – The number of courses that have been mapped against these outcomes.  Links to a modal listing off the courses mapped to these outcome sets.  &lt;br /&gt;
**Edit/Delete/Export – Takes you to the editor.  On Delete, you are warned before deleting.  Deleting is a “Soft Delete” so that the data stays in the database and student performance data is not lost.  Export creates an xml file (or JSON file) of the outcomes.&lt;br /&gt;
**Reports – Links to the reports for coverage and performance for these standards.&lt;br /&gt;
&lt;br /&gt;
== Add New Outcome Set / Edit Outcome Set == &lt;br /&gt;
This screen allows you to create or modify an outcome set directly.  It is used both to create outcome sets, and to update outcome sets that have been imported to clean up any problems with the import.  &lt;br /&gt;
[[File:Add-Edit Outcome Set.png]]&lt;br /&gt;
&lt;br /&gt;
=== Page Elements ===&lt;br /&gt;
*General Fieldset&lt;br /&gt;
**Name – Textual name of the outcome set. &lt;br /&gt;
**Unique ID – The short name or logical identifier of the outcome set. &lt;br /&gt;
**Globally Available - Default is true.  This is a system level Outcome Set, rather than an individual course or instructor outcome set.  (Phase II - Not available in Phase I)&lt;br /&gt;
**Author - If it is not global, then there must be an author who created it for a course, and that would be the owner. (Phase II - Not available in Phase I)&lt;br /&gt;
*Outcomes Fieldset&lt;br /&gt;
**Add Outcome Link – Pops up the modal for adding an outcome&lt;br /&gt;
**Tree View of Outcome Set – Default state is empty.  As outcomes are added, it expands into a nested tree view.  &lt;br /&gt;
***Outcome – An outcome can be nested, and each will have Add Edit Delete options that are visible on hover.  On delete, there will be a warning. &lt;br /&gt;
* Outcome States&lt;br /&gt;
** The outcome is assessable: [[File:outcome-assessable.png]]&lt;br /&gt;
** The outcome is not assessable: [[File:outcome.png]]&lt;br /&gt;
** The outcome is assessable and has children and is closed: [[File:outcome-folder-assessable.png]]&lt;br /&gt;
** The outcome is assessable and has children and is open: [[File:outcome-folder-open-assessable.png]]&lt;br /&gt;
** The outcome is not assessable and has children and is closed: [[File:outcome-folder.png]]&lt;br /&gt;
**The outcome is not assessable and has children and is open: [[File:outcome-folder-open.png]]&lt;br /&gt;
&lt;br /&gt;
In the pop-up for adding a new outcome, you have ID Number, Subject, and Education Level.  Additionally, &amp;quot;Assessable&amp;quot; is a flag that allows it to be mapped and reported against.  If Assessable is not checked, it can&#039;t be mapped at lower levels, and is largely used for organizational purposes.&lt;br /&gt;
&lt;br /&gt;
Delete Note – If outcomes have been deleted which have content mapped against the outcome that has been deleted, we should both warn and do a soft delete.&lt;br /&gt;
&lt;br /&gt;
== Upload Outcome Set == &lt;br /&gt;
Many schools will receive their outcomes from a third party body in XML or CSV format.  This series of screens allows those items to be imported into the system.  &lt;br /&gt;
[[File:Upload Outcome Set.png]]&lt;br /&gt;
=== Page Elements === &lt;br /&gt;
*General Fieldset&lt;br /&gt;
**Name – Textual name of the outcome set. &lt;br /&gt;
**Unique ID – The short name or logical identifier of the outcome set. &lt;br /&gt;
*File Fieldset&lt;br /&gt;
**This is a standard Moodle file upload area, where a CSV or XML File can be uploaded.  &lt;br /&gt;
&lt;br /&gt;
When the file is uploaded, it is validated that it is in a proper format and user is warned if it is not.&lt;br /&gt;
&lt;br /&gt;
== XML File Upload == &lt;br /&gt;
If the file that is uploaded is an XML file, the screen displayed allows you to import that file by mapping the appropriate fields.&lt;br /&gt;
&lt;br /&gt;
[[File:XML File.png]]&lt;br /&gt;
=== Page Elements === &lt;br /&gt;
This is designed to allow a user to pick the element in the XML file that they can map against, or they can specify specific XPath.  The Fields area allows you to choose available elements from the XML in a dropdown menu.  The XPath allows you to specify specific XPath to get that item.&lt;br /&gt;
&lt;br /&gt;
==CSV File Upload==&lt;br /&gt;
If the file that is uploaded is a CSV file, the screen displayed allows you to import that file by mapping the appropriate fields.&lt;br /&gt;
&lt;br /&gt;
[[File:CSV File.png]]&lt;br /&gt;
===Page Elements === &lt;br /&gt;
Dropdowns specify which column you want to map against that field (Column1, Column2).  The checkbox for Column Headers means that the import process will ignore the first row.&lt;br /&gt;
&lt;br /&gt;
==Add Course / Edit Course == &lt;br /&gt;
After the outcome sets have been created or imported, individual courses need to be mapped to the outcome sets, so that the outcomes become available to individual instructors to map against content and assessment questions.  &lt;br /&gt;
&lt;br /&gt;
This will be achieved by updating the course creation screen to allow mapping.  Additionally, this should be updated in the API, so that integrations against the SIS systems, etc. can be updated to make this an automatic process. &lt;br /&gt;
&lt;br /&gt;
[[File:Edit Course - Empty.png]]&lt;br /&gt;
&lt;br /&gt;
Empty State: If the course has not yet been mapped against outcome sets, the only change is to add a new Field Set &amp;quot;Outcomes&amp;quot;, in which the course can be mapped against outcomes. &lt;br /&gt;
&lt;br /&gt;
[[File:Edit Course - Mapped.png]]&lt;br /&gt;
&lt;br /&gt;
Mapped State: If the course has already been mapped against outcome sets, those outcome sets appear, and the user has the option to delete them, or to map against additional Outcome Sets. &lt;br /&gt;
&lt;br /&gt;
On delete, the user is warned that if they remove this mapping, it will remove mappings for content items, and could impact student outcome reporting.&lt;br /&gt;
*Note: We have to find a soft delete methodology that keeps data around for reporting and provisioning.&lt;br /&gt;
&lt;br /&gt;
[[File:Select Outcomes Sets.png]]&lt;br /&gt;
&lt;br /&gt;
== Achievement Configuration == &lt;br /&gt;
NOTE: This area still under construction and discussion.&lt;br /&gt;
&lt;br /&gt;
NOTE: Likely will be removed. &lt;br /&gt;
&lt;br /&gt;
Based on some research that is out there (Khan Academy, etc.), we would like to add the (optional) capabilities to do automatic completion and at risk notifications, based on some crude, but highly accurate statistics.  (More research needed here).  Essentially, we would set up a streak or an at risk metric that flags this based on granular performance (either on a quiz question or being graded on a specific rubric row). &lt;br /&gt;
&lt;br /&gt;
NOTE: This could become a pluggable system, where certain data (last 5 questions, current grade, etc.) are passed to a framework.  This would allow people in the community to build their own proficiency models.&lt;br /&gt;
&lt;br /&gt;
Sample of what this might look like: &lt;br /&gt;
&lt;br /&gt;
[[File:Streaks.png]]&lt;br /&gt;
&lt;br /&gt;
=== Streak Threshold ===&lt;br /&gt;
(More research needed here)&lt;br /&gt;
We will define a “streak” of the number of granular assessable items (quiz questions or scored rubric rows mapped to one outcome) that mark competency.  The only configurable item here is what counts as “correct”.  Default would be 100%, but could be adjusted downward. &lt;br /&gt;
&lt;br /&gt;
=== At Risk Threshold ===&lt;br /&gt;
This can be a bit more flexible, but we would mark someone as “at risk” for an outcome if they have gotten a low enough grade on a graded activity mapped against an outcome, or if they have attempted X # of questions with a % below a certain threshold.  (See individual performance report for more details).&lt;br /&gt;
&lt;br /&gt;
= Reporting = &lt;br /&gt;
Add notes here.&lt;br /&gt;
&lt;br /&gt;
== Coverage Report (Administrator) ==&lt;br /&gt;
This report shows which standards have some content mapped against them, both in aggregate and broken down by course.  &lt;br /&gt;
&lt;br /&gt;
[[File:Coverage Report - Administrators.png]]&lt;br /&gt;
&lt;br /&gt;
=== Page Elements === &lt;br /&gt;
*Outcome Set – Lists off the various outcome sets and allows selection, it is required to select an outcome set before running this report.  &lt;br /&gt;
*Category – The category for course filtering.  When category selected, it filters course list to courses within that category, mapped to this outcome set.  Default is Any Category.&lt;br /&gt;
*Course – Default is “All”, which will run the report against all courses that are mapped against this Outcome Set.  Upon Selection of Outcome Set, the dropdown is populated with courses that are mapped against this Outcome Set.  Furthermore, on selection of a course category, it is further refined.  &lt;br /&gt;
*Group by Course Checkbox – If All Mapped Courses is selected, you can optionally choose to have the data show up in aggregate or grouped by course.  If it is grouped by course, an additional column appears in the row for Course, and there is a row for every standard for every course.  Data is then grouped into courses.  Default is not checked.  If Course dropdown is NOT “All Mapped Courses”, then this is disabled.  &lt;br /&gt;
&lt;br /&gt;
Report&lt;br /&gt;
*ID – Logical ID of the Outcome&lt;br /&gt;
*Outcome – Text of the outcome &lt;br /&gt;
*Course – If Course is selected, the name of the course. &lt;br /&gt;
*Resources – Number of resources mapped against that outcome, linked to a detail report or modal that lists those resources. &lt;br /&gt;
*Gradeable Activities – Number of gradeable activities mapped against that outcome, linked to a detail report or modal that lists those activities. &lt;br /&gt;
*Resources – Number of Quiz Questions mapped against that outcome, linked to a detail report or modal that lists those quiz questions. &lt;br /&gt;
Note: All outcomes in this outcome set are displayed even if NO items are mapped against it.  &lt;br /&gt;
&lt;br /&gt;
== Performance Report (Administrator) == &lt;br /&gt;
The performance report is used to show how courses are performing against particular outcomes.  The report attempts to provide as much data about student interaction and performance with resources, activities, and quiz questions that are mapped against outcomes as possible.  &lt;br /&gt;
&lt;br /&gt;
NOTE: Currently, this depends on resource view logs, which Moodlerooms handles through its data collectors.  This could be complex until a new logging framework is introduced in Moodle.&lt;br /&gt;
&lt;br /&gt;
[[File:Outcomes Performance Report - Administrator.png]]  &lt;br /&gt;
&lt;br /&gt;
=== Page Elements ===&lt;br /&gt;
*Outcome Set: Lists off the various outcome sets and allows selection.  It is required to select an outcome before running the report.  &lt;br /&gt;
*Course – Default is “All”, which will run the report against all courses that are mapped against this Outcome Set.  Upon Selection of Outcome Set, the dropdown is populated with courses that are mapped against this Outcome Set &lt;br /&gt;
&lt;br /&gt;
Report&lt;br /&gt;
*ID – Logical ID of the Outcome&lt;br /&gt;
*Outcome – Text of the outcome  &lt;br /&gt;
*Completion Percentage – This is the percentage completion by the students in courses who have access to the mapped activities.  If there are no resources with completion turned on, it will read N/A.  &lt;br /&gt;
*Average Grade – For any graded resources that are mapped against this outcome, this is the average grade of the students.  If there are no graded activities, it will read N/A. &lt;br /&gt;
*Associated Activities – List of the mapped activities/resources.  If the list is more than 3, then it will display ellipses (…) and you can hover or click to see the full list.  On hover, it displays the individual item in the list with its own statistics.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
[[Outcomes Specification]]&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Folder_View&amp;diff=40632</id>
		<title>Folder View</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Folder_View&amp;diff=40632"/>
		<updated>2013-06-05T09:58:50Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Created page with &amp;quot;== Documentation ==  ===Folder View Course Format===   The Folder View course format displays activities and resources within a folder that is expandable or collapsible. This cou...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Documentation ==&lt;br /&gt;
&lt;br /&gt;
===Folder View Course Format===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Folder View course format displays activities and resources within a folder that is expandable or collapsible. This course format can display all folders on a page or a single folder at a time with previous and next topic navigations or a jump-to menu, which each allow the student to easily navigate between folders. Editing functionality is consolidated for the course into an area at the top of the page.  This course format mimics many of the features of ANGEL folders, making previous ANGEL users feel more at home within a Moodle environment. The plugin was also developed with an eye towards consolidating the editing functionality in Moodle&#039;s Topics and Weeks course formats.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The benefits of the Folder View course format are:&lt;br /&gt;
&lt;br /&gt;
* Consolidated editing functionality for blocks, resources and topics&lt;br /&gt;
* Expandable/collapsible folder areas&lt;br /&gt;
* Single folder display with jump-to menu for accessing other folders&lt;br /&gt;
* Easy addition of topics/folders to the course without editing the course settings&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For detailed end-user documentation&#039;&#039;&#039; please see the [http://manuals.moodlerooms.com/display/JOULE2/Course+Format+Manual#CourseFormatManual-Folderview Course Format Manual] hosted on manuals.moodlerooms.com. Don&#039;t be confused with the term &#039;&#039;joule&#039;&#039; - joule 1 refers to Moodle 1.9, and joule 2 refers to Moodle 2.X.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Folder View requires the installation of two plugins: &lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=format_folderview Folder View Course Format] - unzip the contents into /wwwroot/course/format &lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=local_mr Moodlerooms Framework] - unzip the contents into /wwwroot/local&lt;br /&gt;
&lt;br /&gt;
Once installed, visit the Site Notifications page of your site to install the plugins within Moodle.&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Advanced_Forum&amp;diff=39531</id>
		<title>Advanced Forum</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Advanced_Forum&amp;diff=39531"/>
		<updated>2013-05-07T16:50:07Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Created page with &amp;quot;== Documentation ==  ===Advanced Forum Module===  Advanced Forums enhance Moodle Forums by providing teachers and students with quick, simple views into the forums and their disc...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Documentation ==&lt;br /&gt;
&lt;br /&gt;
===Advanced Forum Module===&lt;br /&gt;
&lt;br /&gt;
Advanced Forums enhance Moodle Forums by providing teachers and students with quick, simple views into the forums and their discussions.  Allowing users to sort and search discussions easily and in multiple layouts is key to Advanced Forums increased usability. Read tracking is a feature in Advanced forums that highlights unread posts, making it even easier to manage a forum. This saves the student time in viewing and responding to posts, and saves the teacher time in finding the posts that are most relevant to the class. Teachers are empowered to create anonymous interactions with students while still being able to provide accurate grading with advanced grading methods. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For detailed end-user documentation&#039;&#039;&#039; please see the [http://manuals.moodlerooms.com/display/JOULE2/Moodlerooms+Manual#MoodleroomsManual-AdvancedForum Advanced Forum Manual] hosted on manuals.moodlerooms.com. Don&#039;t be confused by the term &#039;&#039;joule&#039;&#039; - joule 1 refers to Moodle 1.9, and joule 2 refers to Moodle 2.X.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The open source edition of Advanced Forums does not have a grading interface, and as a result the following features are not available:&lt;br /&gt;
&lt;br /&gt;
* Ability to see all students on one grading screen, with the number of posts each one has made to a forum, broken out by total posts, posts, and replies.&lt;br /&gt;
* Ability to click on the number of posts a student has made and then see them, consolidated on a separate tab (so you don’t leave the grading screen).&lt;br /&gt;
* Ability to enter a single grade for a student’s total participation in a forum and to enter narrative comments, both of which appear on the same grading screen and go into the gradebook automatically. (These functions can be accomplished in Moodle 2 via ratings and comments set up in the gradebook, but again, much less elegant than in Joule.)&lt;br /&gt;
&lt;br /&gt;
We are working on providing these features in a later version, stay tuned!&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Advance Forums requires the installation of a single plugins:&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=mod_hsuforum Advanced Forum Module] - unzip the contents into /wwwroot/mod&lt;br /&gt;
&lt;br /&gt;
Once installed, visit the Site Notifications page of your site to install the plugins within Moodle.&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;Will Advanced Forums overwrite my existing Forums?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: No - A new module was created so that it would not interfere with existing forums available in Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;Why is the plugin packaged as &#039;hsuforum&#039;?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: The Advanced Forum module is an example of building upon open source contributions.  Many of the [https://docs.moodle.org/20/en/HSU_forum_enhancements original concepts] from Humboldt State University were applied to a clone of Core Forums.  &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;Why do I get a warning message when setting the Grade Type to &#039;Manual&#039;?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: There is no interface to allow instructors to grade student activity within an Advanced Forum within the forum itself - this must be done manually within the Moodle gradebook.  We felt that instructors should be warned about this approach since it will require that they navigate between the forum and the gradebook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;Can I convert my existing forums to advanced forums?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: No - there is no automatic conversion tool that is available out of the box.  However, since advanced forums were born from Core forums, the schema should be familiar to Moodle developers who wish to partake in such an endeavor.  Interested parties should contact the maintainer ([http://moodle.org/user/profile.php?id=669060 Kris Stokking]).&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Checklist&amp;diff=39530</id>
		<title>Checklist</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Checklist&amp;diff=39530"/>
		<updated>2013-05-07T16:47:58Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Created page with &amp;quot;== Documentation ==  ===Checklist Advanced Grading Method===  The Checklist advanced grading method is an easy way for the user and teacher to view a list of criteria and the ass...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Documentation ==&lt;br /&gt;
&lt;br /&gt;
===Checklist Advanced Grading Method===&lt;br /&gt;
&lt;br /&gt;
The Checklist advanced grading method is an easy way for the user and teacher to view a list of criteria and the associated grade value for each criteria. The Checklist provides teachers with a simple way to assign points to a set of criteria for grading any activity in Moodle that allows the use of advanced grading (currently Activities and Advanced forums). Checklists allow the teacher to consistently grade all students on an assignment with the same list of criteria and the same point values for each criteria. Final grades entered in the Checklist are added to the Gradebook. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For detailed end-user documentation&#039;&#039;&#039; please see the [http://manuals.moodlerooms.com/display/JOULE2/Moodlerooms+Manual#MoodleroomsManual-Checklist Checklist Manual] hosted on manuals.moodlerooms.com. Don&#039;t be confused by the term &#039;&#039;joule&#039;&#039; - joule 1 refers to Moodle 1.9, and joule 2 refers to Moodle 2.X.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
Checklist requires the installation of a single plugin:&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=gradingform_checklist Checklist Advanced Grading Form] - unzip the contents to /wwwroot/grade/grading/form&lt;br /&gt;
&lt;br /&gt;
Once installed, visit the Site Notifications page of your site to install the plugin within Moodle.&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Flexpage&amp;diff=39462</id>
		<title>Flexpage</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Flexpage&amp;diff=39462"/>
		<updated>2013-05-01T13:11:06Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: Created page with &amp;quot;== Documentation ==  ===Flexpage Course Format===  Flexpage is a course format that provides a teacher with complete control of how educational materials and assessments are pres...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Documentation ==&lt;br /&gt;
&lt;br /&gt;
===Flexpage Course Format===&lt;br /&gt;
&lt;br /&gt;
Flexpage is a course format that provides a teacher with complete control of how educational materials and assessments are presented to a student. Flexpage allows a teacher to create a flexible set of pages and sub pages where blocks and activities can be placed in any location on the page instead of being restricted to a right, left or center column. Flexpage courses provide teachers with the ability to determine how many columns of data are contained within a course (up to three-columns). This allows teachers to have complete control over how they want to present course materials and assessments to students.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The basic features of Flexpage are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Multiple Pages:&#039;&#039;&#039; A Flexpage course can contain an infinite number of pages. Each flexpage can contain different or the same blocks, activities and resources as another page.&lt;br /&gt;
* &#039;&#039;&#039;Child Pages:&#039;&#039;&#039; A Flexpage course can contain an infinite number of child flexpages and children of child flexpages in a infinite sub structure. This parent child relationship allows teachers to create a unique course structure based on their teaching style and preference.&lt;br /&gt;
* &#039;&#039;&#039;Flexible Course Structure:&#039;&#039;&#039; Flexpages can contain up to 3 columns as well as a top region that blocks and activities can be added to. Each flexpage can have a different structure (i.e., number of columns and areas content is located).&lt;br /&gt;
* &#039;&#039;&#039;Inline Resource/Activity Display:&#039;&#039;&#039; The format can be extended to display resource and activity content inline (in the flexpage). This currently only works for forums and resources - other activities show a link as expected.&lt;br /&gt;
* &#039;&#039;&#039;Previous/Next Button:&#039;&#039;&#039; When you enter a flexpage, there are previous and next arrows to return you to the page you were previously on or back to where you came from.&lt;br /&gt;
* &#039;&#039;&#039;Flexpage Menus:&#039;&#039;&#039; A Teacher can create an expandable menu that is displayed as a block or drop-down menu on flexpages. This menu can contain links to other flexpages, trouble tickets, as well as internal and external resources. These menus will also work with flexpage and activity access restrictions.&lt;br /&gt;
* &#039;&#039;&#039;Backup and Restore:&#039;&#039;&#039; Any course in Flexpage format can be fully or partially backed up and copied to another course.&lt;br /&gt;
* &#039;&#039;&#039;Flexpage access restriction:&#039;&#039;&#039; Flexpages can have their access restricted for students based on the completion of assignments and resource views.&lt;br /&gt;
* &#039;&#039;&#039;Upgrade from 1.9:&#039;&#039;&#039; Flexpage supports the upgrade of the Page course format (version 2008082100, available at [http://development.moodlerooms.com/mod/resource/view.php?id=210&amp;amp;subdir=/Flex_Page_for_1.9 http://development.moodlerooms.com]) for Moodle 1.9 on site upgrades to Moodle 2.2.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For detailed end-user documentation&#039;&#039;&#039; please see the [http://manuals.moodlerooms.com/display/JOULE2/Flexpage+Course+Format+Manual Course Format Manual] hosted on manuals.moodlerooms.com. Don&#039;t be confused by the term &#039;&#039;joule&#039;&#039; - joule 1 refers to Moodle 1.9, and joule 2 refers to Moodle 2.X.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Flexpage requires the installation of several plugins.  Click the links below to access them in the Moodle Plugins Directory:&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=format_flexpage Flexpage Course Format] - unzip the contents into /wwwroot/course/format &lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=block_flexpagemod Flexpage Activity Block] - unzip the contents into /wwwroot/blocks&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=block_flexpagenav Flexpage Menu Block] - unzip the contents into /wwwroot/blocks&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=theme_flexpage Flexpage Theme] - unzip the contents into /wwwroot/theme&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=local_mr Moodlerooms Framework] - unzip the contents into /wwwroot/local&lt;br /&gt;
&lt;br /&gt;
Once installed, visit the Site Notifications page of your site to install the plugins within Moodle.  Dependencies are enabled, so Moodle will let you know if there is a problem with unpackaging a plugin.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important Note for Moodle 2.3:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Moodle 2.3 no longer has the hooks necessary to apply the Flexpage layout.  New hooks will be available with the course formats refactoring in Moodle 2.4.  In the meantime, administrators will need to apply a small, backwards compatible patch the course/lib.php and course/view.php which allows other course formats like Flexpage to apply a custom layout.  &lt;br /&gt;
&lt;br /&gt;
You will need to run the following command on Unix-based systems from your Moodle webroot:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;patch -p1 -i course/format/flexpage/flexpage.patch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
We recommend that you uninstall prior to upgrading to Moodle 2.4.  To uninstall, please run the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;patch -R -p1 -i course/format/flexpage/flexpage.patch&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Flexpage Theme==&lt;br /&gt;
&lt;br /&gt;
One of the core enhancements of Flexpage is a top region that stretches across the 3 block columns.  This region is very useful for course headers, and is integral to the Flexpage menu system.  We have provided an example theme, based on the base and standard themes, which includes a new layout file specifically for Flexpage.  This theme must be enabled for users to properly access the Flexpage course format.&lt;br /&gt;
&lt;br /&gt;
===Adding Flexpage to Your Theme===&lt;br /&gt;
&lt;br /&gt;
The section assumes you have some basic knowledge of [https://docs.moodle.org/dev/Theme_development Moodle Theme development] - please see the associated Moodle Docs for more information. The Flexpage Theme was developed as a proof-of-concept to show how the Flexpage layout could be added to other themes.  It uses the Standard theme, available in Moodle Core, as its parent.  Follow the steps below to incorporate Flexpage into the them of your choice.  Mileage may vary according to your specific theme, but here are the important bits for incorporating :&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step 1 - Copy the Flexpage Layout&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Copy theme/flexpage/layout/flexpage.php to your theme&#039;s layout directory.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step 2 - Add Flexpage styles&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Merge theme/flexpage/style/flexpage.css into your theme&#039;s CSS.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step 3 - Modify the Theme Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add &amp;quot;format_flexpage&amp;quot; to the layouts array, i.e.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$THEME-&amp;gt;layouts = array(&lt;br /&gt;
    &#039;format_flexpage&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;file&#039; =&amp;gt; &#039;flexpage.php&#039;,&lt;br /&gt;
        &#039;regions&#039; =&amp;gt; array(&#039;side-top&#039;, &#039;side-pre&#039;, &#039;main&#039;, &#039;side-post&#039;),&lt;br /&gt;
        &#039;defaultregion&#039; =&amp;gt; &#039;main&#039;,&lt;br /&gt;
        &#039;options&#039; =&amp;gt; array(&#039;langmenu&#039;=&amp;gt;true),&lt;br /&gt;
    ),&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And ensure that flexpage is added to the sheets array, i.e.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$THEME-&amp;gt;sheets = array(&#039;flexpage&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step 4 - Modify the lang file&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Add the following strings to your theme&#039;s lang file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$string[&#039;region-side-top&#039;] = &#039;Top&#039;;&lt;br /&gt;
$string[&#039;region-main&#039;] = &#039;Main&#039;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Step 5 - Update the Screenshot&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
And finally, update screenshot.png with a screenshot of your new Flexpage-enabled theme in action!&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;br /&gt;
&lt;br /&gt;
== FAQ ==&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;I tried to delete an activity but it didn&#039;t work.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: The Flexpage Activity block allows for activities to be used in multiple Flexpages.  In order to delete an activity, you must click the delete icon next to the activity, and not next to the block which contains the activity. Deleting the Flexpage Activity block simply removes the activity from the Flexpage, but does not permanently delete the activity from the course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;I duplicated an activity but I don&#039;t see it.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: This is against because activities are added to a Flexpage via the Flexpage Activity block.  To duplicate an activity, you must also assign the activity to one or more pages.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;Why don&#039;t I see a Release Code when I manage settings for a Flexpage?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: Release Codes rely on a form of conditional course section release, which requires core patches and is not packaged in the open source version of Flexpage.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;Why don&#039;t I have the option to set my Front Page as a Flexpage?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: This feature also requires a core patch, and is not packaged with the open source version of Flexpage.&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;What is the MR Framework, and why do I need to install it?  What does it do?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: The Moodlerooms Framework is a library that Moodlerooms development uses for nearly all of our plugin development.  Although the plugin has little use within the UI of Moodle, the libraries are essential for the use of Flexpage.  Interested developers are welcome to use the framework for their own development purposes - see the docs at [[Moodlerooms Framework|Moodlerooms Framework]].&lt;br /&gt;
&lt;br /&gt;
Q: &#039;&#039;I don&#039;t have an option to select a color for the Flexpage theme.  Why?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A: The Flexpage theme was developed as a proof-of-concept based on the Standard theme, which does not have theme settings.  See the section above for directions on how to add Flexpage to a theme of your choice.&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Moodlerooms_Framework&amp;diff=37947</id>
		<title>Moodlerooms Framework</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Moodlerooms_Framework&amp;diff=37947"/>
		<updated>2013-02-25T02:52:16Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: /* Installation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this document is to provide a brief orientation to the Moodlerooms Framework.&lt;br /&gt;
&lt;br /&gt;
== High Level Feature List ==&lt;br /&gt;
&lt;br /&gt;
This section describes some of the features that are provided by the framework.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Autoloading&#039;&#039;&#039;: the framework can automatically load its classes.&lt;br /&gt;
* &#039;&#039;&#039;Controllers&#039;&#039;&#039;: The &amp;quot;C&amp;quot; part of [[#MVC|MVC]], handles basic routing of requests, setup and output.  There is a generic controller provided, plus ones geared towards blocks, modules and administrative pages.&lt;br /&gt;
* &#039;&#039;&#039;DB&#039;&#039;&#039;: Another layer of database abstraction that include tables, records, queues and table dumping.&lt;br /&gt;
* &#039;&#039;&#039;Exporting&#039;&#039;&#039;: An export handler that can export data to various formats.  Currently supported formats are CSV, TSV, Excel and ODS.&lt;br /&gt;
* &#039;&#039;&#039;Formatting&#039;&#039;&#039;: Reusable and configurable formats that can transform data.&lt;br /&gt;
* &#039;&#039;&#039;Helper design pattern&#039;&#039;&#039;: A simple way to dynamically use library type classes.  Key [[#Helpers|Helpers]] include:&lt;br /&gt;
** &#039;&#039;&#039;Buffer&#039;&#039;&#039;: Helps to buffer output.&lt;br /&gt;
** &#039;&#039;&#039;HTML&#039;&#039;&#039;: Helps generate HTML for routine tasks, like auto-complete.&lt;br /&gt;
** &#039;&#039;&#039;Load&#039;&#039;&#039;: Helps to load classes.  Great for when you need to dynamically instantiate classes, like for plugins.&lt;br /&gt;
** &#039;&#039;&#039;Recent activity&#039;&#039;&#039;: Generate Moodle&#039;s recent activity list.&lt;br /&gt;
** &#039;&#039;&#039;Tag&#039;&#039;&#039;: Quick access to Tag.&lt;br /&gt;
** &#039;&#039;&#039;Test Web Services&#039;&#039;&#039;: Helps with testing web services in unit testing.&lt;br /&gt;
* &#039;&#039;&#039;Filtering&#039;&#039;&#039;: Easy way to display filtering options to a user which then generate SQL to limit results.  The filtering options are persistent through the user&#039;s session.&lt;br /&gt;
* &#039;&#039;&#039;Notify&#039;&#039;&#039;: Easy session based notification system.  Most common use-case: set the message, redirect and display the message.&lt;br /&gt;
* &#039;&#039;&#039;Heading&#039;&#039;&#039;: Assists with printing headings with or without help icon.&lt;br /&gt;
* &#039;&#039;&#039;Table&#039;&#039;&#039;: Tabular data display with sorting.  The columns are configurable objects.&lt;br /&gt;
* &#039;&#039;&#039;Paging&#039;&#039;&#039;: Paging bar and SQL limits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tabs&#039;&#039;&#039;: API wrapper over Moodle&#039;s tab API.  Attempts to automate and simplify tab creation/management.&lt;br /&gt;
* &#039;&#039;&#039;Tag&#039;&#039;&#039;: HTML tag generation.&lt;br /&gt;
* &#039;&#039;&#039;Distributed locking&#039;&#039;&#039;: Provide a locking mechanism to ensure that only one process is performing a specific task at one time.  Current back end is [http://redis.io/ Redis].&lt;br /&gt;
* &#039;&#039;&#039;Model&#039;&#039;&#039;: Provide very basic abstract model classes.&lt;br /&gt;
* &#039;&#039;&#039;Model repository mapper&#039;&#039;&#039;: Abstract class for mapping models to the DB and visa versa. See [http://martinfowler.com/eaaCatalog/dataMapper.html http://martinfowler.com/eaaCatalog/dataMapper.html]&lt;br /&gt;
* &#039;&#039;&#039;Plugin&#039;&#039;&#039;: Simple class for [[#Sub-plugins|Sub-plugins]].&lt;br /&gt;
* &#039;&#039;&#039;Preferences&#039;&#039;&#039;: user session preferences that are course and plugin aware.&lt;br /&gt;
* &#039;&#039;&#039;Report&#039;&#039;&#039;: Combines filtering, table, columns, formatting, exporting, paging and preferences for simple report generation.&lt;br /&gt;
* &#039;&#039;&#039;Server&#039;&#039;&#039;: A set of classes for providing a web service endpoint.  Currently only the REST server is provided.  Other classes involved are request validation and server response.&lt;br /&gt;
* &#039;&#039;&#039;Var&#039;&#039;&#039;: Static variable storage.&lt;br /&gt;
* &#039;&#039;&#039;Fixture&#039;&#039;&#039;: A fixture API for setting up and tearing down fixtures like users, courses, enrollments in unit tests.&lt;br /&gt;
&lt;br /&gt;
== Framework Files ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;local/mr&#039;&#039;&lt;br /&gt;
** All of the framework&#039;s files are located inside of this local plugin.&lt;br /&gt;
&lt;br /&gt;
== Setup Guide ==&lt;br /&gt;
The &#039;&#039;local/mr&#039;&#039; plugin install normally.  To get additional features, follow these steps:&lt;br /&gt;
&lt;br /&gt;
* Display framework documentation&lt;br /&gt;
*# Add the following code to your config.php: &amp;lt;code php&amp;gt;define(&#039;MR_DOCS&#039;, 1);&amp;lt;/code&amp;gt;&lt;br /&gt;
*# This will display the following link: &#039;&#039;Site Administration &amp;gt; MR Framework &amp;gt; Docs&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Quick Start Guide ==&lt;br /&gt;
&lt;br /&gt;
It is very easy to start using the Moodlerooms Framework.  Just include the following line in the PHP script to automatically load any of the Moodlerooms Framework classes:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
require($CFG-&amp;gt;dirroot.&#039;/local/mr/bootstrap.php&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
That&#039;s it!  Now you can start using the framework:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$tag = new mr_html_tag();&lt;br /&gt;
echo $tag-&amp;gt;b(&#039;Hello World!&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Framework Design Patterns ==&lt;br /&gt;
&lt;br /&gt;
This section describes some of the reasoning behind the design of the major components of the framework.&lt;br /&gt;
&lt;br /&gt;
=== MVC ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model-View-Controller (MVC)] is a popular coding design pattern.  From my understanding (Mark Nielsen&#039;s), it is popular because its design facilitates the re-use of code, which in turn reduces the size of the code base, which in turn results in multiple benefits through the life cycle of the software.  The Moodlerooms Framework works off of this design pattern.&lt;br /&gt;
&lt;br /&gt;
==== Controller ====&lt;br /&gt;
&#039;&#039;Controllers handle the application logic by responding to user actions, processing those actions (generally by using models) and then generating output to the user by means of views.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Moodlerooms Framework provides the controller through the base &#039;&#039;mr_controller&#039;&#039; class.  The controller is responsible for routing HTTP requests, security checks and general variable setup.  Each controller endpoint is responsible for whatever processing that needs to occur and, if needed, setup and return the view for sending to the user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of controllers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Stores application logic.&lt;br /&gt;
* Easy to create a consistent look and feel throughout a plugin.&lt;br /&gt;
* Easier to implement security restrictions.  Through a single method, a controller can protect all of its actions from unprivileged users.  This can be a blanket restriction or fine grained access for each action.&lt;br /&gt;
* Controllers allow one to focus on the task at hand instead of all the overhead of generating a secure and full featured Moodle page.&lt;br /&gt;
* Controllers help to organize code into smaller functional snippets instead of large files with very large &#039;&#039;if/else if&#039;&#039; and &#039;&#039;switch&#039;&#039; statements that tend to produce security holes and nasty bugs.&lt;br /&gt;
* Automatic setup of &#039;&#039;local/mr/framework&#039;&#039; classes and of plugin variables like instance records, contexts, etc.&lt;br /&gt;
* Reduces code duplication in plugins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explanation of controller execution in the framework&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enough abstract, let&#039;s dig into what the framework&#039;s controller is really doing.  All HTTP requests come in through a single point.  The way that the request gets routed all depends on the request&#039;s parameters.  The &#039;&#039;controller&#039;&#039; parameter determines which controller to use.  The &#039;&#039;action&#039;&#039; parameter determines which function to call within the controller.  The defaults are, &#039;&#039;controller=&#039;default&#039; &#039;&#039; and &#039;&#039;action=&#039;view&#039; &#039;&#039;.  In order for the controller to handle the various actions, it must implement a method with the following naming scheme: &#039;&#039;public function ACTION_action()&#039;&#039; where ACTION is the value of the &#039;&#039;action&#039;&#039; parameter.  If the action method returns a string, then the controller will print the header and footer around the string, otherwise the controller won&#039;t do anything after the action method is called.  Returning void or false is useful for when you really have to customize output or want to avoid printing header/footer altogether (e.g. web service response).  Of course, all security checks are executed before the action method to make sure the user is logged in and has the appropriate capabilities.  For more information on the controller, read &#039;&#039;local/mr/docs&#039;&#039;, view the source code of &#039;&#039;local/mr/framework/controller/*&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== View ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Views handle the presentation and do not handle any complex processing or business logic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the introduction of renderers in Moodle 2.0, the Moodlerooms Framework can now use renderers for generating the view.  Though, not every controller endpoint may need a specific renderer method, it is beneficial to write renderers as they can be re-used and overridden by theme developers.  The framework will provide some default renderers that is easily accessible through the controller and Moodle API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of views (AKA Moodle renderers):&#039;&#039;&#039;&lt;br /&gt;
* Stores presentation.&lt;br /&gt;
* Separates logic/processing code from display code.&lt;br /&gt;
* Re-usable renderings.&lt;br /&gt;
* Easier to customize the rendering via another plugin or theme.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Models handle the business logic by processing data and storing business rules within them.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Models house your application&#039;s data so that one can more easily guarantee the correctness of the data.  Models contain no display logic, but rather, only logic for accessing, setting and validating data.  It is encouraged that plugins have their own &#039;&#039;model&#039;&#039; directory to house plugin specific model classes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of models:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Stores business logic. EG: valid values for &#039;&#039;widget&#039;&#039;&#039;s &#039;&#039;foo&#039;&#039; property.&lt;br /&gt;
* Re-usable.&lt;br /&gt;
* Easier to test and modify.&lt;br /&gt;
* Helps to reduce code duplication.&lt;br /&gt;
&lt;br /&gt;
==== Helpers ====&lt;br /&gt;
&lt;br /&gt;
The helper design pattern was borrowed from [http://framework.zend.com/manual/en/zend.controller.actionhelpers.html Zend Framework&#039;s Action Helpers].  Zend&#039;s manual has a great description of the purpose of helpers:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Helpers aim to minimize the necessity to extend the abstract Action Controller in order to inject common Action Controller functionality.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So, in other words, the helpers provide an easy way to re-use code throughout the application without having to overly extend classes, which could potentially lead to accidentally overriding a function used by the parent class (e.g. a new version of the parent class comes out and implements a new function that you have implemented in your child class).&lt;br /&gt;
&lt;br /&gt;
The implementation of helpers in the Moodlerooms Framework does not follow Zend&#039;s implementation exactly, but rather it has been simplified and generalized.  So, the helper design in the Moodlerooms Framework can be used outside of controllers so that the whole application can reuse the code in the helpers.  This means that the helpers are now like a helper library that is easy to access, loads dynamically and requires very little setup.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helpers do not replace models or other classes with clear purpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The point of Helpers is not to replace models or other classes, but to replace files like &#039;&#039;/path/to/plugin/locallib.php&#039;&#039; and to provide functionality across classes in your plugin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of helpers over traditional libraries:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The number one use and advantage of helpers is in controllers.  This allows the controller to remain skinny by just having methods related to routing, security, etc.&lt;br /&gt;
* Helpers replace the need for a &#039;&#039;/path/to/plugin/locallib.php&#039;&#039; which can be massive, unorganized and uses more memory because it has to be loaded all at once every time any of the methods are used.&lt;br /&gt;
* Helpers are treated as singletons, so their state remains constant throughout the execution of your script. This means that any setup happens only once, caching is easy, your helper can have a state.&lt;br /&gt;
* No name space issues.  The helper&#039;s class is based on the location in the code base and its name.  No more, block_crazy_block_name_now_we_get_to_function_name() type function definitions.&lt;br /&gt;
* Dynamically loads. Class files are included and classes are instantiated only for helpers that are used.  This is better than loading a 10,000 line library file every time.&lt;br /&gt;
* Easy setup and it&#039;s the same for every helper.  Just include the framework&#039;s bootstrap.php, make an instance of the helper and you are good to go.  No more &#039;&#039;require_once&#039;&#039; for every library or class file at the top of every PHP script in which they are used.&lt;br /&gt;
* May not have to extend parent classes in order to add your own set of methods.  Store them all in the helper instead. EG: instead of extending the base controller class to make a new parent class with new methods, add methods to helpers that your controllers can then access. &lt;br /&gt;
* Easily share code between drastically varying classes.&lt;br /&gt;
* Easily share code between plugins et al (e.g. two plugins may share a common set of methods but the rest do not; store those method in a helper instead of mucking up the base plugin class definition).&lt;br /&gt;
&lt;br /&gt;
For more information on helpers, read the framework&#039;s PHPDocs, view the source code of &#039;&#039;local/mr/framework/helper/*&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Fluent Interface ===&lt;br /&gt;
&lt;br /&gt;
A lot of the framework implements a fluent interface when it makes sense.  A fluent interface is when you can string multiple function calls together for a single object.  This is achieved by each function returning the object itself, e.g. &#039;&#039;return $this;&#039;&#039; or &#039;&#039;return new some_nifty_class()&#039;&#039;.  So, a fluent interface can look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...)-&amp;gt;bar(...)-&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, if the function calls are long, you can break it out onto separate lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...)&lt;br /&gt;
       -&amp;gt;bar(...)&lt;br /&gt;
       -&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above is equivalent to the following, which doesn&#039;t take advantage of the fluent interface. (Note: each method still returns the &#039;&#039;$object&#039;&#039; instance, but it&#039;s just ignored now.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...);&lt;br /&gt;
$object-&amp;gt;bar(...);&lt;br /&gt;
$object-&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of a fluent interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Increases readability of code.&lt;br /&gt;
* Reduces amount of code.&lt;br /&gt;
* Allows for really neat functionality, e.g. the helpers use this to dynamically load objects, thus giving one access to the objects methods.&lt;br /&gt;
* It&#039;s really cool! &#039;&#039;/snort&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disadvantages of a fluent interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Since there are multiple function calls in one line of code and if there is an error in the middle of the fluent interface calls, then it could increase the difficulty of debugging where exactly the problem lies.&lt;br /&gt;
&lt;br /&gt;
=== Class Naming Conventions ===&lt;br /&gt;
&lt;br /&gt;
The class naming conventions used by the Moodlerooms Framework also mimics [http://framework.zend.com/manual/en/coding-standard.naming-conventions.html|Zend Framework&#039;s class naming conventions].  The class name is derived by the class file&#039;s directory path and file name.  Directories are separated by underscores and everything is lowercase.  One exception is blocks, where it is reasonable to use block instead of blocks.  Example:&lt;br /&gt;
* &#039;&#039;&#039;mod/modname/model/foo.php&#039;&#039;&#039; maps to &#039;&#039;&#039;mod_modname_model_foo&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;blocks/blockname/form/edit.php&#039;&#039;&#039; maps to &#039;&#039;&#039;blocks_blockname_form_edit&#039;&#039;&#039; or &#039;&#039;&#039;block_blockname_form_edit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages to using this class naming convention:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Reduce the chance of name space collisions.&lt;br /&gt;
* When looking at the class name, one can easily derive where the class definition file is located.&lt;br /&gt;
* Classes and their files can be more easily dynamically loaded.  See &#039;&#039;local/mr/framework/helper/load.php&#039;&#039; which loads classes and their files.&lt;br /&gt;
&lt;br /&gt;
Using this naming convention in your plugin will make it &#039;&#039;&#039;easier to use all of the features&#039;&#039;&#039; of the framework.&lt;br /&gt;
&lt;br /&gt;
=== Sub-plugins ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it makes sense to have plugins inside of your plugin.  The framework uses &#039;&#039;mr_helper_load::plugin(...)&#039;&#039; method to load single or multiple base plugin classes.  In order to take advantage of this functionality, your sub-plugins must be organized in a specific way:&lt;br /&gt;
&lt;br /&gt;
* plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/base/class.php&lt;br /&gt;
** The above is the base plugin class where &#039;&#039;&#039;path&#039;&#039;&#039; can be any directory depth.&lt;br /&gt;
* plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;/class.php&lt;br /&gt;
** The above is the actual plugin where &#039;&#039;&#039;path&#039;&#039;&#039; matches the &#039;&#039;&#039;path&#039;&#039;&#039; for the base and &#039;&#039;&#039;name&#039;&#039;&#039; is the plugin&#039;s name.&lt;br /&gt;
&lt;br /&gt;
Note that the above uses &#039;&#039;&#039;path&#039;&#039;&#039; which means you can have plugins at any directory depth which in turn means, your sub-plugins can have sub-sub-plugins if so desired.  Example of common plugin layouts:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Single tiered&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugin/&lt;br /&gt;
** base/class.php&lt;br /&gt;
** modxuser/class.php (Extends plugin/base/class.php)&lt;br /&gt;
** course/class.php (Extends plugin/base/class.php)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multi tiered&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugin/&lt;br /&gt;
** export/&lt;br /&gt;
*** base/class.php&lt;br /&gt;
*** xml/class.php (Extends plugin/export/base/class.php)&lt;br /&gt;
*** csv/class.php (Extends plugin/export/base/class.php)&lt;br /&gt;
** report/&lt;br /&gt;
*** base/class.php&lt;br /&gt;
*** user/class.php (Extends plugin/report/base/class.php)&lt;br /&gt;
*** class/class.php (Extends plugin/report/base/class.php)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of sub-plugins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Easy iterative functionality.  EG: loop over all your plugins, each get to execute their own unique code.&lt;br /&gt;
* Convenient way to group files that relate.  EG: The base class and form classes.&lt;br /&gt;
* Supports drop in code that runs automatically.&lt;br /&gt;
&lt;br /&gt;
For more information on plugins, read the framework&#039;s PHPDocs on &#039;&#039;mr_helper_load&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Plugin Layout ==&lt;br /&gt;
&lt;br /&gt;
Below is the recommended way to setup the structure of a plugin that wants to make use of the Moodlerooms Framework.  Please note that the below is not all or nothing, but rather each can be implemented individually and as needed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
! Directory/File&lt;br /&gt;
! Description&lt;br /&gt;
! Relates to &lt;br /&gt;
|-&lt;br /&gt;
| view.php &lt;br /&gt;
| Endpoint for the controller, so all URLs go to this file.  Using view.php is consistent with Moodle&#039;s coding standards. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| controller/ &lt;br /&gt;
| Store controller classes in this directory. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| controller/default.php &lt;br /&gt;
| This is the default controller, not necessary, but makes for short default URLs: wwww/plugin/path/view.php routes to this controller&#039;s &#039;&#039;view&#039;&#039; action. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| helper/ &lt;br /&gt;
| Store helper classes in this directory.  The helper will search here for helpers first and then in &#039;&#039;local/mr/framework/helper/&#039;&#039;. &lt;br /&gt;
| mr_helper &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&lt;br /&gt;
| Store any sub-plugins in this directory. This is for organizational/consistency purposes. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/base/class.php &lt;br /&gt;
| The base plugin class where &#039;&#039;&#039;path&#039;&#039;&#039; can be any directory depth. &lt;br /&gt;
| mr_helper_load &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;/class.php &lt;br /&gt;
| The actual plugin where &#039;&#039;&#039;path&#039;&#039;&#039; matches the &#039;&#039;&#039;path&#039;&#039;&#039; for the base and &#039;&#039;&#039;name&#039;&#039;&#039; is the plugin&#039;s name. &lt;br /&gt;
| mr_helper_load &lt;br /&gt;
|-&lt;br /&gt;
| lib/ &lt;br /&gt;
| Store library classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| model/ &lt;br /&gt;
| Store any model classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| mr_model_abstract (Extension not required) &lt;br /&gt;
|-&lt;br /&gt;
| repository/ &lt;br /&gt;
| Store any model repository mappers in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| mr_repository_abstract (Extension not required) &lt;br /&gt;
|-&lt;br /&gt;
| form/ &lt;br /&gt;
| Store any Moodle form classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| cli/ &lt;br /&gt;
| Store any CLI scripts in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| report/ &lt;br /&gt;
| Store plugin report classes that extend &#039;&#039;mr_report_abstract&#039;&#039;. &lt;br /&gt;
| mr_report_abstract &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Moodlerooms Framework is available for Moodle 2.2.X only.  Click the links below to access them in the Moodle Plugins Directory:&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/plugins/view.php?plugin=local_mr Moodlerooms Framework] - unzip the contents into /wwwroot/local&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The MR Framework is still in the process of being added to the Moodle Plugins Directory.  In the meantime, we&#039;ve made the plugin available at [http://development.moodlerooms.com/mod/resource/view.php?id=210&amp;amp;subdir=/MR_Framework_for_2.2 development.moodlerooms.com].  Thanks for your patience!&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Outcomes_Specification&amp;diff=37934</id>
		<title>Outcomes Specification</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Outcomes_Specification&amp;diff=37934"/>
		<updated>2013-02-22T22:23:16Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: /* Specification and Use Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Outcomes improvements&lt;br /&gt;
|state = Functional spec-writing&lt;br /&gt;
|tracker = Enter the MDL issue number&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/discuss.php?d=220143&lt;br /&gt;
|assignee = [[User:Phill Miller|Phill Miller]]&lt;br /&gt;
}}&lt;br /&gt;
== Description ==&lt;br /&gt;
The Moodle outcomes system as it exists today does not accomplish what customers demand and require, due to some key missing functions, including the ability to easily import hierarchical standards and the ability to map and track outcomes on quiz questions and rubric rows.  This limits Moodle adoption in K12, corporate, for-profit, and, to a lesser extent, higher education, specifically community colleges.&lt;br /&gt;
&lt;br /&gt;
The goal of this project would be to make outcomes work according to the use cases we understand to be critical to Moodle users, as well as available in competitive products.  We would allow administrators and/or instructors to create or import outcomes, including state standards, institutional objectives, or professional standards.  We would allow instructors and instructional designers to map learning objects, including all content items, rubric items, and even quiz questions, against these standards.  We would then build reports that would show performance against standards, as well as coverage within courses.  &lt;br /&gt;
&lt;br /&gt;
== Logical Overview == &lt;br /&gt;
In order to make sure that everyone understands how this works and what the various terminology means, this page is a series of logical diagrams that helps make sense of the basic terminology and sets up the other use cases.  Plenty of diagrams to make it consumable both from a functional perspective and a technical perspective. &lt;br /&gt;
 &lt;br /&gt;
[[Outcomes Logical Overview]]&lt;br /&gt;
&lt;br /&gt;
== Specification and Use Cases ==&lt;br /&gt;
The functional specification will be split into three sections by user type: &lt;br /&gt;
* Administrator - [[Outcomes Administrator Use Cases]] / [[Outcomes Administrator Specification]]&lt;br /&gt;
* Instructor - [[Outcomes Instructor Use Cases]] / [[Outcomes Instructor Specification]]&lt;br /&gt;
* Student - [[Outcomes Student Use Cases]] / [[Outcomes Student Specification]]&lt;br /&gt;
&lt;br /&gt;
Each of these users will have permissions set by: &lt;br /&gt;
[[Capabilities and Roles]]&lt;br /&gt;
&lt;br /&gt;
In each of these specifications, there are really two important components, which may help us separate the project into phases: &lt;br /&gt;
* Creation, Mapping, and Tracking Student Performance against outcomes&lt;br /&gt;
* Reporting of Coverage and Performance Against Standards&lt;br /&gt;
&lt;br /&gt;
Additionally, there are migration and other technical issues which need to be addressed. &lt;br /&gt;
* [[Migration and Technical Issues]]&lt;br /&gt;
&lt;br /&gt;
Finally, we are specifically excluding certain use cases, at this time, in order to ensure that we can deliver.  We should be thoughtful in the design, both functional and technical, so as not to eliminate the possibility of including these use cases in the future, but we cannot achieve them in a reasonable time today. &lt;br /&gt;
&lt;br /&gt;
* [[Specifically Excluded Use Cases]]&lt;br /&gt;
&lt;br /&gt;
Technical Documentation:&lt;br /&gt;
* [[Outcomes Technical Specification]]&lt;br /&gt;
&lt;br /&gt;
== High Level Requirements == &lt;br /&gt;
*Import/export standards, either flat or multi-level.  Ensure that we can easily handle the most common standard types, such as Academic Benchmarks, ASN, and other key XML Standard formats.&lt;br /&gt;
*Select which standards apply to a course&lt;br /&gt;
*Remove or refactor dependence on Scales, so that outcomes can be managed independently and used in automatically graded quizzes and rubrics simultaneously&lt;br /&gt;
*Map standards to activities (all), rubric rows, and/or quiz question items&lt;br /&gt;
*Run reports showing coverage, exposure and performance at Institution and Course Level&lt;br /&gt;
*Allow courses with outcomes to backup and restore with a course&lt;br /&gt;
*Improve and simplify user experience to make it simpler to map outcomes to the various objects&lt;br /&gt;
*Store user performance results with the user profile so that they are not removed when a course is deleted&lt;br /&gt;
*Migrate existing outcomes into the new system&lt;br /&gt;
*Support Common Cartridge Outcome field&lt;br /&gt;
&lt;br /&gt;
== Markets ==&lt;br /&gt;
All of the Moodle markets will use this functionality, although they may use it in slightly different ways: &lt;br /&gt;
*K-12 – In North America, as well as in many other countries, schools are being required to produce data on performance against outcomes, specifically “State Standards” or the “Common Core” standards for English, Math and other subjects.&lt;br /&gt;
*Corporate – Corporations are often training their users to specific competencies that the user needs.  Also, they are often providing certifications against specific standards, such as the Cisco networking, MCSE, etc. &lt;br /&gt;
*For Profit Higher Education – For Profit Higher Education is well ahead of the other markets in measuring outcomes and tracking these for retention, as their profitability requires it.  They are also some of the leaders in providing professional certification, such as nursing (NCLEX) and Pharmacy Tech, which has specific standards.  &lt;br /&gt;
*Higher Education – While traditional higher education institutions have been slower to adopt accountability standards, the community college and technical colleges have been tracking outcomes much more closely.  Additionally, the community college and technical college markets are large providers of professional certifications, which can be tracked.  They are also being asked to provide more evidence of student success.  &lt;br /&gt;
&lt;br /&gt;
== Competitive ==&lt;br /&gt;
All popular systems have or are building standards reporting.  ANGEL is most advanced today, with Blackboard not too far behind.  Canvas will be releasing shortly. &lt;br /&gt;
&lt;br /&gt;
== Project Goals ==&lt;br /&gt;
*Make Outcomes work for customer use cases, including support for hierarchical State/Skill Standards and Performance Reporting&lt;br /&gt;
*Participate actively in the Moodle community by building this in conjunction with core and getting into upcoming Moodle core release&lt;br /&gt;
*Open up the K12 market and supplement our story in corporate and higher education market&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
* [[Outcomes stage2]]&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=209008 Outcomes]&lt;br /&gt;
* [[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Outcomes_Specification&amp;diff=37933</id>
		<title>Outcomes Specification</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Outcomes_Specification&amp;diff=37933"/>
		<updated>2013-02-22T22:23:07Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: /* Specification and Use Cases */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox Project&lt;br /&gt;
|name = Outcomes improvements&lt;br /&gt;
|state = Functional spec-writing&lt;br /&gt;
|tracker = Enter the MDL issue number&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/discuss.php?d=220143&lt;br /&gt;
|assignee = [[User:Phill Miller|Phill Miller]]&lt;br /&gt;
}}&lt;br /&gt;
== Description ==&lt;br /&gt;
The Moodle outcomes system as it exists today does not accomplish what customers demand and require, due to some key missing functions, including the ability to easily import hierarchical standards and the ability to map and track outcomes on quiz questions and rubric rows.  This limits Moodle adoption in K12, corporate, for-profit, and, to a lesser extent, higher education, specifically community colleges.&lt;br /&gt;
&lt;br /&gt;
The goal of this project would be to make outcomes work according to the use cases we understand to be critical to Moodle users, as well as available in competitive products.  We would allow administrators and/or instructors to create or import outcomes, including state standards, institutional objectives, or professional standards.  We would allow instructors and instructional designers to map learning objects, including all content items, rubric items, and even quiz questions, against these standards.  We would then build reports that would show performance against standards, as well as coverage within courses.  &lt;br /&gt;
&lt;br /&gt;
== Logical Overview == &lt;br /&gt;
In order to make sure that everyone understands how this works and what the various terminology means, this page is a series of logical diagrams that helps make sense of the basic terminology and sets up the other use cases.  Plenty of diagrams to make it consumable both from a functional perspective and a technical perspective. &lt;br /&gt;
 &lt;br /&gt;
[[Outcomes Logical Overview]]&lt;br /&gt;
&lt;br /&gt;
== Specification and Use Cases ==&lt;br /&gt;
The functional specification will be split into three sections by user type: &lt;br /&gt;
* Administrator - [[Outcomes Administrator Use Cases]] / [[Outcomes Administrator Specification]]&lt;br /&gt;
* Instructor - [[Outcomes Instructor Use Cases]] / [[Outcomes Instructor Specification]]&lt;br /&gt;
* Student - [[Outcomes Student Use Cases]] / [[Outcomes Student Specification]]&lt;br /&gt;
&lt;br /&gt;
Each of these users will have permissions set by: &lt;br /&gt;
[[Capabilities and Roles]]&lt;br /&gt;
&lt;br /&gt;
In each of these specifications, there are really two important components, which may help us separate the project into phases: &lt;br /&gt;
* Creation, Mapping, and Tracking Student Performance against outcomes&lt;br /&gt;
* Reporting of Coverage and Performance Against Standards&lt;br /&gt;
&lt;br /&gt;
Additionally, there are migration and other technical issues which need to be addressed. &lt;br /&gt;
* [[Migration and Technical Issues]]&lt;br /&gt;
&lt;br /&gt;
Finally, we are specifically excluding certain use cases, at this time, in order to ensure that we can deliver.  We should be thoughtful in the design, both functional and technical, so as not to eliminate the possibility of including these use cases in the future, but we cannot achieve them in a reasonable time today. &lt;br /&gt;
&lt;br /&gt;
* [[Specifically Excluded Use Cases]]&lt;br /&gt;
&lt;br /&gt;
Technical Documentation:&lt;br /&gt;
* [[[Outcomes Technical Specification]]&lt;br /&gt;
&lt;br /&gt;
== High Level Requirements == &lt;br /&gt;
*Import/export standards, either flat or multi-level.  Ensure that we can easily handle the most common standard types, such as Academic Benchmarks, ASN, and other key XML Standard formats.&lt;br /&gt;
*Select which standards apply to a course&lt;br /&gt;
*Remove or refactor dependence on Scales, so that outcomes can be managed independently and used in automatically graded quizzes and rubrics simultaneously&lt;br /&gt;
*Map standards to activities (all), rubric rows, and/or quiz question items&lt;br /&gt;
*Run reports showing coverage, exposure and performance at Institution and Course Level&lt;br /&gt;
*Allow courses with outcomes to backup and restore with a course&lt;br /&gt;
*Improve and simplify user experience to make it simpler to map outcomes to the various objects&lt;br /&gt;
*Store user performance results with the user profile so that they are not removed when a course is deleted&lt;br /&gt;
*Migrate existing outcomes into the new system&lt;br /&gt;
*Support Common Cartridge Outcome field&lt;br /&gt;
&lt;br /&gt;
== Markets ==&lt;br /&gt;
All of the Moodle markets will use this functionality, although they may use it in slightly different ways: &lt;br /&gt;
*K-12 – In North America, as well as in many other countries, schools are being required to produce data on performance against outcomes, specifically “State Standards” or the “Common Core” standards for English, Math and other subjects.&lt;br /&gt;
*Corporate – Corporations are often training their users to specific competencies that the user needs.  Also, they are often providing certifications against specific standards, such as the Cisco networking, MCSE, etc. &lt;br /&gt;
*For Profit Higher Education – For Profit Higher Education is well ahead of the other markets in measuring outcomes and tracking these for retention, as their profitability requires it.  They are also some of the leaders in providing professional certification, such as nursing (NCLEX) and Pharmacy Tech, which has specific standards.  &lt;br /&gt;
*Higher Education – While traditional higher education institutions have been slower to adopt accountability standards, the community college and technical colleges have been tracking outcomes much more closely.  Additionally, the community college and technical college markets are large providers of professional certifications, which can be tracked.  They are also being asked to provide more evidence of student success.  &lt;br /&gt;
&lt;br /&gt;
== Competitive ==&lt;br /&gt;
All popular systems have or are building standards reporting.  ANGEL is most advanced today, with Blackboard not too far behind.  Canvas will be releasing shortly. &lt;br /&gt;
&lt;br /&gt;
== Project Goals ==&lt;br /&gt;
*Make Outcomes work for customer use cases, including support for hierarchical State/Skill Standards and Performance Reporting&lt;br /&gt;
*Participate actively in the Moodle community by building this in conjunction with core and getting into upcoming Moodle core release&lt;br /&gt;
*Open up the K12 market and supplement our story in corporate and higher education market&lt;br /&gt;
&lt;br /&gt;
== See also == &lt;br /&gt;
* [[Outcomes stage2]]&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=209008 Outcomes]&lt;br /&gt;
* [[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/dev/index.php?title=Moodlerooms_Framework&amp;diff=35887</id>
		<title>Moodlerooms Framework</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/dev/index.php?title=Moodlerooms_Framework&amp;diff=35887"/>
		<updated>2012-10-20T22:50:08Z</updated>

		<summary type="html">&lt;p&gt;Kstokking: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The purpose of this document is to provide a brief orientation to the Moodlerooms Framework.&lt;br /&gt;
&lt;br /&gt;
== High Level Feature List ==&lt;br /&gt;
&lt;br /&gt;
This section describes some of the features that are provided by the framework.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Autoloading&#039;&#039;&#039;: the framework can automatically load its classes.&lt;br /&gt;
* &#039;&#039;&#039;Controllers&#039;&#039;&#039;: The &amp;quot;C&amp;quot; part of [[#MVC|MVC]], handles basic routing of requests, setup and output.  There is a generic controller provided, plus ones geared towards blocks, modules and administrative pages.&lt;br /&gt;
* &#039;&#039;&#039;DB&#039;&#039;&#039;: Another layer of database abstraction that include tables, records, queues and table dumping.&lt;br /&gt;
* &#039;&#039;&#039;Exporting&#039;&#039;&#039;: An export handler that can export data to various formats.  Currently supported formats are CSV, TSV, Excel and ODS.&lt;br /&gt;
* &#039;&#039;&#039;Formatting&#039;&#039;&#039;: Reusable and configurable formats that can transform data.&lt;br /&gt;
* &#039;&#039;&#039;Helper design pattern&#039;&#039;&#039;: A simple way to dynamically use library type classes.  Key [[#Helpers|Helpers]] include:&lt;br /&gt;
** &#039;&#039;&#039;Buffer&#039;&#039;&#039;: Helps to buffer output.&lt;br /&gt;
** &#039;&#039;&#039;HTML&#039;&#039;&#039;: Helps generate HTML for routine tasks, like auto-complete.&lt;br /&gt;
** &#039;&#039;&#039;Load&#039;&#039;&#039;: Helps to load classes.  Great for when you need to dynamically instantiate classes, like for plugins.&lt;br /&gt;
** &#039;&#039;&#039;Recent activity&#039;&#039;&#039;: Generate Moodle&#039;s recent activity list.&lt;br /&gt;
** &#039;&#039;&#039;Tag&#039;&#039;&#039;: Quick access to Tag.&lt;br /&gt;
** &#039;&#039;&#039;Test Web Services&#039;&#039;&#039;: Helps with testing web services in unit testing.&lt;br /&gt;
* &#039;&#039;&#039;Filtering&#039;&#039;&#039;: Easy way to display filtering options to a user which then generate SQL to limit results.  The filtering options are persistent through the user&#039;s session.&lt;br /&gt;
* &#039;&#039;&#039;Notify&#039;&#039;&#039;: Easy session based notification system.  Most common use-case: set the message, redirect and display the message.&lt;br /&gt;
* &#039;&#039;&#039;Heading&#039;&#039;&#039;: Assists with printing headings with or without help icon.&lt;br /&gt;
* &#039;&#039;&#039;Table&#039;&#039;&#039;: Tabular data display with sorting.  The columns are configurable objects.&lt;br /&gt;
* &#039;&#039;&#039;Paging&#039;&#039;&#039;: Paging bar and SQL limits.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Tabs&#039;&#039;&#039;: API wrapper over Moodle&#039;s tab API.  Attempts to automate and simplify tab creation/management.&lt;br /&gt;
* &#039;&#039;&#039;Tag&#039;&#039;&#039;: HTML tag generation.&lt;br /&gt;
* &#039;&#039;&#039;Distributed locking&#039;&#039;&#039;: Provide a locking mechanism to ensure that only one process is performing a specific task at one time.  Current back end is [http://redis.io/ Redis].&lt;br /&gt;
* &#039;&#039;&#039;Model&#039;&#039;&#039;: Provide very basic abstract model classes.&lt;br /&gt;
* &#039;&#039;&#039;Model repository mapper&#039;&#039;&#039;: Abstract class for mapping models to the DB and visa versa. See [http://martinfowler.com/eaaCatalog/dataMapper.html http://martinfowler.com/eaaCatalog/dataMapper.html]&lt;br /&gt;
* &#039;&#039;&#039;Plugin&#039;&#039;&#039;: Simple class for [[#Sub-plugins|Sub-plugins]].&lt;br /&gt;
* &#039;&#039;&#039;Preferences&#039;&#039;&#039;: user session preferences that are course and plugin aware.&lt;br /&gt;
* &#039;&#039;&#039;Report&#039;&#039;&#039;: Combines filtering, table, columns, formatting, exporting, paging and preferences for simple report generation.&lt;br /&gt;
* &#039;&#039;&#039;Server&#039;&#039;&#039;: A set of classes for providing a web service endpoint.  Currently only the REST server is provided.  Other classes involved are request validation and server response.&lt;br /&gt;
* &#039;&#039;&#039;Var&#039;&#039;&#039;: Static variable storage.&lt;br /&gt;
* &#039;&#039;&#039;Fixture&#039;&#039;&#039;: A fixture API for setting up and tearing down fixtures like users, courses, enrollments in unit tests.&lt;br /&gt;
&lt;br /&gt;
== Framework Files ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;local/mr&#039;&#039;&lt;br /&gt;
** All of the framework&#039;s files are located inside of this local plugin.&lt;br /&gt;
&lt;br /&gt;
== Setup Guide ==&lt;br /&gt;
The &#039;&#039;local/mr&#039;&#039; plugin install normally.  To get additional features, follow these steps:&lt;br /&gt;
&lt;br /&gt;
* Display framework documentation&lt;br /&gt;
*# Add the following code to your config.php: &amp;lt;code php&amp;gt;define(&#039;MR_DOCS&#039;, 1);&amp;lt;/code&amp;gt;&lt;br /&gt;
*# This will display the following link: &#039;&#039;Site Administration &amp;gt; MR Framework &amp;gt; Docs&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Quick Start Guide ==&lt;br /&gt;
&lt;br /&gt;
It is very easy to start using the Moodlerooms Framework.  Just include the following line in the PHP script to automatically load any of the Moodlerooms Framework classes:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
require($CFG-&amp;gt;dirroot.&#039;/local/mr/bootstrap.php&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
That&#039;s it!  Now you can start using the framework:&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
$tag = new mr_html_tag();&lt;br /&gt;
echo $tag-&amp;gt;b(&#039;Hello World!&#039;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Framework Design Patterns ==&lt;br /&gt;
&lt;br /&gt;
This section describes some of the reasoning behind the design of the major components of the framework.&lt;br /&gt;
&lt;br /&gt;
=== MVC ===&lt;br /&gt;
&lt;br /&gt;
[http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller Model-View-Controller (MVC)] is a popular coding design pattern.  From my understanding (Mark Nielsen&#039;s), it is popular because its design facilitates the re-use of code, which in turn reduces the size of the code base, which in turn results in multiple benefits through the life cycle of the software.  The Moodlerooms Framework works off of this design pattern.&lt;br /&gt;
&lt;br /&gt;
==== Controller ====&lt;br /&gt;
&#039;&#039;Controllers handle the application logic by responding to user actions, processing those actions (generally by using models) and then generating output to the user by means of views.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Moodlerooms Framework provides the controller through the base &#039;&#039;mr_controller&#039;&#039; class.  The controller is responsible for routing HTTP requests, security checks and general variable setup.  Each controller endpoint is responsible for whatever processing that needs to occur and, if needed, setup and return the view for sending to the user.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of controllers:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Stores application logic.&lt;br /&gt;
* Easy to create a consistent look and feel throughout a plugin.&lt;br /&gt;
* Easier to implement security restrictions.  Through a single method, a controller can protect all of its actions from unprivileged users.  This can be a blanket restriction or fine grained access for each action.&lt;br /&gt;
* Controllers allow one to focus on the task at hand instead of all the overhead of generating a secure and full featured Moodle page.&lt;br /&gt;
* Controllers help to organize code into smaller functional snippets instead of large files with very large &#039;&#039;if/else if&#039;&#039; and &#039;&#039;switch&#039;&#039; statements that tend to produce security holes and nasty bugs.&lt;br /&gt;
* Automatic setup of &#039;&#039;local/mr/framework&#039;&#039; classes and of plugin variables like instance records, contexts, etc.&lt;br /&gt;
* Reduces code duplication in plugins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explanation of controller execution in the framework&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enough abstract, let&#039;s dig into what the framework&#039;s controller is really doing.  All HTTP requests come in through a single point.  The way that the request gets routed all depends on the request&#039;s parameters.  The &#039;&#039;controller&#039;&#039; parameter determines which controller to use.  The &#039;&#039;action&#039;&#039; parameter determines which function to call within the controller.  The defaults are, &#039;&#039;controller=&#039;default&#039; &#039;&#039; and &#039;&#039;action=&#039;view&#039; &#039;&#039;.  In order for the controller to handle the various actions, it must implement a method with the following naming scheme: &#039;&#039;public function ACTION_action()&#039;&#039; where ACTION is the value of the &#039;&#039;action&#039;&#039; parameter.  If the action method returns a string, then the controller will print the header and footer around the string, otherwise the controller won&#039;t do anything after the action method is called.  Returning void or false is useful for when you really have to customize output or want to avoid printing header/footer altogether (e.g. web service response).  Of course, all security checks are executed before the action method to make sure the user is logged in and has the appropriate capabilities.  For more information on the controller, read &#039;&#039;local/mr/docs&#039;&#039;, view the source code of &#039;&#039;local/mr/framework/controller/*&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==== View ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Views handle the presentation and do not handle any complex processing or business logic.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
With the introduction of renderers in Moodle 2.0, the Moodlerooms Framework can now use renderers for generating the view.  Though, not every controller endpoint may need a specific renderer method, it is beneficial to write renderers as they can be re-used and overridden by theme developers.  The framework will provide some default renderers that is easily accessible through the controller and Moodle API.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of views (AKA Moodle renderers):&#039;&#039;&#039;&lt;br /&gt;
* Stores presentation.&lt;br /&gt;
* Separates logic/processing code from display code.&lt;br /&gt;
* Re-usable renderings.&lt;br /&gt;
* Easier to customize the rendering via another plugin or theme.&lt;br /&gt;
&lt;br /&gt;
==== Model ====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Models handle the business logic by processing data and storing business rules within them.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Models house your application&#039;s data so that one can more easily guarantee the correctness of the data.  Models contain no display logic, but rather, only logic for accessing, setting and validating data.  It is encouraged that plugins have their own &#039;&#039;model&#039;&#039; directory to house plugin specific model classes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of models:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Stores business logic. EG: valid values for &#039;&#039;widget&#039;&#039;&#039;s &#039;&#039;foo&#039;&#039; property.&lt;br /&gt;
* Re-usable.&lt;br /&gt;
* Easier to test and modify.&lt;br /&gt;
* Helps to reduce code duplication.&lt;br /&gt;
&lt;br /&gt;
==== Helpers ====&lt;br /&gt;
&lt;br /&gt;
The helper design pattern was borrowed from [http://framework.zend.com/manual/en/zend.controller.actionhelpers.html Zend Framework&#039;s Action Helpers].  Zend&#039;s manual has a great description of the purpose of helpers:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Action Helpers aim to minimize the necessity to extend the abstract Action Controller in order to inject common Action Controller functionality.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
So, in other words, the helpers provide an easy way to re-use code throughout the application without having to overly extend classes, which could potentially lead to accidentally overriding a function used by the parent class (e.g. a new version of the parent class comes out and implements a new function that you have implemented in your child class).&lt;br /&gt;
&lt;br /&gt;
The implementation of helpers in the Moodlerooms Framework does not follow Zend&#039;s implementation exactly, but rather it has been simplified and generalized.  So, the helper design in the Moodlerooms Framework can be used outside of controllers so that the whole application can reuse the code in the helpers.  This means that the helpers are now like a helper library that is easy to access, loads dynamically and requires very little setup.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Helpers do not replace models or other classes with clear purpose&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The point of Helpers is not to replace models or other classes, but to replace files like &#039;&#039;/path/to/plugin/locallib.php&#039;&#039; and to provide functionality across classes in your plugin.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of helpers over traditional libraries:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* The number one use and advantage of helpers is in controllers.  This allows the controller to remain skinny by just having methods related to routing, security, etc.&lt;br /&gt;
* Helpers replace the need for a &#039;&#039;/path/to/plugin/locallib.php&#039;&#039; which can be massive, unorganized and uses more memory because it has to be loaded all at once every time any of the methods are used.&lt;br /&gt;
* Helpers are treated as singletons, so their state remains constant throughout the execution of your script. This means that any setup happens only once, caching is easy, your helper can have a state.&lt;br /&gt;
* No name space issues.  The helper&#039;s class is based on the location in the code base and its name.  No more, block_crazy_block_name_now_we_get_to_function_name() type function definitions.&lt;br /&gt;
* Dynamically loads. Class files are included and classes are instantiated only for helpers that are used.  This is better than loading a 10,000 line library file every time.&lt;br /&gt;
* Easy setup and it&#039;s the same for every helper.  Just include the framework&#039;s bootstrap.php, make an instance of the helper and you are good to go.  No more &#039;&#039;require_once&#039;&#039; for every library or class file at the top of every PHP script in which they are used.&lt;br /&gt;
* May not have to extend parent classes in order to add your own set of methods.  Store them all in the helper instead. EG: instead of extending the base controller class to make a new parent class with new methods, add methods to helpers that your controllers can then access. &lt;br /&gt;
* Easily share code between drastically varying classes.&lt;br /&gt;
* Easily share code between plugins et al (e.g. two plugins may share a common set of methods but the rest do not; store those method in a helper instead of mucking up the base plugin class definition).&lt;br /&gt;
&lt;br /&gt;
For more information on helpers, read the framework&#039;s PHPDocs, view the source code of &#039;&#039;local/mr/framework/helper/*&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Fluent Interface ===&lt;br /&gt;
&lt;br /&gt;
A lot of the framework implements a fluent interface when it makes sense.  A fluent interface is when you can string multiple function calls together for a single object.  This is achieved by each function returning the object itself, e.g. &#039;&#039;return $this;&#039;&#039; or &#039;&#039;return new some_nifty_class()&#039;&#039;.  So, a fluent interface can look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...)-&amp;gt;bar(...)-&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also, if the function calls are long, you can break it out onto separate lines:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...)&lt;br /&gt;
       -&amp;gt;bar(...)&lt;br /&gt;
       -&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above is equivalent to the following, which doesn&#039;t take advantage of the fluent interface. (Note: each method still returns the &#039;&#039;$object&#039;&#039; instance, but it&#039;s just ignored now.)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$object-&amp;gt;foo(...);&lt;br /&gt;
$object-&amp;gt;bar(...);&lt;br /&gt;
$object-&amp;gt;baz(...);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of a fluent interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Increases readability of code.&lt;br /&gt;
* Reduces amount of code.&lt;br /&gt;
* Allows for really neat functionality, e.g. the helpers use this to dynamically load objects, thus giving one access to the objects methods.&lt;br /&gt;
* It&#039;s really cool! &#039;&#039;/snort&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Disadvantages of a fluent interface:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Since there are multiple function calls in one line of code and if there is an error in the middle of the fluent interface calls, then it could increase the difficulty of debugging where exactly the problem lies.&lt;br /&gt;
&lt;br /&gt;
=== Class Naming Conventions ===&lt;br /&gt;
&lt;br /&gt;
The class naming conventions used by the Moodlerooms Framework also mimics [http://framework.zend.com/manual/en/coding-standard.naming-conventions.html|Zend Framework&#039;s class naming conventions].  The class name is derived by the class file&#039;s directory path and file name.  Directories are separated by underscores and everything is lowercase.  One exception is blocks, where it is reasonable to use block instead of blocks.  Example:&lt;br /&gt;
* &#039;&#039;&#039;mod/modname/model/foo.php&#039;&#039;&#039; maps to &#039;&#039;&#039;mod_modname_model_foo&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;blocks/blockname/form/edit.php&#039;&#039;&#039; maps to &#039;&#039;&#039;blocks_blockname_form_edit&#039;&#039;&#039; or &#039;&#039;&#039;block_blockname_form_edit&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages to using this class naming convention:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Reduce the chance of name space collisions.&lt;br /&gt;
* When looking at the class name, one can easily derive where the class definition file is located.&lt;br /&gt;
* Classes and their files can be more easily dynamically loaded.  See &#039;&#039;local/mr/framework/helper/load.php&#039;&#039; which loads classes and their files.&lt;br /&gt;
&lt;br /&gt;
Using this naming convention in your plugin will make it &#039;&#039;&#039;easier to use all of the features&#039;&#039;&#039; of the framework.&lt;br /&gt;
&lt;br /&gt;
=== Sub-plugins ===&lt;br /&gt;
&lt;br /&gt;
Sometimes it makes sense to have plugins inside of your plugin.  The framework uses &#039;&#039;mr_helper_load::plugin(...)&#039;&#039; method to load single or multiple base plugin classes.  In order to take advantage of this functionality, your sub-plugins must be organized in a specific way:&lt;br /&gt;
&lt;br /&gt;
* plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/base/class.php&lt;br /&gt;
** The above is the base plugin class where &#039;&#039;&#039;path&#039;&#039;&#039; can be any directory depth.&lt;br /&gt;
* plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;/class.php&lt;br /&gt;
** The above is the actual plugin where &#039;&#039;&#039;path&#039;&#039;&#039; matches the &#039;&#039;&#039;path&#039;&#039;&#039; for the base and &#039;&#039;&#039;name&#039;&#039;&#039; is the plugin&#039;s name.&lt;br /&gt;
&lt;br /&gt;
Note that the above uses &#039;&#039;&#039;path&#039;&#039;&#039; which means you can have plugins at any directory depth which in turn means, your sub-plugins can have sub-sub-plugins if so desired.  Example of common plugin layouts:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Single tiered&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugin/&lt;br /&gt;
** base/class.php&lt;br /&gt;
** modxuser/class.php (Extends plugin/base/class.php)&lt;br /&gt;
** course/class.php (Extends plugin/base/class.php)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Multi tiered&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* plugin/&lt;br /&gt;
** export/&lt;br /&gt;
*** base/class.php&lt;br /&gt;
*** xml/class.php (Extends plugin/export/base/class.php)&lt;br /&gt;
*** csv/class.php (Extends plugin/export/base/class.php)&lt;br /&gt;
** report/&lt;br /&gt;
*** base/class.php&lt;br /&gt;
*** user/class.php (Extends plugin/report/base/class.php)&lt;br /&gt;
*** class/class.php (Extends plugin/report/base/class.php)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Advantages of sub-plugins&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Easy iterative functionality.  EG: loop over all your plugins, each get to execute their own unique code.&lt;br /&gt;
* Convenient way to group files that relate.  EG: The base class and form classes.&lt;br /&gt;
* Supports drop in code that runs automatically.&lt;br /&gt;
&lt;br /&gt;
For more information on plugins, read the framework&#039;s PHPDocs on &#039;&#039;mr_helper_load&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Plugin Layout ==&lt;br /&gt;
&lt;br /&gt;
Below is the recommended way to setup the structure of a plugin that wants to make use of the Moodlerooms Framework.  Please note that the below is not all or nothing, but rather each can be implemented individually and as needed.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
! Directory/File&lt;br /&gt;
! Description&lt;br /&gt;
! Relates to &lt;br /&gt;
|-&lt;br /&gt;
| view.php &lt;br /&gt;
| Endpoint for the controller, so all URLs go to this file.  Using view.php is consistent with Moodle&#039;s coding standards. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| controller/ &lt;br /&gt;
| Store controller classes in this directory. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| controller/default.php &lt;br /&gt;
| This is the default controller, not necessary, but makes for short default URLs: wwww/plugin/path/view.php routes to this controller&#039;s &#039;&#039;view&#039;&#039; action. &lt;br /&gt;
| mr_controller &lt;br /&gt;
|-&lt;br /&gt;
| helper/ &lt;br /&gt;
| Store helper classes in this directory.  The helper will search here for helpers first and then in &#039;&#039;local/mr/framework/helper/&#039;&#039;. &lt;br /&gt;
| mr_helper &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&lt;br /&gt;
| Store any sub-plugins in this directory. This is for organizational/consistency purposes. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/base/class.php &lt;br /&gt;
| The base plugin class where &#039;&#039;&#039;path&#039;&#039;&#039; can be any directory depth. &lt;br /&gt;
| mr_helper_load &lt;br /&gt;
|-&lt;br /&gt;
| plugin/&#039;&#039;&#039;path&#039;&#039;&#039;/&#039;&#039;&#039;name&#039;&#039;&#039;/class.php &lt;br /&gt;
| The actual plugin where &#039;&#039;&#039;path&#039;&#039;&#039; matches the &#039;&#039;&#039;path&#039;&#039;&#039; for the base and &#039;&#039;&#039;name&#039;&#039;&#039; is the plugin&#039;s name. &lt;br /&gt;
| mr_helper_load &lt;br /&gt;
|-&lt;br /&gt;
| lib/ &lt;br /&gt;
| Store library classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| model/ &lt;br /&gt;
| Store any model classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| mr_model_abstract (Extension not required) &lt;br /&gt;
|-&lt;br /&gt;
| repository/ &lt;br /&gt;
| Store any model repository mappers in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| mr_repository_abstract (Extension not required) &lt;br /&gt;
|-&lt;br /&gt;
| form/ &lt;br /&gt;
| Store any Moodle form classes in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| cli/ &lt;br /&gt;
| Store any CLI scripts in this directory.  This is for organizational/consistency purposes only. &lt;br /&gt;
| &#039;&#039;None&#039;&#039; &lt;br /&gt;
|-&lt;br /&gt;
| report/ &lt;br /&gt;
| Store plugin report classes that extend &#039;&#039;mr_report_abstract&#039;&#039;. &lt;br /&gt;
| mr_report_abstract &lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The Moodlerooms Framework is available for Moodle 2.2.X only.  Click the links below to access them in the Moodle Plugins Directory:&lt;br /&gt;
&lt;br /&gt;
* [http://development.moodlerooms.com/file.php/1/Moodlerooms_Releases/MR_Framework_for_2.2/mr.zip Moodlerooms Framework] - unzip the contents into /wwwroot/local&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; The MR Framework is still in the process of being added to the Moodle Plugins Directory.  In the meantime, we&#039;ve made the plugin available at [http://development.moodlerooms.com/mod/resource/view.php?id=210&amp;amp;subdir=/MR_Framework_for_2.2 development.moodlerooms.com].  Thanks for your patience!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About the Contributors ==&lt;br /&gt;
&lt;br /&gt;
This plugin was contributed by the Moodlerooms Product Development team.  [http://www.moodlerooms.com Moodlerooms] is an education technology company dedicated to bringing excellent online teaching to institutions across the globe.  We serve colleges and universities, schools and organizations by supporting the software that educators use to manage and deliver instructional content to learners in virtual classrooms.  Moodlerooms is headquartered in Baltimore, MD.  We are proud to be a Moodle Partner company.&lt;br /&gt;
[[Category:Plugins]]&lt;/div&gt;</summary>
		<author><name>Kstokking</name></author>
	</entry>
</feed>