<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mattbury</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/310/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mattbury"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/Special:Contributions/Mattbury"/>
	<updated>2026-04-14T06:58:23Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Ratings&amp;diff=137823</id>
		<title>Ratings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Ratings&amp;diff=137823"/>
		<updated>2020-08-06T08:45:58Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Changed URL because of change in my website settings. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Grades}}&lt;br /&gt;
It is possible to rate glossary entries, forum posts and database records within Moodle. These ratings are then aggregated to produce a grade for that activity for the student being rated. For example a student&#039;s forum posts may be rated by their fellow students with those ratings being averaged and that grade then contributing to the students overall course grade. You can choose whether ratings can be submitted by students and/or by teachers.&lt;br /&gt;
&lt;br /&gt;
==Enabling ratings==&lt;br /&gt;
Here is the process to enable ratings within an activity:&lt;br /&gt;
#Go to the activity settings and select the aggregation method you want applied. Average is typically the most useful.&lt;br /&gt;
#Choose a scale. The scale you select determines the list of options raters can choose from. Choosing a number, 10 for example, means that raters can choose any number from 0 to 10. Custom non-numeric scales can also be defined. To create a site wide custom scale go to &#039;&#039;Administration &amp;gt; Site Administration &amp;gt; Grades &amp;gt; Scales&#039;&#039;. To create a course specific custom scale go to the gradebook and select &amp;quot;Scales - View&amp;quot;.&lt;br /&gt;
#Optionally choose to restrict the submission of ratings to within a date range.&lt;br /&gt;
#Save your activity settings.&lt;br /&gt;
&lt;br /&gt;
Once ratings have been enabled within an activity that activity will automatically appear in the gradebook.&lt;br /&gt;
&lt;br /&gt;
==Capabilities and roles==&lt;br /&gt;
Capabilities and roles determine whether a given user can submit ratings, view aggregated ratings or even view the individual ratings that have been submitted. By default students can view the aggregation of all rating on their own items and only teachers can rate items.&lt;br /&gt;
&lt;br /&gt;
The relevant capabilities are:&lt;br /&gt;
&lt;br /&gt;
*moodle/rating:view - allows the user to view aggregated ratings made on their own items&lt;br /&gt;
*moodle/rating:viewany - allows the user to view aggregated ratings made on other people&#039;s items (but not their own)&lt;br /&gt;
*moodle/rating:viewall - allows the user to see individual ratings&lt;br /&gt;
*moodle/rating:rate - allows the user to rate other people&#039;s items&lt;br /&gt;
&lt;br /&gt;
===Module capabilities===&lt;br /&gt;
Activity modules may define their own set of capabilities. When these exist the user needs BOTH the core capability and the module capability.&lt;br /&gt;
&lt;br /&gt;
====Database====&lt;br /&gt;
* mod/data:rate&lt;br /&gt;
* mod/data:viewrating&lt;br /&gt;
* mod/data:viewanyrating&lt;br /&gt;
* mod/data:viewallratings&lt;br /&gt;
&lt;br /&gt;
====Forum====&lt;br /&gt;
*mod/forum:rate&lt;br /&gt;
*mod/forum:viewrating&lt;br /&gt;
*mod/forum:viewanyrating&lt;br /&gt;
*mod/forum:viewallratings&lt;br /&gt;
&lt;br /&gt;
====Glossary====&lt;br /&gt;
*mod/glossary:rate&lt;br /&gt;
*mod/glossary:viewrating&lt;br /&gt;
*mod/glossary:viewanyrating&lt;br /&gt;
*mod/glossary:viewallratings&lt;br /&gt;
&lt;br /&gt;
==Aggregate type==&lt;br /&gt;
&lt;br /&gt;
You can set an aggregate type, in other words, decide how all the ratings given are combined to form the final grade (for each entry and for the whole  activity). Some scales do not lend themselves to certain types of aggregates. There are five options:&lt;br /&gt;
&lt;br /&gt;
* Average of ratings (default) - This is the mean of all the ratings given. It is especially useful with peer grading when there are a lot of ratings being made.&lt;br /&gt;
* Count of ratings - The counts the number of rated entries which becomes the final grade. This is useful when the number of posts is important. Note that the total can not exceed the maximum grade allowed for the forum. A count may be used if the teacher simply wants to acknowledge that a reply was given in the case students being required to make a certain number of posts in a discussion. Note: Count of ratings does not work for the &amp;quot;Separate or Connected Ways of Knowing&amp;quot; scale or custom scales due to the limitation imposed by the max grade.&lt;br /&gt;
* Maximum rating - The highest rating is returned as the final grade. This method is useful for emphasising the best work from participants, allowing them to post one high-quality post as well as a number of more casual responses to others.&lt;br /&gt;
* Minimum rating - The smallest rating is returned as the final grade. This method promotes a culture of high quality for all entries.&lt;br /&gt;
* Sum of ratings - All the ratings for a particular user are added together. Note that the total is not allowed to exceed the maximum grade for the forum. Note: Sum of ratings does not work for the &amp;quot;Separate or Connected Ways of Knowing&amp;quot; scale or custom scales due to the limitation imposed by the max grade.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
*[[Scales]]&lt;br /&gt;
*Blog post by Matt Bury: [https://matbury.com/wordpress/?p=2834 Implementing star ratings in Moodle]&lt;br /&gt;
&lt;br /&gt;
[[de:Wertungen]]&lt;br /&gt;
[[es:Valoraciones]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Moodle_migration&amp;diff=130774</id>
		<title>Moodle migration</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Moodle_migration&amp;diff=130774"/>
		<updated>2018-04-09T14:19:35Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Copy moodledata from the old server to the new server */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
There may be times when you need to move your Moodle site from one server to another. For example, moving a Moodle site from shared hosting service&#039;s server to a dedicated server.&lt;br /&gt;
&lt;br /&gt;
==Recommended method==&lt;br /&gt;
&lt;br /&gt;
This involves moving a whole site from one server to another. If you are changing the domain/IP address to the new server you need to do these steps:&lt;br /&gt;
&lt;br /&gt;
===Turn on maintenance mode===&lt;br /&gt;
&lt;br /&gt;
Place your current Moodle site into [[Maintenance mode]] via &#039;&#039;Site Administration &amp;gt; Server &amp;gt; Maintenance Mode&#039;&#039; to prevent any further additions to the Moodle database. Don&#039;t let administrators login during the migration as they are not affected by the maintenance mode setting.&lt;br /&gt;
&lt;br /&gt;
===Backup the Moodle database on the old sever===&lt;br /&gt;
&lt;br /&gt;
The right way to back up your database depends on which database system you are using. The instructions below are one way to back up a MySQL database. Another option would be to use a tool like phpMyAdmin to manually make a backup. The documentation for your database will give more options. There are many ways to do such backups. Here is an outline of a little script you can run from command line on Unix to backup the database:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /my/backup/directory&lt;br /&gt;
mv moodle-database.sql.gz moodle-database-old.sql.gz&lt;br /&gt;
mysqldump -h example.com -u myusername -p&#039;mypassword&#039; -C -Q -e --create-options mydatabasename &amp;gt; moodle-database.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt; &lt;br /&gt;
If you only write &amp;quot;-p&amp;quot; without your password, you will be prompted for it.&lt;br /&gt;
&lt;br /&gt;
=== Restore the database backup to the new server ===&lt;br /&gt;
&lt;br /&gt;
Copy the database back up files to the new server and restore into the new database server.&lt;br /&gt;
&lt;br /&gt;
Once you have created the new database on the new server:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql -p new_database &amp;lt; moodle-database.sql&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For other databases, follow their instructions for restoring a backup. &lt;br /&gt;
&lt;br /&gt;
===Copy moodledata from the old server to the new server===&lt;br /&gt;
&lt;br /&gt;
Copy the contents of your data directory (check for the value in &amp;lt;code&amp;gt;$CFG-&amp;gt;dataroot&amp;lt;/code&amp;gt;) to the new server. This can be a lot of data, so consider using a good data copying tool like rsync. If using an FTP client, the transfer of the &amp;lt;code&amp;gt;filedir&amp;lt;/code&amp;gt; folder must be in &#039;&#039;&#039;BINARY&#039;&#039;&#039; mode or the files will get corrupted in the process.&lt;br /&gt;
&lt;br /&gt;
NB: It is not necessary to copy the contents of the /moodledata/cache, /moodledata/localcache, /moodledata/sessions, /moodledata/temp, or /moodledata/trashdir directories. Omitting these files will reduce transfer time substantially.&lt;br /&gt;
&lt;br /&gt;
Check the file permissions of the copied files. The web server needs read and write access.&lt;br /&gt;
&lt;br /&gt;
===Copy the Moodle code from the old server to the new server===&lt;br /&gt;
&lt;br /&gt;
You will need to copy the Moodle code itself to the new server (this is the Moodle folder found in your webroot folder e.g. /var/www or public_html). &lt;br /&gt;
&lt;br /&gt;
Check the file permissions of the copied files. The web server needs read access.&lt;br /&gt;
&lt;br /&gt;
===Update config.php with the URL of the new server===&lt;br /&gt;
&lt;br /&gt;
If the migration will move Moodle to a new URL, then update $CFG-&amp;gt;wwwroot in config.php to point to the new location.&lt;br /&gt;
&lt;br /&gt;
Also check the other properties there. Is the path $CFG-&amp;gt;moodledata still correct? Do the database connection settings need to be changed?&lt;br /&gt;
&lt;br /&gt;
===Test the copied site===&lt;br /&gt;
&lt;br /&gt;
You should now be able to log into the new site as admin, and verify that most things are working.&lt;br /&gt;
&lt;br /&gt;
===Update links containing wwwroot in the database===&lt;br /&gt;
&lt;br /&gt;
The one thing we have not fixed is any internal links stored in the database. To fix these use the [[Search and replace tool]] buy going to {wwwroot}/admin/tool/replace/index.php.&lt;br /&gt;
&lt;br /&gt;
Enter the url for your old server (&amp;lt;nowiki&amp;gt;http://oldserver.com/&amp;lt;/nowiki&amp;gt;) and new server (&amp;lt;nowiki&amp;gt;http://newserver.com/&amp;lt;/nowiki&amp;gt;) and it will fix any links stored in the database.&lt;br /&gt;
&lt;br /&gt;
===Take the site out of maintenance mode===&lt;br /&gt;
&lt;br /&gt;
Test the migration some more, then when you are satisfied, remember to take the site out of maintenance mode.&lt;br /&gt;
&lt;br /&gt;
==Quick and hacky method==&lt;br /&gt;
&lt;br /&gt;
If you have shell access on both servers, here is a quick command-line based method.&lt;br /&gt;
&lt;br /&gt;
*Set up a new empty database on the &#039;&#039;&#039;new&#039;&#039;&#039; server.&lt;br /&gt;
*Place your existing Moodle site into maintenance mode.&lt;br /&gt;
*Login to shell on the &#039;&#039;&#039;old&#039;&#039;&#039; existing server.&lt;br /&gt;
*Use rsync to copy &#039;&#039;&#039;moodledata&#039;&#039;&#039; and &#039;&#039;&#039;public_html&#039;&#039;&#039; or &#039;&#039;&#039;moodle&#039;&#039;&#039; folders (or whatever directory your Moodle install is in) to the new server - execute (replacing caps with your details; SOURCE = the directory you want to copy) for each directory:&lt;br /&gt;
::&amp;lt;code&amp;gt;rsync -av -e ssh SOURCE/ USERNAME@NEW_SERVER.COM:/PATH/TO/DESTINATION/&amp;lt;/code&amp;gt;&lt;br /&gt;
*Dump existing database and move and import into database on new server by executing:&lt;br /&gt;
::&amp;lt;code&amp;gt;mysqldump --allow-keywords --opt -uMySQL_USERNAME -pPASSWORD DATABASE | ssh USER@DOMAIN &amp;quot;mysql -uMySQL_USERNAME -pPASSWORD DATABASE&amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
*Replace any links in the database that contin the full site URL:&lt;br /&gt;
::&amp;lt;code&amp;gt;#sed -e &#039;s/oldserver.com/newserver.com/g&#039; oldmysqldump.sql &amp;gt; newmysqldump.sql&amp;lt;/code&amp;gt;&lt;br /&gt;
*On the &#039;&#039;&#039;new server&#039;&#039;&#039;, update &#039;&#039;&#039;config.php&#039;&#039;&#039; with relevant details where applicable (e.g. database name and user details, the wwwroot and the dataroot).&lt;br /&gt;
*Check ownership and permissions are correct on both moodle code and moodledata directories.&lt;br /&gt;
*Make sure everything is working.&lt;br /&gt;
&lt;br /&gt;
Takes about 15 minutes for a small site.  However, transferring several Gigabytes of data for a larger site can take hours depending on your network connection and hard drive read/write speed.&lt;br /&gt;
&lt;br /&gt;
When you are happy all has gone well, set up redirects/make DNS changes if required, take new site out of maintenance mode and &amp;quot;switch off&amp;quot; old site. &lt;br /&gt;
&lt;br /&gt;
*If you are switching the ip address from the old server to the new one, you will need to turn off the old server before firing up the new one to avoid ip addressing conflicts and confusion!&lt;br /&gt;
&lt;br /&gt;
==Other considerations==&lt;br /&gt;
&lt;br /&gt;
===Upgrade Moodle at the same time?===&lt;br /&gt;
&lt;br /&gt;
While doing the work of migrating Moodle, you might want to [[Upgrading | upgrade Moodle]] to the latest version at the same time. On the other hand, if you do that, and something breaks, you won&#039;t be sure which change caused the problem, so the more cautious approach is to change one thing at a time, and test in between to verify that all is well.&lt;br /&gt;
&lt;br /&gt;
===DNS &amp;amp; masquerading changes===&lt;br /&gt;
&lt;br /&gt;
You may have had to change the DNS entries for the new Moodle site. If you have done so, it will take some time for the changes to replicate, so be patient. If your server is located behind a firewall, you may also have to change your firewall rules to allow access to the new server. See the [[Masquerading | masquerading docs]].&lt;br /&gt;
&lt;br /&gt;
===Internal and external access===&lt;br /&gt;
&lt;br /&gt;
If you have a set up where your Moodle site can be accessed via a network and via the internet, ensure you check that the new site can be accessed internally and externally.&lt;br /&gt;
&lt;br /&gt;
===ReCAPTURE===&lt;br /&gt;
If you migrate to a new domain and have setup [[Email-based_self-registration]], you need to create new API-Keys at google. You will find the explanation and links to google  in [[Email-based_self-registration]].&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Site backup]]&lt;br /&gt;
* [[Site restore]]&lt;br /&gt;
* [[Backup and restore FAQ]]&lt;br /&gt;
&lt;br /&gt;
==Any questions?==&lt;br /&gt;
&lt;br /&gt;
Please post in the [http://moodle.org/mod/forum/view.php?id=28 Installing and upgrading help forum] on moodle.org&lt;br /&gt;
&lt;br /&gt;
[[es:Migración de Moodle]]&lt;br /&gt;
[[fr:Migration de Moodle]]&lt;br /&gt;
[[ja:Moodle移行]]&lt;br /&gt;
[[de:Moodle-Migration]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Activity_completion_settings&amp;diff=125890</id>
		<title>Activity completion settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Activity_completion_settings&amp;diff=125890"/>
		<updated>2016-11-10T16:14:18Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Require passing grade */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Activity completion}}&lt;br /&gt;
==Activity settings==&lt;br /&gt;
&lt;br /&gt;
Depending on the type of activity, there are different completion requirements. For example, a [[Page|Page]] might have the requirement to &#039;&#039;require view&#039;&#039;; a [[Quiz|Quiz]] might have the requirement to &#039;&#039;require grade&#039;&#039; while a [[Forum|Forum]] might have the requirement to &#039;&#039;require posts/discussions/replies&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery widths=&amp;quot;300px&amp;quot;&amp;gt;&lt;br /&gt;
File:Activity_completion_settings_common.png|Common settings for most graded activities&lt;br /&gt;
File:Forumactivitycompletion.png|Forum activity settings&lt;br /&gt;
File:24assignmentsubmit.png|Assignment settings&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Completion tracking===&lt;br /&gt;
There are three options:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;Do not indicate activity completion&#039;&#039; - this will not show checks (ticks) next to the activity&lt;br /&gt;
*&#039;&#039;Students can manually mark the activity as completed&#039;&#039; - students press the check (tick) to change it. (Note: they can do this even without doing the activity!)&lt;br /&gt;
*&#039;&#039;Show activity as complete when conditions are met&#039;&#039; - the selected completion criteria must be met before the check (tick) will change style&lt;br /&gt;
&lt;br /&gt;
===Require view===&lt;br /&gt;
&lt;br /&gt;
When this option is turned on, students have to view the activity in order to complete it.&lt;br /&gt;
&lt;br /&gt;
* In most cases, clicking the link is enough to &#039;view&#039; the activity.&lt;br /&gt;
* You should usually not turn on the &#039;view&#039; condition if you have other requirements - this makes extra work for the server and it&#039;s unlikely that a student could meet any other conditions without viewing the activity.&lt;br /&gt;
&lt;br /&gt;
===Require grade===&lt;br /&gt;
&lt;br /&gt;
When this option is turned on, students have to get a grade on the activity in order to complete it. For example, a quiz would be marked completed as soon as the user submits it (so long as it doesn&#039;t contain any &amp;quot;essay&amp;quot; questions).&lt;br /&gt;
&lt;br /&gt;
It does not matter how well the student did. Getting any grade will mark the activity completed.&lt;br /&gt;
&lt;br /&gt;
====Setting a grade to pass for a quiz====&lt;br /&gt;
&lt;br /&gt;
It is possible to distinguish between &#039;pass&#039; and &#039;fail&#039; grades so that a quiz becomes &#039;completed, passed&#039; or &#039;completed, not passed&#039; instead of just &#039;completed&#039;. These results show a different icon and alternative text in &#039;&#039;Course administration &amp;gt;Reports &amp;gt;Activity completion:&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
[[File:quizpassfail.png|thumb|400px|center]]&lt;br /&gt;
&lt;br /&gt;
To set this up, you need to specify the pass value for the quiz activity&#039;s individual grade:&lt;br /&gt;
&lt;br /&gt;
# Go to the Quiz settings and in the Grade section, locate the &#039;Grade to pass&#039; field.&lt;br /&gt;
# Enter a grade value (e.g. 5.0) &lt;br /&gt;
# Click the &#039;Save changes&#039; button&lt;br /&gt;
&lt;br /&gt;
&#039;Completed, passed&#039; shows a green tick and &#039;Completed, not passed&#039; shows a red cross.&lt;br /&gt;
&lt;br /&gt;
Once you have done this, anybody submitting the quiz will receive either the pass or fail completion icon. If the quiz can be taken multiple times, the completion icon will automatically update whenever the grade does.&lt;br /&gt;
&lt;br /&gt;
There is one limitation: this only works if grades are immediately visible to students. The grade must be neither permanently hidden, nor hidden until a certain date. If a grade is hidden then only the standard &#039;completed&#039; state will be displayed - even once the hidden date has passed.&lt;br /&gt;
&lt;br /&gt;
====Require passing grade====&lt;br /&gt;
&lt;br /&gt;
If a &#039;Grade to pass&#039; is set for the quiz then it will be marked complete once the student obtains this grade. Please note that &#039;&#039;Require grade&#039;&#039; must also be checked or it will never register as completed.&lt;br /&gt;
&lt;br /&gt;
====All available attempts completed====&lt;br /&gt;
&lt;br /&gt;
If a certain number of attempts are allowed, the quiz may be marked complete once the student has done them all (even if, for example, they did not achieve the passing grade.)&lt;br /&gt;
&lt;br /&gt;
===Quiz completion settings===&lt;br /&gt;
&lt;br /&gt;
The following settings are specific to the quiz (in addition to the standard ones).&lt;br /&gt;
[[File:quizpassinggrade.png|thumb|500px|center]]&lt;br /&gt;
&lt;br /&gt;
===Lesson completion settings===&lt;br /&gt;
The following settings are specific to the Lesson activity (in additon to the standard ones)&lt;br /&gt;
&lt;br /&gt;
[[File:newlessonconditions.png]]&lt;br /&gt;
&lt;br /&gt;
====Require end reached====&lt;br /&gt;
In order for the lesson to be marked complete, the student must go to the very last page of the lesson.&lt;br /&gt;
&lt;br /&gt;
====Require time spent====&lt;br /&gt;
In order for the lesson to be marked complete, the student must stay within the lesson pages for the time specified by the teacher here. The time can range from seconds to weeks. If they finish the lesson sooner, they will see an alert saying they did not reach the minimum time acceptable and may have to repeat the lesson.&lt;br /&gt;
&lt;br /&gt;
[[File:lessonstudentviewrequiretimespent.png|thumb|400px|center|Student message if the condition is not met.]]&lt;br /&gt;
&lt;br /&gt;
===Assignment completion settings===&lt;br /&gt;
&lt;br /&gt;
====Require grade ====&lt;br /&gt;
&lt;br /&gt;
=====Student must receive a grade to complete this activity=====&lt;br /&gt;
&lt;br /&gt;
If enabled, the activity is considered complete when a student receives a grade. This works the same way as the Quiz require grade setting does.&lt;br /&gt;
&lt;br /&gt;
=====Student must submit to this activity to complete it=====&lt;br /&gt;
This setting means that an assignment may  be considered as completed once the student has submitted it but before the teacher has had time to grade it.&lt;br /&gt;
&lt;br /&gt;
===Forum completion settings===&lt;br /&gt;
&lt;br /&gt;
====Require posts====&lt;br /&gt;
This setting is seen in forums. For the forum to be classed as &amp;quot;complete&amp;quot; the student must either start a discussion or reply to a discussion. The number of posts they must make can be specified in the box.&lt;br /&gt;
&lt;br /&gt;
====Require discussions====&lt;br /&gt;
This setting is seen in forums. For the forum to be classed as &amp;quot;complete&amp;quot;, the student must start a discussion topic. The number of posts they must make can be specified in the box.&lt;br /&gt;
&lt;br /&gt;
====Require replies====&lt;br /&gt;
This setting is seen in forums. For the forum to be classed as &amp;quot;complete&amp;quot; the student must reply to a discussion. The number of posts they must make can be specified in the box.&lt;br /&gt;
&lt;br /&gt;
===Expect completed on===&lt;br /&gt;
&lt;br /&gt;
The date is not shown to students and is only displayed in the [[Activity completion report]].&lt;br /&gt;
&lt;br /&gt;
==Locked completion options==&lt;br /&gt;
&lt;br /&gt;
If at least one person has completed an activity, completion options are &#039;locked&#039;. This is because changing these options may result in unexpected behaviour.  For example, if somebody has ticked an activity as manually completed, and you then set it to automatic completion, the activity will become unticked - very confusing for the student who had already ticked it!&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; It is best not to unlock options unless you are sure it won&#039;t cause problems - for example, if you know that students don&#039;t have access to the course yet, so it will only be staff who have marked the activity completed when testing.&lt;br /&gt;
&lt;br /&gt;
==What happens when you unlock==&lt;br /&gt;
&lt;br /&gt;
Once you unlock options and then click &#039;Save changes&#039;, all completion information for the activity will be deleted and, if possible, regenerated according to the new settings.&lt;br /&gt;
&lt;br /&gt;
* If the new completion option is manual, everyone will be set to &#039;not completed&#039; regardless of any previous setting.&lt;br /&gt;
* If it is automatic then, depending on the options chosen, the system may or may not be able to construct a correct current value for everyone.&lt;br /&gt;
** The &#039;viewed&#039; requirement will not work - even if a student has viewed the activity before, it will not be marked completed until they view it again.&lt;br /&gt;
** Most other options will be recalculated successfully.&lt;br /&gt;
&lt;br /&gt;
If you change completion options while a student is logged in, they may not see the changes for some minutes.&lt;br /&gt;
&lt;br /&gt;
==Required site settings==&lt;br /&gt;
To use activity completion, the feature needs to be enabled for the site by an administrator as follows:&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Site administration &amp;gt; [[Advanced_features| Advanced features]]&#039;&#039; check the &amp;quot;Enable completion tracking&amp;quot; box.&lt;br /&gt;
*The admin may also set the default completion tracking setting when adding new activities, choosing from &#039;Do not indicate completion&#039; or &#039; Use activity default&#039;&lt;br /&gt;
{|&lt;br /&gt;
|[[File:26defaultactivtycompletion.png|thumb|Selecting the default completion tracking setting]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Click the &#039;Save changes&#039; button&lt;br /&gt;
&lt;br /&gt;
==Required course settings==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Administration &amp;gt; Course administration &amp;gt; Edit settings&#039;&#039; and look for the &#039;&#039;Completion tracking&#039;&#039; section.&lt;br /&gt;
&lt;br /&gt;
You must enable this setting.&lt;br /&gt;
&lt;br /&gt;
[[Category: Completion]]&lt;br /&gt;
&lt;br /&gt;
[[de:Einstellungen zum Aktivitätsabschluss]]&lt;br /&gt;
[[es:Configuraciones de finalización de actividad]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Chat_settings&amp;diff=122341</id>
		<title>Chat settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Chat_settings&amp;diff=122341"/>
		<updated>2016-02-25T15:05:49Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Chat server daemon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Chat}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding a Chat to your course==&lt;br /&gt;
&lt;br /&gt;
*With the editing turned on,in the section you wish to add your chat, click the &amp;quot;Add an activity or resource&amp;quot; link (or, if not present, the &amp;quot;Add an activity&amp;quot; drop down menu )and choose &#039;&#039;Chat&#039;&#039; All settings may expanded by clicking the &amp;quot;Expand all&amp;quot; link top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:chatgeneral26.png|General settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Name of this chat room===&lt;br /&gt;
*Whatever you type here will form the link learners click on to enter the chat so it is helpful to give it a name that suggests its purpose - for example &amp;quot;Student council discussion&amp;quot; or &amp;quot;Field trip planning meeting&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
Type the description of the chat here. Include precise instructions for students regarding the subject of the chat. Click the icon on the left to expand the toolbar, and drag the bottom right of the text box out to expand it.&lt;br /&gt;
&lt;br /&gt;
===Display description on course page===&lt;br /&gt;
If this box is ticked, the description will appear on the course page just below the name of the Chat.&lt;br /&gt;
&lt;br /&gt;
==Chat sessions==&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:chatsessions25.png|thumb|450px|Chat sessions settings expanded.]]&lt;br /&gt;
|}&lt;br /&gt;
===Next chat time===&lt;br /&gt;
&lt;br /&gt;
*The day and hour of the next chat session. This will appear in the calendar so students know the schedule but it doesn&#039;t stop them accessing the chatroom at any other time.&lt;br /&gt;
*If you don&#039;t want them in the chatroom at other times, then hide it (with the eye icon) or use [[Conditional activities]] to restrict access.&lt;br /&gt;
*If you don&#039;t wish to schedule chat times then ignore this and choose from the next settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;For courses involving users across different time zones, it is useful to know that the time you set here will be adjusted to match the time zone of the user viewing it.&lt;br /&gt;
&lt;br /&gt;
===Repeat/publish sessions===&lt;br /&gt;
&lt;br /&gt;
*There are  four options for scheduling  future chat sessions: &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Don&#039;t publish any chat times&#039;&#039;&#039;- there are no set times and students are welcome to chat at any time. &lt;br /&gt;
# &#039;&#039;&#039;No repeats - publish the specified time only&#039;&#039;&#039;- only  the Next chat  time will be published.  This could be used to schedule special events or meetings or simply to help learners identify a common time in which they can expect to find other learners in the chat room.&lt;br /&gt;
# &#039;&#039;&#039;At the same time every day&#039;&#039;&#039;- Daily chats are useful for scheduling daily office hours or work sessions with learners.&lt;br /&gt;
# &#039;&#039;&#039;At the same time every week&#039;&#039;&#039;--This setting will  schedule a chat for the same day and time every week, which could be useful for instance for meeting and reviewing key ideas and questions related to the week’s content/assessment.&lt;br /&gt;
&lt;br /&gt;
===Save past chat sessions===&lt;br /&gt;
&lt;br /&gt;
*Choose from the dropdown how many days to save - or save everything by selecting &#039;&#039;Never delete messages&#039;&#039;&lt;br /&gt;
*If you have any concerns about discussions that might take place in your chat room, you may want to keep transcripts to check the suitablility of what is discussed. If your learners are using the chatroom to collaborate on a group project you won&#039;t want to delete the messages until the project is complete.&lt;br /&gt;
&lt;br /&gt;
===Everyone can view past sessions===&lt;br /&gt;
&lt;br /&gt;
*Decide here whether or not allow everyone to view past chat sessions. (Teachers can always view past sessions)&lt;br /&gt;
&lt;br /&gt;
==Common module settings==&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
&lt;br /&gt;
See [[Common module settings]]&lt;br /&gt;
&lt;br /&gt;
==Restrict access/Activity completion==&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
&lt;br /&gt;
These settings are visible if [[Conditional activities]] and [[Activity completion]] have been enabled in the site and the course.&lt;br /&gt;
&lt;br /&gt;
==Locally assigned roles==&lt;br /&gt;
&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Chat administration &amp;gt; Locally assigned roles&#039;&#039; selected users can be given additional roles in the activity, such as the capability to delete chat logs.&lt;br /&gt;
&lt;br /&gt;
*Role permissions for the activity can be changed in &#039;&#039;Administration &amp;gt; Chat administration &amp;gt; Permissions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
The chat module has additional settings which may be changed by an administrator in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Activity modules &amp;gt; Chat&#039;&#039;. They depend on the chat method which has been selected:&lt;br /&gt;
&lt;br /&gt;
[[File:Chatmethod.png]]&lt;br /&gt;
&lt;br /&gt;
===Ajax===&lt;br /&gt;
*This is the default method. It works everywhere but if many people are chatting it can put a large load on the server. Its particular settings are:  &lt;br /&gt;
**&#039;&#039;&#039;Refresh user list&#039;&#039;&#039;  - choose the number of seconds after which the user list is refreshed&lt;br /&gt;
**&#039;&#039;&#039;Disconnect timeout&#039;&#039;&#039; - choose the number of seconds after which we detect a user has disconnected.&lt;br /&gt;
&lt;br /&gt;
===Normal method===&lt;br /&gt;
*The particular settings for this method are:&lt;br /&gt;
**&#039;&#039;&#039;Refresh room&#039;&#039;&#039; - choose the number of seconds after which the room is refreshed&lt;br /&gt;
**&#039;&#039;&#039;Update method&#039;&#039;&#039; - choose how to update the chatroom - &amp;quot;Keep alive&amp;quot; or &amp;quot;Stream&amp;quot; strategy. Stream works better but your sever might not support it.&lt;br /&gt;
&lt;br /&gt;
===Chat server daemon===&lt;br /&gt;
*A daemon is a program that runs all the time in the background. In this case it&#039;s a PHP script, listening to a particular port on your server, accepting and giving out chat information.If you intend to use the chat activity a lot, then you should consider using a chat server daemon to reduce server load.Its particular settings are:&lt;br /&gt;
**Server name&lt;br /&gt;
**Server IP address&lt;br /&gt;
**Server port&lt;br /&gt;
**Max users&lt;br /&gt;
&lt;br /&gt;
Then you need to start the chat daemon script from the command line:&lt;br /&gt;
&lt;br /&gt;
 cd moodle/mod/chat&lt;br /&gt;
 php chatd.php --start &amp;amp;&lt;br /&gt;
&lt;br /&gt;
How to stop the chat daemon script:&lt;br /&gt;
&lt;br /&gt;
 Moodle staff, please give details!&lt;br /&gt;
&lt;br /&gt;
One option is to restart the server via the command line:&lt;br /&gt;
&lt;br /&gt;
 sudo reboot&lt;br /&gt;
&lt;br /&gt;
==Chat capabilities==&lt;br /&gt;
&lt;br /&gt;
*[[Capabilities/mod/chat:chat|Access a chat room]]&lt;br /&gt;
*[[Capabilities/mod/chat:deletelog|Delete chat logs]]&lt;br /&gt;
*[[Capabilities/mod/chat:exportparticipatedsession|Export chat session which you took part in]]&lt;br /&gt;
*[[Capabilities/mod/chat:exportsession|Export any chat session]]&lt;br /&gt;
*[[Capabilities/mod/chat:readlog|Read chat logs]]&lt;br /&gt;
*[[Capabilities/mod/chat:addinstance|Add a new chat]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://youtu.be/TFRCZ21tvNk The Chat actvitiy in Moodle 2.x] MoodleBites video on YouTube  &lt;br /&gt;
&lt;br /&gt;
[[de:Chat konfigurieren]]&lt;br /&gt;
[[fr:Ajouter/modifier un chat]]&lt;br /&gt;
[[es:Configuraciones de chat]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Chat_settings&amp;diff=122340</id>
		<title>Chat settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Chat_settings&amp;diff=122340"/>
		<updated>2016-02-25T15:03:25Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Chat server daemon */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Chat}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Adding a Chat to your course==&lt;br /&gt;
&lt;br /&gt;
*With the editing turned on,in the section you wish to add your chat, click the &amp;quot;Add an activity or resource&amp;quot; link (or, if not present, the &amp;quot;Add an activity&amp;quot; drop down menu )and choose &#039;&#039;Chat&#039;&#039; All settings may expanded by clicking the &amp;quot;Expand all&amp;quot; link top right.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:chatgeneral26.png|General settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Name of this chat room===&lt;br /&gt;
*Whatever you type here will form the link learners click on to enter the chat so it is helpful to give it a name that suggests its purpose - for example &amp;quot;Student council discussion&amp;quot; or &amp;quot;Field trip planning meeting&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===Description===&lt;br /&gt;
Type the description of the chat here. Include precise instructions for students regarding the subject of the chat. Click the icon on the left to expand the toolbar, and drag the bottom right of the text box out to expand it.&lt;br /&gt;
&lt;br /&gt;
===Display description on course page===&lt;br /&gt;
If this box is ticked, the description will appear on the course page just below the name of the Chat.&lt;br /&gt;
&lt;br /&gt;
==Chat sessions==&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|[[File:chatsessions25.png|thumb|450px|Chat sessions settings expanded.]]&lt;br /&gt;
|}&lt;br /&gt;
===Next chat time===&lt;br /&gt;
&lt;br /&gt;
*The day and hour of the next chat session. This will appear in the calendar so students know the schedule but it doesn&#039;t stop them accessing the chatroom at any other time.&lt;br /&gt;
*If you don&#039;t want them in the chatroom at other times, then hide it (with the eye icon) or use [[Conditional activities]] to restrict access.&lt;br /&gt;
*If you don&#039;t wish to schedule chat times then ignore this and choose from the next settings.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039;For courses involving users across different time zones, it is useful to know that the time you set here will be adjusted to match the time zone of the user viewing it.&lt;br /&gt;
&lt;br /&gt;
===Repeat/publish sessions===&lt;br /&gt;
&lt;br /&gt;
*There are  four options for scheduling  future chat sessions: &lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Don&#039;t publish any chat times&#039;&#039;&#039;- there are no set times and students are welcome to chat at any time. &lt;br /&gt;
# &#039;&#039;&#039;No repeats - publish the specified time only&#039;&#039;&#039;- only  the Next chat  time will be published.  This could be used to schedule special events or meetings or simply to help learners identify a common time in which they can expect to find other learners in the chat room.&lt;br /&gt;
# &#039;&#039;&#039;At the same time every day&#039;&#039;&#039;- Daily chats are useful for scheduling daily office hours or work sessions with learners.&lt;br /&gt;
# &#039;&#039;&#039;At the same time every week&#039;&#039;&#039;--This setting will  schedule a chat for the same day and time every week, which could be useful for instance for meeting and reviewing key ideas and questions related to the week’s content/assessment.&lt;br /&gt;
&lt;br /&gt;
===Save past chat sessions===&lt;br /&gt;
&lt;br /&gt;
*Choose from the dropdown how many days to save - or save everything by selecting &#039;&#039;Never delete messages&#039;&#039;&lt;br /&gt;
*If you have any concerns about discussions that might take place in your chat room, you may want to keep transcripts to check the suitablility of what is discussed. If your learners are using the chatroom to collaborate on a group project you won&#039;t want to delete the messages until the project is complete.&lt;br /&gt;
&lt;br /&gt;
===Everyone can view past sessions===&lt;br /&gt;
&lt;br /&gt;
*Decide here whether or not allow everyone to view past chat sessions. (Teachers can always view past sessions)&lt;br /&gt;
&lt;br /&gt;
==Common module settings==&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
&lt;br /&gt;
See [[Common module settings]]&lt;br /&gt;
&lt;br /&gt;
==Restrict access/Activity completion==&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
&lt;br /&gt;
These settings are visible if [[Conditional activities]] and [[Activity completion]] have been enabled in the site and the course.&lt;br /&gt;
&lt;br /&gt;
==Locally assigned roles==&lt;br /&gt;
&lt;br /&gt;
*In &#039;&#039;Administration &amp;gt; Chat administration &amp;gt; Locally assigned roles&#039;&#039; selected users can be given additional roles in the activity, such as the capability to delete chat logs.&lt;br /&gt;
&lt;br /&gt;
*Role permissions for the activity can be changed in &#039;&#039;Administration &amp;gt; Chat administration &amp;gt; Permissions&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
The chat module has additional settings which may be changed by an administrator in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Activity modules &amp;gt; Chat&#039;&#039;. They depend on the chat method which has been selected:&lt;br /&gt;
&lt;br /&gt;
[[File:Chatmethod.png]]&lt;br /&gt;
&lt;br /&gt;
===Ajax===&lt;br /&gt;
*This is the default method. It works everywhere but if many people are chatting it can put a large load on the server. Its particular settings are:  &lt;br /&gt;
**&#039;&#039;&#039;Refresh user list&#039;&#039;&#039;  - choose the number of seconds after which the user list is refreshed&lt;br /&gt;
**&#039;&#039;&#039;Disconnect timeout&#039;&#039;&#039; - choose the number of seconds after which we detect a user has disconnected.&lt;br /&gt;
&lt;br /&gt;
===Normal method===&lt;br /&gt;
*The particular settings for this method are:&lt;br /&gt;
**&#039;&#039;&#039;Refresh room&#039;&#039;&#039; - choose the number of seconds after which the room is refreshed&lt;br /&gt;
**&#039;&#039;&#039;Update method&#039;&#039;&#039; - choose how to update the chatroom - &amp;quot;Keep alive&amp;quot; or &amp;quot;Stream&amp;quot; strategy. Stream works better but your sever might not support it.&lt;br /&gt;
&lt;br /&gt;
===Chat server daemon===&lt;br /&gt;
*A daemon is a program that runs all the time in the background. In this case it&#039;s a PHP script, listening to a particular port on your server, accepting and giving out chat information.If you intend to use the chat activity a lot, then you should consider using a chat server daemon to reduce server load.Its particular settings are:&lt;br /&gt;
**Server name&lt;br /&gt;
**Server IP address&lt;br /&gt;
**Server port&lt;br /&gt;
**Max users&lt;br /&gt;
&lt;br /&gt;
Then you need to start the chat daemon script from the command line:&lt;br /&gt;
&lt;br /&gt;
 cd moodle/mod/chat&lt;br /&gt;
 php chatd.php --start &amp;amp;&lt;br /&gt;
&lt;br /&gt;
How to stop the chat daemon script:&lt;br /&gt;
&lt;br /&gt;
 Moodle staff, please give details!&lt;br /&gt;
&lt;br /&gt;
==Chat capabilities==&lt;br /&gt;
&lt;br /&gt;
*[[Capabilities/mod/chat:chat|Access a chat room]]&lt;br /&gt;
*[[Capabilities/mod/chat:deletelog|Delete chat logs]]&lt;br /&gt;
*[[Capabilities/mod/chat:exportparticipatedsession|Export chat session which you took part in]]&lt;br /&gt;
*[[Capabilities/mod/chat:exportsession|Export any chat session]]&lt;br /&gt;
*[[Capabilities/mod/chat:readlog|Read chat logs]]&lt;br /&gt;
*[[Capabilities/mod/chat:addinstance|Add a new chat]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://youtu.be/TFRCZ21tvNk The Chat actvitiy in Moodle 2.x] MoodleBites video on YouTube  &lt;br /&gt;
&lt;br /&gt;
[[de:Chat konfigurieren]]&lt;br /&gt;
[[fr:Ajouter/modifier un chat]]&lt;br /&gt;
[[es:Configuraciones de chat]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Location&amp;diff=121899</id>
		<title>Location</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Location&amp;diff=121899"/>
		<updated>2016-01-07T22:34:56Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* GeoIP City data file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Managing a Moodle site}}&lt;br /&gt;
==Location settings==&lt;br /&gt;
An administrator can change the following location settings in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Location &amp;gt; Location settings&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Time zone settings===&lt;br /&gt;
&lt;br /&gt;
The time zone is used to help convert the raw timestamps in the database to human readable dates and times, for the user who is requesting the page. &lt;br /&gt;
&lt;br /&gt;
====Default time zone====&lt;br /&gt;
Use this to set the default time zone for your site. This should be the time zone that most users use, or if that is difficult, where you  When available, choose the Area/Location that is proper for you rather than use the UTC settings. These [http://en.wikipedia.org/wiki/Tz_database names are standardized by the IANA]. &lt;br /&gt;
&lt;br /&gt;
Note: As of Moodle 2.9, the older setting and button to allow you to update time zone codes from Moodle.org has been replaced with standard PHP date and time code. If your PHP version is over 6 months old, time zone data should be updated using the [http://pecl.php.net/package/timezonedb PECL timezonedb package].&lt;br /&gt;
&lt;br /&gt;
====Force timezone====&lt;br /&gt;
If a particular time zone is forced, users will see the name of the time zone on their edit profile page and will be not be able to change it. If you wish to allow individual users to choose their own time zone, leave this at the default &amp;quot;Users can choose their own time zone.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Default country====&lt;br /&gt;
Select the country to appear by default on a new user account page form. &lt;br /&gt;
&lt;br /&gt;
==== Default city====&lt;br /&gt;
Enter a default city for new user profiles. This may be left blank.&lt;br /&gt;
&lt;br /&gt;
===IP address lookup===&lt;br /&gt;
====GeoIP City data file====&lt;br /&gt;
Location of GeoIP City binary data file. This is a non-invasive way to determine geographical and other information about  Internet visitors in real-time. This file is not part of Moodle distribution and must be obtained separately from MaxMind.  There is a GeoIPLite version for free at [http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz]. Extract the GeoLietCity.dat file and upload it to /moodledata/geoip/GeoLiteCity.dat.&lt;br /&gt;
&lt;br /&gt;
You can check to see if the GeoIP data file is available to Moodle by going to: Administration &amp;gt; Site administration &amp;gt; Location &amp;gt; Location settings, under IP Address Lookup.&lt;br /&gt;
&lt;br /&gt;
====Google Maps API key====&lt;br /&gt;
Google Maps for IP address lookup visualization key. The Google Maps API lets you embed Google Maps with JavaScript.  This is free.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; There is no longer support for Google maps API V2 as it has been deprecated since 2010. V3 is now used. See here for details: https://developers.google.com/maps/documentation/javascript/tutorial#api_key&lt;br /&gt;
&lt;br /&gt;
After updating the information in this section, IPs that are displayed as a link, such as in reports, when clicked will open new window with a Google Map indicating the location of the IP, if found and if not a private address.&lt;br /&gt;
&lt;br /&gt;
====All country codes====&lt;br /&gt;
This is the list of countries that may be selected in various places, for example in a user&#039;s profile. If blank (the default) the list in countries.php in the standard English language pack is used. Otherwise, you can specify a comma-separated list of codes, for example &#039;GB,FR,ES&#039; in [http://en.wikipedia.org/wiki/ISO_3166-1 ISO-3166-1 format].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[es:Localización]]&lt;br /&gt;
[[eu:Kokagunea]]&lt;br /&gt;
[[de:Lokales]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Location&amp;diff=121898</id>
		<title>Location</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Location&amp;diff=121898"/>
		<updated>2016-01-07T22:34:26Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* GeoIP City data file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Managing a Moodle site}}&lt;br /&gt;
==Location settings==&lt;br /&gt;
An administrator can change the following location settings in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Location &amp;gt; Location settings&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Time zone settings===&lt;br /&gt;
&lt;br /&gt;
The time zone is used to help convert the raw timestamps in the database to human readable dates and times, for the user who is requesting the page. &lt;br /&gt;
&lt;br /&gt;
====Default time zone====&lt;br /&gt;
Use this to set the default time zone for your site. This should be the time zone that most users use, or if that is difficult, where you  When available, choose the Area/Location that is proper for you rather than use the UTC settings. These [http://en.wikipedia.org/wiki/Tz_database names are standardized by the IANA]. &lt;br /&gt;
&lt;br /&gt;
Note: As of Moodle 2.9, the older setting and button to allow you to update time zone codes from Moodle.org has been replaced with standard PHP date and time code. If your PHP version is over 6 months old, time zone data should be updated using the [http://pecl.php.net/package/timezonedb PECL timezonedb package].&lt;br /&gt;
&lt;br /&gt;
====Force timezone====&lt;br /&gt;
If a particular time zone is forced, users will see the name of the time zone on their edit profile page and will be not be able to change it. If you wish to allow individual users to choose their own time zone, leave this at the default &amp;quot;Users can choose their own time zone.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Default country====&lt;br /&gt;
Select the country to appear by default on a new user account page form. &lt;br /&gt;
&lt;br /&gt;
==== Default city====&lt;br /&gt;
Enter a default city for new user profiles. This may be left blank.&lt;br /&gt;
&lt;br /&gt;
===IP address lookup===&lt;br /&gt;
====GeoIP City data file====&lt;br /&gt;
Location of GeoIP City binary data file. This is a non-invasive way to determine geographical and other information about  Internet visitors in real-time. This file is not part of Moodle distribution and must be obtained separately from MaxMind.  There is a GeoIPLite version for free at [http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz]. Extract the GeoLietCity.dat file and upload it to /moodledata/geoip/GeoLiteCity.dat.&lt;br /&gt;
&lt;br /&gt;
You can check to see if the GeoIP data file is available to Moodle by going to: Administration &amp;gt; Site administration &amp;gt; Location &amp;gt; Location settings, under IP Address Lookup.&lt;br /&gt;
&lt;br /&gt;
====Google Maps API key====&lt;br /&gt;
Google Maps for IP address lookup visualization key. The Google Maps API lets you embed Google Maps with JavaScript.  This is free.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;NOTE:&#039;&#039;&#039; There is no longer support for Google maps API V2 as it has been deprecated since 2010. V3 is now used. See here for details: https://developers.google.com/maps/documentation/javascript/tutorial#api_key&lt;br /&gt;
&lt;br /&gt;
After updating the information in this section, IPs that are displayed as a link, such as in reports, when clicked will open new window with a Google Map indicating the location of the IP, if found and if not a private address.&lt;br /&gt;
&lt;br /&gt;
====All country codes====&lt;br /&gt;
This is the list of countries that may be selected in various places, for example in a user&#039;s profile. If blank (the default) the list in countries.php in the standard English language pack is used. Otherwise, you can specify a comma-separated list of codes, for example &#039;GB,FR,ES&#039; in [http://en.wikipedia.org/wiki/ISO_3166-1 ISO-3166-1 format].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[es:Localización]]&lt;br /&gt;
[[eu:Kokagunea]]&lt;br /&gt;
[[de:Lokales]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Installing_plugins&amp;diff=111001</id>
		<title>Installing plugins</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Installing_plugins&amp;diff=111001"/>
		<updated>2014-03-11T16:39:03Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* =A file permissions error has occurred */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
An add-on is an optional plugin for adding additional features and functionality to Moodle, such as new activities, new quiz question types, new reports, integrations with other systems and many more. &lt;br /&gt;
&lt;br /&gt;
==What is meant by the words &#039;plugin&#039; and &#039;add-on&#039;?==&lt;br /&gt;
&lt;br /&gt;
Moodle = core code + plugins&lt;br /&gt;
&lt;br /&gt;
Plugins may be either standard plugins (included in the Moodle download package) or add-ons.&lt;br /&gt;
&lt;br /&gt;
== Considerations for production sites (skip if you&#039;re just moodling) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VERY IMPORTANT&#039;&#039;&#039; Warning: Please be aware that some add-ons have not been reviewed, and the quality and/or suitability for your Moodle site has not been checked. Please be careful. It may not do what you expect, it may have serious security issues or it may even not work at all. This is however improving over time with the evolving new plugins directory system.&lt;br /&gt;
&lt;br /&gt;
* If you have a large site for production purposes consider if you &#039;&#039;&#039;really&#039;&#039;&#039; need the add-on? More functionality means more things to support, more things to (potentially) go wrong and more things to worry about at upgrade time. &lt;br /&gt;
* Is the add-on supported and maintained? If something goes wrong can you get support? Will bugs be fixed?&lt;br /&gt;
* If the add-on does not work in a future version of Moodle, what will you do about it?&lt;br /&gt;
* Beware of &#039;&#039;patches&#039;&#039; ([https://moodle.org/plugins/browse.php?list=category&amp;amp;id=38 Moodle Plugins Directory Other category]) ! If an add-on modifies or replaces core files then be very careful. It can only be guaranteed to work with the exact build (version) of Moodle it was created for and is highly unlikely to survive a Moodle upgrade.&lt;br /&gt;
&lt;br /&gt;
==Installing an add-on==&lt;br /&gt;
&lt;br /&gt;
To install an add-on, its source code must be put (deployed) into the appropriate location inside the Moodle installation directory and the main administration page &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; must be visited. There are three ways how the add-on code can be deployed into Moodle.&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.5 onwards, an add-on code may be deployed from within Moodle, either directly from the Moodle plugins directory or by uploading a ZIP file. The web server process has to have write access to the plugin type folder where the new add-on is to be installed in order to use either of these methods.&lt;br /&gt;
&lt;br /&gt;
Alternatively, an add-on code may be deployed manually at the server.&lt;br /&gt;
&lt;br /&gt;
===Installing directly from the Moodle plugins directory===&lt;br /&gt;
&lt;br /&gt;
# Login as an admin and go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Install add-ons&#039;&#039;.&lt;br /&gt;
# Click the button &#039;Install add-ons from Moodle plugins directory&#039;.&lt;br /&gt;
# Search for a plugin with an Install button, click the Install button then click Continue.&lt;br /&gt;
# Check that you obtain a &#039;Validation passed!&#039; message, then click the button &#039;Install add-on&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installing via uploaded ZIP file===&lt;br /&gt;
&lt;br /&gt;
# Go to the [https://moodle.org/plugins Moodle plugins directory], select your current Moodle version, then choose an add-on with a Download button and download the ZIP file.&lt;br /&gt;
# Login to your Moodle site as an admin and go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Install add-ons&#039;&#039;.&lt;br /&gt;
# Upload the ZIP file, select the appropriate plugin type, tick the acknowledgement checkbox, then click the button &#039;Install add-on from the ZIP file&#039;.&lt;br /&gt;
# Check that you obtain a &#039;Validation passed!&#039; message, then click the button &#039;Install add-on&#039;.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:install add-ons.png|thumb|Install add-ons]]&lt;br /&gt;
| [[File:add-on package validation.png|thumb|Add-on package validation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For both of the above methods, after clicking the button &#039;Install add-on&#039;, you will then be automatically redirected to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; and the installation process (i.e. creating required database tables etc) will happen.&lt;br /&gt;
&lt;br /&gt;
===Installing manually at the server===&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t deploy the add-on code via the administration web interface, you have to copy it to the server file system manually (e.g. if the web server process does not have write access to the Moodle installation tree to do this for you).&lt;br /&gt;
&lt;br /&gt;
First, establish the correct place in the Moodle code tree for the add-on type. Common locations are:&lt;br /&gt;
&lt;br /&gt;
* /path/to/moodle/theme/ - themes&lt;br /&gt;
* /path/to/moodle/mod/ - activity modules and resources&lt;br /&gt;
* /path/to/moodle/blocks/ - sidebar blocks&lt;br /&gt;
* /path/to/moodle/question/type/ - question types&lt;br /&gt;
* /path/to/moodle/course/format/ - course formats&lt;br /&gt;
* /path/to/moodle/admin/report/ - admin reports&lt;br /&gt;
&lt;br /&gt;
See [[:dev:Plugins]] for the full list of all plugin types and their locations within the Moodle tree.&lt;br /&gt;
&lt;br /&gt;
# Go to the [https://moodle.org/plugins Moodle plugins directory], select Moodle 2.6 as version, then choose an add-on with a Download button and download the ZIP file.&lt;br /&gt;
# Upload or copy it to your Moodle server.&lt;br /&gt;
# Unzip it in the right place for the plugin type (or follow add-on instructions). &lt;br /&gt;
# In your Moodle site (as admin) go to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; (you should, for most plugin types, get a message saying the add-on is installed).&lt;br /&gt;
&lt;br /&gt;
Note: The add-on may contain language files.  They&#039;ll be found by your Moodle automatically. These language strings can be customized using the standard &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Language&#039;&#039; editing interface. If you get a &amp;quot;Database error&amp;quot; when you try to edit your language files, there is a strong chance that the language files included within the downloaded ZIP file of this add-on have a coding problem. If you delete the &#039;&#039;plugin_name/lang/other_language_different_to_English/&#039;&#039; folder with the new language strings and the database error disappears, this is indeed the case. Please notify the plugin maintainer, so that it can be fixed in future releases.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Errors===&lt;br /&gt;
&lt;br /&gt;
If you obtain an error, please [[Debugging|turn debugging on]] to obtain additional information about the cause of the error.&lt;br /&gt;
&lt;br /&gt;
;tool_installaddon/err_curl_exec - cURL error 60 : This suggests problems with the validation of the SSL certificate of the remote (moodle.org) site. This is also a known problem in Moodle Windows 7 servers running the Moodle package for Windows. See [[SSL certificate for moodle.org]] for more info and possible solutions.&lt;br /&gt;
&lt;br /&gt;
===A file permissions error has occurred===&lt;br /&gt;
&lt;br /&gt;
A common error after installing plugins is that when you create an instance of the module and then save and display it, it reports the error, &amp;quot;A file permissions error has occurred. Please check the permissions on the script and the directory it is in and try again.&amp;quot; If you get this, the file permissions of the package are mostl likely set to 711 preventing them from running correctly. With your preferred FTP client or via your web hosts control panel, set the file permissions of all the files and directories in the installed module, e.g. /moodle/mod/[myplugin]/ to 755 and then see if you can successfully view the module instance.&lt;br /&gt;
&lt;br /&gt;
===When installing manually===&lt;br /&gt;
&lt;br /&gt;
* Check the file permissions. The web server needs to be able to read the plugin files. If the the rest of Moodle works then try to make the plugin permissions and ownership match. &lt;br /&gt;
* Did you &#039;&#039;&#039;definitely&#039;&#039;&#039; unzip or install the add-on in the correct place?&lt;br /&gt;
* Because Moodle scans plugin folders for new plugins you cannot have any other files or folders there. Make sure you deleted the zip file and don&#039;t try to rename (for example) an old version of the plugin to some other name - it will break.&lt;br /&gt;
* Make sure the directory name for the plugin is correct. All the names &#039;&#039;&#039;have&#039;&#039;&#039; to match. If you change the name then it won&#039;t work.&lt;br /&gt;
&lt;br /&gt;
===Obtaining help===&lt;br /&gt;
&lt;br /&gt;
Ask in the appropriate forum in [http://moodle.org/course/view.php?id=5 Using Moodle]. Make sure you describe your system (including versions of MySQL, PHP etc.), what you tried and what happened. Copy and paste error messages exactly. Provide the link to the version of the add-on you downloaded (some have very similar names).&lt;br /&gt;
&lt;br /&gt;
==Uninstalling an add-on==&lt;br /&gt;
&lt;br /&gt;
To uninstall an add-on&lt;br /&gt;
# Go to &#039;&#039;Administration&amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Plugins overview&#039;&#039; and click the Uninstall link opposite the add-on you wish to remove&lt;br /&gt;
# Use a file manager to remove/delete the actual plugin directory as instructed, otherwise Moodle will reinstall it next time you access the site administration&lt;br /&gt;
&lt;br /&gt;
==Plugins overview==&lt;br /&gt;
&lt;br /&gt;
[[File:plugins overview.png|thumb|left|Plugins overview highlighting available update with install button]]The Plugins overview page in &#039;&#039;Administration &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Plugins overview&#039;&#039; lists all installed plugins, together with the version number, availability (enabled or disabled) and settings link (if applicable).&lt;br /&gt;
&lt;br /&gt;
A &#039;Check for available updates&#039; button enables admins to quickly check for any updates available to standard plugins or add-ons installed on the site (from the [http://moodle.org/plugins plugins directory]). Any updates available are highlighted, with further information and a download link in the notes column opposite the plugin.&lt;br /&gt;
&lt;br /&gt;
===Plugin updating from within Moodle===&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.4 onwards, an administrator can enable updates deployment in  &#039;&#039;Administration &amp;gt; Site Administration &amp;gt; Server &amp;gt; Update notifications&#039;&#039;. Then when updates are available, &#039;Install this update&#039; buttons are shown on the Plugins overview page. See [[Automatic updates deployment]] for more details.&lt;br /&gt;
&lt;br /&gt;
==Preventing installing add-ons from within Moodle==&lt;br /&gt;
&lt;br /&gt;
If required, installing and updating from within Moodle can be prevented by copying the following lines of code from config-dist.php and pasting them in config.php.&lt;br /&gt;
&lt;br /&gt;
 // Use the following flag to completely disable the On-click add-on installation&lt;br /&gt;
 // feature and hide it from the server administration UI.&lt;br /&gt;
 //&lt;br /&gt;
 //      $CFG-&amp;gt;disableonclickaddoninstall = true;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Notifications]] for further details of update notifications&lt;br /&gt;
* [[Add-on Review Criteria]]&lt;br /&gt;
* [[Add-on FAQ]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=44 General add-ons forum]&lt;br /&gt;
* [[Installing Moodle from Git repository#Installing a contributed extension from its Git repository|Installing a contributed extension from its Git repository]]&lt;br /&gt;
* [http://www.somerandomthoughts.com/blog/2013/05/07/managing-add-ons-in-moodle-2-5/ Managing add-ons in Moodle 2.5] blog post by Gavin Henrick&lt;br /&gt;
&lt;br /&gt;
For developers:&lt;br /&gt;
&lt;br /&gt;
*[[:dev:Category:Plugins|Plugins developer documentation]]&lt;br /&gt;
*[[:dev:Plugin validation]]&lt;br /&gt;
*[[:dev:On-click add-on installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[de:Plugins installieren]]&lt;br /&gt;
[[es:Instalando plugins]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Installing_plugins&amp;diff=111000</id>
		<title>Installing plugins</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Installing_plugins&amp;diff=111000"/>
		<updated>2014-03-11T16:38:39Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Troubleshooting */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
An add-on is an optional plugin for adding additional features and functionality to Moodle, such as new activities, new quiz question types, new reports, integrations with other systems and many more. &lt;br /&gt;
&lt;br /&gt;
==What is meant by the words &#039;plugin&#039; and &#039;add-on&#039;?==&lt;br /&gt;
&lt;br /&gt;
Moodle = core code + plugins&lt;br /&gt;
&lt;br /&gt;
Plugins may be either standard plugins (included in the Moodle download package) or add-ons.&lt;br /&gt;
&lt;br /&gt;
== Considerations for production sites (skip if you&#039;re just moodling) ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;VERY IMPORTANT&#039;&#039;&#039; Warning: Please be aware that some add-ons have not been reviewed, and the quality and/or suitability for your Moodle site has not been checked. Please be careful. It may not do what you expect, it may have serious security issues or it may even not work at all. This is however improving over time with the evolving new plugins directory system.&lt;br /&gt;
&lt;br /&gt;
* If you have a large site for production purposes consider if you &#039;&#039;&#039;really&#039;&#039;&#039; need the add-on? More functionality means more things to support, more things to (potentially) go wrong and more things to worry about at upgrade time. &lt;br /&gt;
* Is the add-on supported and maintained? If something goes wrong can you get support? Will bugs be fixed?&lt;br /&gt;
* If the add-on does not work in a future version of Moodle, what will you do about it?&lt;br /&gt;
* Beware of &#039;&#039;patches&#039;&#039; ([https://moodle.org/plugins/browse.php?list=category&amp;amp;id=38 Moodle Plugins Directory Other category]) ! If an add-on modifies or replaces core files then be very careful. It can only be guaranteed to work with the exact build (version) of Moodle it was created for and is highly unlikely to survive a Moodle upgrade.&lt;br /&gt;
&lt;br /&gt;
==Installing an add-on==&lt;br /&gt;
&lt;br /&gt;
To install an add-on, its source code must be put (deployed) into the appropriate location inside the Moodle installation directory and the main administration page &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; must be visited. There are three ways how the add-on code can be deployed into Moodle.&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.5 onwards, an add-on code may be deployed from within Moodle, either directly from the Moodle plugins directory or by uploading a ZIP file. The web server process has to have write access to the plugin type folder where the new add-on is to be installed in order to use either of these methods.&lt;br /&gt;
&lt;br /&gt;
Alternatively, an add-on code may be deployed manually at the server.&lt;br /&gt;
&lt;br /&gt;
===Installing directly from the Moodle plugins directory===&lt;br /&gt;
&lt;br /&gt;
# Login as an admin and go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Install add-ons&#039;&#039;.&lt;br /&gt;
# Click the button &#039;Install add-ons from Moodle plugins directory&#039;.&lt;br /&gt;
# Search for a plugin with an Install button, click the Install button then click Continue.&lt;br /&gt;
# Check that you obtain a &#039;Validation passed!&#039; message, then click the button &#039;Install add-on&#039;.&lt;br /&gt;
&lt;br /&gt;
===Installing via uploaded ZIP file===&lt;br /&gt;
&lt;br /&gt;
# Go to the [https://moodle.org/plugins Moodle plugins directory], select your current Moodle version, then choose an add-on with a Download button and download the ZIP file.&lt;br /&gt;
# Login to your Moodle site as an admin and go to &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Install add-ons&#039;&#039;.&lt;br /&gt;
# Upload the ZIP file, select the appropriate plugin type, tick the acknowledgement checkbox, then click the button &#039;Install add-on from the ZIP file&#039;.&lt;br /&gt;
# Check that you obtain a &#039;Validation passed!&#039; message, then click the button &#039;Install add-on&#039;.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:install add-ons.png|thumb|Install add-ons]]&lt;br /&gt;
| [[File:add-on package validation.png|thumb|Add-on package validation]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
For both of the above methods, after clicking the button &#039;Install add-on&#039;, you will then be automatically redirected to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; and the installation process (i.e. creating required database tables etc) will happen.&lt;br /&gt;
&lt;br /&gt;
===Installing manually at the server===&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t deploy the add-on code via the administration web interface, you have to copy it to the server file system manually (e.g. if the web server process does not have write access to the Moodle installation tree to do this for you).&lt;br /&gt;
&lt;br /&gt;
First, establish the correct place in the Moodle code tree for the add-on type. Common locations are:&lt;br /&gt;
&lt;br /&gt;
* /path/to/moodle/theme/ - themes&lt;br /&gt;
* /path/to/moodle/mod/ - activity modules and resources&lt;br /&gt;
* /path/to/moodle/blocks/ - sidebar blocks&lt;br /&gt;
* /path/to/moodle/question/type/ - question types&lt;br /&gt;
* /path/to/moodle/course/format/ - course formats&lt;br /&gt;
* /path/to/moodle/admin/report/ - admin reports&lt;br /&gt;
&lt;br /&gt;
See [[:dev:Plugins]] for the full list of all plugin types and their locations within the Moodle tree.&lt;br /&gt;
&lt;br /&gt;
# Go to the [https://moodle.org/plugins Moodle plugins directory], select Moodle 2.6 as version, then choose an add-on with a Download button and download the ZIP file.&lt;br /&gt;
# Upload or copy it to your Moodle server.&lt;br /&gt;
# Unzip it in the right place for the plugin type (or follow add-on instructions). &lt;br /&gt;
# In your Moodle site (as admin) go to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Notifications&#039;&#039; (you should, for most plugin types, get a message saying the add-on is installed).&lt;br /&gt;
&lt;br /&gt;
Note: The add-on may contain language files.  They&#039;ll be found by your Moodle automatically. These language strings can be customized using the standard &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Language&#039;&#039; editing interface. If you get a &amp;quot;Database error&amp;quot; when you try to edit your language files, there is a strong chance that the language files included within the downloaded ZIP file of this add-on have a coding problem. If you delete the &#039;&#039;plugin_name/lang/other_language_different_to_English/&#039;&#039; folder with the new language strings and the database error disappears, this is indeed the case. Please notify the plugin maintainer, so that it can be fixed in future releases.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
===Errors===&lt;br /&gt;
&lt;br /&gt;
If you obtain an error, please [[Debugging|turn debugging on]] to obtain additional information about the cause of the error.&lt;br /&gt;
&lt;br /&gt;
;tool_installaddon/err_curl_exec - cURL error 60 : This suggests problems with the validation of the SSL certificate of the remote (moodle.org) site. This is also a known problem in Moodle Windows 7 servers running the Moodle package for Windows. See [[SSL certificate for moodle.org]] for more info and possible solutions.&lt;br /&gt;
&lt;br /&gt;
===A file permissions error has occurred==&lt;br /&gt;
&lt;br /&gt;
A common error after installing plugins is that when you create an instance of the module and then save and display it, it reports the error, &amp;quot;A file permissions error has occurred. Please check the permissions on the script and the directory it is in and try again.&amp;quot; If you get this, the file permissions of the package are mostl likely set to 711 preventing them from running correctly. With your preferred FTP client or via your web hosts control panel, set the file permissions of all the files and directories in the installed module, e.g. /moodle/mod/[myplugin]/ to 755 and then see if you can successfully view the module instance.&lt;br /&gt;
&lt;br /&gt;
===When installing manually===&lt;br /&gt;
&lt;br /&gt;
* Check the file permissions. The web server needs to be able to read the plugin files. If the the rest of Moodle works then try to make the plugin permissions and ownership match. &lt;br /&gt;
* Did you &#039;&#039;&#039;definitely&#039;&#039;&#039; unzip or install the add-on in the correct place?&lt;br /&gt;
* Because Moodle scans plugin folders for new plugins you cannot have any other files or folders there. Make sure you deleted the zip file and don&#039;t try to rename (for example) an old version of the plugin to some other name - it will break.&lt;br /&gt;
* Make sure the directory name for the plugin is correct. All the names &#039;&#039;&#039;have&#039;&#039;&#039; to match. If you change the name then it won&#039;t work.&lt;br /&gt;
&lt;br /&gt;
===Obtaining help===&lt;br /&gt;
&lt;br /&gt;
Ask in the appropriate forum in [http://moodle.org/course/view.php?id=5 Using Moodle]. Make sure you describe your system (including versions of MySQL, PHP etc.), what you tried and what happened. Copy and paste error messages exactly. Provide the link to the version of the add-on you downloaded (some have very similar names).&lt;br /&gt;
&lt;br /&gt;
==Uninstalling an add-on==&lt;br /&gt;
&lt;br /&gt;
To uninstall an add-on&lt;br /&gt;
# Go to &#039;&#039;Administration&amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Plugins overview&#039;&#039; and click the Uninstall link opposite the add-on you wish to remove&lt;br /&gt;
# Use a file manager to remove/delete the actual plugin directory as instructed, otherwise Moodle will reinstall it next time you access the site administration&lt;br /&gt;
&lt;br /&gt;
==Plugins overview==&lt;br /&gt;
&lt;br /&gt;
[[File:plugins overview.png|thumb|left|Plugins overview highlighting available update with install button]]The Plugins overview page in &#039;&#039;Administration &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Plugins overview&#039;&#039; lists all installed plugins, together with the version number, availability (enabled or disabled) and settings link (if applicable).&lt;br /&gt;
&lt;br /&gt;
A &#039;Check for available updates&#039; button enables admins to quickly check for any updates available to standard plugins or add-ons installed on the site (from the [http://moodle.org/plugins plugins directory]). Any updates available are highlighted, with further information and a download link in the notes column opposite the plugin.&lt;br /&gt;
&lt;br /&gt;
===Plugin updating from within Moodle===&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.4 onwards, an administrator can enable updates deployment in  &#039;&#039;Administration &amp;gt; Site Administration &amp;gt; Server &amp;gt; Update notifications&#039;&#039;. Then when updates are available, &#039;Install this update&#039; buttons are shown on the Plugins overview page. See [[Automatic updates deployment]] for more details.&lt;br /&gt;
&lt;br /&gt;
==Preventing installing add-ons from within Moodle==&lt;br /&gt;
&lt;br /&gt;
If required, installing and updating from within Moodle can be prevented by copying the following lines of code from config-dist.php and pasting them in config.php.&lt;br /&gt;
&lt;br /&gt;
 // Use the following flag to completely disable the On-click add-on installation&lt;br /&gt;
 // feature and hide it from the server administration UI.&lt;br /&gt;
 //&lt;br /&gt;
 //      $CFG-&amp;gt;disableonclickaddoninstall = true;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[Notifications]] for further details of update notifications&lt;br /&gt;
* [[Add-on Review Criteria]]&lt;br /&gt;
* [[Add-on FAQ]]&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=44 General add-ons forum]&lt;br /&gt;
* [[Installing Moodle from Git repository#Installing a contributed extension from its Git repository|Installing a contributed extension from its Git repository]]&lt;br /&gt;
* [http://www.somerandomthoughts.com/blog/2013/05/07/managing-add-ons-in-moodle-2-5/ Managing add-ons in Moodle 2.5] blog post by Gavin Henrick&lt;br /&gt;
&lt;br /&gt;
For developers:&lt;br /&gt;
&lt;br /&gt;
*[[:dev:Category:Plugins|Plugins developer documentation]]&lt;br /&gt;
*[[:dev:Plugin validation]]&lt;br /&gt;
*[[:dev:On-click add-on installation]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[de:Plugins installieren]]&lt;br /&gt;
[[es:Instalando plugins]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=User:Matt_Bury&amp;diff=105846</id>
		<title>User:Matt Bury</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=User:Matt_Bury&amp;diff=105846"/>
		<updated>2013-06-27T13:42:34Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /*About Matt Bury*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
I&#039;m Matt Bury. I&#039;ve developed two plugins for Moodle...&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module: https://code.google.com/p/swf-activity-module/&lt;br /&gt;
&lt;br /&gt;
and the Media Player module: https://code.google.com/p/moodle-mplayer/&lt;br /&gt;
&lt;br /&gt;
My About Me page is at http://blog.matbury.com/about-matt-bury/&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Using_Forum&amp;diff=105844</id>
		<title>Using Forum</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Using_Forum&amp;diff=105844"/>
		<updated>2013-06-27T13:23:04Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Best Practice and shared discussions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Forum}}&lt;br /&gt;
The teacher can set the format of what the student sees under the introduction by selecting the forum type in [[Forum settings]].&lt;br /&gt;
&lt;br /&gt;
==Views==&lt;br /&gt;
&lt;br /&gt;
===A single simple discussion===&lt;br /&gt;
&lt;br /&gt;
Students will see the text you have placed in the [[Adding/editing_a_forum#Forum_introduction|Forum introduction setting]] as the first post of the discussion. Below you will find the replies that have been posted.  In the example below, the student sees that their reply was rated.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Forum homepage view Simple student mu.png|thumb|Student view of &amp;quot;A single simple discussion&amp;quot; forum type]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Each person posts one discussion===&lt;br /&gt;
The view will be basically the same as in the previous case, the only difference being the &#039;Add a new discussion&#039; option. Viewing a forum page, the student will see the text you have written at the &#039;Forum introduction&#039; space while creating the forum, and, if there are any, the discussions that have been started. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Forum homepage view Single student mu.png|thumb|Student view of &amp;quot;Each person posts one discussion&amp;quot; forum type]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Standard forum for general use===&lt;br /&gt;
&lt;br /&gt;
In this forum type, students will see the introduction text in a separate space above the discussion field, in which you will see the information such as the title of the discussion (which means the forum&#039;s title), its author, the number of replies and the date of the last post. &lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Forum homepage view student mu.png|thumb|Student view of &amp;quot;Standard forum&amp;quot; type]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
===Question and Answer forum===&lt;br /&gt;
&lt;br /&gt;
The Q &amp;amp; A forum is best used when you have a particular question that you wish to have answered. In a Q and A forum, teachers post the question and students respond with possible answers. By default a Q and A forum requires students to post once before viewing other students&#039; postings. [[Using Forum#Question and Answer forum 2 |More details here]]&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:QA1.png|thumb|Inital view of Q&amp;amp;A forum]]&lt;br /&gt;
| [[File:QA2.png|thumb|Students cannot see posts until they post]]&lt;br /&gt;
| [[FIle:QA3.png|thumb|Other posts visible when editing time is over]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Standard forum displayed in blog-like format===&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[File:Bloglikeforum.png|thumb|Blog like forum]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In the upper right corner of the home forum screen (above the introduction), the student may see the options the teacher has set for [[Adding/editing_a_forum#Force_everyone_to_be_subscribed.3F|subscriptions to the forum]], and the &#039;Jump to&#039; field, with which you can &#039;jump&#039; to any part of the course. This is also place where the teacher will find the &amp;quot;Update this forum&amp;quot; button.&lt;br /&gt;
&lt;br /&gt;
==Display options==&lt;br /&gt;
[[Image:forumviewoptions.jpg|thumb|Reply display options]]A discussion thread may be displayed in four ways. Use the pull down menu at the top of each forum discussion to select a display type.&lt;br /&gt;
&lt;br /&gt;
* Display replies flat, with oldest first&lt;br /&gt;
* Display replies flat, with newest first - The discussion will be displayed in one line and the chronological order from the newest to the oldest.  This is the same as the above, just a different sort order.&lt;br /&gt;
* Display replies in threaded form - Only the post starting the discussion will be displayed in its full form; replies will be reduced to the headlines (including information about its author and date of release) and organized chronologically; moreover, replies will be shifted towards the right so that only replies to the same post were in the same line.&lt;br /&gt;
* Display replies in nested form - All posts are displayed in their full forms; replies will be reduced to the headlines (including information about its author and date of release) and organized chronologically; moreover, replies will be shifted towards the right so that only replies to the same post were in the same line.&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
| [[Image:Forum Flat form mu.png|thumb|Flat Forum discussion, example from middle]]&lt;br /&gt;
| [[Image:Forum threaded form mu.png|thumb|Posts in threaded form]]&lt;br /&gt;
| [[Image:Forum nested form mu.png|thumb|&amp;quot;Nested reply example&amp;quot;]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Forum posting==&lt;br /&gt;
&lt;br /&gt;
The default content of &#039;&#039;&#039;Subject&#039;&#039;&#039; is usually &#039;Re: &amp;lt;the name of the &#039;parent&#039; post&amp;gt;&#039;. You can change it though. &lt;br /&gt;
&lt;br /&gt;
When writing text in Moodle there are several formats you can choose to produce your text, depending on your expertise and the type of browser you are using. Please refer to [[Formatting text]] for further information.&lt;br /&gt;
&lt;br /&gt;
=== Sharing images through forums ===&lt;br /&gt;
&lt;br /&gt;
*When an image is &amp;quot;attached&amp;quot; as a file to a forum message, it is immediately displayed full size after the message (i.e. no need to click on an attachment).  This an excellent way of sharing images without having to go through the process of uploading them as files and linking them from within web pages. &lt;br /&gt;
&lt;br /&gt;
*Images may be dragged and dropped into the box as well as uploading via the &amp;quot;add&amp;quot; link and the [[File picker]].&lt;br /&gt;
&lt;br /&gt;
[[File:forumdragdrop.png]]&lt;br /&gt;
&lt;br /&gt;
===Sharing sound and video through forums===&lt;br /&gt;
*If multimedia filters are enabled, a sound file (mp3) or accepted video file can be attached and it will be embedded into the forum post in an appropriate player.&lt;br /&gt;
*As with images in the previous section, multimedia files may be dragged and dropped from the desktop instead of uploaded via the [[File picker]].&lt;br /&gt;
&lt;br /&gt;
===Post length===&lt;br /&gt;
&lt;br /&gt;
Extra-long posts cause problems when doing a forum search and can be difficult to read on screen. Rather than creating a very long post, consider copying and pasting the text into a text file and add it as an attachment to your forum post. &lt;br /&gt;
&lt;br /&gt;
===Post editing time limit===&lt;br /&gt;
&lt;br /&gt;
There is a time limit for editing posts, usually 30 minutes. It is set by an administrator in &#039;&#039;Administration &amp;gt; Security &amp;gt; [[Site policies]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The Using Moodle forum discussion [http://moodle.org/mod/forum/discuss.php?d=5367 The philosophy underlying &amp;quot;no editing after 30 minutes&amp;quot;] includes reasons why it is a good idea to have a time limit for editing posts.&lt;br /&gt;
&lt;br /&gt;
===Mail now===&lt;br /&gt;
&lt;br /&gt;
A mail now checkbox is available for anyone with the [[Capabilities/moodle/course:manageactivities|capability to manage course activities]], normally teachers and admins.&lt;br /&gt;
&lt;br /&gt;
Checking the &amp;quot;Mail now&amp;quot; box results in an email being sent immediately (i.e. when the [[Cron|cron]] next runs) to everyone subscribed to the forum, rather than after the post editing time limit. &lt;br /&gt;
&lt;br /&gt;
==Exporting forum posts==&lt;br /&gt;
Users with the &#039;&#039;mod/forum:exportdiscussion&#039;&#039; or &#039;&#039;mod/forum:exportownpost&#039;&#039; or &#039;&#039;mod/forum:exportpost&#039;&#039; permission can export forum posts to any portfolio the administrator has enabled:&lt;br /&gt;
&lt;br /&gt;
[[File:Exportforum.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Moving a discussion==&lt;br /&gt;
&lt;br /&gt;
Teachers and other users with the [[Capabilities/mod/forum:movediscussions|capability to move discussions]] can move a discussion to any other forum in the course for which they have appropriate rights.&lt;br /&gt;
# Click on the arrow in the &#039;Move this discussion to...&#039; dropdown menu in the top right corner of the page and select a destination forum.&lt;br /&gt;
# Click the Move button.&lt;br /&gt;
&lt;br /&gt;
NOTE: Moving a forum post will display incorrect results in the [[Participation_report|course participation report]] for the affected forums. For example, take a student who posted in forum A and had their post moved to forum B. In the course participation report the student will still be listed has having made a post in forum A, but will not be listed as having made a post yet in forum B.&lt;br /&gt;
&lt;br /&gt;
==Guidelines for Teaching and Learning Forums==&lt;br /&gt;
&lt;br /&gt;
When you decide to use a discussion forum as an activity in an e-learning environment, it is important to be aware that your time will be needed in some sense in order to make the activity successful. If your goal is to encourage discussion, the forum will only work if: &lt;br /&gt;
&lt;br /&gt;
a) &#039;&#039;&#039;participants feel there is a need/reason to participate and they will gain something from the experience.&#039;&#039;&#039; Incentives for learning, gathering support, etc. should be explored and encouraged early on in order to clearly convey the purpose of the forum to others. Anyone considering offering grades or marks for participation is advised to think very carefully about the difference between quantity and quality of discussions in forums.&lt;br /&gt;
&lt;br /&gt;
b) a sense of community and purpose can be fostered amongst participants. This sense of community can be fostered through tutor/teacher initiative and scaffolding, or primarily through the students/participants themselves depending on the intentions of the activity.&lt;br /&gt;
&lt;br /&gt;
==Selecting forum type==&lt;br /&gt;
&lt;br /&gt;
Moodle has four kinds of forums each with a slightly different [[Viewing a forum|layout]] and purpose.&lt;br /&gt;
&lt;br /&gt;
Which of the forums will best suit your needs for a particular activity? In order to answer this question, it is useful to think how you might lead such a discussion in a face-to-face environment. Would you throw the question out to the class and sit back to observe them in their answers? Or would you break them up into smaller groups first and ask them to have discussions with a partner before bringing them back to the main group? Or perhaps you would like to keep them focused on a particular aspect of a question and ensure that they do not wander away from the topic at hand? All of the above approaches are both valid and useful, depending on your learning outcomes, and you can replicate all of them in Moodle forums.&lt;br /&gt;
&lt;br /&gt;
===A standard forum for general use===&lt;br /&gt;
The standard forum ([[Viewing_a_forum#Standard_forum_for_general_use|view here]]) probably most useful for large discussions that you intend to monitor/guide or for social forums that are student led. This does not mean that you need to make a new posting for each reply in each topic, although, in order to ensure that the discussion does not get &#039;out of control&#039;, you may need to be prepared to spend a significant amount of time finding the common threads amongst the various discussions and weaving them together. Providing overall remarks for particular topics can also be a key aspect of your responsibilities in the discussion. Alternatively, you could ask students to summarize discussion topics at agreed points, once a week or when a thread comes to an agreed conclusion. Such a learner-centred approach may be particularly useful once the online community has been established and, perhaps, when you have modeled the summarizing process.&lt;br /&gt;
&lt;br /&gt;
===A single simple discussion=== &lt;br /&gt;
The simple forum ([[Viewing_a_forum#A_single_simple_discussion|view here]]) is most useful for short/time-limited discussion on a single subject or topic. This kind of forum is very productive if you are interested in keeping students focused on a particular issue. &lt;br /&gt;
&lt;br /&gt;
===Each person posts one discussion===&lt;br /&gt;
This forum ([[Viewing_a_forum#Each_person_posts_one_discussion|view here]]) is most useful when you want to achieve a happy medium between a large discussion and a short and focused discussion. A single discussion topic per person allows students a little more freedom than a single discussion forum, but not as much as a standard forum where each student can create as many topics as he or she wishes. Successful forums of this selection can be active, yet focused, as students are not limited in the number of times they can respond to others within threads.&lt;br /&gt;
&lt;br /&gt;
===Question and Answer forum=== &lt;br /&gt;
The Q &amp;amp; A forum ([[Viewing_a_forum#Question_and_Answer_forum|view here]]) is best used when you have a particular question that you wish to have answered. In a Q and A forum, tutors post the question and students respond with possible answers. By default a Q and A forum requires students to post once before viewing other students&#039; postings. After the initial posting and once the editing time (usually 30 minutes) has elapsed, students can view and respond to others&#039; postings. This feature allows equal initial posting opportunity among all students, thus encouraging original and independent thinking. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; Students do not see the &amp;quot;add a new question&amp;quot; button in the Q &amp;amp; A forum. If you wish students to be able to add new questions, they need to be given the capability [[Capabilities/mod/forum:addquestion|mod/forum:addquestion]]&lt;br /&gt;
&lt;br /&gt;
===Standard forum displayed in blog-like format===&lt;br /&gt;
This forum  behaves in the same way as the default standard forum for general use, allowing users to start their own discussions. However, it displays differently in that the first post of each discussion is displayed (as in a blog) so that users can read it and then choose to respond by clicking the &amp;quot;Discuss this topic&amp;quot; button bottom right of the post.&lt;br /&gt;
&lt;br /&gt;
====Tips for Question and Answer====&lt;br /&gt;
When the Question and Answer mode is selected, Moodle hides the replies to the initial thread post by the teacher but not the entire forum itself. &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; Post each question as a thread in the forum and then have students post replies to the question. In this fashion, Moodle will protect the replies from being viewable (subject to the caveat above) by other students but allow the initial post/thread visible for reply by all students.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; Do not post the question in the forum summary because every student answer will become a thread and visible to all students. In this scenario, it may appear as if the Question and Answer forum is not working correctly, since the new initial posts in the thread are intentionally designed not to be hidden, just their replies.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; If you have set up groups for your forum the facilitator needs to post a question to each of the groups and not to &#039;all participants&#039; as questions asked of all participants (students) are able to be read by ALL students. Questions posed to group members are only visible to those group members and replies are only visible once a group member has posted a message.&lt;br /&gt;
&lt;br /&gt;
==Forum subscription==&lt;br /&gt;
&lt;br /&gt;
When a person is &#039;&#039;&#039;subscribed&#039;&#039;&#039; to a forum it means that they will be notified (according to their [[Messaging settings]] preferences) of every subsequent post in that forum. Posters have 30 minutes by default to edit their post before it is sent though this time limit can be changed by an administrator.&lt;br /&gt;
&lt;br /&gt;
People can usually choose whether or not they want to be subscribed to each forum. However, if a teacher forces subscription on a particular forum then this choice is taken away and everyone in the class will get notified.This is especially useful in the News forum and in forums towards the beginning of the course (before everyone has worked out that they can subscribe to these emails themselves).&lt;br /&gt;
&lt;br /&gt;
Note that even if you force subscriptions every user can elect not to  be notified in  [[Messaging settings]], or elect to have all email sent once a day in a digest contain either all posts or simply the subject headings.&lt;br /&gt;
&lt;br /&gt;
Choosing &#039;&#039;Everyone can choose to be subscribed&#039;&#039; enables you to check (and modify) the number of subscribers (&#039;&#039;Settings &amp;gt; Forum administration &amp;gt; Show/edit current subscribers&#039;&#039;) and to subscribe to (or unsubscribe from) the forum (&#039;Subscribe to this forum&#039; / &#039;Unsubscribe from this forum&#039;).&lt;br /&gt;
&lt;br /&gt;
An overview of your forum subscriptions is available on the forums index page e.g. http://moodle.org/mod/forum/index.php?id=5&lt;br /&gt;
&lt;br /&gt;
==Concepts for use in forums==&lt;br /&gt;
===Participation and Scaffolding ===&lt;br /&gt;
&lt;br /&gt;
Whilst one of the great advantages of e-learning is the flexibility it affords participants, this does not mean that days or weeks should pass without response and discussion in a forum (unless it is appropriate for it to do so). This is perhaps most especially true at the beginning of a course or programme when students and tutors are new to each other and in need of welcome messages/encouragement. Whilst e-learning, and discussions in particular, can support learning that is not always tutor/teacher-centred, your role will be important, especially as an online community begins to develop. It is during these initial stages of introductory material that a group of students can become a community of participants who begin to grow in their understandings of course material and individual contributions to the knowledge construction process.&lt;br /&gt;
&lt;br /&gt;
As the discussions progress and learners become accustomed to the mechanics and the tone of the forums then there are key ways in which your input can be reduced, thereby helping to foster a community that is less dependent on the tutor/teacher. Even then, however, you will probably want to be a presence in the discussions although you may choose to be one of many contributors rather than the font of all wisdom.&lt;br /&gt;
&lt;br /&gt;
===Commitment and Participation===&lt;br /&gt;
&lt;br /&gt;
Ask yourself if&lt;br /&gt;
&lt;br /&gt;
# you wish to have involvement in the forum or if you want the students to lead and own the space&lt;br /&gt;
# you want the forum to add value to the face to face environment or have a life of its own in its own right outside the lecture theatre/classroom or seminar room&lt;br /&gt;
# you are prepared to make appropriate contributions to the discussion in order to: &lt;br /&gt;
## encourage discussion if students are quiet&lt;br /&gt;
## help shape ideas if students begin to wander off-task&lt;br /&gt;
## your role will be defined as discussions/a course progresses &lt;br /&gt;
## you will explicitly but gradually relinquish control of the discussions&lt;br /&gt;
## you will encourage and support learners to share control of discussions(for example you might ask a learner/group of learners to summarise contributions to a discussion thread/topic or you might ask learners to initiate discussion topics)&lt;br /&gt;
&lt;br /&gt;
===Student Centered Forums===&lt;br /&gt;
&lt;br /&gt;
With the growing popularity of social networking software like Facebook, Bebo, MySpace and the like, students are leaving schools and coming to Higher and Further Education with a new technological sophistication and with new expectations for communication. And as school, colleges and universities recognise that reflective and life long learning are significant goals in education, student centered learning and the creation of student centered spaces online are also gaining credence in educational settings. We know that effective learning requires access to social and academic networks for both study material and emotional support; as such, online communities can offer a holistic knowledge construction and support mechanism and recognize that affective activity is effective. &lt;br /&gt;
&lt;br /&gt;
Social forums, often called ‘Virtual Cafes’ or ‘Common Rooms’ can be set up for courses or for programmes, depending on the student need. Such spaces provide a common area for students to come together and discuss unlimited topics, including social activities and educational ideas. They are supportive spaces for students, most successful with large first and second year courses where students would not otherwise have the opportunity to communicate with others outside their own tutorial group. It is arguable that students will experience a greater sense of community within and a sense of belonging to an educational institution or individual department having had the experience and convenience of the social forum on their course; this could arguably have implications for retention.&lt;br /&gt;
&lt;br /&gt;
These spaces are typically highly active, especially in first term. Depending on your institution, they are usually self monitored by students, who understand that the same ‘rules’ and ‘netiquette’ that apply to them within any computing space, also apply in Moodle.&lt;br /&gt;
&lt;br /&gt;
===The News Forum===&lt;br /&gt;
&lt;br /&gt;
Moodle courses automatically generate a [[News forum]] which defaults to automatically subscribe all participants in a course. The name of the News Forum can be changed to something more appropriate, such as ‘Important Announcements’ or the like. This is a useful feature and many use this forum in a Moodle course to announce exam dates, times or changes to exams, lectures or seminars, as well as important information about course work throughout a term or special announcements relating to events.&lt;br /&gt;
&lt;br /&gt;
===Teacher/Tutor forums===&lt;br /&gt;
A teacher/tutor-only forum may be added to a course by creating a hidden forum. Teachers are able to view hidden course activities whereas students cannot.&lt;br /&gt;
&lt;br /&gt;
==Some forum suggestions to consider==&lt;br /&gt;
&lt;br /&gt;
#If your course is at a distance, if your face to face time is limited, or if you just wish to foster a sense of community in your Moodle course which supplements your face to face course, it is good practice to begin with a welcome or introductory message or thread in one of your forums. This welcome or introduction from you invites participants, for example, to post some specific details to introduce themselves to you and their peers. This can be your icebreaker or you can have an icebreaker separately.&lt;br /&gt;
#If you have two questions for participants to answer, starting the two strands or topics within the forum itself will both help learners to see where to put their responses, and remind them to answer all parts of your question.&lt;br /&gt;
#Remember that you are communicating in an environment that does not have the benefit of verbal tone, eye contact, body language and the like. Careful consideration of your communication is, therefore, necessary.&lt;br /&gt;
#Postings to a forum are always written but they can take different forms and you may wish to consider what form best suits the activity. For instance, you might choose to articulate a form of contribution in order to be explicit. Thus you might say, &#039;This is a think-aloud forum in which, together, we will try to tease out ideas and possibilities&#039; or &#039;This is a formal forum in which you are invited to share your ideas on (topic)&#039; and, where you select the latter, you might have already suggested learners plan those ideas offline or in another kind of activity within Moodle.&lt;br /&gt;
#Create a forum where only the teacher can start discussions, but the students can only reply. Each thread you start contains an essay question (or several similar ones). The students make a bullet point plan for the essay and post it as a reply. This works well as a revision strategy as the students can see how others have approached the same task. Once everyone has posted their plan, you can start a discussion as to which plans seem better and why. Creating a scale to use for rating the posts can be useful so that the students can see how helpful other people think their effort were. (Note: At this time, there is no option to hide the &amp;quot;Add new discussion topic&amp;quot; button, so you need to tell your students not to start discussion threads, but to only reply to threads started by the teacher. If you only need one thread, then you can use the &amp;quot;a single simple discussion&amp;quot; format and the &amp;quot;Add new discussion topic&amp;quot; button is not available to the students.)&lt;br /&gt;
&lt;br /&gt;
===Grading forums===&lt;br /&gt;
&lt;br /&gt;
The teacher can use the [[Forum ratings|ratings]] [[Scales|scales]] to [[Grades|grade]] student activities in a forum. There are several methods for calculating the grade for a forum that can be found in the [[Adding/editing_a_forum#Grade|Forum settings under grades]]. There are 5 ways to [[Adding/editing_a_forum#Aggregate_type|aggregate ratings]] automatically to calculate a forum grade for the [[Gradebook]]. These include: Average, Max, Min, Count and Sum.&lt;br /&gt;
&lt;br /&gt;
==Forum ratings allow users to evaluate posts in a forum==&lt;br /&gt;
&lt;br /&gt;
Forum ratings use [[Scales]] to standardize the reporting of performance. A forum rating can be included as part of a student&#039;s [[Grades|grade]].  For example, a teacher might use a custom rating scale in a forum and allow students to rate forum posts.&lt;br /&gt;
&lt;br /&gt;
Forum ratings must be allowed and the potential rater must have [[Roles|role]] permission. Teachers by default have this ability.  The teacher role is also able to give permission to a [[Student|student role]] in a specific forum to be able to assign a rating to a post. Forum settings and [[Forum_permissions#Enabling_students_to_rate_posts| Enabling student ratings]] has more information.     &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===How to use===&lt;br /&gt;
[[Image:Forum rating example1 mu.png|thumb|Teacher view of a previously rated student post]]When rating is allowed, the qualified user will see &amp;quot;Rate this post&amp;quot; and a pull down menu after an entry (not their own).  The menu displays a [[Scales|scale]] that the forum creator selected in the [[Adding/editing_a_forum#Grade|Forum grade settings]]. The user can rate more than one post at a time.  When finished they should click the &amp;quot;submit my ratings&amp;quot; button at the bottom of the page.   &lt;br /&gt;
&lt;br /&gt;
===AJAX forum rating===&lt;br /&gt;
&lt;br /&gt;
Forum rating can be made more user-friendly with the use of AJAX. Users can rate forum posts almost instantly without needing to scroll to the bottom of the page and click the &amp;quot;Send in my latest ratings&amp;quot; button. &lt;br /&gt;
&lt;br /&gt;
AJAX forum rating requires AJAX to be enabled by an administrator in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Appearance &amp;gt; [[AJAX and Javascript settings|AJAX and Javascript]]&#039;&#039; and by users in their [[Edit profile|user profile]].&lt;br /&gt;
&lt;br /&gt;
===Separate and connected knowing===&lt;br /&gt;
You can  rate forum posts with the [[Separate_and_Connected_Knowing| Separate and Connected Knowing]] scale here.&lt;br /&gt;
&lt;br /&gt;
===Good Practice and shared discussions===&lt;br /&gt;
*There are lots of discussions about Forum good use and Forum assessment in the Teaching Strategies Forum http://moodle.org/mod/forum/view.php?id=41.&lt;br /&gt;
&lt;br /&gt;
*A useful discussion about Forum assessment can be found here http://moodle.org/mod/forum/discuss.php?d=66008.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?f=116 Forum module]&lt;br /&gt;
*[http://www.moodleblog.onet/?page_id=148 Peer Assessment using a Moodle Forum] blog post with screencast&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=5367 The philosophy underlying &amp;quot;no editing after 30 minutes&amp;quot;]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=66008 Best Practices for grading discussions]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=88000 Two Courses, One Forum?]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=93304 Using a forum for 1 to 1 teaching]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=95470 Technicalities of managing a Forum]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=67360 Role names showing next to posting photos]&lt;br /&gt;
&lt;br /&gt;
[[de: Forum nutzen]]&lt;br /&gt;
[[fr:Afficher un forum]]&lt;br /&gt;
[[ja:フォーラムの閲覧]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=105381</id>
		<title>SWF Activity Module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=105381"/>
		<updated>2013-05-27T22:27:10Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Production */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Truly interactive e-learning with Rich Internet Applications=&lt;br /&gt;
&lt;br /&gt;
The [http://code.google.com/p/swf-activity-module/ SWF Activity Module] is a Moodle plugin extension for deploying Flash learning applications, also known as Flash templates. Teachers and course content developers can use the [http://code.google.com/p/swf-activity-module/ SWF Activity Module] to deploy any Flash applications, including but not limited to those that use external data and media in order to function correctly. It also allows Flash applications to communicate with Moodle for purposes such as passing learners&#039; grades into Moodle&#039;s grade book.&lt;br /&gt;
&lt;br /&gt;
It does not include any Flash learning applications. However, a word search application is provided separately for testing and demonstration purposes. You&#039;re also free to use the word search in courses if you wish.&lt;br /&gt;
&lt;br /&gt;
Sufficient documentation, source code and examples are provided on this project site so that Flash developers can easily write or adapt applications to work fully with the [http://code.google.com/p/swf-activity-module/ SWF Activity Module]. See the project wiki pages for further details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==For Moodle 1.9==&lt;br /&gt;
&lt;br /&gt;
Please note: This module is now ready for production use.&lt;br /&gt;
&lt;br /&gt;
For a summary of the latest developments of the SWF Activity Module, please see the [http://code.google.com/p/swf-activity-module/wiki/ChangeLog ChangeLog] page.&lt;br /&gt;
&lt;br /&gt;
==For Moodle 2.x==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module for Moodle 2.x is currently under development (as of January 2013). A beta testing version will be available sometime in 2013. Please note that owing to differences in the way in which Moodle 2.x&#039;s file management system works, the 2.x version will be a different module and will not be upgradeable from 1.9.&lt;br /&gt;
&lt;br /&gt;
The SWF Avtivity Module for Moodle 2.x will, however, support easy video playback using compatible Flash based media players.&lt;br /&gt;
&lt;br /&gt;
==Why develop the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
I started the [http://code.google.com/p/swf-activity-module/ SWF Activity Module] project to resolve two issues in Moodle:&lt;br /&gt;
&lt;br /&gt;
* Moodle does not provide an effective, W3C standards compliant way to embed Flash applications in its web pages.&lt;br /&gt;
* Moodle does not provide any direct means of communication between Flash applications and its functions and data (generally referred to as an API - Application Programming Interface)&lt;br /&gt;
&lt;br /&gt;
These two issues effectively make it very difficult for developers and almost impossible for non-developers, such as teachers, course content developers and instructional designers, to deploy dynamic, Flash based e-learning applications in Moodle.&lt;br /&gt;
&lt;br /&gt;
The [http://code.google.com/p/swf-activity-module/ SWF Activity Module] provides an easy, reliable way for developers and non-developers (i.e. teachers, trainers, course content developers and instructional designers) to deploy Flash e-learning interactions in Moodle.&lt;br /&gt;
&lt;br /&gt;
No Flash e-learning applications are included with the [http://code.google.com/p/swf-activity-module/ SWF Activity Module], except for a word search activity, available as a separate download, to help you get started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Features==&lt;br /&gt;
&lt;br /&gt;
* Uses a &amp;quot;wizard interface&amp;quot; to deploy Flash learning applications: No developer skills necessary&lt;br /&gt;
* Supports all versions of Flash and is forwardly compatible&lt;br /&gt;
* Section 508 (accessibility) compliant&lt;br /&gt;
* Supports web services including dynamic API keys: No need to hard-code API keys into your software!&lt;br /&gt;
* Pushes grades from Flash learning applications into Moodle grade book&lt;br /&gt;
* Supports customisable FlashVars so that many existing 3rd party Flash applications can also be deployed&lt;br /&gt;
* Uses SWF Object - W3C standards compliant Flash embedding method, the best Flash embed method available: stable, fully functioning and reliable, as recommended by Adobe and leading Flash developers&lt;br /&gt;
* Detects users&#039; Flash Player version to inform users if they need to upgrade&lt;br /&gt;
* Supports all Flash Player parameters&lt;br /&gt;
* Works in all browsers and browser versions that support Flash Player 6 and later&lt;br /&gt;
* Even works in browsers with Javascript disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supports Flash Remoting==&lt;br /&gt;
&lt;br /&gt;
* Uses AMFPHP as a communication gateway with Moodle&lt;br /&gt;
* Compatible with ActionScript 3.0 (Flash Player 9 and later)&lt;br /&gt;
* Includes Access.php service to authenticate users and determine their capabilities seamlessly and securely (i.e. no need to re-login in Flash applications)&lt;br /&gt;
* Includes service library to give Flash clients access to Moodle functions for things like Users, Groups, Grades, etc.&lt;br /&gt;
* Object Oriented code: Requires PHP5 or later&lt;br /&gt;
&lt;br /&gt;
==Supports XML==&lt;br /&gt;
&lt;br /&gt;
* Can deploy dynamic Flash learning applications that load in external lesson data via XML&lt;br /&gt;
* URLs to XML files are dynamic: No need to hard-code them&lt;br /&gt;
* One Flash learning application can present an unlimited number of learning interactions (lessons)&lt;br /&gt;
* Supports any type of XML that the deployed learning application is compatible with: XML, RSS, ATOM, SMIL, etc.&lt;br /&gt;
* Supported by W3C standards for dynamic content&lt;br /&gt;
* Ideal for non-developers: A wide range of 3rd party XML authoring tools available&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Does Not Support Authorware==&lt;br /&gt;
&lt;br /&gt;
Please note: Most authorware packages such as Adobe Captivate, Techsmith Camtasia, Raptivity, etc. publish learning interactions specifically for static web pages and in SCORM packages. They do not function correctly in dynamic web pages such as Moodle activity modules. (The Moodle SCORM activity module is a special exception to this).&lt;br /&gt;
&lt;br /&gt;
However, it is sometimes possible to deploy screen recordings if they are single output .swf files. Due to the limit on the number of animation frames a single .swf file can contain, this is only possible for relatively short recordings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/swf-activity-module/w/list SWF Activity Module documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Visit my [http://matbury.com/moodle/course/view.php?id=9 Moodle demo course] (Login as a guest) which allows users to login without creating an account.&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Multimedia_plugins_FAQ&amp;diff=105380</id>
		<title>Multimedia plugins FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Multimedia_plugins_FAQ&amp;diff=105380"/>
		<updated>2013-05-27T22:20:15Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Filters}}&lt;br /&gt;
==What is the best way of Embedding media in Moodle?==&lt;br /&gt;
&lt;br /&gt;
#Interesting discussion on Moodle Mahem list: https://groups.google.com/forum/?pli=1#!topic/moodlemayhem/txt_5pNwATk&lt;br /&gt;
#Playing Flash FLV &amp;amp; SWF in MOODLE 2.0: http://moodle.org/mod/forum/discuss.php?d=163374&lt;br /&gt;
&lt;br /&gt;
==How can I have embedded media resized appropriately?==&lt;br /&gt;
You can add specific dimensions to the end of the attribute HREF inside the anchor &amp;lt;A&amp;gt; tag.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;link-to-some-flash-file.swf?d=480x640&amp;quot;&amp;gt;Flash File&amp;lt;/a&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
where 480x460 are the dimensions in pixels that you wish to use.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/discuss.php?d=194684 Moodle Media player not appearing] forum discussion&lt;br /&gt;
* [[SWF Activity Module]]&lt;br /&gt;
&lt;br /&gt;
[[Category:FAQ]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Video&amp;diff=102365</id>
		<title>Video</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Video&amp;diff=102365"/>
		<updated>2012-12-09T22:23:49Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Where to host the videos */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Working with media}}&lt;br /&gt;
*Video is a very powerful tool to use in a Moodle course, allowing students, for example to catch up on lectures they missed, learn from a &amp;quot;how to&amp;quot; screencast, or improve their language skills  by watching native speakers interact.&lt;br /&gt;
*For a discussion on the best type of video file for Moodle, see [http://moodle.org/mod/forum/discuss.php?d=143478| here]&lt;br /&gt;
&#039;&#039;&lt;br /&gt;
*For a discussion of the best programs for creating screencasts, see [http://moodle.org/mod/forum/discuss.php?d=147891| here]&lt;br /&gt;
&lt;br /&gt;
==Where to host the videos==&lt;br /&gt;
&lt;br /&gt;
*Whenever possible, it is preferable to upload your videos to Moodle, storing them on your own server as you retain ultimate control. However, when server space or upload limits are restricted, it is convenient to upload videos to an online site like youtube [http://www.youtube.com] or  Vimeo[http://vimeo.com]. They can easily be embedded inside Moodle from such sites and privacy can still be maintained if you choose their private video sharing option.&lt;br /&gt;
&lt;br /&gt;
===Cross domain video hosting===&lt;br /&gt;
&lt;br /&gt;
Flash video players require permission to play videos hosted on a different URL, e.g. yourmoodle.org needs permission to play video files hosted at yourvideo.org. The permission files are stored on the root domain of where the video files are hosted, e.g. yourvideos.org/crossdomain.xml. If yourvideos.org does not have a cross domain policy file that permits yourmoodle.org to play videos, Flash Player will not permit it. Further details are available here [http://code.google.com/p/moodle-mplayer/wiki/CrossDomainSecurity].&lt;br /&gt;
&lt;br /&gt;
Many public video hosting services, such as YouTube.com, already have catch-all cross domain policy files in place and so videos can be played from them via your Moodle without any cross domain security issues arising.&lt;br /&gt;
&lt;br /&gt;
==Ways of displaying video==&lt;br /&gt;
&lt;br /&gt;
===Linking to a video online elsewhere===&lt;br /&gt;
*If your video is hosted elsewhere online (such as youtube) you can simply link to the relevant page by choosing &#039;&#039;Add a resource&amp;gt;[[URL|URL]]&#039;&#039; and pasting in the relevant link.&lt;br /&gt;
*For more information, see [[URL|URL]]&lt;br /&gt;
*Note that, in an establishment where certain video sharing sites might be banned, your students might not be able to access your video through Moodle.&lt;br /&gt;
&lt;br /&gt;
===Uploading a video for students to download===&lt;br /&gt;
*Choose this option if you wish to upload your video to Moodle and give users the option to download it to their own computers.&lt;br /&gt;
*Choose &#039;&#039;Add a resource&amp;gt;[[File|File]]&#039;&#039;&lt;br /&gt;
*For more information, see [[File|File]]&lt;br /&gt;
*Note that the way the video will display depends on the software the user has on their own computer. This could mean that some students might be unable to view your video. (See this discussion [http://moodle.org/mod/forum/discuss.php?d=143478| here])&lt;br /&gt;
&lt;br /&gt;
===Embedding a video in its own player===&lt;br /&gt;
*Moodle has an inbuilt video player called Flowplayer. If multimedia filters are enabled by the administrator, videos embedded into the text editor will play inline in Flowplayer.&lt;br /&gt;
*Anywhere that Moodle&#039;s TinyMCE text editor is available, it is possible to embed a video, for example in a [[Label|label]] or a [[Page|page]], a course topic summary, a [[Description_question_type| quiz description]] or a [[Lesson|lesson]].&lt;br /&gt;
*One ecxeption seems to be MP4 files.  They don&#039;t seem to play in Flowplayer unless hacked.  See discussion here: http://moodle.org/mod/forum/discuss.php?d=208849&lt;br /&gt;
&lt;br /&gt;
====Using the Moodle media icon====&lt;br /&gt;
*With your editing turned on, click into the HTML editor where you wish to embed your video. &lt;br /&gt;
*Click the Moodle media icon as in the following screenshot:&lt;br /&gt;
[[File:Addmedia.png]]&lt;br /&gt;
*Click &#039;&#039;Find or upload a sound,video or applet&#039;&#039;&lt;br /&gt;
*The file picker will appear:&lt;br /&gt;
[[File:Filepickermedia.png]]&lt;br /&gt;
*Either click &#039;&#039;Upload a file&#039;&#039; to upload from your computer or choose the appropriate repository from which you wish to bring in your video. (What you see will depend on what the Moodle admin has enabled)&lt;br /&gt;
*Note: &#039;&#039;&#039;To search for and embed a video from youtube, [[Youtube_videos|see here]]&#039;&#039;&#039;&lt;br /&gt;
*Change the &#039;&#039;save as/author/license&#039;&#039; settings if desired and click &#039;&#039;upload this file&#039;&#039; or &#039;&#039;select this file&#039;&#039;&lt;br /&gt;
*Your video will appear in a preview player. Click &#039;&#039;Insert&#039;&#039; at the bottom&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Don&#039;t panic&#039;&#039;!&#039;&#039;&#039; You will now only get a blue text link of your video:&lt;br /&gt;
[[File:Moodletvgirlpreview.png]]&lt;br /&gt;
*When you click &#039;&#039;save changes&#039;&#039; to return to the main course page, your video will display:&lt;br /&gt;
[[File:Moodletvgirl2.png]]&lt;br /&gt;
&lt;br /&gt;
====Using a hyperlink====&lt;br /&gt;
(Note - this method has no advantage over using the  media icon, but was popular in older versions of Moodle)&lt;br /&gt;
*With your editing turned on, click into the HTML editor where you wish to embed your video.&lt;br /&gt;
*Type some blank spaces and select them.&lt;br /&gt;
*Click the hyperlink icon as in the following screenshot.(The icon will only be clickable if you have selected text or spaces)&lt;br /&gt;
[[File:Hyperlinkicon.png]]&lt;br /&gt;
*Click the icon to the right of the link URL box:&lt;br /&gt;
[[File:Linkurl.png]]&lt;br /&gt;
*This takes you to the file picker. Follow the instructions for uploading/selecting your video as for using the Moodle media icon.&lt;br /&gt;
*When your video is chosen, it will appear in the link URL box as below. Click &#039;&#039;Insert:&#039;&#039;&lt;br /&gt;
[[File:Insertvideo.png]]&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;Don&#039;t panic!&#039;&#039;&#039;&#039;&#039; You will now only get a blue line in the HTML editor:&lt;br /&gt;
[[File:Videopreview2.png]]&lt;br /&gt;
*When you click &#039;&#039;save changes&#039;&#039; to return to the main course page, your video will display.&lt;br /&gt;
&lt;br /&gt;
====Using embed code to display external videos====&lt;br /&gt;
*Go to your chosen video sharing site and find the embed code of the video you wish to display. Copy this code.&lt;br /&gt;
*With your editing turned on, click into the HTML editor where you wish to embed your video.&lt;br /&gt;
*Click the HTML code icon as in the following screenshot:&lt;br /&gt;
[[File:Htmlcodeicon.png]]&lt;br /&gt;
*Paste your embed code into the box:&lt;br /&gt;
[[File:Embedcode.png]]&lt;br /&gt;
*Scroll down and click &amp;quot;update&amp;quot;.&lt;br /&gt;
*Your video will be previewed in the HTML editor. Click &#039;&#039;save changes&#039;&#039; for it to display on the page&lt;br /&gt;
[[File:Youtubevideo.png]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[Video_FAQ|Video FAQ]]&lt;br /&gt;
*[[Multimedia plugins filter]]&lt;br /&gt;
*[http://www.mguhlin.org/2012/01/embedding-videos-in-moodle-22.html Embedding Videos in #Moodle 2.2] blog post from Miguel Guhlin&lt;br /&gt;
&lt;br /&gt;
[[de:Video]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Amazon_S3_repository&amp;diff=100299</id>
		<title>Amazon S3 repository</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Amazon_S3_repository&amp;diff=100299"/>
		<updated>2012-09-02T20:44:24Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* How to set up Moodle with Amazon S3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Repositories}}&lt;br /&gt;
The Amazon S3 repository enables users to link to or copy files from Amazon S3 into Moodle. &lt;br /&gt;
&lt;br /&gt;
==How to set up Moodle with Amazon S3==&lt;br /&gt;
&lt;br /&gt;
===Set up Amazon S3===&lt;br /&gt;
&lt;br /&gt;
You need to set up an account with Amazon Web Services and activate a Simple Storage Service (S3) instance. You will also need to set up private and public access keys so that your Moodle can be authenticated to access the files.&lt;br /&gt;
&lt;br /&gt;
===Enable Amazon S3 in Moodle===&lt;br /&gt;
&lt;br /&gt;
Go to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Repositories &amp;gt; Manage Repositories&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enable the Amazon S3 repository:&lt;br /&gt;
&lt;br /&gt;
*Either: Enabled and visible (What does this mean?)&lt;br /&gt;
&lt;br /&gt;
*Or: Enabled and hidden (What does this mean?)&lt;br /&gt;
&lt;br /&gt;
Once enabled, you can go to:&lt;br /&gt;
&lt;br /&gt;
Located in &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Repositories &amp;gt; Amazon S3&#039;&#039; or &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Repositories &amp;gt; Manage Repositories &amp;gt; Amazon S3 &amp;gt; Settings&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Repository plugin name&lt;br /&gt;
&lt;br /&gt;
*Access key - Generated by your Amazon S3 account&lt;br /&gt;
&lt;br /&gt;
*Secret key - Generated by your Amazon S3 account&lt;br /&gt;
&lt;br /&gt;
==Repository capabilities==&lt;br /&gt;
&lt;br /&gt;
There is just one capability, [[Capabilities/repository/s3:view|View amazon s3 repository]], which is allowed for the default authenticated user role.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=165934 Streaming video files from Amazon S3]&lt;br /&gt;
&lt;br /&gt;
*[http://aws.amazon.com/s3/ About Amazon Simple Storage Service (Amazon S3)]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[de:Amazon S3 Repository]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Talk:Amazon_S3_repository&amp;diff=100298</id>
		<title>Talk:Amazon S3 repository</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Talk:Amazon_S3_repository&amp;diff=100298"/>
		<updated>2012-09-02T19:46:04Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: Created page with &amp;quot;Fresh install of Moodle 2.3 does not correspond to this documentation. No Amazon S3 repository options are visible. Have made ammendments.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Fresh install of Moodle 2.3 does not correspond to this documentation. No Amazon S3 repository options are visible. Have made ammendments.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Amazon_S3_repository&amp;diff=94078</id>
		<title>Amazon S3 repository</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Amazon_S3_repository&amp;diff=94078"/>
		<updated>2011-11-25T19:09:21Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* How to set up Moodle with Amazon S3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Repositories}}&lt;br /&gt;
The Amazon S3 repository enables users to link to or copy files from Amazon S3 into Moodle. &lt;br /&gt;
&lt;br /&gt;
==How to set up Moodle with Amazon S3==&lt;br /&gt;
&lt;br /&gt;
Located in Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Repositories &amp;gt; Amazon S3&lt;br /&gt;
&lt;br /&gt;
*Repository plugin name&lt;br /&gt;
&lt;br /&gt;
*Access key - Generated by your Amazon S3 account&lt;br /&gt;
&lt;br /&gt;
*Secret key - Generated by your Amazon S3 account&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=165934 Streaming video files from Amazon S3]&lt;br /&gt;
&lt;br /&gt;
*[http://aws.amazon.com/s3/ About Amazon Simple Storage Service (Amazon S3)]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[de:Amazon S3 Repository]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Amazon_S3_repository&amp;diff=94077</id>
		<title>Amazon S3 repository</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Amazon_S3_repository&amp;diff=94077"/>
		<updated>2011-11-25T19:02:36Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Repositories}}&lt;br /&gt;
The Amazon S3 repository enables users to link to or copy files from Amazon S3 into Moodle. &lt;br /&gt;
&lt;br /&gt;
==How to set up Moodle with Amazon S3==&lt;br /&gt;
&lt;br /&gt;
Located in Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Repositories &amp;gt; Amazon S3&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=165934 Streaming video files from Amazon S3]&lt;br /&gt;
&lt;br /&gt;
*[http://aws.amazon.com/s3/ About Amazon Simple Storage Service (Amazon S3)]&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[de:Amazon S3 Repository]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:NEWMODULE_Documentation&amp;diff=81705</id>
		<title>Development:NEWMODULE Documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:NEWMODULE_Documentation&amp;diff=81705"/>
		<updated>2011-03-03T12:14:18Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* lib.php */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Work in progress}}&lt;br /&gt;
{{New_Module}}&lt;br /&gt;
This first draft of Moodle Docs page about the creation of  a new module is divided into the some sections. See block NEWMODULE at right side.&lt;br /&gt;
&lt;br /&gt;
=Getting started=&lt;br /&gt;
&lt;br /&gt;
== Base module folder content ==&lt;br /&gt;
To download the newmodule package, please refer to:&lt;br /&gt;
:* 1.8: http://download.moodle.org/plugins18/mod/NEWMODULE.zip&lt;br /&gt;
:* 1.9: http://download.moodle.org/plugins19/mod/NEWMODULE.zip&lt;br /&gt;
:* HEAD: http://download.moodle.org/plugins/mod/NEWMODULE.zip&lt;br /&gt;
&lt;br /&gt;
Although you can download the newmodule package for moodle 1.8, such as 1.9 and HEAD, this tutorial is intended for the newmodule development in &#039;&#039;&#039;Moodle 1.9 only&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Let&#039;s start by getting an idea about what you find in the newmodule folder taken from http://download.moodle.org/plugins19/mod/NEWMODULE.zip&lt;br /&gt;
# db/install.xml&lt;br /&gt;
# db/upgrade.php&lt;br /&gt;
# icon.gif&lt;br /&gt;
# index.php&lt;br /&gt;
# lang/en_utf8/help/newmodule/index.html&lt;br /&gt;
# lang/en_utf8/help/newmodule/mods.html&lt;br /&gt;
# lang/en_utf8/newmodule.php&lt;br /&gt;
# lib.php&lt;br /&gt;
# mod_form.php&lt;br /&gt;
# README.txt&lt;br /&gt;
# version.php&lt;br /&gt;
# view.php&lt;br /&gt;
&lt;br /&gt;
The path where you find each file is the correct one. So don&#039;t change the path of files and folders in this newmodule package.&lt;br /&gt;
&lt;br /&gt;
Inside the db folder, at the beginning, you can only find install.xml and upgrade.php but sooner you will start to always add the new file &amp;quot;access.php&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== db/install.xml === &lt;br /&gt;
&#039;&#039;db/install.xml&#039;&#039; is the file to write the xml describing the tables needed by the module.&lt;br /&gt;
Tables are at least two, first named with the same name of the module, second named &amp;quot;log_display&amp;quot;. &lt;br /&gt;
They follow a strict syntax that you can learn by editing one of the several example you can find inside moodle modules. &lt;br /&gt;
Ultimately the only thing to take care is the &amp;lt;&amp;lt;previous&amp;gt;&amp;gt; &amp;lt;&amp;lt;next&amp;gt;&amp;gt; connection between tables and fields.&lt;br /&gt;
This is the mandatory file where you MUST write the structure of the tables your module is going to use. &lt;br /&gt;
The table &amp;quot;log_display&amp;quot; is the tables where you are requested to list all the &amp;quot;actions&amp;quot; that you will add to the logs of your module.&lt;br /&gt;
&lt;br /&gt;
=== db/upgrade.php ===&lt;br /&gt;
&#039;&#039;db/upgrade.php&#039;&#039; is the file that you will write each time you need to change the structure of the tables of your module.&lt;br /&gt;
&lt;br /&gt;
To learn how to write this file, please refer to the examples you may find in the file itself.&lt;br /&gt;
&lt;br /&gt;
=== icon.gif ===&lt;br /&gt;
It is a 16px per 16px icon identifying each instance of your module in the frame of a course.&lt;br /&gt;
&lt;br /&gt;
=== index.php ===&lt;br /&gt;
&#039;&#039;index.php&#039;&#039; is a page to list all instances of the functionality the module provides in a course.&lt;br /&gt;
&lt;br /&gt;
=== lang ===&lt;br /&gt;
&#039;&#039;lang&#039;&#039; is the folder reserved to language packs. &lt;br /&gt;
&lt;br /&gt;
A module language pack is a folder named &amp;quot;xx_utf8&amp;quot; containing, in turn, a folder named &amp;quot;help&amp;quot; and a language file named with the same name of the module. xx is the two char long name of the language, i.e. en, de, es, it, fr and so forth. Each language file is dedicated to a specific language. The lang folder may contain as much language packs as provided by different translators.&lt;br /&gt;
&lt;br /&gt;
The lang/xx_utf8/help/ folder contains all the help files you want to provide to your module. In order to link a help file from inside the code of your module pages use $mform-&amp;gt;[[Development:lib/formslib.php_Form_Definition#setHelpButton|setHelpButton]] in [[#mod_form.php|mod_form.php]] and in other places use &amp;lt;code php&amp;gt; helpbutton(&#039;&amp;lt;&amp;lt;name of your help file saved in lang/xx_utf8/help/&amp;gt;&amp;gt;&#039;, get_string(&#039;your_string&#039;,&#039;newmodule&#039;), &#039;newmodule&#039;);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== lib.php ===&lt;br /&gt;
&#039;&#039;[[lib.php]]&#039;&#039; is the pre-filled file with &amp;quot;core&amp;quot; functions needed by each module.&lt;br /&gt;
&lt;br /&gt;
Almost all newmodule functions go here. Each of them must have a name that starts with newmodule_&lt;br /&gt;
This file should have two well differenced parts:&lt;br /&gt;
* All the core Moodle functions, neeeded to allow the module to work integrated in Moodle.&lt;br /&gt;
* All the newmodule specific functions, needed to implement all the module logic. &lt;br /&gt;
&lt;br /&gt;
Please, note that, if the module become complex and this lib grows a lot, it&#039;s HIGHLY recommended to move all these module specific functions to a new php file, called &amp;quot;locallib.php&amp;quot; (see forum, quiz...). This will help to save some memory when Moodle is performing actions across all modules.&lt;br /&gt;
&lt;br /&gt;
There are convention to name functions into lib.php and locallib.php. See: &lt;br /&gt;
* [[Development:Coding_style#Functions_and_Methods]]&lt;br /&gt;
* [[Development:Modules]]&lt;br /&gt;
&lt;br /&gt;
There are some details just above the each function in lib.php.&lt;br /&gt;
&lt;br /&gt;
Mandatory function are, at least:&lt;br /&gt;
&lt;br /&gt;
Module instance editing form handlers, that called from [http://xref.moodle.org/course/mod.php.source.html /course/mod.php] or [http://xref.moodle.org/course/modedit.php.source.html /course/modedit.php]:&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_add_instance($newmodule)&#039;&#039;&#039;&lt;br /&gt;
This function is after an editing teacher &#039;&#039;create an instance&#039;&#039; of newmodule.&lt;br /&gt;
&lt;br /&gt;
Moodle development team: Examples?&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_update_instance($newmodule)&#039;&#039;&#039;&lt;br /&gt;
This function is executed after an editing teacher &#039;&#039;update an instance&#039;&#039; of newmodule.&lt;br /&gt;
&lt;br /&gt;
Moodle development team: Examples?&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_delete_instance($id)&#039;&#039;&#039;&lt;br /&gt;
This function is executed after an editing teacher &#039;&#039;delete an instance&#039;&#039; of newmodule.&lt;br /&gt;
&lt;br /&gt;
Moodle development team: Examples?&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_user_outline()&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_user_complete($course, $user, $mod, $newmodule)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_print_recent_activity($course, $isteacher, $timestart)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_cron()&#039;&#039;&#039;&lt;br /&gt;
Take care with this function. Differently by all the other functions, this function is not called by passing it the $newmodule record. This means that this function, called by moodle core cron has to look for each newmodule instance id before operating.&lt;br /&gt;
&lt;br /&gt;
Don&#039;t worry, even if you have more than a single instance of your module among moodle courses, this function will be executed just one time.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_get_participants($newmoduleid)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_scale_used($newmoduleid, $scaleid)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_scale_used_anywhere($scaleid)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_install()&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_uninstall()&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
Some more functions should be added:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_reset_course_form_definition(&amp;amp;$mform)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_reset_course_form_defaults($course)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_reset_userdata($data)&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: What does this function do? Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
These three functions are responsible for the newmodule reset process during the more general course reset process. Please, refer to [[mod/data/lib.php]] or to [[mod/feedback/lib.php]], for instance, to understand them better.&lt;br /&gt;
&lt;br /&gt;
Two more functions should be added to lib.php are:&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_get_view_actions()&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;function newmodule_get_post_actions()&#039;&#039;&#039;&lt;br /&gt;
Moodle development team: Examples? Please complete!&lt;br /&gt;
&lt;br /&gt;
They distinguish between &amp;quot;read&amp;quot; and &amp;quot;post&amp;quot; log actions. These functions are used by moodle core during log gather.&lt;br /&gt;
The actions you list inside these two functions, must match the ones you listed in the table &amp;quot;log_display&amp;quot; in install.xml&lt;br /&gt;
&lt;br /&gt;
==== Connection between &#039;&#039;&#039;lib.php&#039;&#039;&#039; and &#039;&#039;&#039;locallib.php&#039;&#039;&#039; ====&lt;br /&gt;
One important issue is about the connection between &#039;&#039;&#039;lib.php&#039;&#039;&#039; and &#039;&#039;&#039;locallib.php&#039;&#039;&#039;. Who has to call the other, how and why?&lt;br /&gt;
It has to be locallib.php to call lib.php through: &lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
  require_once(&amp;quot;$CFG-&amp;gt;dirroot/mod/newmodule/lib.php&amp;quot;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
as first line.&lt;br /&gt;
&lt;br /&gt;
In this way, if moodle core calls function inside mod/newmodule/lib.php no module specific function will be loaded in memory.&lt;br /&gt;
If it is your newmodule to call a function, it has to require_once(&#039;locallib.php&#039;); that, in turn, will require_once(&#039;lib.php&#039;) so that your module will &amp;quot;see&amp;quot; all its available functions.&lt;br /&gt;
&lt;br /&gt;
=== mod_form.php ===&lt;br /&gt;
&#039;&#039;mod_form.php&#039;&#039; is the file describing the form you get at the module instance creation or at the instance editing time.&lt;br /&gt;
&lt;br /&gt;
There are only one class definition, that extends class &#039;&#039;moodleform_mod&#039;&#039; from [http://xref.moodle.org/course/moodleform_mod.php.source.html /course/moodleform_mod.php].&lt;br /&gt;
&lt;br /&gt;
The syntax for add new form elements is very simple and by reading the file it is simple to change it on your need. It uses the syntax you can learn in [[Development:lib/formslib.php_Form_Definition]].&lt;br /&gt;
&lt;br /&gt;
This file used only from [http://xref.moodle.org/course/modedit.php.source.html /course/modedit.php].&lt;br /&gt;
&lt;br /&gt;
At date, there is a missing detail by the end of the file. You can read:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
  //------------------------------------------------------------------------------&lt;br /&gt;
  // add standard elements, common to all modules&lt;br /&gt;
  $this-&amp;gt;standard_coursemodule_elements();&lt;br /&gt;
  //------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This part with one call of function inherited from moodleform_mod that is responsible for the common modules section at the end of your newmodule editing instance page. The section related to groups, outcomes, grades, visibility etc. This code can be customized by settings object passed to it:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
  //------------------------------------------------------------------------------&lt;br /&gt;
  // add standard elements, common to all modules&lt;br /&gt;
  $features = new object();&lt;br /&gt;
  $features-&amp;gt;groups           = false;&lt;br /&gt;
  $features-&amp;gt;groupings        = false;&lt;br /&gt;
  $features-&amp;gt;groupmembersonly = true;&lt;br /&gt;
  $this-&amp;gt;standard_coursemodule_elements($features);&lt;br /&gt;
  //------------------------------------------------------------------------------&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
One more tip about this file.&lt;br /&gt;
* Once you submit the form described by this file, your module executes the function: &#039;&#039;newmodule_add_instance&#039;&#039; or &#039;&#039;newmodule_update_instance&#039;&#039; both pre-written in [[#lib.php|lib.php]].&lt;br /&gt;
* It seems that check boxes in the editing instance form don&#039;t work. To test this, please verify the passed parameter $newmodule inside your function &#039;&#039;newmodule_update_instance&#039;&#039; through a simple: &amp;lt;code php&amp;gt;print_object($newmodule);&amp;lt;/code&amp;gt;&lt;br /&gt;
* You will find that even by selecting or unselecting the check box in the newmodule instance editing form, the corresponding value in the array doesn&#039;t change. This is not an error, but at least a lack of code. You will find that all works fine by adding at the beginning of both functions a simple code like this:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$checkboxes = array(&#039;myfirstcheckboxfield&#039;, &#039;mysecondcheckboxfield&#039;, and so fort with all your checkbox field);&lt;br /&gt;
foreach ($checkboxes as $checkbox) {&lt;br /&gt;
    if (empty($newmodule-&amp;gt;{$checkbox})) {&lt;br /&gt;
        $newmodule-&amp;gt;{$checkbox} = 0;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== README.txt ===&lt;br /&gt;
This is the file where you are welcome to write what your newmodule does.&lt;br /&gt;
&lt;br /&gt;
=== version.php ===&lt;br /&gt;
&#039;&#039;version.php&#039;&#039; is a really very simple file as simple as important.&lt;br /&gt;
&lt;br /&gt;
To understand why it is important, you need to know that there are a bunch of actions that moodle performs for your newmodule ONLY (with only one exception) at the newmodule installation. They are, at least, db tables editing and load of capability. If during the development of your module (that you already installed on your development environment or that you already shared with remote users) you need to change the structure of your newmodule tables or you need to change the capability used by your newmodule, you need to force moodle to edit tables and reload capability.&lt;br /&gt;
&lt;br /&gt;
This is done by:&lt;br /&gt;
* adding the proper code in newmodule/db/upgrade.php (to do this, use XMLDB as stated in this same page below)&lt;br /&gt;
* increasing the newmodule version in version.php&lt;br /&gt;
* visiting the notification page of your installation of Moodle&lt;br /&gt;
&lt;br /&gt;
=== view.php ===&lt;br /&gt;
This is the first executed code of your module. By selecting the link of the instance of your module, the code of newmodule/view.php is executed.&lt;br /&gt;
&lt;br /&gt;
== Some very important missing files ==&lt;br /&gt;
There are five files that are not present in the newmodule package that 90% of times you will go to add to your newmodule.&lt;br /&gt;
&lt;br /&gt;
; locallib.php&lt;br /&gt;
: The first one is &#039;&#039;locallib.php&#039;&#039; already described before.&lt;br /&gt;
&lt;br /&gt;
; access.php&lt;br /&gt;
: The second one is &#039;&#039;access.php&#039;&#039; that has to be saved inside newmodule/db/ folder.&lt;br /&gt;
: In this file you will add all the capability used by your newmodule and loaded at the installation time or upgrade time. To learn the syntax of the capability, please refer to the same file in other modules or to: https://docs.moodle.org/en/Development:NEWMODULE_Adding_capabilities&lt;br /&gt;
&lt;br /&gt;
; settings.php&lt;br /&gt;
: The third missing file must be added to newmodule/ folder. It is &#039;&#039;settings.php&#039;&#039; and describes the form that can be accessed from: Site Administration block -&amp;gt; Modules -&amp;gt; Activities -&amp;gt; &amp;lt;&amp;lt;your newmodule name&amp;gt;&amp;gt;&lt;br /&gt;
:This form stores general settings for your newmodule into the site wide $CFG object. Because of this, it is strongly recommended to give to your newmodule general settings with names starting with &amp;quot;newmodule_&amp;quot;. This file is useful when there is a setting that doesn&#039;t depend from the instance. I.e., if your newmodule simulates a telephone, you will probably save your telephone number in this newmodule setting site wide form instead of typing it each time you add a new instance of your newmodule into a course. In this case, to refer to you telephone number inside your newmodule you will use: $CFG-&amp;gt;newmodule_telephonenumber&lt;br /&gt;
&lt;br /&gt;
; backuplib.php&lt;br /&gt;
: Directly in the newmodule folder, you need to add &#039;&#039;backuplib.php&#039;&#039; that is responsible for the backup of each instance of your module and of its log.&lt;br /&gt;
:To learn how to code it, start by stealing it from some other module and read it.&lt;br /&gt;
&lt;br /&gt;
; restorelib.php&lt;br /&gt;
: Again in the newmodule folder, you need to add &#039;&#039;restorelib.php&#039;&#039; that is responsible for the restore of each instance your module and of its log.&lt;br /&gt;
:To learn how to code it, start by stealing it from some other module and read it.&lt;br /&gt;
&lt;br /&gt;
==Let&#039;s start==&lt;br /&gt;
To start using a downloaded package, please perform the 7 actions described in [[Development:NEWMODULE_Tutorial]] in &#039;&#039;How to Begin the Creation of a New Module&#039;&#039; paragraph.&lt;br /&gt;
&lt;br /&gt;
Then, draw the structure of your tables on a sheet, edit the file db/install.xml according to your project, save, put your renamed newmodule folder in moodle/mod/ and visit the moodle notification page.&lt;br /&gt;
&lt;br /&gt;
To add code to db/upgrade.php never do it manually. I always make use of Site Administration block -&amp;gt; Miscellaneous -&amp;gt; [[XMLDB editor]] and I ask it to write the code for me. It never fails.&lt;br /&gt;
&lt;br /&gt;
Please remember: within your module, never use &amp;quot;embedded messages&amp;quot; like:&lt;br /&gt;
&amp;lt;pre&amp;gt;echo &#039;Welcome to this newmodule&#039;;&amp;lt;/pre&amp;gt;&lt;br /&gt;
but make use of get_string or print_string. In this way your module will be multilang with a really small effort.&lt;br /&gt;
Use, for instance:&lt;br /&gt;
&amp;lt;code php&amp;gt;print_string(&#039;welcomemessage&#039;,&#039;newmodule&#039;);&amp;lt;/code&amp;gt;&lt;br /&gt;
saving in newmodule/lang/en_utf8/newmodule.php&lt;br /&gt;
&amp;lt;code php&amp;gt;$string[&#039;welcomemessage&#039;] = &#039;Welcome to this newmodule&#039;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Some code snippets that I find useful==&lt;br /&gt;
&lt;br /&gt;
=== Check the capability of a user ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
if (newmodule_hascapabilitytodothis()) {&lt;br /&gt;
    //user is allowed&lt;br /&gt;
} else {&lt;br /&gt;
    // user is not allowed&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
typing in locallib.php&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
function newmodule_hascapabilitytodothis($cm) {&lt;br /&gt;
    $context = get_context_instance(CONTEXT_MODULE, $cm-&amp;gt;id);&lt;br /&gt;
&lt;br /&gt;
    return (has_capability(&#039;mod/newmodule:candothis&#039;, $context));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
typing in db/access.php&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$mod_newmodule_capabilities = array(&lt;br /&gt;
    &#039;mod/newmodule:candothis&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;captype&#039; =&amp;gt; &#039;read&#039;,&lt;br /&gt;
        &#039;contextlevel&#039; =&amp;gt; CONTEXT_MODULE,&lt;br /&gt;
        &#039;legacy&#039; =&amp;gt; array(&lt;br /&gt;
            &#039;teacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;editingteacher&#039; =&amp;gt; CAP_ALLOW,&lt;br /&gt;
            &#039;admin&#039; =&amp;gt; CAP_ALLOW&lt;br /&gt;
        )&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Edit the tables in use by your newmodule ===&lt;br /&gt;
&lt;br /&gt;
* edit [[#db/install.xml|db/install.xml]] manually by editing fields and or tables in the xml structure.&lt;br /&gt;
* go to Site Administration block -&amp;gt; Miscellaneous -&amp;gt; XMLDB editor and load the tables of your module&lt;br /&gt;
* ask to the XMLDB editor the snippets of code you need to add to [[#db/upgrade.php|db/upgrade.php]]&lt;br /&gt;
* copy and paste in [[#db/upgrade.php|db/upgrade.php]]&lt;br /&gt;
* in the line: &amp;lt;code php&amp;gt;if ($result &amp;amp;&amp;amp; $oldversion &amp;lt; xxxxxxxxxxxx)&amp;lt;/code&amp;gt; (replace xxxxxxxxxxxx with the version number you are going to give to your newmodule)&lt;br /&gt;
* change (increase) the version number&lt;br /&gt;
* visit the Moodle notification page&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Add a single line to logs from your newmodule ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
add_to_log($course-&amp;gt;id, &#039;newmodule&#039;, &#039;&amp;lt;&amp;lt;action already listed in log_display&amp;gt;&amp;gt;&#039;, &amp;quot;view.php?id=$cm-&amp;gt;id&amp;quot;, &amp;quot;$newmodule-&amp;gt;id&amp;quot;);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Ensure that remote user will not be able to contact your pages by typing their URL directly in the address bar ===&lt;br /&gt;
&lt;br /&gt;
as first line of each of your php script&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
if (!defined(&#039;MOODLE_INTERNAL&#039;)) {&lt;br /&gt;
    die(&#039;Direct access to this script is forbidden.&#039;); // It must be included from a Moodle page&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Some suggestion I find useful==&lt;br /&gt;
&#039;&#039;&#039;To include php scripts&#039;&#039;&#039;, try:&lt;br /&gt;
&amp;lt;pre&amp;gt;require_once(&#039;myscript.php&#039;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To include php library&#039;&#039;&#039;, try:&lt;br /&gt;
&amp;lt;pre&amp;gt;require_once(&#039;locallib.php&#039;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To periodically execute function newmodule_cron()&#039;&#039;&#039;, try:&lt;br /&gt;
&amp;lt;pre&amp;gt;$module-&amp;gt;cron = xxxx;&amp;lt;/pre&amp;gt;&lt;br /&gt;
providing some code in: &amp;lt;pre&amp;gt;function newmodule_cron()&amp;lt;/pre&amp;gt;&lt;br /&gt;
Your function newmodule_cron() will be executed about each xxxx seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not include config when it is not needed&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;require_once(&#039;config.php&#039;)&amp;lt;/pre&amp;gt;&lt;br /&gt;
is not needed in library scripts&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Do not use global $cm or $newmodule in your function&#039;&#039;&#039;&lt;br /&gt;
but use proper function parameters.&lt;br /&gt;
&lt;br /&gt;
So, never use:&lt;br /&gt;
&amp;lt;pre&amp;gt;function newmodule_lookatthesky() {&lt;br /&gt;
    global $cm, $newmodule;&lt;br /&gt;
    &lt;br /&gt;
    // your stuff&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
but use: &lt;br /&gt;
&amp;lt;pre&amp;gt;function newmodule_lookatthesky($cm, $newmodule) {&lt;br /&gt;
    &lt;br /&gt;
    // your stuff&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [http://dev.moodle.org/course/view.php?id=2 Moodle Developers&#039; Course]&lt;br /&gt;
* [[Development:Modules]]&lt;br /&gt;
* [[Development:Places to search for lang strings|Where to put language strings for your plugin]]&lt;br /&gt;
* [[Development:Installing and upgrading plugin database tables|Defining the database tables for your plugin]]&lt;br /&gt;
&lt;br /&gt;
{{CategoryDeveloper}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer|Modules]] &lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:AMF3&amp;diff=81287</id>
		<title>Development:AMF3</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:AMF3&amp;diff=81287"/>
		<updated>2011-02-13T22:22:21Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;sideblock right&amp;quot; style=&amp;quot;width: 12em;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;header&amp;quot;&amp;gt;AMFPHP/Moodle2.0/Flex/AS3&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;content&amp;quot;&amp;gt;&lt;br /&gt;
* New Moodle Webservices for use with Flex/AS/ (dec 2009) [http://tracker.moodle.org/browse/MDL-12886  WS TRACKER 2.0]&lt;br /&gt;
* OLD ActionScript 3.0 (Flash CS3 and Flex) page&lt;br /&gt;
* Original ActionScript 2.0 tutorial [[Development:AMFPHP]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==AMF in Moodle 1.9==&lt;br /&gt;
&lt;br /&gt;
A framework for Flash learning interaction integration with Moodle 1.9 already exists. If you want to get started with AMFPHP in Moodle 1.9 right away, see the [http://code.google.com/p/swf-activity-module/ SWF Activity Module on Google Code].&lt;br /&gt;
&lt;br /&gt;
==TEMP NOTE: Updates Dec 2009==&lt;br /&gt;
Further to recent questions from parties....&lt;br /&gt;
&lt;br /&gt;
AMF for use in Moodle is currently being completed within web service infrastructure for Moodle 2.0. Developers please see [http://tracker.moodle.org/browse/MDL-12886  WS TRACKER 2.0]&lt;br /&gt;
&lt;br /&gt;
The information contained below is for reference only, Parties interested in development status of Moodle/AMF see above link. Developers interested in /Flex/Flash builder/AS moodle trail activities feel free to contact marcusjpotter&#039;at&#039;gmail.com - who is co-ordinating Moodle trail activities with Moodle HQ.&lt;br /&gt;
&lt;br /&gt;
 - Marcus Potter: Will remove notice once docs updated&lt;br /&gt;
&lt;br /&gt;
==History: What is AMFPHP?==&lt;br /&gt;
&lt;br /&gt;
===Action Message Format PHP===&lt;br /&gt;
[http://sourceforge.net/projects/amfphp/ AMFPHP] is a widely used open source remoting server that allows Flash and Flex client-side applications to call PHP methods directly, as if they were native Flash/Flex ActionScript methods. It is fast and lightweight and presents an efficient, simple and easy to implement method of communicating with PHP and databases.&lt;br /&gt;
&lt;br /&gt;
===Preserved Data Types===&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/projects/amfphp/ AMFPHP] preserves the following data types between ActionScript and PHP:&lt;br /&gt;
&lt;br /&gt;
* Array&lt;br /&gt;
* Bitmap&lt;br /&gt;
* ByteArray&lt;br /&gt;
* int&lt;br /&gt;
* Number&lt;br /&gt;
* Object&lt;br /&gt;
* Recordset (mysql_result)&lt;br /&gt;
* String&lt;br /&gt;
* XML (ActionScript 3.0 also supports [http://en.wikipedia.org/wiki/E4X E4X] notation)&lt;br /&gt;
&lt;br /&gt;
Note: Please add to this list if you have successfully tested data types using AMFPHP 1.9.beta+ and ActionScript 3.0.&lt;br /&gt;
&lt;br /&gt;
[http://sourceforge.net/projects/amfphp/ AMFPHP] automatically converts data types between ActionScript and PHP to their native equivalents. For example, it can convert a PHP array into and ActionScript array or a PHP resource, such as a mysql_result into an Actionscript Recordset.&lt;br /&gt;
&lt;br /&gt;
===AMF0 and AMF3===&lt;br /&gt;
Previous versions of Flash, using ActionScript 2.0 (versions 6, 7 and 8), use AMF0. ActionScript 3.0, Flash CS3+ and Flex, use AMF3 by default but can also use AMF0. What&#039;s the difference? AMF3 is compressed and therefore lighter and faster. For more details look [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/ObjectEncoding.html here]. AMFPHP version (1.9) supports AMF3&lt;br /&gt;
&lt;br /&gt;
==What is AMF Moodle?==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/amfmoodle/ AMF Moodle] is a new project (9th October 2008) which aims to integrate Flash and Flex with Moodle&#039;s API. The aim is to build a library of services that Flash and Flex developers can use to create secure client-side applications that can interact with Moodle. The first step will be to create a Moodle modules that facilitates deploying custom made, generic Flash and Flex e-learning interactions in Moodle courses and recording user interaction results in the Moodle gradebook.&lt;br /&gt;
&lt;br /&gt;
===AMF Moodle Outline===&lt;br /&gt;
&lt;br /&gt;
There is a summary of some of the specifications for the new AMF Moodle on the [[Talk:AMF_Moodle]] comments page that are under discussion. Once we have a more definite specification, it will be transferred to here. Please feel free to comment, make requests, ask questions etc. on the comments page. It&#039;ll really help us alot.&lt;br /&gt;
&lt;br /&gt;
===AMF Moodle Participants===&lt;br /&gt;
&lt;br /&gt;
The project&#039;s participants at the moment are:&lt;br /&gt;
[http://matbury.com/ Matt Bury],&lt;br /&gt;
[http://jamiep.org/ Jamie Pratt]&lt;br /&gt;
and [http://twitter.com/marcusjpotter Marcus Potter].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Find the AMF Moodle discussion thread [http://moodle.org/mod/forum/discuss.php?d=105716 here].&lt;br /&gt;
&lt;br /&gt;
For further discussion, please use the [[Talk:AMF_Moodle]] page comments tab for this wiki page.&lt;br /&gt;
&lt;br /&gt;
==What Are the Differences between Using AMFPHP and SCORM?==&lt;br /&gt;
&lt;br /&gt;
Several Moodle developers and contributors have asked the question, &amp;quot;If you want to deploy Flash in Moodle, why not use SCORM?&amp;quot; [http://moodle.org/mod/forum/discuss.php?d=107918#p475832 There is a discussion in the General Developers Forum on the advantages and disadvantages of SCORM.] &lt;br /&gt;
&lt;br /&gt;
==Installing AMFPHP in Moodle==&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
* Download the latest version of [http://sourceforge.net/projects/amfphp/ AMFPHP], currently version 1.9.beta (SourceForge repository).&lt;br /&gt;
* Unzip the file and find the directory amfphp.&lt;br /&gt;
* Upload the amfphp directory to ***MOODLEROOT***/lib/&lt;br /&gt;
&lt;br /&gt;
===Edit gateway.php===&lt;br /&gt;
* Find the file ***MOODLEROOT***/lib/amfphp/gateway.php and open it in your favourite text/PHP editor&lt;br /&gt;
* At the beginning of the code, add the line: include_once &amp;quot;../../config.php&amp;quot;;&lt;br /&gt;
* Find and edit the line: $gateway-&amp;gt;setClassPath($servicesPath); and change it to: $gateway-&amp;gt;setClassPath($CFG-&amp;gt;dirroot.&amp;quot;/lib/amfphp/services/&amp;quot;);&lt;br /&gt;
* Upload the edited ***MOODLEROOT***/lib/amfphp/gateway.php file.&lt;br /&gt;
* That&#039;s it!&lt;br /&gt;
&lt;br /&gt;
===Setting PHP 5 as Default===&lt;br /&gt;
Please note: AMFPHP requires PHP 5 to work seamlessly, although some report success with version 4.  Many servers run both PHP 4 and 5, but have them set to run PHP 4 by default. If you experience problems, you may have to change the default PHP version in the ***MOODLEROOT***/lib/amfphp/ directory with an .htaccess file. The following is an example only. Please check that it is correct for your server configuration. If you have a hosted server, they&#039;ll probably have an example in their help files. For example:&lt;br /&gt;
&lt;br /&gt;
* Find the AMFPHP .htaccess file at ***MOODLEROOT***/lib/amfphp/.htaccess&lt;br /&gt;
* Open it with a text editor. You&#039;ll see:&lt;br /&gt;
&amp;lt;pre&amp;gt;#If you&#039;re working with a server which doesn&#039;t seem to display errors and you don&#039;t &lt;br /&gt;
#have access to httpd.conf and you have a good reason to develop remotely instead of&lt;br /&gt;
#locally, you may have luck with uploading this configuration file to the server&lt;br /&gt;
&lt;br /&gt;
php_flag display_errors on&lt;br /&gt;
php_flag display_startup_errors on&lt;br /&gt;
php_value error_reporting 2047&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Add another line of code to change the default PHP version setting for the amfphp directory:&lt;br /&gt;
&amp;lt;pre&amp;gt;#If you&#039;re working with a server which doesn&#039;t seem to display errors and you don&#039;t &lt;br /&gt;
#have access to httpd.conf and you have a good reason to develop remotely instead of&lt;br /&gt;
#locally, you may have luck with uploading this configuration file to the server&lt;br /&gt;
&lt;br /&gt;
php_flag display_errors on&lt;br /&gt;
php_flag display_startup_errors on&lt;br /&gt;
php_value error_reporting 2047&lt;br /&gt;
&lt;br /&gt;
SetEnv DEFAULT_PHP_VERSION 5&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Testing AMFPHP in Moodle==&lt;br /&gt;
&lt;br /&gt;
Here is an example of a simple AMF Moodle service that checks the login status of your browser.&lt;br /&gt;
&lt;br /&gt;
* Create a new document in your preferred text/PHP editor&lt;br /&gt;
* Copy and paste the code and save it as UserName.php&lt;br /&gt;
* Upload it to ***MOODLEROOT***/lib/amfphp/services/&lt;br /&gt;
&lt;br /&gt;
Now is a good time to find out if your server is running the correct PHP version. If your server is running PHP 4 by default, you&#039;ll get error messages caused by the &amp;quot;public&amp;quot; namespace.&lt;br /&gt;
&lt;br /&gt;
* Navigate to the PHP page you just uploaded in your browser: ***MOODLEROOT***/lib/amfphp/services/UserName.php&lt;br /&gt;
* If there are no error messages then you can continue to the &amp;quot;Testing AMFPHP in Flash&amp;quot; section&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class UserName&lt;br /&gt;
{&lt;br /&gt;
	public function __construct()&lt;br /&gt;
	{&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	*checks whether you&#039;re logged in to Moodle&lt;br /&gt;
	*@returns user login status&lt;br /&gt;
	*/&lt;br /&gt;
    public function loggedInAs() {&lt;br /&gt;
        global $USER;&lt;br /&gt;
        if (isguestuser()){&lt;br /&gt;
            return get_string(&#039;loggedinasguest&#039;, &#039;moodle&#039;);&lt;br /&gt;
        }else if (isloggedin()){&lt;br /&gt;
            return get_string(&#039;loggedinas&#039;, &#039;moodle&#039;, fullname($USER));&lt;br /&gt;
        } else {&lt;br /&gt;
            return get_string(&#039;loggedinnot&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Testing AMFPHP in Flash==&lt;br /&gt;
&lt;br /&gt;
Please note: Flash CS3 and Flex come with the necessary classes for using AMFPHP already installed. It is not necessary to install any new classes!&lt;br /&gt;
&lt;br /&gt;
* Open the Flash CS3 IDE&lt;br /&gt;
* Create a new ActionScript 3.0 class document&lt;br /&gt;
* Copy and past the code below and save it as UserName.as&lt;br /&gt;
* Create a new ActionScript 3.0 FLA document&lt;br /&gt;
* In Properties &amp;gt; Document class: type UserName.as&lt;br /&gt;
* Save the FLA file as UserName.fla  in the same directory as UserName.as&lt;br /&gt;
* Publish the UserName.swf, AC_RunActiveContent.js and UserName.html files&lt;br /&gt;
* Upload the published files to your server&lt;br /&gt;
* In your browser, navigate to the location of the UserName.html page&lt;br /&gt;
* Try logging in and out of Moodle to see the change in your login status&lt;br /&gt;
&lt;br /&gt;
===ActionScript 3.0 Document Class===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
package {&lt;br /&gt;
	&lt;br /&gt;
	import flash.display.Sprite;&lt;br /&gt;
	import flash.text.*;&lt;br /&gt;
	import flash.events.MouseEvent;&lt;br /&gt;
	import flash.events.NetStatusEvent;&lt;br /&gt;
	import flash.net.NetConnection;&lt;br /&gt;
	import flash.net.Responder;&lt;br /&gt;
	&lt;br /&gt;
	public class UserName extends Sprite {&lt;br /&gt;
		&lt;br /&gt;
		private var _format:TextFormat;&lt;br /&gt;
		private var _display:TextField;&lt;br /&gt;
		private var _call:Sprite;&lt;br /&gt;
		private var _gateway:NetConnection;&lt;br /&gt;
		private var _responder:Responder;&lt;br /&gt;
		&lt;br /&gt;
		public function UserName() {&lt;br /&gt;
			initFormat();&lt;br /&gt;
			initDisplay();&lt;br /&gt;
			initCall();&lt;br /&gt;
			initGateway();&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// create text format object&lt;br /&gt;
		private function initFormat():void {&lt;br /&gt;
			_format = new TextFormat();&lt;br /&gt;
			_format.font = &amp;quot;Trebuchet MS&amp;quot;;&lt;br /&gt;
			_format.size = 15;&lt;br /&gt;
			_format.bold = true;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// create text field to display results&lt;br /&gt;
		private function initDisplay():void {&lt;br /&gt;
			_display = new TextField();&lt;br /&gt;
			_display.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
			_display.multiline = true;&lt;br /&gt;
			_display.x = 10;&lt;br /&gt;
			_display.y = 10;&lt;br /&gt;
			_display.defaultTextFormat = _format;&lt;br /&gt;
			_display.text = &amp;quot;Click on \&amp;quot;Call UserName.php\&amp;quot; to test.&amp;quot;;&lt;br /&gt;
			addChild(_display);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// create text button to call UserName.php&lt;br /&gt;
		private function initCall():void {&lt;br /&gt;
			_call = new Sprite();&lt;br /&gt;
			_call.mouseChildren = false;&lt;br /&gt;
			_call.buttonMode = true;&lt;br /&gt;
			_call.addEventListener(MouseEvent.MOUSE_DOWN, callDownHandler);&lt;br /&gt;
			var btn:TextField = new TextField();&lt;br /&gt;
			btn.autoSize = TextFieldAutoSize.LEFT;&lt;br /&gt;
			btn.border = true;&lt;br /&gt;
			btn.background = true;&lt;br /&gt;
			btn.backgroundColor = 0xdddddd;&lt;br /&gt;
			btn.defaultTextFormat = _format;&lt;br /&gt;
			btn.text = &amp;quot; Call UserName.php &amp;quot;;&lt;br /&gt;
			btn.x = (stage.stageWidth - btn.width) - 10;&lt;br /&gt;
			btn.y = stage.stageHeight - 30;&lt;br /&gt;
			_call.addChild(btn);&lt;br /&gt;
			addChild(_call);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// depress call button and call UserName.loggedInAs method&lt;br /&gt;
		private function callDownHandler(event:MouseEvent):void {&lt;br /&gt;
			_call.removeEventListener(MouseEvent.MOUSE_DOWN, callDownHandler);&lt;br /&gt;
			stage.addEventListener(MouseEvent.MOUSE_UP, callUpHandler);&lt;br /&gt;
			_call.x += 2;&lt;br /&gt;
			_call.y += 2;&lt;br /&gt;
			_gateway.call(&amp;quot;UserName.loggedInAs&amp;quot;,_responder);&lt;br /&gt;
			_display.appendText(&amp;quot;\n  Calling UserName.loggedInAs ... &amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// reset call button&lt;br /&gt;
		private function callUpHandler(event:MouseEvent):void {&lt;br /&gt;
			_call.addEventListener(MouseEvent.MOUSE_DOWN, callDownHandler);&lt;br /&gt;
			stage.removeEventListener(MouseEvent.MOUSE_UP, callUpHandler);&lt;br /&gt;
			_call.x -= 2;&lt;br /&gt;
			_call.y -= 2;&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// connect to AMFPHP gateway&lt;br /&gt;
		private function initGateway():void {&lt;br /&gt;
			_gateway = new NetConnection();&lt;br /&gt;
			// Edit the following line to reflect your server configuration&lt;br /&gt;
			_gateway.connect(&amp;quot;http://***MOODLEROOT***/lib/amfphp/gateway.php&amp;quot;);&lt;br /&gt;
			_gateway.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);&lt;br /&gt;
			_responder = new Responder(onResult,onFault);&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// show returned results&lt;br /&gt;
		private function onResult(res:Object):void {&lt;br /&gt;
			_display.appendText(&amp;quot;\n  &amp;quot; + String(res));&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// show details if call is unsuccessful&lt;br /&gt;
		private function onFault(res:Object):void {&lt;br /&gt;
			for(var i:String in res) {&lt;br /&gt;
				_display.appendText(&amp;quot;\n  &amp;quot; + String(res[i]));&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		&lt;br /&gt;
		// show all net status events (can be status or error events)&lt;br /&gt;
		function netStatusHandler(event:NetStatusEvent):void {&lt;br /&gt;
			for(var i:String in event.info) {&lt;br /&gt;
				_display.appendText(&amp;quot;\n&amp;quot; + String(event.info[i]));&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==AMF Moodle Service Library==&lt;br /&gt;
&lt;br /&gt;
===AMFPHP Service Browser===&lt;br /&gt;
AMFPHP 1.9.beta comes with a Flex service browser ready installed. It allows you to see your library of services in the ***MOODLEROOT***/lib/amfphp/services/ directory and call them. It also displays error messages very well. It&#039;s an ideal tool for checking out your services before your write Flash and Flex applications that call them.&lt;br /&gt;
&lt;br /&gt;
===VERY IMPORTANT!===&lt;br /&gt;
DO NOT leave the service browser installed on a production server (i.e. public). It will leave your service library and therefore your Moodle API and databases exposed to the public!&lt;br /&gt;
&lt;br /&gt;
===List Of AMF Moodle Services===&lt;br /&gt;
* User.php - returns user login status, returns an array of config settings you can set, returns a value of a config setting, sets a value of a config setting&lt;br /&gt;
* UserName.php - returns user login status&lt;br /&gt;
&lt;br /&gt;
==User.php Updated==&lt;br /&gt;
&lt;br /&gt;
If you&#039;ve already seen the tutorials in [[Development:AMFPHP]], here&#039;s an updated version of User.php that works with AMFPHP 1.9.beta. As with UserName.php, upload it tothe services directory at ***MOODLEROOT***/lib/amfphp/services/. You can test it by navigating to ***MOODLEROOT***/lib/amfphp/browser/index.html and selecting User from the menu of services.&lt;br /&gt;
&lt;br /&gt;
===User.php Script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
class User&lt;br /&gt;
{&lt;br /&gt;
	public function __construct()&lt;br /&gt;
	{&lt;br /&gt;
		&lt;br /&gt;
	}&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns string indicating whether a user is logged in.&lt;br /&gt;
     * @access remote&lt;br /&gt;
     */&lt;br /&gt;
    public function loggedInAs() {&lt;br /&gt;
        global $USER;&lt;br /&gt;
        if (isguestuser()){&lt;br /&gt;
            return get_string(&#039;loggedinasguest&#039;, &#039;moodle&#039;);&lt;br /&gt;
        }else if (isloggedin()){&lt;br /&gt;
            return get_string(&#039;loggedinas&#039;, &#039;moodle&#039;, fullname($USER));&lt;br /&gt;
        } else {&lt;br /&gt;
            return get_string(&#039;loggedinnot&#039;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns an array of config settings you can set.&lt;br /&gt;
     * @access remote&lt;br /&gt;
     */&lt;br /&gt;
    public function configSettings() {&lt;br /&gt;
        return array_keys(get_user_preferences());&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * Returns a value of a config setting.&lt;br /&gt;
     * @param string name&lt;br /&gt;
     * @access remote&lt;br /&gt;
     */&lt;br /&gt;
    public function getConfigSetting($name) {&lt;br /&gt;
        $name = clean_param($name, PARAM_ALPHAEXT);&lt;br /&gt;
        return get_user_preferences($name);&lt;br /&gt;
    }&lt;br /&gt;
    /**&lt;br /&gt;
     * sets a value of a config setting.&lt;br /&gt;
     * @param string name&lt;br /&gt;
     * @param string value&lt;br /&gt;
     * @access remote&lt;br /&gt;
     */&lt;br /&gt;
    public function setConfigSetting($name, $value) {&lt;br /&gt;
        $name = clean_param($name, PARAM_ALPHAEXT);&lt;br /&gt;
        $value = clean_param($value, PARAM_NOTAGS);&lt;br /&gt;
        return set_user_preference($name, $value);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==MDL.php==&lt;br /&gt;
&lt;br /&gt;
The following is a simple AMFPHP service that retrieves current user session data from Moodle. Save this file in the services directory of AMFPHP, i.e. moodle/lib/amfphp/services/MDL.php.&lt;br /&gt;
&lt;br /&gt;
This class is PHP5 Object Oriented code and acts as a handy repository for accessing user session data. I haven&#039;t forgotten the closing ?&amp;gt; PHP tag. It just isn&#039;t recommended for OOP PHP5 classes. (It probably should use getter and setter methods of Moodle&#039;s API... but I can&#039;t find the relevant documentation!)&lt;br /&gt;
&lt;br /&gt;
===MDL.php script===&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?php&lt;br /&gt;
class MDL&lt;br /&gt;
{&lt;br /&gt;
	public $logged_in = false;&lt;br /&gt;
	public $course_id; // course id of current login&lt;br /&gt;
	public $course_name; // course name&lt;br /&gt;
	public $user_id; // current user&#039;s id&lt;br /&gt;
	public $data_path; // URL to moodledata directory via moodle/file.php&lt;br /&gt;
	&lt;br /&gt;
	public function __construct()&lt;br /&gt;
	{&lt;br /&gt;
		global $CFG;&lt;br /&gt;
		require_once(&#039;../../../config.php&#039;);&lt;br /&gt;
		if (isguestuser()){&lt;br /&gt;
            $this-&amp;gt;logged_in = true;&lt;br /&gt;
        }else if (isloggedin()){&lt;br /&gt;
            $this-&amp;gt;logged_in = true;&lt;br /&gt;
			global $USER;&lt;br /&gt;
			global $SESSION;&lt;br /&gt;
			// set variables&lt;br /&gt;
			$this-&amp;gt;course_id = $SESSION-&amp;gt;cal_course_referer;&lt;br /&gt;
			$this-&amp;gt;course_name = &#039;Not yet set!&#039;; // TODO - find out how to get this&lt;br /&gt;
			$this-&amp;gt;user_id = $USER-&amp;gt;id;&lt;br /&gt;
			$this-&amp;gt;data_path = $CFG-&amp;gt;wwwroot . &#039;/file.php/&#039; . $this-&amp;gt;course_id . &#039;/&#039;;&lt;br /&gt;
        } else {&lt;br /&gt;
            $this-&amp;gt;logged_in = false;&lt;br /&gt;
        }&lt;br /&gt;
	}&lt;br /&gt;
	/**&lt;br /&gt;
	*cleans up objects and variables for garbage collector&lt;br /&gt;
	*@returns nothing&lt;br /&gt;
	*/&lt;br /&gt;
	public function __destruct()&lt;br /&gt;
	{&lt;br /&gt;
		unset($this-&amp;gt;logged_in);&lt;br /&gt;
		unset($this-&amp;gt;course_id);&lt;br /&gt;
		unset($this-&amp;gt;course_name);&lt;br /&gt;
		unset($this-&amp;gt;user_id);&lt;br /&gt;
		unset($this-&amp;gt;data_path);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can create an instance of this class like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&amp;lt;?php&lt;br /&gt;
class YourClassName&lt;br /&gt;
{&lt;br /&gt;
	private $mdl;&lt;br /&gt;
	&lt;br /&gt;
	public function __construct()&lt;br /&gt;
	{&lt;br /&gt;
		// create moodle authentication and user variables object&lt;br /&gt;
		require(&#039;MDL.php&#039;);&lt;br /&gt;
		$this-&amp;gt;mdl = new MDL();&lt;br /&gt;
	}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can then access the user session data like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
		$this-&amp;gt;mdl-&amp;gt;course_id;&lt;br /&gt;
		$this-&amp;gt;mdl-&amp;gt;course_name;&lt;br /&gt;
		$this-&amp;gt;mdl-&amp;gt;user_id;&lt;br /&gt;
		$this-&amp;gt;mdl-&amp;gt;data_path;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Useful Links==&lt;br /&gt;
&lt;br /&gt;
===AMFPHP===&lt;br /&gt;
&lt;br /&gt;
* AMFPHP home page [http://amfphp.org/ amfphp.org]&lt;br /&gt;
* AMFPHP code repository [http://sourceforge.net/projects/amfphp/ SourceForge.net]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AMF Moodle===&lt;br /&gt;
* [http://code.google.com/p/amfmoodle/ AMF Moodle code.google.com]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=105716 Moodle Forums - AMF Moodle discussion thread]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Sir Lee Brimelow&#039;s video tutorials===&lt;br /&gt;
* [http://gotoandlearn.com/play?id=78 Introduction to AMFPHP 1]&lt;br /&gt;
Learn how to install AMFPHP and create a simple service that sends email.&lt;br /&gt;
&lt;br /&gt;
* [http://gotoandlearn.com/play?id=79 Introduction to AMFPHP 2]&lt;br /&gt;
In this tutorial he shows you how to directly return database records to Flash using AMFPHP.&lt;br /&gt;
&lt;br /&gt;
===Alessandro Crugnola&#039;s tutorials===&lt;br /&gt;
* [http://www.sephiroth.it/tutorials/flashPHP/flex_remoteobject/ Flex RemoteObject and AMFPHP 1.9]&lt;br /&gt;
* [http://www.sephiroth.it/tutorials/flashPHP/amfphp_bytearray/ Send and Receive ByteArray to AMFPHP]&lt;br /&gt;
* [http://www.sephiroth.it/tutorials/flashPHP/flex2_amfphp/ Flex2/Actionscript3.0 and AMFPHP]&lt;br /&gt;
&lt;br /&gt;
===Adobe ActionScript 3.0 Language Reference===&lt;br /&gt;
The two most important classes related to AMFPHP are:&lt;br /&gt;
* [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/NetConnection.html NetConnection class]&lt;br /&gt;
* [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/net/Responder.html Responder class]&lt;br /&gt;
Other useful resources&lt;br /&gt;
* [http://www.cgdou.net/flash/as3reference/flash/utils/IExternalizable.html Interface IExternalizable]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===MISC AMFPHP/Flex/AS3/AIR Tutorials===&lt;br /&gt;
AS3/AMF&lt;br /&gt;
* [http://flashorbit.com/?page_id=53 How to set up a simple connection from Actionscript 3 to call your services in AMFPHP]&lt;br /&gt;
* [http://www.flash-db.com/Tutorials/helloAS3/ Flash Remoting with AS3]&lt;br /&gt;
* [http://www.actionscriptfreelancer.com/category/php/ Writing private attributes to a database using AMF in AS3 (IExternalizable)]&lt;br /&gt;
* [http://www.kylebrekke.com/wordpress/2008/amfphp-as3-class-communication-between-flash-and-amfphp-made-easy/ Communication between Flash and AMFPHP made easy]&lt;br /&gt;
* [http://www.prodevtips.com/2008/07/28/amfphp-in-flash-cs3-with-as3-jquerypost-style/ AMFPHP in Flash CS3 with AS3 - jQuery.post style]&lt;br /&gt;
* [http://www.actionscriptfreelancer.com/writing-private-attributes-to-a-database-using-amf-in-as3-iexternalizable/ Writing private attributes to a database using AMF in AS3]&lt;br /&gt;
* [http://blog.flexcommunity.net/?p=40 Turning Flash CS3 assets into Flex components using Flex Component Kit]&lt;br /&gt;
Sample Flex,AS3(&amp;amp;AIR) Sourcecode &amp;amp; Applications&lt;br /&gt;
* [http://polygeek.com/510_flex-tutorial_amf-php-based-poll-in-flex AMF-PHP based poll in Flex]&lt;br /&gt;
* [http://soenkerohde.com/2008/06/amfphp-on-air-tutorial-with-mamp/ MFPHP on AIR Tutorial with MAMP]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Misc Example AMFPHP Framework Examples&lt;br /&gt;
* [http://modern-carpentry.com/talk/?p=32 Combining Drupal, AMFPHP, SWFAddress and Flash]&lt;br /&gt;
* [http://blog.flexcommunity.net/?p=43 Displaying Paypal IPN payment data in Adobe Flex via AMFPHP]&lt;br /&gt;
&lt;br /&gt;
===AS3 APIS===&lt;br /&gt;
* [http://blog.martinlegris.com/?p=83 Youtube Data API AS3]&lt;br /&gt;
* [http://code.google.com/apis/maps/documentation/flash/ Google Maps API AS3]&lt;br /&gt;
&lt;br /&gt;
===AMFPHP Is Fast===&lt;br /&gt;
There&#039;s always someone who&#039;ll play with a new toy and push it until it breaks. AMFPHP can go pretty fast!  [http://www.5etdemi.com/blog/archives/2007/01/amfphp-19-beta-2-ridiculously-faster/ Check out this blog article].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
Moodle 2.0 Webservices - PLease refer to [http://tracker.moodle.org/browse/MDL-12886  WS TRACKER 2.0] for updates on forthcoming AMF service for use with Moodle 2.0&lt;br /&gt;
&lt;br /&gt;
[[Development:SWF]] - SWF Activity Module deploys Flash and Flex Framework (.swf) applications as learning interactions. Unlike the Flash Activity Module, it supports all versions of Flash and Flex Framework, XML, 3rd Party APIs and will eventually support Flash Remoting (AMF).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=74988</id>
		<title>SWF Activity Module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=74988"/>
		<updated>2010-08-20T16:59:00Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Truly interactive e-learning with Rich Internet Applications */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Truly interactive e-learning with Rich Internet Applications=&lt;br /&gt;
&lt;br /&gt;
The [http://code.google.com/p/swf-activity-module/ SWF Activity Module] is a Moodle plugin extension for deploying Flash learning applications, also known as Flash templates. Teachers and course content developers can use the [http://code.google.com/p/swf-activity-module/ SWF Activity Module] to deploy any Flash applications, including but not limited to those that use external data and media in order to function correctly. It also allows Flash applications to communicate with Moodle for purposes such as passing learners&#039; grades into Moodle&#039;s grade book.&lt;br /&gt;
&lt;br /&gt;
It does not include any Flash learning applications. However, a word search application is provided separately for testing and demonstration purposes. You&#039;re also free to use the word search in courses if you wish.&lt;br /&gt;
&lt;br /&gt;
Sufficient documentation, source code and examples are provided on this project site so that Flash developers can easily write or adapt applications to work fully with the [http://code.google.com/p/swf-activity-module/ SWF Activity Module]. See the project wiki pages for further details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Production==&lt;br /&gt;
&lt;br /&gt;
Please note: This module is now ready for production.&lt;br /&gt;
&lt;br /&gt;
For a summary of the latest developments of the SWF Activity Module, please see the [http://code.google.com/p/swf-activity-module/wiki/ChangeLog ChangeLog] page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why develop the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
I started the [http://code.google.com/p/swf-activity-module/ SWF Activity Module] project to resolve two issues in Moodle:&lt;br /&gt;
&lt;br /&gt;
* Moodle does not provide an effective, W3C standards compliant way to embed Flash applications in its web pages.&lt;br /&gt;
* Moodle does not provide any direct means of communication between Flash applications and its functions and data (generally referred to as an API - Application Programming Interface)&lt;br /&gt;
&lt;br /&gt;
These two issues effectively make it very difficult for developers and almost impossible for non-developers, such as teachers, course content developers and instructional designers, to deploy dynamic, Flash based e-learning applications in Moodle.&lt;br /&gt;
&lt;br /&gt;
The [http://code.google.com/p/swf-activity-module/ SWF Activity Module] provides an easy, reliable way for developers and non-developers (i.e. teachers, trainers, course content developers and instructional designers) to deploy Flash e-learning interactions in Moodle.&lt;br /&gt;
&lt;br /&gt;
No Flash e-learning applications are included with the [http://code.google.com/p/swf-activity-module/ SWF Activity Module], except for a word search activity, available as a separate download, to help you get started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Features==&lt;br /&gt;
&lt;br /&gt;
* Uses a &amp;quot;wizard interface&amp;quot; to deploy Flash learning applications: No developer skills necessary&lt;br /&gt;
* Supports all versions of Flash and is forwardly compatible&lt;br /&gt;
* Section 508 (accessibility) compliant&lt;br /&gt;
* Supports web services including dynamic API keys: No need to hard-code API keys into your software!&lt;br /&gt;
* Pushes grades from Flash learning applications into Moodle grade book&lt;br /&gt;
* Supports customisable FlashVars so that many existing 3rd party Flash applications can also be deployed&lt;br /&gt;
* Uses SWF Object - W3C standards compliant Flash embedding method, the best Flash embed method available: stable, fully functioning and reliable, as recommended by Adobe and leading Flash developers&lt;br /&gt;
* Detects users&#039; Flash Player version to inform users if they need to upgrade&lt;br /&gt;
* Supports all Flash Player parameters&lt;br /&gt;
* Works in all browsers and browser versions that support Flash Player 6 and later&lt;br /&gt;
* Even works in browsers with Javascript disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supports Flash Remoting==&lt;br /&gt;
&lt;br /&gt;
* Uses AMFPHP as a communication gateway with Moodle&lt;br /&gt;
* Compatible with ActionScript 3.0 (Flash Player 9 and later)&lt;br /&gt;
* Includes Access.php service to authenticate users and determine their capabilities seamlessly and securely (i.e. no need to re-login in Flash applications)&lt;br /&gt;
* Includes service library to give Flash clients access to Moodle functions for things like Users, Groups, Grades, etc.&lt;br /&gt;
* Object Oriented code: Requires PHP5 or later&lt;br /&gt;
&lt;br /&gt;
==Supports XML==&lt;br /&gt;
&lt;br /&gt;
* Can deploy dynamic Flash learning applications that load in external lesson data via XML&lt;br /&gt;
* URLs to XML files are dynamic: No need to hard-code them&lt;br /&gt;
* One Flash learning application can present an unlimited number of learning interactions (lessons)&lt;br /&gt;
* Supports any type of XML that the deployed learning application is compatible with: XML, RSS, ATOM, SMIL, etc.&lt;br /&gt;
* Supported by W3C standards for dynamic content&lt;br /&gt;
* Ideal for non-developers: A wide range of 3rd party XML authoring tools available&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Does Not Support Authorware==&lt;br /&gt;
&lt;br /&gt;
Please note: Most authorware packages such as Adobe Captivate, Techsmith Camtasia, Raptivity, etc. publish learning interactions specifically for static web pages and in SCORM packages. They do not function correctly in dynamic web pages such as Moodle activity modules. (The Moodle SCORM activity module is a special exception to this).&lt;br /&gt;
&lt;br /&gt;
However, it is sometimes possible to deploy screen recordings if they are single output .swf files. Due to the limit on the number of animation frames a single .swf file can contain, this is only possible for relatively short recordings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/swf-activity-module/w/list SWF Activity Module documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Visit my [http://matbury.com/moodle/course/view.php?id=9 Moodle demo course] (Login as a guest) which allows users to login without creating an account.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=74987</id>
		<title>SWF Activity Module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=74987"/>
		<updated>2010-08-20T16:56:23Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* General Features */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Truly interactive e-learning with Rich Internet Applications=&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a Moodle plugin extension for deploying Flash learning applications, also known as Flash templates. Teachers and course content developers can use the SWF Activity Module to deploy any Flash applications, including but not limited to those that use external data and media in order to function correctly. It also allows Flash applications to communicate with Moodle for purposes such as passing learners&#039; grades into Moodle&#039;s grade book.&lt;br /&gt;
&lt;br /&gt;
It does not include any Flash learning applications. However, a word search application is provided separately for testing and demonstration purposes. You&#039;re also free to use the word search in courses if you wish.&lt;br /&gt;
&lt;br /&gt;
Sufficient documentation, source code and examples are provided on this project site so that Flash developers can easily write or adapt applications to work fully with the SWF Activity Module. See the project wiki pages for further details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Production==&lt;br /&gt;
&lt;br /&gt;
Please note: This module is now ready for production.&lt;br /&gt;
&lt;br /&gt;
For a summary of the latest developments of the SWF Activity Module, please see the [http://code.google.com/p/swf-activity-module/wiki/ChangeLog ChangeLog] page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why develop the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
I started the SWF Activity Module project to resolve two issues in Moodle:&lt;br /&gt;
&lt;br /&gt;
* Moodle does not provide an effective, W3C standards compliant way to embed Flash applications in its web pages.&lt;br /&gt;
* Moodle does not provide any direct means of communication between Flash applications and its functions and data (generally referred to as an API - Application Programming Interface)&lt;br /&gt;
&lt;br /&gt;
These two issues effectively make it very difficult for developers and almost impossible for non-developers, such as teachers, course content developers and instructional designers, to deploy dynamic, Flash based e-learning applications in Moodle.&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides an easy, reliable way for developers and non-developers (i.e. teachers, trainers, course content developers and instructional designers) to deploy Flash e-learning interactions in Moodle.&lt;br /&gt;
&lt;br /&gt;
No Flash e-learning applications are included with the SWF Activity Module, except for a word search activity, available as a separate download, to help you get started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Features==&lt;br /&gt;
&lt;br /&gt;
* Uses a &amp;quot;wizard interface&amp;quot; to deploy Flash learning applications: No developer skills necessary&lt;br /&gt;
* Supports all versions of Flash and is forwardly compatible&lt;br /&gt;
* Section 508 (accessibility) compliant&lt;br /&gt;
* Supports web services including dynamic API keys: No need to hard-code API keys into your software!&lt;br /&gt;
* Pushes grades from Flash learning applications into Moodle grade book&lt;br /&gt;
* Supports customisable FlashVars so that many existing 3rd party Flash applications can also be deployed&lt;br /&gt;
* Uses SWF Object - W3C standards compliant Flash embedding method, the best Flash embed method available: stable, fully functioning and reliable, as recommended by Adobe and leading Flash developers&lt;br /&gt;
* Detects users&#039; Flash Player version to inform users if they need to upgrade&lt;br /&gt;
* Supports all Flash Player parameters&lt;br /&gt;
* Works in all browsers and browser versions that support Flash Player 6 and later&lt;br /&gt;
* Even works in browsers with Javascript disabled&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supports Flash Remoting==&lt;br /&gt;
&lt;br /&gt;
* Uses AMFPHP as a communication gateway with Moodle&lt;br /&gt;
* Compatible with ActionScript 3.0 (Flash Player 9 and later)&lt;br /&gt;
* Includes Access.php service to authenticate users and determine their capabilities seamlessly and securely (i.e. no need to re-login in Flash applications)&lt;br /&gt;
* Includes service library to give Flash clients access to Moodle functions for things like Users, Groups, Grades, etc.&lt;br /&gt;
* Object Oriented code: Requires PHP5 or later&lt;br /&gt;
&lt;br /&gt;
==Supports XML==&lt;br /&gt;
&lt;br /&gt;
* Can deploy dynamic Flash learning applications that load in external lesson data via XML&lt;br /&gt;
* URLs to XML files are dynamic: No need to hard-code them&lt;br /&gt;
* One Flash learning application can present an unlimited number of learning interactions (lessons)&lt;br /&gt;
* Supports any type of XML that the deployed learning application is compatible with: XML, RSS, ATOM, SMIL, etc.&lt;br /&gt;
* Supported by W3C standards for dynamic content&lt;br /&gt;
* Ideal for non-developers: A wide range of 3rd party XML authoring tools available&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Does Not Support Authorware==&lt;br /&gt;
&lt;br /&gt;
Please note: Most authorware packages such as Adobe Captivate, Techsmith Camtasia, Raptivity, etc. publish learning interactions specifically for static web pages and in SCORM packages. They do not function correctly in dynamic web pages such as Moodle activity modules. (The Moodle SCORM activity module is a special exception to this).&lt;br /&gt;
&lt;br /&gt;
However, it is sometimes possible to deploy screen recordings if they are single output .swf files. Due to the limit on the number of animation frames a single .swf file can contain, this is only possible for relatively short recordings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/swf-activity-module/w/list SWF Activity Module documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Visit my [http://matbury.com/moodle/course/view.php?id=9 Moodle demo course] (Login as a guest) which allows users to login without creating an account.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=74986</id>
		<title>SWF Activity Module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF_Activity_Module&amp;diff=74986"/>
		<updated>2010-08-20T16:53:40Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: New page: =Truly interactive e-learning with Rich Internet Applications=  The SWF Activity Module is a Moodle plugin extension for deploying Flash learning applications, also known as Flash template...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Truly interactive e-learning with Rich Internet Applications=&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a Moodle plugin extension for deploying Flash learning applications, also known as Flash templates. Teachers and course content developers can use the SWF Activity Module to deploy any Flash applications, including but not limited to those that use external data and media in order to function correctly. It also allows Flash applications to communicate with Moodle for purposes such as passing learners&#039; grades into Moodle&#039;s grade book.&lt;br /&gt;
&lt;br /&gt;
It does not include any Flash learning applications. However, a word search application is provided separately for testing and demonstration purposes. You&#039;re also free to use the word search in courses if you wish.&lt;br /&gt;
&lt;br /&gt;
Sufficient documentation, source code and examples are provided on this project site so that Flash developers can easily write or adapt applications to work fully with the SWF Activity Module. See the project wiki pages for further details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Production==&lt;br /&gt;
&lt;br /&gt;
Please note: This module is now ready for production.&lt;br /&gt;
&lt;br /&gt;
For a summary of the latest developments of the SWF Activity Module, please see the [http://code.google.com/p/swf-activity-module/wiki/ChangeLog ChangeLog] page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why develop the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
I started the SWF Activity Module project to resolve two issues in Moodle:&lt;br /&gt;
&lt;br /&gt;
* Moodle does not provide an effective, W3C standards compliant way to embed Flash applications in its web pages.&lt;br /&gt;
* Moodle does not provide any direct means of communication between Flash applications and its functions and data (generally referred to as an API - Application Programming Interface)&lt;br /&gt;
&lt;br /&gt;
These two issues effectively make it very difficult for developers and almost impossible for non-developers, such as teachers, course content developers and instructional designers, to deploy dynamic, Flash based e-learning applications in Moodle.&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides an easy, reliable way for developers and non-developers (i.e. teachers, trainers, course content developers and instructional designers) to deploy Flash e-learning interactions in Moodle.&lt;br /&gt;
&lt;br /&gt;
No Flash e-learning applications are included with the SWF Activity Module, except for a word search activity, available as a separate download, to help you get started.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Features==&lt;br /&gt;
&lt;br /&gt;
* Uses a &amp;quot;wizard interface&amp;quot; to deploy Flash learning applications: No developer skills necessary&lt;br /&gt;
* Supports all versions of Flash and is forwardly compatible&lt;br /&gt;
* Section 508 (accessibility) compliant&lt;br /&gt;
* Supports web services including dynamic API keys: No need to hard-code API keys into your software!&lt;br /&gt;
* Pushes grades from Flash learning applications into Moodle grade book&lt;br /&gt;
* Supports customisable FlashVars so that many existing 3rd party Flash applications can also be deployed&lt;br /&gt;
* Uses SWF Object - W3C standards compliant Flash embedding method, the best Flash embed method available: stable, fully functioning and reliable, as recommended by Adobe and leading Flash developers&lt;br /&gt;
* Detects users&#039; Flash Player version to inform users if they need to upgrade&lt;br /&gt;
* Supports all Flash Player parameters&lt;br /&gt;
* Works in all browsers and browser versions that support Flash Player 6 and later&lt;br /&gt;
* Even works in browsers with Javascript disabled&lt;br /&gt;
* Supports Flash Remoting&lt;br /&gt;
* Uses AMFPHP as a communication gateway with Moodle&lt;br /&gt;
* Compatible with ActionScript 3.0 (Flash Player 9 and later)&lt;br /&gt;
* Includes Access.php service to authenticate users and determine their capabilities seamlessly and securely (i.e. no need to re-login in Flash applications)&lt;br /&gt;
* Includes service library to give Flash clients access to Moodle functions for things like Users, Groups, Grades, etc.&lt;br /&gt;
* Object Oriented code: Requires PHP5 or later&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supports XML==&lt;br /&gt;
&lt;br /&gt;
* Can deploy dynamic Flash learning applications that load in external lesson data via XML&lt;br /&gt;
* URLs to XML files are dynamic: No need to hard-code them&lt;br /&gt;
* One Flash learning application can present an unlimited number of learning interactions (lessons)&lt;br /&gt;
* Supports any type of XML that the deployed learning application is compatible with: XML, RSS, ATOM, SMIL, etc.&lt;br /&gt;
* Supported by W3C standards for dynamic content&lt;br /&gt;
* Ideal for non-developers: A wide range of 3rd party XML authoring tools available&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Does Not Support Authorware==&lt;br /&gt;
&lt;br /&gt;
Please note: Most authorware packages such as Adobe Captivate, Techsmith Camtasia, Raptivity, etc. publish learning interactions specifically for static web pages and in SCORM packages. They do not function correctly in dynamic web pages such as Moodle activity modules. (The Moodle SCORM activity module is a special exception to this).&lt;br /&gt;
&lt;br /&gt;
However, it is sometimes possible to deploy screen recordings if they are single output .swf files. Due to the limit on the number of animation frames a single .swf file can contain, this is only possible for relatively short recordings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Documentation==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/swf-activity-module/w/list SWF Activity Module documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Demo==&lt;br /&gt;
Visit my [http://matbury.com/moodle/course/view.php?id=9 Moodle demo course] (Login as a guest) which allows users to login without creating an account.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=74985</id>
		<title>Development:SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=74985"/>
		<updated>2010-08-20T16:42:20Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* SWF Activity Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
The module documentation on this page is out of date. Please see the [[SWF Activity Module]] project site for up to date downloads, documentation and help.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve moved the project code and documentation to Google Code: [http://code.google.com/p/swf-activity-module/ code.google.com/p/swf-activity-module/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides a comprehensive and flexible method for deploying Flash and Flex Framework learning applications as activities in a Moodle course.&lt;br /&gt;
&lt;br /&gt;
==How does is work?==&lt;br /&gt;
&lt;br /&gt;
===SWFObject===&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module uses [http://code.google.com/p/swfobject/ SWFObject] as the default embed method for Flash and Flex Framework learning applications. The module also incorporates standard XHTML 1.0 strict object and embed code that functions if SWFObject fails for any reason, e.g. If the user has Javascript blocked in his/her browser.&lt;br /&gt;
&lt;br /&gt;
Once installed, select SWF from an &amp;quot;Add an activity&amp;quot; list on a Moodle course page. The standard &amp;quot;Adding a new SWF to topic... &amp;quot; moodleform will appear. Help files are included in the SWF Activity Module in English and provide further details about the parameters. In this form you can set the following parameters:&lt;br /&gt;
&lt;br /&gt;
===Required Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* As with all Moodle activities, name and intro.&lt;br /&gt;
* SWF file&lt;br /&gt;
* Height&lt;br /&gt;
* Width&lt;br /&gt;
* Version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* AMF Interaction (Not yet implemented)&lt;br /&gt;
* XML file URL&lt;br /&gt;
* FlashVars #1&lt;br /&gt;
* FlashVars #2&lt;br /&gt;
* FlashVars #3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* API Key (SWF Activity Module custom parameter)&lt;br /&gt;
* Align&lt;br /&gt;
* Auto Play&lt;br /&gt;
* Loop Playback&lt;br /&gt;
* Menu&lt;br /&gt;
* Quality&lt;br /&gt;
* Scale Mode&lt;br /&gt;
* Stage Align&lt;br /&gt;
* Window Mode&lt;br /&gt;
* Background&lt;br /&gt;
* Use Device Font&lt;br /&gt;
* Seamless Tabbing&lt;br /&gt;
* Allow Full Screen&lt;br /&gt;
* Allow Script Access&lt;br /&gt;
* Allow Networking&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find more details about these parameters in the [http://code.google.com/p/swfobject/wiki/documentation SWFObject Documentation].&lt;br /&gt;
&lt;br /&gt;
==What features does it support?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module automatically provides a deployed SWF learning activity application with the following data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* gateway - URL to gateway script for access to AMFPHP service library&lt;br /&gt;
* course - the current Moodle course that the user is accessing&lt;br /&gt;
* instance - Instance ID of the module&lt;br /&gt;
* swfid - The ID of the SWF learning activity application&lt;br /&gt;
* interaction - The ID of the SWF learning interaction data to consume (AMFPHP)&lt;br /&gt;
* moodledata - The URL to access the current moodledata course directory (file.php)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It also supports a number of features, specific to Flash and Flex applications. They are:&lt;br /&gt;
&lt;br /&gt;
===Flash Remoting (AMF)===&lt;br /&gt;
&lt;br /&gt;
Flash Remoting is a method for Flash or Flex applications to communicate directly with server-side applications written in .NET, Java, PHP, Cold Fusion and Ruby on Rails. There are a number of open-source libraries for handling communication via Flash Remoting: &lt;br /&gt;
&lt;br /&gt;
See [[Development:AMF3]] for details on how to set up AMFPHP in Moodle and more information about Flash Remoting technologies.&lt;br /&gt;
&lt;br /&gt;
===XML Data Loading===&lt;br /&gt;
&lt;br /&gt;
XML is a native data type to ActionScript 3.0 therefore Flash and Flex Framework learning applications use E4X notation to manipulate XML data in a similar way to a multidimensional array. For more details, see [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/ Adobe Actionscript 3.0 Language and Components Reference]. XML is also currently the most commonly used format for providing elearning data for learning interactions. The most commonly used format is [http://en.wikipedia.org/wiki/IMS_Global IMS]&#039;s standard [http://en.wikipedia.org/wiki/QTI QTI] (Question and Test Interoperability specification) but basically any valid XML file with the appropriate data tree structure can be loaded into and consumed by a SWF file.&lt;br /&gt;
&lt;br /&gt;
===FlashVars===&lt;br /&gt;
&lt;br /&gt;
FlashVars is a method for passing string data into a SWF file. It is passed in from the printed HTML page that the SWF file is embedded in. It&#039;s ideally suited to very simple data sets such a vocabulary lists or series of numerical values. For learning activities such as hangman, crosswords, word searches, etc., FlashVars is simple, efficient and easy to use.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s Next?==&lt;br /&gt;
&lt;br /&gt;
===Moodle Grades===&lt;br /&gt;
&lt;br /&gt;
One of the most requested features for Flash and Flex Framework learning applications deployed in Moodle is for them to have the ability to record learners&#039; activities in Moodle&#039;s Gradebook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AMFPHP===&lt;br /&gt;
&lt;br /&gt;
The most powerful and flexible way for Flash and Flex Framework learning applications to interact with Moodle APIs, databases and web services is via Flash Remoting AKA [http://blogs.adobe.com/mikepotter/2006/12/amfphp_adds_amf.html AMF3], a communication protocol which is similar to JSON but much faster. It allows Flash and Flex Framework learning applications to directly call PHP methods and pass a number of different data types back and forth seamlessly.&lt;br /&gt;
&lt;br /&gt;
For more details about using AMFPHP in Moodle, see [[Development:AMF3]]&lt;br /&gt;
&lt;br /&gt;
===Learning Interaction Data DB Structure===&lt;br /&gt;
&lt;br /&gt;
A standardised DB table structure to store learning interaction data with a variety of methods to populate the tables with data, including Moodle forms, dynamic Flash or Flex Framework on-line forms.&lt;br /&gt;
&lt;br /&gt;
Also, standalone Adobe AIR desktop GUI applications, which can store data locally using SQLite, to create and edit learning interactions and then upload them. Using Adobe AIR will also provide convenient backup of interaction data and a means to easily transfer and distribute learning interactions.&lt;br /&gt;
&lt;br /&gt;
====swf_interactions fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* course&lt;br /&gt;
* name&lt;br /&gt;
* intro&lt;br /&gt;
* introformat&lt;br /&gt;
* amftable - Default is swf_interaction_data but this allows for further, more specialised tables to be used&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====swf_interaction_data fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* interaction - ID of interaction (id of swf_interactions)&lt;br /&gt;
* ordernum - Allow sequential ordering of rows&lt;br /&gt;
* amp3 - URL of answer MP3 file&lt;br /&gt;
* qmp3 - URL of quesition MP3 file&lt;br /&gt;
* smp3 - URL of additional MP3 file&lt;br /&gt;
* image - URL of image file&lt;br /&gt;
* video - URL of FLV file&lt;br /&gt;
* ptext - Paragraph text&lt;br /&gt;
* qtext - Question&lt;br /&gt;
* catext - Correct answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* watext - Wrong answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:AMF3]] Flash Remoting for Moodle.&lt;br /&gt;
* [http://code.google.com/p/moodle-mplayer/ Media Player] Activity Module for deploying video in Moodle as an activity. Leverages the full range of functions of Jeroen Wijering&#039;s JW FLV Player.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website and Moodle] with demos of SWF Activity Module and Media Player modules.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74984</id>
		<title>Media Player</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74984"/>
		<updated>2010-08-20T16:37:35Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
The JW FLV Player 5.1 is a powerful and extremely versatile application for viewing video on web pages. The Media Player module acts as a wizard to deploy and configure the JW FLV Player. It doesn&#039;t require any coding abilities and is possibly the quickest, easiest, most comprehensive and robust method of deploying and configuring video in Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:flv_player.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Download==&lt;br /&gt;
&lt;br /&gt;
The project code and documentation are hosted on Google Code at: [http://code.google.com/p/moodle-mplayer/ http://code.google.com/p/moodle-mplayer/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeroen Wijering&#039;s FLV Player is an ideal method to deploy Flash video in Moodle. It&#039;s extremely versatile and supports a number of features that are particularly useful for e-learning:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Section_508 Section 508] (accessibility) compliance.&lt;br /&gt;
* Support for [http://en.wikipedia.org/wiki/Timed_text TimedText XML] and  RealText (SMIL) captioning.&lt;br /&gt;
* A selection of plugins and skins are available.&lt;br /&gt;
* Developers can create their own skins and plugins.&lt;br /&gt;
&lt;br /&gt;
==License==&lt;br /&gt;
&lt;br /&gt;
Although this Moodle module is open source, &#039;&#039;&#039;Jeroen Wijering&#039;s FLV player, included within, is not open source&#039;&#039;&#039;. It is commercial software which is available free for noncommercial use, but requires a (small) license payment for all other use. Please see [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] for licensing details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supported Video Formats==&lt;br /&gt;
&lt;br /&gt;
Supports all video formats supported by Flash Player 9.0.115 and above. Currently (20th August 2010) file types:&lt;br /&gt;
&lt;br /&gt;
* FLV&lt;br /&gt;
* F4V&lt;br /&gt;
* F4P&lt;br /&gt;
* MP4&lt;br /&gt;
* M4V&lt;br /&gt;
* M4A&lt;br /&gt;
* 3GP&lt;br /&gt;
* MOV&lt;br /&gt;
&lt;br /&gt;
It also supports the new standard high-definition CODEC, H.264, and AAC audio (Advanced Audio Compression) which is similar to MP3 but gives better quality at very low bit-rates. Please note that it does not support Windows media formats such as WMA, WMV or AVI.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Playlists==&lt;br /&gt;
&lt;br /&gt;
Supports a variety of playlists. See the [http://developer.longtailvideo.com/trac/wiki/Player5Formats#XMLPlaylists JW FLV Player 5 documentation] for further details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Skins==&lt;br /&gt;
&lt;br /&gt;
Skins are a quick and easy way to change the appearance of JW FLV Player. The FLV Player Activity Module comes supplied with 27 skins which you can select from a list.&lt;br /&gt;
&lt;br /&gt;
* [http://www.longtailvideo.com/addons/skins JW FLV Player skins].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
&lt;br /&gt;
Plugins add extra functionality to JW FLV Player. They are hosted on LongTail video&#039;s website so no downloading or installing is necessary. The Media Player setup wizard includes specific configuration panels which make deploying plugins as easy as possible. See the [http://code.google.com/p/moodle-mplayer/w/list Media Player project site] wiki for documentation. Supported plugins are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Audiodescription&#039;&#039;&#039; External audio track synchronised with video&lt;br /&gt;
* &#039;&#039;&#039;Captions&#039;&#039;&#039; SMIL TimedText and SubRip captions which are more flexible and easier to read that embedded subtitles&lt;br /&gt;
* &#039;&#039;&#039;HD&#039;&#039;&#039; Users can switch between high-definition and normal video streams&lt;br /&gt;
* &#039;&#039;&#039;Infobox&#039;&#039;&#039; Convenient way to display credits and info about video&lt;br /&gt;
* &#039;&#039;&#039;Livestream&#039;&#039;&#039; No need to keep refreshing the web page while you&#039;re waiting for a live broadcast, polls the live server every few seconds&lt;br /&gt;
* &#039;&#039;&#039;Logobox&#039;&#039;&#039; Put your logo on your videos&lt;br /&gt;
* &#039;&#039;&#039;Metaviewer&#039;&#039;&#039; View video stream metadata (debugging and info tool)&lt;br /&gt;
* &#039;&#039;&#039;Searchbar&#039;&#039;&#039; Search for videos, YouTube.com by default, can be used with custom search scripts&lt;br /&gt;
* &#039;&#039;&#039;Snapshot&#039;&#039;&#039; Take a still frame &amp;quot;snapshot&amp;quot; of a video and save it in the course files directory&lt;br /&gt;
&lt;br /&gt;
There are also subscription and paid for plugin services available. [http://www.longtailvideo.com/addons/plugins Find documentation and further details here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Issues==&lt;br /&gt;
&lt;br /&gt;
Please report any bugs or issues on the [http://code.google.com/p/moodle-mplayer/issues/list Media Player module project issues tracker].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [http://ncam.wgbh.org/webaccess/magpie/ NCAM MAGpie2] (Media Access Generator) for authoring caption and subtitle files*&lt;br /&gt;
* [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] Including plugins, skins, tutorials and licensing details.&lt;br /&gt;
* An article on the [http://www.digital-web.com/articles/captions_flash_video/ Closed Captioning] component in Flash CS3 and its benefits for accessibility.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website] FLV Activity Module project developer.&lt;br /&gt;
* [http://xmoov.com/xmoov-php/ Xmoov] HTTP (pseudo) streaming open source project.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol RTMP] streaming media servers&lt;br /&gt;
* [http://www.osflash.org/red5 Red5] open source media server&lt;br /&gt;
* [http://www.adobe.com/products/flashmediaserver/ Adobe Flash Media Server]&lt;br /&gt;
* [http://www.lighttpd.net/ Lighttp] open source project which includes a streaming server&lt;br /&gt;
&lt;br /&gt;
(*) MAGpie2 can export TimedText caption files for JW FLV Player but its video player does not support the FLV file type. It is therefore necessary to use an intermediary video file type, such as AVI, in order to create the captions.&lt;br /&gt;
&lt;br /&gt;
==Other Projects by Matt Bury==&lt;br /&gt;
* [http://code.google.com/p/swf-activity-module/ SWF Activity Module] Enables the deployment of Flash and Flex Framework learning applications (RIAs) in Moodle and leverage AMFPHP (Flash Remoting).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74983</id>
		<title>Media Player</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74983"/>
		<updated>2010-08-20T16:27:23Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
The JW FLV Player 5.1 is a powerful and extremely versatile application for viewing video on web pages. The Media Player module acts as a wizard to deploy and configure the JW FLV Player. It doesn&#039;t require any coding abilities and is possibly the quickest, easiest, most comprehensive and robust method of deploying and configuring video in Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:flv_player.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
&lt;br /&gt;
The project code and documentation are hosted on Google Code at: [http://code.google.com/p/moodle-mplayer/ http://code.google.com/p/moodle-mplayer/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeroen Wijering&#039;s FLV Player is an ideal method to deploy Flash video in Moodle. It&#039;s extremely versatile and supports a number of features that are particularly useful for e-learning:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Section_508 Section 508] (accessibility) compliance.&lt;br /&gt;
* Support for [http://en.wikipedia.org/wiki/Timed_text TimedText XML] and  RealText (SMIL) captioning.&lt;br /&gt;
* A selection of plugins and skins are available.&lt;br /&gt;
* Developers can create their own skins and plugins.&lt;br /&gt;
&lt;br /&gt;
===License===&lt;br /&gt;
&lt;br /&gt;
Although this Moodle module is open source, &#039;&#039;&#039;Jeroen Wijering&#039;s FLV player, included within, is not open source&#039;&#039;&#039;. It is commercial software which is available free for noncommercial use, but requires a (small) license payment for all other use. Please see [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] for licensing details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supported Video Formats==&lt;br /&gt;
&lt;br /&gt;
Supports all video formats supported by Flash Player 9 and above. Currently (5th February 2009) file types:&lt;br /&gt;
&lt;br /&gt;
* FLV&lt;br /&gt;
* MP4&lt;br /&gt;
* M4V&lt;br /&gt;
* M4A&lt;br /&gt;
* 3GP&lt;br /&gt;
* MOV&lt;br /&gt;
&lt;br /&gt;
It also supports the new standard high-definition CODEC, H.264, and AAC audio (Advanced Audio Compression) which is similar to MP3 but gives better quality at very low bit-rates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Skins==&lt;br /&gt;
&lt;br /&gt;
Skins are a quick and easy way to change the appearance of JW FLV Player. The FLV Player Activity Module comes supplied with 27 skins which you can select from a list.&lt;br /&gt;
&lt;br /&gt;
* [http://www.longtailvideo.com/addons/skins JW FLV Player skins].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
&lt;br /&gt;
Plugins add extra functionality to JW FLV Player. They are hosted on LongTail video&#039;s website so no downloading or installing is necessary. The Media Player setup wizard includes specific configuration panels which make deploying plugins as easy as possible. See the [http://code.google.com/p/moodle-mplayer/w/list Media Player project site] wiki for documentation. Supported plugins are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Audiodescription&#039;&#039;&#039; External audio track synchronised with video&lt;br /&gt;
* &#039;&#039;&#039;Captions&#039;&#039;&#039; SMIL TimedText and SubRip captions which are more flexible and easier to read that embedded subtitles&lt;br /&gt;
* &#039;&#039;&#039;HD&#039;&#039;&#039; Users can switch between high-definition and normal video streams&lt;br /&gt;
* &#039;&#039;&#039;Infobox&#039;&#039;&#039; Convenient way to display credits and info about video&lt;br /&gt;
* &#039;&#039;&#039;Livestream&#039;&#039;&#039; No need to keep refreshing the web page while you&#039;re waiting for a live broadcast, polls the live server every few seconds&lt;br /&gt;
* &#039;&#039;&#039;Logobox&#039;&#039;&#039; Put your logo on your videos&lt;br /&gt;
* &#039;&#039;&#039;Metaviewer&#039;&#039;&#039; View video stream metadata (debugging and info tool)&lt;br /&gt;
* &#039;&#039;&#039;Searchbar&#039;&#039;&#039; Search for videos, YouTube.com by default, can be used with custom search scripts&lt;br /&gt;
* &#039;&#039;&#039;Snapshot&#039;&#039;&#039; Take a still frame &amp;quot;snapshot&amp;quot; of a video and save it in the course files directory&lt;br /&gt;
&lt;br /&gt;
There are also subscription and paid for plugin services available. [http://www.longtailvideo.com/addons/plugins Find documentation and further details here.]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Issues==&lt;br /&gt;
&lt;br /&gt;
Please report any bugs or issues on the [http://code.google.com/p/moodle-mplayer/issues/list Media Player module project issues tracker].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [http://ncam.wgbh.org/webaccess/magpie/ NCAM MAGpie2] (Media Access Generator) for authoring caption and subtitle files*&lt;br /&gt;
* [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] Including plugins, skins, tutorials and licensing details.&lt;br /&gt;
* An article on the [http://www.digital-web.com/articles/captions_flash_video/ Closed Captioning] component in Flash CS3 and its benefits for accessibility.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website] FLV Activity Module project developer.&lt;br /&gt;
* [http://xmoov.com/xmoov-php/ Xmoov] HTTP (pseudo) streaming open source project.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol RTMP] streaming media servers&lt;br /&gt;
* [http://www.osflash.org/red5 Red5] open source media server&lt;br /&gt;
* [http://www.adobe.com/products/flashmediaserver/ Adobe Flash Media Server]&lt;br /&gt;
* [http://www.lighttpd.net/ Lighttp] open source project which includes a streaming server&lt;br /&gt;
&lt;br /&gt;
(*) MAGpie2 can export TimedText caption files for JW FLV Player but its video player does not support the FLV file type. It is therefore necessary to use an intermediary video file type, such as AVI, in order to create the captions.&lt;br /&gt;
&lt;br /&gt;
===Other Projects by Matt Bury===&lt;br /&gt;
* [[Development:SWF]] SWF Activity Module, in development, which will enable deployment of Flash and Flex Framework learning applications (RIAs) in Moodle and leverage AMFPHP (Flash Remoting).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74982</id>
		<title>Media Player</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74982"/>
		<updated>2010-08-20T16:24:19Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Plugins */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
The JW FLV Player 5.1 is a powerful and extremely versatile application for viewing video on web pages. The Media Player module acts as a wizard to deploy and configure the JW FLV Player. It doesn&#039;t require any coding abilities and is possibly the quickest, easiest, most comprehensive and robust method of deploying and configuring video in Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:flv_player.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
&lt;br /&gt;
The project code and documentation are hosted on Google Code at: [http://code.google.com/p/moodle-mplayer/ http://code.google.com/p/moodle-mplayer/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeroen Wijering&#039;s FLV Player is an ideal method to deploy Flash video in Moodle. It&#039;s extremely versatile and supports a number of features that are particularly useful for e-learning:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Section_508 Section 508] (accessibility) compliance.&lt;br /&gt;
* Support for [http://en.wikipedia.org/wiki/Timed_text TimedText XML] and  RealText (SMIL) captioning.&lt;br /&gt;
* A selection of plugins and skins are available.&lt;br /&gt;
* Developers can create their own skins and plugins.&lt;br /&gt;
&lt;br /&gt;
===License===&lt;br /&gt;
&lt;br /&gt;
Although this Moodle module is open source, &#039;&#039;&#039;Jeroen Wijering&#039;s FLV player, included within, is not open source&#039;&#039;&#039;. It is commercial software which is available free for noncommercial use, but requires a (small) license payment for all other use. Please see [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] for licensing details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supported Video Formats==&lt;br /&gt;
&lt;br /&gt;
Supports all video formats supported by Flash Player 9 and above. Currently (5th February 2009) file types:&lt;br /&gt;
&lt;br /&gt;
* FLV&lt;br /&gt;
* MP4&lt;br /&gt;
* M4V&lt;br /&gt;
* M4A&lt;br /&gt;
* 3GP&lt;br /&gt;
* MOV&lt;br /&gt;
&lt;br /&gt;
It also supports the new standard high-definition CODEC, H.264, and AAC audio (Advanced Audio Compression) which is similar to MP3 but gives better quality at very low bit-rates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Captioning==&lt;br /&gt;
&lt;br /&gt;
The FLV Player module makes it much easier to deploy captions with the JW FLV Player. Simply do the following:&lt;br /&gt;
&lt;br /&gt;
* Prepare the video and TimedText (RealText is also supported) files.&lt;br /&gt;
* Upload them to the moodledata course directory (you can also upload these from the FLV Player module form)&lt;br /&gt;
* Create an instance of the FLV Player module and select the video file and desired parameters.&lt;br /&gt;
* Select Show Advanced if not already shown.&lt;br /&gt;
* At the bottom of the Behaviour section, type accessibility-1 into the Plugins text input area.&lt;br /&gt;
* Select Choose or upload file in the Timed Text Captions input area and select or upload and select the desired TimedText captions file.&lt;br /&gt;
* Select Save changes (Moodle 1.8) or Save changes and preview (Moodle 1.9)&lt;br /&gt;
&lt;br /&gt;
Here are example [http://matbury.com/assets/captions_example.zip FLV video and TimedText caption XML] to download and try (7.75 MB).&lt;br /&gt;
&lt;br /&gt;
[http://ncam.wgbh.org/webaccess/magpie/magpie_help/introduction.html MAGpie2 captioning editor] can export Adobe Flash WC3 DFXP captioning files which are compatible with JW FLV Player accessibility-1 plugin. However, the editor cannot play FLV files therefore an intermediary video file type, such as AVI, is necessary for creating caption files, i.e. create and export the caption file before encoding the video to FLV.&lt;br /&gt;
&lt;br /&gt;
==Streaming==&lt;br /&gt;
&lt;br /&gt;
There are two main types of video connection, &#039;&#039;&#039;progressive download&#039;&#039;&#039;, where the video FLV file is downloaded into the browser cache and the user can start to view the video content after a second or two, and &#039;&#039;&#039;streaming&#039;&#039;&#039;, where specific portions of the video stream are served to the video player as and when requested. Progressive download is the easiest to implement and the most commonly used.&lt;br /&gt;
&lt;br /&gt;
The JW FLV Player supports:&lt;br /&gt;
&lt;br /&gt;
* Progressive download (default)&lt;br /&gt;
* [http://www.longtailvideo.com/support/tutorials/HTTP-Video-Streaming HTTP streaming] (pseudo-streaming)&lt;br /&gt;
* [http://www.lighttpd.net/ LIGHTTP] streaming&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol RTMP] streaming ([http://www.osflash.org/red5 Red5] and [http://en.wikipedia.org/wiki/Flash_Media_Server Flash Media Server])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Playing YouTube.com Videos==&lt;br /&gt;
&lt;br /&gt;
Playing videos directly from YouTube.com&#039;s servers is possibly the easiest way to play videos with the FLV Player Activity Module. Just follow these steps:&lt;br /&gt;
&lt;br /&gt;
* Find the video you want to show on YouTube.com&lt;br /&gt;
* On a Moodle course page, select &#039;FLV Player&#039; from the &#039;Add an activity...&#039; list&lt;br /&gt;
* On the YouTube.com video page, copy the URL in your browser&#039;s address bar, e.g. http://www.youtube.com/watch?v=5lp1-OrycKs&lt;br /&gt;
* Now paste the URL in the &#039;Video URL&#039; text field of the FLV Player form&lt;br /&gt;
* Select &#039;Show Advanced&#039; if not already set&lt;br /&gt;
* Select &#039;youtube&#039; from the &#039;Type&#039; list&lt;br /&gt;
* Select &#039;Save Changes&#039; (Moodle 1.8) or &#039;Save and Preview&#039; (Moodle 1.9) at the bottom of the FLV Player form&lt;br /&gt;
* The YouTube.com video should play and all the parameters, such as icons, links, etc. will still function.&lt;br /&gt;
&lt;br /&gt;
==Skins==&lt;br /&gt;
&lt;br /&gt;
Skins are a quick and easy way to change the appearance of JW FLV Player. The FLV Player Activity Module comes supplied with 27 skins which you can select from a list.&lt;br /&gt;
&lt;br /&gt;
* [http://www.longtailvideo.com/addons/skins JW FLV Player skins].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
&lt;br /&gt;
Plugins add extra functionality to JW FLV Player. They are hosted on LongTail video&#039;s website so no downloading or installing is necessary. The Media Player setup wizard includes specific configuration panels which make deploying plugins as easy as possible. See the [http://code.google.com/p/moodle-mplayer/w/list Media Player project site] wiki for documentation. Supported plugins are:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Audiodescription&#039;&#039;&#039; External audio track synchronised with video&lt;br /&gt;
* &#039;&#039;&#039;Captions&#039;&#039;&#039; SMIL TimedText and SubRip captions which are more flexible and easier to read that embedded subtitles&lt;br /&gt;
* &#039;&#039;&#039;HD&#039;&#039;&#039; Users can switch between high-definition and normal video streams&lt;br /&gt;
* &#039;&#039;&#039;Infobox&#039;&#039;&#039; Convenient way to display credits and info about video&lt;br /&gt;
* &#039;&#039;&#039;Livestream&#039;&#039;&#039; No need to keep refreshing the web page while you&#039;re waiting for a live broadcast, polls the live server every few seconds&lt;br /&gt;
* &#039;&#039;&#039;Logobox&#039;&#039;&#039; Put your logo on your videos&lt;br /&gt;
* &#039;&#039;&#039;Metaviewer&#039;&#039;&#039; View video stream metadata (debugging and info tool)&lt;br /&gt;
* &#039;&#039;&#039;Searchbar&#039;&#039;&#039; Search for videos, YouTube.com by default, can be used with custom search scripts&lt;br /&gt;
* &#039;&#039;&#039;Snapshot&#039;&#039;&#039; Take a still frame &amp;quot;snapshot&amp;quot; of a video and save it in the course files directory&lt;br /&gt;
&lt;br /&gt;
There are also subscription and paid for plugin services available. [http://www.longtailvideo.com/addons/plugins Find documentation and further details here.]&lt;br /&gt;
&lt;br /&gt;
==Module Form==&lt;br /&gt;
&lt;br /&gt;
The module form allows users to set most of the parameters supported by JW FLV Player 4.3. [http://developer.longtailvideo.com/trac/wiki/FlashVars You can find documentation on the following parameters here.]&lt;br /&gt;
&lt;br /&gt;
===Source===&lt;br /&gt;
* &#039;&#039;&#039;flvfile&#039;&#039;&#039; &#039;Video URL&#039;&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; &#039;Type&#039;&lt;br /&gt;
* &#039;&#039;&#039;streamer&#039;&#039;&#039; &#039;Streamer&#039;&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
* &#039;&#039;&#039;width&#039;&#039;&#039; &#039;Width&#039;&lt;br /&gt;
* &#039;&#039;&#039;height&#039;&#039;&#039; &#039;Height&#039;&lt;br /&gt;
* &#039;&#039;&#039;skin&#039;&#039;&#039; &#039;Skin&#039;&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; &#039;Image&#039;&lt;br /&gt;
* &#039;&#039;&#039;icons&#039;&#039;&#039; &#039;Icons&#039;&lt;br /&gt;
* &#039;&#039;&#039;logo&#039;&#039;&#039; &#039;Logo&#039;&lt;br /&gt;
* &#039;&#039;&#039;controlbar&#039;&#039;&#039; &#039;Control Bar&#039;&lt;br /&gt;
* &#039;&#039;&#039;playlist&#039;&#039;&#039; &#039;Play List (position)&#039;&lt;br /&gt;
* &#039;&#039;&#039;playlistsize&#039;&#039;&#039; &#039;Play List Size (pixels)&#039;&lt;br /&gt;
* &#039;&#039;&#039;backcolor&#039;&#039;&#039; &#039;Back Color&#039;&lt;br /&gt;
* &#039;&#039;&#039;frontcolor&#039;&#039;&#039; &#039;Front Color&#039;&lt;br /&gt;
* &#039;&#039;&#039;lightcolor&#039;&#039;&#039; &#039;Light Color&#039;&lt;br /&gt;
* &#039;&#039;&#039;screencolor&#039;&#039;&#039; &#039;Screen Color&#039;&lt;br /&gt;
&lt;br /&gt;
===Behaviour===&lt;br /&gt;
* &#039;&#039;&#039;autostart&#039;&#039;&#039; &#039;Auto Start&#039;&lt;br /&gt;
* &#039;&#039;&#039;fullscreen&#039;&#039;&#039; &#039;Full Screen&#039;&lt;br /&gt;
* &#039;&#039;&#039;volume&#039;&#039;&#039; &#039;Volume&#039;&lt;br /&gt;
* &#039;&#039;&#039;mute&#039;&#039;&#039; &#039;Mute&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvstart&#039;&#039;&#039; &#039;Start (position in seconds)&#039;&lt;br /&gt;
* &#039;&#039;&#039;duration&#039;&#039;&#039; &#039;Duration (seconds)&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvrepeat&#039;&#039;&#039; &#039;Repeat&#039;&lt;br /&gt;
* &#039;&#039;&#039;shuffle&#039;&#039;&#039; &#039;Shuffle&#039;&lt;br /&gt;
* &#039;&#039;&#039;bufferlength&#039;&#039;&#039; &#039;Buffer Length (seconds)&#039;&lt;br /&gt;
* &#039;&#039;&#039;quality&#039;&#039;&#039; &#039;Quality&#039;&lt;br /&gt;
* &#039;&#039;&#039;displayclick&#039;&#039;&#039; &#039;Display Click&#039;&lt;br /&gt;
* &#039;&#039;&#039;link&#039;&#039;&#039; &#039;Link&#039;&lt;br /&gt;
* &#039;&#039;&#039;linktarget&#039;&#039;&#039; &#039;Link Target&#039;&lt;br /&gt;
* &#039;&#039;&#039;item&#039;&#039;&#039; &#039;Item&#039;&lt;br /&gt;
* &#039;&#039;&#039;resizing&#039;&#039;&#039; &#039;Resizing&#039;&lt;br /&gt;
* &#039;&#039;&#039;stretching&#039;&#039;&#039; &#039;Stretching&#039;&lt;br /&gt;
* &#039;&#039;&#039;plugins&#039;&#039;&#039; &#039;Plugins&#039;&lt;br /&gt;
* &#039;&#039;&#039;captions&#039;&#039;&#039; &#039;Timed Text Captions&#039;&lt;br /&gt;
&lt;br /&gt;
===Metadata===&lt;br /&gt;
* &#039;&#039;&#039;author&#039;&#039;&#039; &#039;Author&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvdate&#039;&#039;&#039; &#039;Date&#039;&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039; &#039;Title&#039;&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; &#039;FLV Description&#039;&lt;br /&gt;
* &#039;&#039;&#039;tags&#039;&#039;&#039; &#039;Tags&#039;&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
* &#039;&#039;&#039;configxml&#039;&#039;&#039; &#039;Config XML File&#039;&lt;br /&gt;
* &#039;&#039;&#039;version&#039;&#039;&#039; &#039;JW Player Version&#039;&lt;br /&gt;
* &#039;&#039;&#039;client&#039;&#039;&#039; &#039;Client&#039;&lt;br /&gt;
* &#039;&#039;&#039;tracecall&#039;&#039;&#039; &#039;Trace Call (debugging)&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvid&#039;&#039;&#039; &#039;ID (For Linux OS Users Only)&#039;&lt;br /&gt;
* &#039;&#039;&#039;abouttext&#039;&#039;&#039; &#039;About Text&#039;&lt;br /&gt;
* &#039;&#039;&#039;aboutlink&#039;&#039;&#039; &#039;About Link&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Issues==&lt;br /&gt;
&lt;br /&gt;
If you have any problems or issues with the FLV Player module, please list them, as clearly as you can, here.&lt;br /&gt;
&lt;br /&gt;
* Does not have a backup.php or a restore.php file. This indicates that FLV activities will not be backed up or restored when these processes are run.&lt;br /&gt;
&lt;br /&gt;
==Resolved Issues==&lt;br /&gt;
&lt;br /&gt;
* Browsers cached video files, images, icons and XML files. Users still saw old (cached files) after they had been updated on the server. The FLV Player Activity Module now prevents caching.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [http://ncam.wgbh.org/webaccess/magpie/ NCAM MAGpie2] (Media Access Generator) for authoring caption and subtitle files*&lt;br /&gt;
* [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] Including plugins, skins, tutorials and licensing details.&lt;br /&gt;
* An article on the [http://www.digital-web.com/articles/captions_flash_video/ Closed Captioning] component in Flash CS3 and its benefits for accessibility.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website] FLV Activity Module project developer.&lt;br /&gt;
* [http://xmoov.com/xmoov-php/ Xmoov] HTTP (pseudo) streaming open source project.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol RTMP] streaming media servers&lt;br /&gt;
* [http://www.osflash.org/red5 Red5] open source media server&lt;br /&gt;
* [http://www.adobe.com/products/flashmediaserver/ Adobe Flash Media Server]&lt;br /&gt;
* [http://www.lighttpd.net/ Lighttp] open source project which includes a streaming server&lt;br /&gt;
&lt;br /&gt;
(*) MAGpie2 can export TimedText caption files for JW FLV Player but its video player does not support the FLV file type. It is therefore necessary to use an intermediary video file type, such as AVI, in order to create the captions.&lt;br /&gt;
&lt;br /&gt;
===Other Projects by Matt Bury===&lt;br /&gt;
* [[Development:SWF]] SWF Activity Module, in development, which will enable deployment of Flash and Flex Framework learning applications (RIAs) in Moodle and leverage AMFPHP (Flash Remoting).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74981</id>
		<title>Media Player</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Media_Player&amp;diff=74981"/>
		<updated>2010-08-20T16:18:25Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: New page: ==Summary==  The JW FLV Player 5.1 is a powerful and extremely versatile application for viewing video on web pages. The Media Player module acts as a wizard to deploy and configure the JW...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Summary==&lt;br /&gt;
&lt;br /&gt;
The JW FLV Player 5.1 is a powerful and extremely versatile application for viewing video on web pages. The Media Player module acts as a wizard to deploy and configure the JW FLV Player. It doesn&#039;t require any coding abilities and is possibly the quickest, easiest, most comprehensive and robust method of deploying and configuring video in Moodle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:flv_player.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
&lt;br /&gt;
The project code and documentation are hosted on Google Code at: [http://code.google.com/p/moodle-mplayer/ http://code.google.com/p/moodle-mplayer/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Jeroen Wijering&#039;s FLV Player is an ideal method to deploy Flash video in Moodle. It&#039;s extremely versatile and supports a number of features that are particularly useful for e-learning:&lt;br /&gt;
&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Section_508 Section 508] (accessibility) compliance.&lt;br /&gt;
* Support for [http://en.wikipedia.org/wiki/Timed_text TimedText XML] and  RealText (SMIL) captioning.&lt;br /&gt;
* A selection of plugins and skins are available.&lt;br /&gt;
* Developers can create their own skins and plugins.&lt;br /&gt;
&lt;br /&gt;
===License===&lt;br /&gt;
&lt;br /&gt;
Although this Moodle module is open source, &#039;&#039;&#039;Jeroen Wijering&#039;s FLV player, included within, is not open source&#039;&#039;&#039;. It is commercial software which is available free for noncommercial use, but requires a (small) license payment for all other use. Please see [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] for licensing details.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Supported Video Formats==&lt;br /&gt;
&lt;br /&gt;
Supports all video formats supported by Flash Player 9 and above. Currently (5th February 2009) file types:&lt;br /&gt;
&lt;br /&gt;
* FLV&lt;br /&gt;
* MP4&lt;br /&gt;
* M4V&lt;br /&gt;
* M4A&lt;br /&gt;
* 3GP&lt;br /&gt;
* MOV&lt;br /&gt;
&lt;br /&gt;
It also supports the new standard high-definition CODEC, H.264, and AAC audio (Advanced Audio Compression) which is similar to MP3 but gives better quality at very low bit-rates.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Captioning==&lt;br /&gt;
&lt;br /&gt;
The FLV Player module makes it much easier to deploy captions with the JW FLV Player. Simply do the following:&lt;br /&gt;
&lt;br /&gt;
* Prepare the video and TimedText (RealText is also supported) files.&lt;br /&gt;
* Upload them to the moodledata course directory (you can also upload these from the FLV Player module form)&lt;br /&gt;
* Create an instance of the FLV Player module and select the video file and desired parameters.&lt;br /&gt;
* Select Show Advanced if not already shown.&lt;br /&gt;
* At the bottom of the Behaviour section, type accessibility-1 into the Plugins text input area.&lt;br /&gt;
* Select Choose or upload file in the Timed Text Captions input area and select or upload and select the desired TimedText captions file.&lt;br /&gt;
* Select Save changes (Moodle 1.8) or Save changes and preview (Moodle 1.9)&lt;br /&gt;
&lt;br /&gt;
Here are example [http://matbury.com/assets/captions_example.zip FLV video and TimedText caption XML] to download and try (7.75 MB).&lt;br /&gt;
&lt;br /&gt;
[http://ncam.wgbh.org/webaccess/magpie/magpie_help/introduction.html MAGpie2 captioning editor] can export Adobe Flash WC3 DFXP captioning files which are compatible with JW FLV Player accessibility-1 plugin. However, the editor cannot play FLV files therefore an intermediary video file type, such as AVI, is necessary for creating caption files, i.e. create and export the caption file before encoding the video to FLV.&lt;br /&gt;
&lt;br /&gt;
==Streaming==&lt;br /&gt;
&lt;br /&gt;
There are two main types of video connection, &#039;&#039;&#039;progressive download&#039;&#039;&#039;, where the video FLV file is downloaded into the browser cache and the user can start to view the video content after a second or two, and &#039;&#039;&#039;streaming&#039;&#039;&#039;, where specific portions of the video stream are served to the video player as and when requested. Progressive download is the easiest to implement and the most commonly used.&lt;br /&gt;
&lt;br /&gt;
The JW FLV Player supports:&lt;br /&gt;
&lt;br /&gt;
* Progressive download (default)&lt;br /&gt;
* [http://www.longtailvideo.com/support/tutorials/HTTP-Video-Streaming HTTP streaming] (pseudo-streaming)&lt;br /&gt;
* [http://www.lighttpd.net/ LIGHTTP] streaming&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol RTMP] streaming ([http://www.osflash.org/red5 Red5] and [http://en.wikipedia.org/wiki/Flash_Media_Server Flash Media Server])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Playing YouTube.com Videos==&lt;br /&gt;
&lt;br /&gt;
Playing videos directly from YouTube.com&#039;s servers is possibly the easiest way to play videos with the FLV Player Activity Module. Just follow these steps:&lt;br /&gt;
&lt;br /&gt;
* Find the video you want to show on YouTube.com&lt;br /&gt;
* On a Moodle course page, select &#039;FLV Player&#039; from the &#039;Add an activity...&#039; list&lt;br /&gt;
* On the YouTube.com video page, copy the URL in your browser&#039;s address bar, e.g. http://www.youtube.com/watch?v=5lp1-OrycKs&lt;br /&gt;
* Now paste the URL in the &#039;Video URL&#039; text field of the FLV Player form&lt;br /&gt;
* Select &#039;Show Advanced&#039; if not already set&lt;br /&gt;
* Select &#039;youtube&#039; from the &#039;Type&#039; list&lt;br /&gt;
* Select &#039;Save Changes&#039; (Moodle 1.8) or &#039;Save and Preview&#039; (Moodle 1.9) at the bottom of the FLV Player form&lt;br /&gt;
* The YouTube.com video should play and all the parameters, such as icons, links, etc. will still function.&lt;br /&gt;
&lt;br /&gt;
==Skins==&lt;br /&gt;
&lt;br /&gt;
Skins are a quick and easy way to change the appearance of JW FLV Player. The FLV Player Activity Module comes supplied with 27 skins which you can select from a list.&lt;br /&gt;
&lt;br /&gt;
* [http://www.longtailvideo.com/addons/skins JW FLV Player skins].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Plugins==&lt;br /&gt;
&lt;br /&gt;
Plugins add extra functionality to JW FLV Player. They are hosted on LongTail video&#039;s website so no downloading or installing is necessary. Simply type the name of one or more of the plugins you require in the Plugins text input area in the Behaviour section of the FLV Player Activity Module form. Available plugins are:&lt;br /&gt;
&lt;br /&gt;
* accessibility-1&lt;br /&gt;
* viral-1&lt;br /&gt;
* rateit-1&lt;br /&gt;
* drelated-1&lt;br /&gt;
* embed-1&lt;br /&gt;
* tipjar-1&lt;br /&gt;
* googlytics-1&lt;br /&gt;
* revolt-1&lt;br /&gt;
* yourlytics-1&lt;br /&gt;
* yousearch-1&lt;br /&gt;
* searchtoob-1&lt;br /&gt;
* quickkeys-1&lt;br /&gt;
* metaviewer-1&lt;br /&gt;
* hd-1&lt;br /&gt;
* soundproxy-1&lt;br /&gt;
* clickproxy-1&lt;br /&gt;
&lt;br /&gt;
There are also subscription and paid for plugin services available. [http://www.longtailvideo.com/addons/plugins Find documentation and further details here.]&lt;br /&gt;
&lt;br /&gt;
==Module Form==&lt;br /&gt;
&lt;br /&gt;
The module form allows users to set most of the parameters supported by JW FLV Player 4.3. [http://developer.longtailvideo.com/trac/wiki/FlashVars You can find documentation on the following parameters here.]&lt;br /&gt;
&lt;br /&gt;
===Source===&lt;br /&gt;
* &#039;&#039;&#039;flvfile&#039;&#039;&#039; &#039;Video URL&#039;&lt;br /&gt;
* &#039;&#039;&#039;type&#039;&#039;&#039; &#039;Type&#039;&lt;br /&gt;
* &#039;&#039;&#039;streamer&#039;&#039;&#039; &#039;Streamer&#039;&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
* &#039;&#039;&#039;width&#039;&#039;&#039; &#039;Width&#039;&lt;br /&gt;
* &#039;&#039;&#039;height&#039;&#039;&#039; &#039;Height&#039;&lt;br /&gt;
* &#039;&#039;&#039;skin&#039;&#039;&#039; &#039;Skin&#039;&lt;br /&gt;
* &#039;&#039;&#039;image&#039;&#039;&#039; &#039;Image&#039;&lt;br /&gt;
* &#039;&#039;&#039;icons&#039;&#039;&#039; &#039;Icons&#039;&lt;br /&gt;
* &#039;&#039;&#039;logo&#039;&#039;&#039; &#039;Logo&#039;&lt;br /&gt;
* &#039;&#039;&#039;controlbar&#039;&#039;&#039; &#039;Control Bar&#039;&lt;br /&gt;
* &#039;&#039;&#039;playlist&#039;&#039;&#039; &#039;Play List (position)&#039;&lt;br /&gt;
* &#039;&#039;&#039;playlistsize&#039;&#039;&#039; &#039;Play List Size (pixels)&#039;&lt;br /&gt;
* &#039;&#039;&#039;backcolor&#039;&#039;&#039; &#039;Back Color&#039;&lt;br /&gt;
* &#039;&#039;&#039;frontcolor&#039;&#039;&#039; &#039;Front Color&#039;&lt;br /&gt;
* &#039;&#039;&#039;lightcolor&#039;&#039;&#039; &#039;Light Color&#039;&lt;br /&gt;
* &#039;&#039;&#039;screencolor&#039;&#039;&#039; &#039;Screen Color&#039;&lt;br /&gt;
&lt;br /&gt;
===Behaviour===&lt;br /&gt;
* &#039;&#039;&#039;autostart&#039;&#039;&#039; &#039;Auto Start&#039;&lt;br /&gt;
* &#039;&#039;&#039;fullscreen&#039;&#039;&#039; &#039;Full Screen&#039;&lt;br /&gt;
* &#039;&#039;&#039;volume&#039;&#039;&#039; &#039;Volume&#039;&lt;br /&gt;
* &#039;&#039;&#039;mute&#039;&#039;&#039; &#039;Mute&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvstart&#039;&#039;&#039; &#039;Start (position in seconds)&#039;&lt;br /&gt;
* &#039;&#039;&#039;duration&#039;&#039;&#039; &#039;Duration (seconds)&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvrepeat&#039;&#039;&#039; &#039;Repeat&#039;&lt;br /&gt;
* &#039;&#039;&#039;shuffle&#039;&#039;&#039; &#039;Shuffle&#039;&lt;br /&gt;
* &#039;&#039;&#039;bufferlength&#039;&#039;&#039; &#039;Buffer Length (seconds)&#039;&lt;br /&gt;
* &#039;&#039;&#039;quality&#039;&#039;&#039; &#039;Quality&#039;&lt;br /&gt;
* &#039;&#039;&#039;displayclick&#039;&#039;&#039; &#039;Display Click&#039;&lt;br /&gt;
* &#039;&#039;&#039;link&#039;&#039;&#039; &#039;Link&#039;&lt;br /&gt;
* &#039;&#039;&#039;linktarget&#039;&#039;&#039; &#039;Link Target&#039;&lt;br /&gt;
* &#039;&#039;&#039;item&#039;&#039;&#039; &#039;Item&#039;&lt;br /&gt;
* &#039;&#039;&#039;resizing&#039;&#039;&#039; &#039;Resizing&#039;&lt;br /&gt;
* &#039;&#039;&#039;stretching&#039;&#039;&#039; &#039;Stretching&#039;&lt;br /&gt;
* &#039;&#039;&#039;plugins&#039;&#039;&#039; &#039;Plugins&#039;&lt;br /&gt;
* &#039;&#039;&#039;captions&#039;&#039;&#039; &#039;Timed Text Captions&#039;&lt;br /&gt;
&lt;br /&gt;
===Metadata===&lt;br /&gt;
* &#039;&#039;&#039;author&#039;&#039;&#039; &#039;Author&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvdate&#039;&#039;&#039; &#039;Date&#039;&lt;br /&gt;
* &#039;&#039;&#039;title&#039;&#039;&#039; &#039;Title&#039;&lt;br /&gt;
* &#039;&#039;&#039;description&#039;&#039;&#039; &#039;FLV Description&#039;&lt;br /&gt;
* &#039;&#039;&#039;tags&#039;&#039;&#039; &#039;Tags&#039;&lt;br /&gt;
&lt;br /&gt;
===Advanced===&lt;br /&gt;
* &#039;&#039;&#039;configxml&#039;&#039;&#039; &#039;Config XML File&#039;&lt;br /&gt;
* &#039;&#039;&#039;version&#039;&#039;&#039; &#039;JW Player Version&#039;&lt;br /&gt;
* &#039;&#039;&#039;client&#039;&#039;&#039; &#039;Client&#039;&lt;br /&gt;
* &#039;&#039;&#039;tracecall&#039;&#039;&#039; &#039;Trace Call (debugging)&#039;&lt;br /&gt;
* &#039;&#039;&#039;flvid&#039;&#039;&#039; &#039;ID (For Linux OS Users Only)&#039;&lt;br /&gt;
* &#039;&#039;&#039;abouttext&#039;&#039;&#039; &#039;About Text&#039;&lt;br /&gt;
* &#039;&#039;&#039;aboutlink&#039;&#039;&#039; &#039;About Link&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Issues==&lt;br /&gt;
&lt;br /&gt;
If you have any problems or issues with the FLV Player module, please list them, as clearly as you can, here.&lt;br /&gt;
&lt;br /&gt;
* Does not have a backup.php or a restore.php file. This indicates that FLV activities will not be backed up or restored when these processes are run.&lt;br /&gt;
&lt;br /&gt;
==Resolved Issues==&lt;br /&gt;
&lt;br /&gt;
* Browsers cached video files, images, icons and XML files. Users still saw old (cached files) after they had been updated on the server. The FLV Player Activity Module now prevents caching.&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [http://ncam.wgbh.org/webaccess/magpie/ NCAM MAGpie2] (Media Access Generator) for authoring caption and subtitle files*&lt;br /&gt;
* [http://www.longtailvideo.com/ Jeroen Wijering&#039;s web site] Including plugins, skins, tutorials and licensing details.&lt;br /&gt;
* An article on the [http://www.digital-web.com/articles/captions_flash_video/ Closed Captioning] component in Flash CS3 and its benefits for accessibility.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website] FLV Activity Module project developer.&lt;br /&gt;
* [http://xmoov.com/xmoov-php/ Xmoov] HTTP (pseudo) streaming open source project.&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol RTMP] streaming media servers&lt;br /&gt;
* [http://www.osflash.org/red5 Red5] open source media server&lt;br /&gt;
* [http://www.adobe.com/products/flashmediaserver/ Adobe Flash Media Server]&lt;br /&gt;
* [http://www.lighttpd.net/ Lighttp] open source project which includes a streaming server&lt;br /&gt;
&lt;br /&gt;
(*) MAGpie2 can export TimedText caption files for JW FLV Player but its video player does not support the FLV file type. It is therefore necessary to use an intermediary video file type, such as AVI, in order to create the captions.&lt;br /&gt;
&lt;br /&gt;
===Other Projects by Matt Bury===&lt;br /&gt;
* [[Development:SWF]] SWF Activity Module, in development, which will enable deployment of Flash and Flex Framework learning applications (RIAs) in Moodle and leverage AMFPHP (Flash Remoting).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=72023</id>
		<title>mod/swf/view</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=72023"/>
		<updated>2010-05-11T10:42:46Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is a stub.&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides an easy to use method of deploying Flash learning interactions in Moodle. It&#039;s designed for dynamic Flash learning applications, also known as Flash templates, that can load interaction (lesson or activity) data from an external source such as XML, a database or a web service.&lt;br /&gt;
&lt;br /&gt;
For more information about the SWF Activity Module, please visit the project site on Google Code:&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/p/swf-activity-module/ Project home page]&lt;br /&gt;
* [http://code.google.com/p/swf-activity-module/w/list Documentation]&lt;br /&gt;
* [http://code.google.com/p/swf-activity-module/issues/list Issues tracker]&lt;br /&gt;
* [http://matbury.com/moodle/course/view.php?id=9 SWF Activity Module learning application demo course] (Login as a guest)&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=72022</id>
		<title>mod/swf/view</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=72022"/>
		<updated>2010-05-11T10:42:15Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is a stub.&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides an easy to use method of deploying Flash learning interactions in Moodle. It&#039;s designed for dynamic Flash learning applications, also known as Flash templates, that can load interaction (lesson or activity) data from an external source such as XML, a database or a web service.&lt;br /&gt;
&lt;br /&gt;
For more information about the SWF Activity Module, please visit the project site on Google Code:&lt;br /&gt;
&lt;br /&gt;
* [http://code.google.com/p/swf-activity-module/ Project home page]&lt;br /&gt;
* [http://code.google.com/p/swf-activity-module/w/list Documentation]&lt;br /&gt;
* [http://code.google.com/p/swf-activity-module/issues/list Issues tracker]&lt;br /&gt;
* [http://matbury.com/moodle/course/view.php?id=9 SWF Activity Module learning application demo course]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=72021</id>
		<title>mod/swf/view</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=72021"/>
		<updated>2010-05-11T10:41:07Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is a stub.&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides an easy to use method of deploying Flash learning interactions in Moodle. It&#039;s designed for dynamic Flash learning applications, also known as Flash templates, that can load interaction (lesson or activity) data from an external source such as XML, a database or a web service.&lt;br /&gt;
&lt;br /&gt;
For more information about the SWF Activity Module, please visit the project site on Google Code:&lt;br /&gt;
&lt;br /&gt;
  * [http://code.google.com/p/swf-activity-module/ project home page]&lt;br /&gt;
&lt;br /&gt;
  * [http://code.google.com/p/swf-activity-module/w/list documentation]&lt;br /&gt;
&lt;br /&gt;
  * [http://code.google.com/p/swf-activity-module/issues/list issues tracker]&lt;br /&gt;
&lt;br /&gt;
  * [http://matbury.com/moodle/course/view.php?id=9 SWF Activity Module learning application demo course]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=69617</id>
		<title>Development:SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=69617"/>
		<updated>2010-03-13T02:01:47Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
The module documentation on this page is out of date. Please see the SWF Activity Module project site for up to date downloads, documentation and help.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve moved the project code and documentation to Google Code: [http://code.google.com/p/swf-activity-module/ code.google.com/p/swf-activity-module/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides a comprehensive and flexible method for deploying Flash and Flex Framework learning applications as activities in a Moodle course.&lt;br /&gt;
&lt;br /&gt;
==How does is work?==&lt;br /&gt;
&lt;br /&gt;
===SWFObject===&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module uses [http://code.google.com/p/swfobject/ SWFObject] as the default embed method for Flash and Flex Framework learning applications. The module also incorporates standard XHTML 1.0 strict object and embed code that functions if SWFObject fails for any reason, e.g. If the user has Javascript blocked in his/her browser.&lt;br /&gt;
&lt;br /&gt;
Once installed, select SWF from an &amp;quot;Add an activity&amp;quot; list on a Moodle course page. The standard &amp;quot;Adding a new SWF to topic... &amp;quot; moodleform will appear. Help files are included in the SWF Activity Module in English and provide further details about the parameters. In this form you can set the following parameters:&lt;br /&gt;
&lt;br /&gt;
===Required Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* As with all Moodle activities, name and intro.&lt;br /&gt;
* SWF file&lt;br /&gt;
* Height&lt;br /&gt;
* Width&lt;br /&gt;
* Version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* AMF Interaction (Not yet implemented)&lt;br /&gt;
* XML file URL&lt;br /&gt;
* FlashVars #1&lt;br /&gt;
* FlashVars #2&lt;br /&gt;
* FlashVars #3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* API Key (SWF Activity Module custom parameter)&lt;br /&gt;
* Align&lt;br /&gt;
* Auto Play&lt;br /&gt;
* Loop Playback&lt;br /&gt;
* Menu&lt;br /&gt;
* Quality&lt;br /&gt;
* Scale Mode&lt;br /&gt;
* Stage Align&lt;br /&gt;
* Window Mode&lt;br /&gt;
* Background&lt;br /&gt;
* Use Device Font&lt;br /&gt;
* Seamless Tabbing&lt;br /&gt;
* Allow Full Screen&lt;br /&gt;
* Allow Script Access&lt;br /&gt;
* Allow Networking&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find more details about these parameters in the [http://code.google.com/p/swfobject/wiki/documentation SWFObject Documentation].&lt;br /&gt;
&lt;br /&gt;
==What features does it support?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module automatically provides a deployed SWF learning activity application with the following data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* gateway - URL to gateway script for access to AMFPHP service library&lt;br /&gt;
* course - the current Moodle course that the user is accessing&lt;br /&gt;
* instance - Instance ID of the module&lt;br /&gt;
* swfid - The ID of the SWF learning activity application&lt;br /&gt;
* interaction - The ID of the SWF learning interaction data to consume (AMFPHP)&lt;br /&gt;
* moodledata - The URL to access the current moodledata course directory (file.php)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It also supports a number of features, specific to Flash and Flex applications. They are:&lt;br /&gt;
&lt;br /&gt;
===Flash Remoting (AMF)===&lt;br /&gt;
&lt;br /&gt;
Flash Remoting is a method for Flash or Flex applications to communicate directly with server-side applications written in .NET, Java, PHP, Cold Fusion and Ruby on Rails. There are a number of open-source libraries for handling communication via Flash Remoting: &lt;br /&gt;
&lt;br /&gt;
See [[Development:AMF3]] for details on how to set up AMFPHP in Moodle and more information about Flash Remoting technologies.&lt;br /&gt;
&lt;br /&gt;
===XML Data Loading===&lt;br /&gt;
&lt;br /&gt;
XML is a native data type to ActionScript 3.0 therefore Flash and Flex Framework learning applications use E4X notation to manipulate XML data in a similar way to a multidimensional array. For more details, see [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/ Adobe Actionscript 3.0 Language and Components Reference]. XML is also currently the most commonly used format for providing elearning data for learning interactions. The most commonly used format is [http://en.wikipedia.org/wiki/IMS_Global IMS]&#039;s standard [http://en.wikipedia.org/wiki/QTI QTI] (Question and Test Interoperability specification) but basically any valid XML file with the appropriate data tree structure can be loaded into and consumed by a SWF file.&lt;br /&gt;
&lt;br /&gt;
===FlashVars===&lt;br /&gt;
&lt;br /&gt;
FlashVars is a method for passing string data into a SWF file. It is passed in from the printed HTML page that the SWF file is embedded in. It&#039;s ideally suited to very simple data sets such a vocabulary lists or series of numerical values. For learning activities such as hangman, crosswords, word searches, etc., FlashVars is simple, efficient and easy to use.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s Next?==&lt;br /&gt;
&lt;br /&gt;
===Moodle Grades===&lt;br /&gt;
&lt;br /&gt;
One of the most requested features for Flash and Flex Framework learning applications deployed in Moodle is for them to have the ability to record learners&#039; activities in Moodle&#039;s Gradebook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AMFPHP===&lt;br /&gt;
&lt;br /&gt;
The most powerful and flexible way for Flash and Flex Framework learning applications to interact with Moodle APIs, databases and web services is via Flash Remoting AKA [http://blogs.adobe.com/mikepotter/2006/12/amfphp_adds_amf.html AMF3], a communication protocol which is similar to JSON but much faster. It allows Flash and Flex Framework learning applications to directly call PHP methods and pass a number of different data types back and forth seamlessly.&lt;br /&gt;
&lt;br /&gt;
For more details about using AMFPHP in Moodle, see [[Development:AMF3]]&lt;br /&gt;
&lt;br /&gt;
===Learning Interaction Data DB Structure===&lt;br /&gt;
&lt;br /&gt;
A standardised DB table structure to store learning interaction data with a variety of methods to populate the tables with data, including Moodle forms, dynamic Flash or Flex Framework on-line forms.&lt;br /&gt;
&lt;br /&gt;
Also, standalone Adobe AIR desktop GUI applications, which can store data locally using SQLite, to create and edit learning interactions and then upload them. Using Adobe AIR will also provide convenient backup of interaction data and a means to easily transfer and distribute learning interactions.&lt;br /&gt;
&lt;br /&gt;
====swf_interactions fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* course&lt;br /&gt;
* name&lt;br /&gt;
* intro&lt;br /&gt;
* introformat&lt;br /&gt;
* amftable - Default is swf_interaction_data but this allows for further, more specialised tables to be used&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====swf_interaction_data fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* interaction - ID of interaction (id of swf_interactions)&lt;br /&gt;
* ordernum - Allow sequential ordering of rows&lt;br /&gt;
* amp3 - URL of answer MP3 file&lt;br /&gt;
* qmp3 - URL of quesition MP3 file&lt;br /&gt;
* smp3 - URL of additional MP3 file&lt;br /&gt;
* image - URL of image file&lt;br /&gt;
* video - URL of FLV file&lt;br /&gt;
* ptext - Paragraph text&lt;br /&gt;
* qtext - Question&lt;br /&gt;
* catext - Correct answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* watext - Wrong answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:AMF3]] Flash Remoting for Moodle.&lt;br /&gt;
* [http://code.google.com/p/moodle-mplayer/ Media Player] Activity Module for deploying video in Moodle as an activity. Leverages the full range of functions of Jeroen Wijering&#039;s JW FLV Player.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website and Moodle] with demos of SWF Activity Module and Media Player modules.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=69616</id>
		<title>Development:SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=69616"/>
		<updated>2010-03-13T02:00:00Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* SWF Activity Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
The module documentation on this page is out of date. Please see the SWF Activity Module project site for up to date downloads, documentation and help.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve moved the project code and documentation to Google Code: [http://code.google.com/p/swf-activity-module/ code.google.com/p/swf-activity-module/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides a comprehensive and flexible method for deploying Flash and Flex Framework learning applications as activities in a Moodle course.&lt;br /&gt;
&lt;br /&gt;
==How does is work?==&lt;br /&gt;
&lt;br /&gt;
===SWFObject===&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module uses [http://code.google.com/p/swfobject/ SWFObject] as the default embed method for Flash and Flex Framework learning applications. The module also incorporates standard XHTML 1.0 strict object and embed code that functions if SWFObject fails for any reason, e.g. If the user has Javascript blocked in his/her browser.&lt;br /&gt;
&lt;br /&gt;
Once installed, select SWF from an &amp;quot;Add an activity&amp;quot; list on a Moodle course page. The standard &amp;quot;Adding a new SWF to topic... &amp;quot; moodleform will appear. Help files are included in the SWF Activity Module in English and provide further details about the parameters. In this form you can set the following parameters:&lt;br /&gt;
&lt;br /&gt;
===Required Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* As with all Moodle activities, name and intro.&lt;br /&gt;
* SWF file&lt;br /&gt;
* Height&lt;br /&gt;
* Width&lt;br /&gt;
* Version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* AMF Interaction (Not yet implemented)&lt;br /&gt;
* XML file URL&lt;br /&gt;
* FlashVars #1&lt;br /&gt;
* FlashVars #2&lt;br /&gt;
* FlashVars #3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* API Key (SWF Activity Module custom parameter)&lt;br /&gt;
* Align&lt;br /&gt;
* Auto Play&lt;br /&gt;
* Loop Playback&lt;br /&gt;
* Menu&lt;br /&gt;
* Quality&lt;br /&gt;
* Scale Mode&lt;br /&gt;
* Stage Align&lt;br /&gt;
* Window Mode&lt;br /&gt;
* Background&lt;br /&gt;
* Use Device Font&lt;br /&gt;
* Seamless Tabbing&lt;br /&gt;
* Allow Full Screen&lt;br /&gt;
* Allow Script Access&lt;br /&gt;
* Allow Networking&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find more details about these parameters in the [http://code.google.com/p/swfobject/wiki/documentation SWFObject Documentation].&lt;br /&gt;
&lt;br /&gt;
==What features does it support?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module automatically provides a deployed SWF learning activity application with the following data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* gateway - URL to gateway script for access to AMFPHP service library&lt;br /&gt;
* course - the current Moodle course that the user is accessing&lt;br /&gt;
* instance - Instance ID of the module&lt;br /&gt;
* swfid - The ID of the SWF learning activity application&lt;br /&gt;
* interaction - The ID of the SWF learning interaction data to consume (AMFPHP)&lt;br /&gt;
* moodledata - The URL to access the current moodledata course directory (file.php)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It also supports a number of features, specific to Flash and Flex applications. They are:&lt;br /&gt;
&lt;br /&gt;
===Flash Remoting (AMF)===&lt;br /&gt;
&lt;br /&gt;
Flash Remoting is a method for Flash or Flex applications to communicate directly with server-side applications written in .NET, Java, PHP, Cold Fusion and Ruby on Rails. There are a number of open-source libraries for handling communication via Flash Remoting: &lt;br /&gt;
&lt;br /&gt;
See [[Development:AMF3]] for details on how to set up AMFPHP in Moodle and more information about Flash Remoting technologies.&lt;br /&gt;
&lt;br /&gt;
===XML Data Loading===&lt;br /&gt;
&lt;br /&gt;
XML is a native data type to ActionScript 3.0 therefore Flash and Flex Framework learning applications use E4X notation to manipulate XML data in a similar way to a multidimensional array. For more details, see [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/ Adobe Actionscript 3.0 Language and Components Reference]. XML is also currently the most commonly used format for providing elearning data for learning interactions. The most commonly used format is [http://en.wikipedia.org/wiki/IMS_Global IMS]&#039;s standard [http://en.wikipedia.org/wiki/QTI QTI] (Question and Test Interoperability specification) but basically any valid XML file with the appropriate data tree structure can be loaded into and consumed by a SWF file.&lt;br /&gt;
&lt;br /&gt;
===FlashVars===&lt;br /&gt;
&lt;br /&gt;
FlashVars is a method for passing string data into a SWF file. It is passed in from the printed HTML page that the SWF file is embedded in. It&#039;s ideally suited to very simple data sets such a vocabulary lists or series of numerical values. For learning activities such as hangman, crosswords, word searches, etc., FlashVars is simple, efficient and easy to use.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s Next?==&lt;br /&gt;
&lt;br /&gt;
===Moodle Grades===&lt;br /&gt;
&lt;br /&gt;
One of the most requested features for Flash and Flex Framework learning applications deployed in Moodle is for them to have the ability to record learners&#039; activities in Moodle&#039;s Gradebook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AMFPHP===&lt;br /&gt;
&lt;br /&gt;
The most powerful and flexible way for Flash and Flex Framework learning applications to interact with Moodle APIs, databases and web services is via Flash Remoting AKA [http://blogs.adobe.com/mikepotter/2006/12/amfphp_adds_amf.html AMF3], a communication protocol which is similar to JSON but much faster. It allows Flash and Flex Framework learning applications to directly call PHP methods and pass a number of different data types back and forth seamlessly.&lt;br /&gt;
&lt;br /&gt;
For more details about using AMFPHP in Moodle, see [[Development:AMF3]]&lt;br /&gt;
&lt;br /&gt;
===Learning Interaction Data DB Structure===&lt;br /&gt;
&lt;br /&gt;
A standardised DB table structure to store learning interaction data with a variety of methods to populate the tables with data, including Moodle forms, dynamic Flash or Flex Framework on-line forms.&lt;br /&gt;
&lt;br /&gt;
Also, standalone Adobe AIR desktop GUI applications, which can store data locally using SQLite, to create and edit learning interactions and then upload them. Using Adobe AIR will also provide convenient backup of interaction data and a means to easily transfer and distribute learning interactions.&lt;br /&gt;
&lt;br /&gt;
====swf_interactions fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* course&lt;br /&gt;
* name&lt;br /&gt;
* intro&lt;br /&gt;
* introformat&lt;br /&gt;
* amftable - Default is swf_interaction_data but this allows for further, more specialised tables to be used&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====swf_interaction_data fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* interaction - ID of interaction (id of swf_interactions)&lt;br /&gt;
* ordernum - Allow sequential ordering of rows&lt;br /&gt;
* amp3 - URL of answer MP3 file&lt;br /&gt;
* qmp3 - URL of quesition MP3 file&lt;br /&gt;
* smp3 - URL of additional MP3 file&lt;br /&gt;
* image - URL of image file&lt;br /&gt;
* video - URL of FLV file&lt;br /&gt;
* ptext - Paragraph text&lt;br /&gt;
* qtext - Question&lt;br /&gt;
* catext - Correct answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* watext - Wrong answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:AMF3]] Flash Remoting for Moodle.&lt;br /&gt;
* [[FLV Player]] Activity Module for deploying video in Moodle as an activity. Leverages the full range of functions of Jeroen Wijering&#039;s JW FLV Player.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website and Moodle]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=69615</id>
		<title>Development:SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=69615"/>
		<updated>2010-03-13T01:58:38Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* SWF Activity Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
I&#039;ve moved the project code and documentation to Google Code: [http://code.google.com/p/swf-activity-module/ code.google.com/p/swf-activity-module/]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides a comprehensive and flexible method for deploying Flash and Flex Framework learning applications as activities in a Moodle course.&lt;br /&gt;
&lt;br /&gt;
==How does is work?==&lt;br /&gt;
&lt;br /&gt;
===SWFObject===&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module uses [http://code.google.com/p/swfobject/ SWFObject] as the default embed method for Flash and Flex Framework learning applications. The module also incorporates standard XHTML 1.0 strict object and embed code that functions if SWFObject fails for any reason, e.g. If the user has Javascript blocked in his/her browser.&lt;br /&gt;
&lt;br /&gt;
Once installed, select SWF from an &amp;quot;Add an activity&amp;quot; list on a Moodle course page. The standard &amp;quot;Adding a new SWF to topic... &amp;quot; moodleform will appear. Help files are included in the SWF Activity Module in English and provide further details about the parameters. In this form you can set the following parameters:&lt;br /&gt;
&lt;br /&gt;
===Required Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* As with all Moodle activities, name and intro.&lt;br /&gt;
* SWF file&lt;br /&gt;
* Height&lt;br /&gt;
* Width&lt;br /&gt;
* Version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* AMF Interaction (Not yet implemented)&lt;br /&gt;
* XML file URL&lt;br /&gt;
* FlashVars #1&lt;br /&gt;
* FlashVars #2&lt;br /&gt;
* FlashVars #3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* API Key (SWF Activity Module custom parameter)&lt;br /&gt;
* Align&lt;br /&gt;
* Auto Play&lt;br /&gt;
* Loop Playback&lt;br /&gt;
* Menu&lt;br /&gt;
* Quality&lt;br /&gt;
* Scale Mode&lt;br /&gt;
* Stage Align&lt;br /&gt;
* Window Mode&lt;br /&gt;
* Background&lt;br /&gt;
* Use Device Font&lt;br /&gt;
* Seamless Tabbing&lt;br /&gt;
* Allow Full Screen&lt;br /&gt;
* Allow Script Access&lt;br /&gt;
* Allow Networking&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find more details about these parameters in the [http://code.google.com/p/swfobject/wiki/documentation SWFObject Documentation].&lt;br /&gt;
&lt;br /&gt;
==What features does it support?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module automatically provides a deployed SWF learning activity application with the following data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* gateway - URL to gateway script for access to AMFPHP service library&lt;br /&gt;
* course - the current Moodle course that the user is accessing&lt;br /&gt;
* instance - Instance ID of the module&lt;br /&gt;
* swfid - The ID of the SWF learning activity application&lt;br /&gt;
* interaction - The ID of the SWF learning interaction data to consume (AMFPHP)&lt;br /&gt;
* moodledata - The URL to access the current moodledata course directory (file.php)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It also supports a number of features, specific to Flash and Flex applications. They are:&lt;br /&gt;
&lt;br /&gt;
===Flash Remoting (AMF)===&lt;br /&gt;
&lt;br /&gt;
Flash Remoting is a method for Flash or Flex applications to communicate directly with server-side applications written in .NET, Java, PHP, Cold Fusion and Ruby on Rails. There are a number of open-source libraries for handling communication via Flash Remoting: &lt;br /&gt;
&lt;br /&gt;
See [[Development:AMF3]] for details on how to set up AMFPHP in Moodle and more information about Flash Remoting technologies.&lt;br /&gt;
&lt;br /&gt;
===XML Data Loading===&lt;br /&gt;
&lt;br /&gt;
XML is a native data type to ActionScript 3.0 therefore Flash and Flex Framework learning applications use E4X notation to manipulate XML data in a similar way to a multidimensional array. For more details, see [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/ Adobe Actionscript 3.0 Language and Components Reference]. XML is also currently the most commonly used format for providing elearning data for learning interactions. The most commonly used format is [http://en.wikipedia.org/wiki/IMS_Global IMS]&#039;s standard [http://en.wikipedia.org/wiki/QTI QTI] (Question and Test Interoperability specification) but basically any valid XML file with the appropriate data tree structure can be loaded into and consumed by a SWF file.&lt;br /&gt;
&lt;br /&gt;
===FlashVars===&lt;br /&gt;
&lt;br /&gt;
FlashVars is a method for passing string data into a SWF file. It is passed in from the printed HTML page that the SWF file is embedded in. It&#039;s ideally suited to very simple data sets such a vocabulary lists or series of numerical values. For learning activities such as hangman, crosswords, word searches, etc., FlashVars is simple, efficient and easy to use.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s Next?==&lt;br /&gt;
&lt;br /&gt;
===Moodle Grades===&lt;br /&gt;
&lt;br /&gt;
One of the most requested features for Flash and Flex Framework learning applications deployed in Moodle is for them to have the ability to record learners&#039; activities in Moodle&#039;s Gradebook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AMFPHP===&lt;br /&gt;
&lt;br /&gt;
The most powerful and flexible way for Flash and Flex Framework learning applications to interact with Moodle APIs, databases and web services is via Flash Remoting AKA [http://blogs.adobe.com/mikepotter/2006/12/amfphp_adds_amf.html AMF3], a communication protocol which is similar to JSON but much faster. It allows Flash and Flex Framework learning applications to directly call PHP methods and pass a number of different data types back and forth seamlessly.&lt;br /&gt;
&lt;br /&gt;
For more details about using AMFPHP in Moodle, see [[Development:AMF3]]&lt;br /&gt;
&lt;br /&gt;
===Learning Interaction Data DB Structure===&lt;br /&gt;
&lt;br /&gt;
A standardised DB table structure to store learning interaction data with a variety of methods to populate the tables with data, including Moodle forms, dynamic Flash or Flex Framework on-line forms.&lt;br /&gt;
&lt;br /&gt;
Also, standalone Adobe AIR desktop GUI applications, which can store data locally using SQLite, to create and edit learning interactions and then upload them. Using Adobe AIR will also provide convenient backup of interaction data and a means to easily transfer and distribute learning interactions.&lt;br /&gt;
&lt;br /&gt;
====swf_interactions fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* course&lt;br /&gt;
* name&lt;br /&gt;
* intro&lt;br /&gt;
* introformat&lt;br /&gt;
* amftable - Default is swf_interaction_data but this allows for further, more specialised tables to be used&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====swf_interaction_data fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* interaction - ID of interaction (id of swf_interactions)&lt;br /&gt;
* ordernum - Allow sequential ordering of rows&lt;br /&gt;
* amp3 - URL of answer MP3 file&lt;br /&gt;
* qmp3 - URL of quesition MP3 file&lt;br /&gt;
* smp3 - URL of additional MP3 file&lt;br /&gt;
* image - URL of image file&lt;br /&gt;
* video - URL of FLV file&lt;br /&gt;
* ptext - Paragraph text&lt;br /&gt;
* qtext - Question&lt;br /&gt;
* catext - Correct answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* watext - Wrong answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:AMF3]] Flash Remoting for Moodle.&lt;br /&gt;
* [[FLV Player]] Activity Module for deploying video in Moodle as an activity. Leverages the full range of functions of Jeroen Wijering&#039;s JW FLV Player.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website and Moodle]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=69614</id>
		<title>SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=69614"/>
		<updated>2010-03-13T01:55:18Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a plugin which allows users to deploy Flash learning applications, or any Flash content, in Moodle as an activity. It includes the following advantages:&lt;br /&gt;
&lt;br /&gt;
  * Very easy to use - Doesn&#039;t require writing any code.&lt;br /&gt;
  * Integrated with Moodle&#039;s course file management system.&lt;br /&gt;
  * Supports XML driven Flash templates.&lt;br /&gt;
  * Works with almost any Flash learning applications.&lt;br /&gt;
  * Flash Player version independent - Can deploy any Flash a&lt;br /&gt;
  * Robust and reliable - Flash embedding is never interfered with by Moodle&#039;s filters.&lt;br /&gt;
  * W3C Standards compliant - Uses Adobe&#039;s recommended Flash embed method (SWFObject).&lt;br /&gt;
  * Integrated with Moodle&#039;s grade book - Automatically creates grade items when required.&lt;br /&gt;
  * Fast, powerful, direct two-way communication between Flash and Moodle&#039;s APIs.&lt;br /&gt;
  * Can support 3rd party web services, e.g. Google Maps, Youtube.com and Yahoo!&lt;br /&gt;
  * Well documented - Find all the code, documentation and help all in one place.&lt;br /&gt;
  * Free and open source of course! (GPL3 licence)&lt;br /&gt;
&lt;br /&gt;
Please note: The SWF Activity Module cannot deploy Flash presentations like those produced by Adobe Captivate CS3 and earlier versions. It does, however, support Adobe Captivate CS4 if the published Flash presentation is a single SWF file. For Flash video presentations, see the [http://code.google.com/p/moodle-mplayer/ Media Player] module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SWF Activity Module project site==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module downloads, documentation and help are hosted at Google Code: [http://code.google.com/p/swf-activity-module/ SWF Activity Module].&lt;br /&gt;
&lt;br /&gt;
You can also see demos of the SWF Activity Module in action at the developer&#039;s Moodle demo course: [http://matbury.com/moodle/course/view.php?id=9 matbury.com demo course] (Login as a guest)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/moodle-mplayer/ Media Player] module for deploying video and other media in Moodle.&lt;br /&gt;
[http://code.google.com/p/moodle-mp3-player-for-tests/ MP3 Player for Tests] Flash MP3 player that can be embedded in Moodle quizzes and other Moodle pages which gives detailed control over how many times the audio can be played, if it waits until the entire MP3 file has loaded before starting, etc.&lt;br /&gt;
&lt;br /&gt;
[[Development:AMF3]] AMFPHP Flash Remoting in Moodle (communicating with Moodle via Flash).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=69613</id>
		<title>SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=69613"/>
		<updated>2010-03-13T01:54:19Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* What is the SWF Activity Module? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a plugin which allows users to deploy Flash learning applications, or any Flash content, in Moodle as an activity. It includes the following advantages:&lt;br /&gt;
&lt;br /&gt;
  * Very easy to use - Doesn&#039;t require writing any code.&lt;br /&gt;
  * Integrated with Moodle&#039;s course file management system.&lt;br /&gt;
  * Supports XML driven Flash templates.&lt;br /&gt;
  * Works with almost any Flash learning applications.&lt;br /&gt;
  * Flash Player version independent - Can deploy any Flash a&lt;br /&gt;
  * Robust and reliable - Flash embedding is never interfered with by Moodle&#039;s filters.&lt;br /&gt;
  * W3C Standards compliant - Uses Adobe&#039;s recommended Flash embed method (SWFObject).&lt;br /&gt;
  * Integrated with Moodle&#039;s grade book - Automatically creates grade items when required.&lt;br /&gt;
  * Fast, powerful, direct two-way communication between Flash and Moodle&#039;s APIs.&lt;br /&gt;
  * Can support 3rd party web services, e.g. Google Maps, Youtube.com and Yahoo!&lt;br /&gt;
  * Well documented - Find all the code, documentation and help all in one place.&lt;br /&gt;
  * Free and open source of course! (GPL3 licence)&lt;br /&gt;
&lt;br /&gt;
Please note: The SWF Activity Module cannot deploy Flash presentations like those produced by Adobe Captivate CS3 and earlier versions. It does, however, support Adobe Captivate CS4 if the published Flash presentation is a single SWF file. For Flash video presentations, see the [http://code.google.com/p/moodle-mplayer/ Media Player] module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==SWF Activity Module project site==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module downloads, documentation and help are hosted at Google Code: [http://code.google.com/p/swf-activity-module/ SWF Activity Module].&lt;br /&gt;
&lt;br /&gt;
You can also see demos of the SWF Activity Module in action at the developer&#039;s Moodle demo course: [http://matbury.com/moodle/course/view.php?id=9 matbury.com demo course] (Login as a guest)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[http://code.google.com/p/moodle-mplayer/ Media Player] module for deploying video and other media in Moodle.&lt;br /&gt;
[http://code.google.com/p/moodle-mp3-player-for-tests/ MP3 Player for Tests] Flash MP3 player that can be embedded in Moodle quizzes and other Moodle pages which gives detailed control over how many times the audio can be played, if it waits until the entire MP3 file has loaded before starting, etc.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[[FLV Player]] module for deploying audio and video in Moodle. Supports YouTube.com video and media streaming technologies.&lt;br /&gt;
&lt;br /&gt;
[[Development:AMF3]] AMFPHP Flash Remoting in Moodle (communicating with Moodle via Flash).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=69612</id>
		<title>SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=69612"/>
		<updated>2010-03-13T01:30:22Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a plugin which allows users to deploy Flash learning applications, or any Flash content, in Moodle as an activity. It includes the following advantages:&lt;br /&gt;
&lt;br /&gt;
  * Very easy to use - Doesn&#039;t require writing any code.&lt;br /&gt;
  * Integrated with Moodle&#039;s course file management system.&lt;br /&gt;
  * Robust and reliable - Flash embedding is never interfered with by Moodle&#039;s filters.&lt;br /&gt;
  * Standards compliant - Uses Adobe&#039;s recommended Flash embed method (SWFObject).&lt;br /&gt;
  * Integrated with Moodle&#039;s grade book - Automatically creates grade items when required.&lt;br /&gt;
  * Fast, powerful, direct two-way communication between Flash and Moodle&#039;s APIs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[[FLV Player]] module for deploying audio and video in Moodle. Supports YouTube.com video and media streaming technologies.&lt;br /&gt;
&lt;br /&gt;
[[Development:AMF3]] AMFPHP Flash Remoting in Moodle (communicating with Moodle via Flash).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=69611</id>
		<title>mod/swf/view</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=69611"/>
		<updated>2010-03-13T01:21:28Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is a stub. For more information about the SWF Activity Module, please click [http://code.google.com/p/swf-activity-module/ here].&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development_talk:NEWMODULE_Documentation&amp;diff=66248</id>
		<title>Development talk:NEWMODULE Documentation</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development_talk:NEWMODULE_Documentation&amp;diff=66248"/>
		<updated>2009-12-03T14:29:47Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Old stuff moved out of the way ==&lt;br /&gt;
&lt;br /&gt;
Daniele, did you know about [[Development:Modules]], which is linked to from [[Developer_documentation#Make_a_new_plugin]]? You may be better off editing that, rather than starting a new page. However don&#039;t let me discourage you. That documentation is very limited, and badly needs to be expanded, so it is absolutely brilliant that you want to work on it.--[[User:Tim Hunt|Tim Hunt]] 12:03, 28 March 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
::Good point Tim! Anyway... I think we can use this as temporary root for Daniele&#039;s work and then, simply, move things to their final place. Let&#039;s see how this evolves. -- [[User:Eloy Lafuente (stronk7)|Eloy Lafuente (stronk7)]] 12:33, 28 March 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
[http://lyceum.open.ac.uk/temp/creating_moodle_modules.ppt My powerpoint about creating moodle modules] is a bit old (1.8) and maybe not that comprehensible but I use it when I&#039;m trying to explain things to people. It includes a list of all the things you need to have in a module, except the ones I forgot (backuplib iirc is missing). [[User:sam marshall|sam marshall]] 12:52, 28 March 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
::That&#039;s really great, Sam. For sure that presentation will help.Thanks! -- [[User:Eloy Lafuente (stronk7)|Eloy Lafuente (stronk7)]] 13:08, 28 March 2008 (CDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dear Tim, Sam and Eloy, I wrote what was my learning path on these issues. I wrote whatever I found in your powerpoint guide (thanks again, Sam) and whatever I got mainly from Tim, Eloy and Petr. A lot of issues are still obscure to me like: grades, groups, groupings, backup and so forth. Please let me know your opinion to make all together a plan to carry on in the best way. Thanks. -- [[User:Daniele Cordella|Daniele Cordella]] 11:55, 10 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
: Just moved the old discussion stuff here. --[[User:Frank Ralf|Frank Ralf]] 07:55, 29 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Formatting tips ==&lt;br /&gt;
&lt;br /&gt;
Hi Daniele, Thanks for starting this documentation. &lt;br /&gt;
&lt;br /&gt;
You might consider using more sub-headings instead of bullet points as those will show up in the contents section and make for easier navigation.&lt;br /&gt;
&lt;br /&gt;
And when you use &amp;lt;nowiki&amp;gt;&amp;lt;code php&amp;gt;&amp;lt;/nowiki&amp;gt; you will get syntax highlighting for your code.&lt;br /&gt;
&lt;br /&gt;
There were also suggestions to incorporate Unit 7 of http://dev.moodle.org/course/view.php?id=2 into Moodle Docs (http://dev.moodle.org/mod/forum/discuss.php?d=360). --[[User:Frank Ralf|Frank Ralf]] 08:05, 29 September 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
== Grades ==&lt;br /&gt;
&lt;br /&gt;
Thanks for the great work Daniele! This is such an improvement :)&lt;br /&gt;
&lt;br /&gt;
I can&#039;t find any reference to pushing grades into Moodle&#039;s grade book in the NEWMODULE docs. I think this is a core function of the majority of activity modules and would like to see it documented or at least referenced here. Will this be included in the not too distant future?&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:NEWMODULE_FAQ&amp;diff=63440</id>
		<title>Development:NEWMODULE FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:NEWMODULE_FAQ&amp;diff=63440"/>
		<updated>2009-09-22T15:34:08Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Q: How can I provide the needed code to: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Work in progress}}&lt;br /&gt;
{{New_Module}}&lt;br /&gt;
&lt;br /&gt;
== Q: Where do I have to start? ==&lt;br /&gt;
A: The content of your module is in moodle/mod/widget/view.php&lt;br /&gt;
If you look inside that file you will find the row: &amp;quot;Write your code here&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Q: How can I check required variables like &amp;quot;Course Module ID&amp;quot; and &amp;quot;widget ID&amp;quot;? ==&lt;br /&gt;
A: Use&lt;br /&gt;
$id = optional_param(&#039;id&#039;, 0, PARAM_INT); // Course Module ID, or&lt;br /&gt;
$a = optional_param(&#039;a&#039; , 0, PARAM_INT); // widget ID&lt;br /&gt;
An example of use of these two check can be easily found in your moodle/mod/widget/view.php (row 15 to 41)&lt;br /&gt;
If you miss this step, the file can be called directly by writing their address in the web browser and unauthorized user can get them.&lt;br /&gt;
&lt;br /&gt;
== Q: Are some more variables needed to check for security reasons? ==&lt;br /&gt;
A: ???????????&lt;br /&gt;
&lt;br /&gt;
== Q: What is provided &amp;quot;for free&amp;quot; by the Moodle environment, alias, which set of variables are provided as &amp;quot;ready to use&amp;quot; ==&lt;br /&gt;
A: You have availability of all the global Moodle variables (CFG-&amp;gt;xxx), the object $USER (in which it is saved all the information the current user entered in his/her login form)&lt;br /&gt;
More over you have the availability of the $course array and of some information about your specific widget module.&lt;br /&gt;
It follow the description of the variables you are free to use:&lt;br /&gt;
CFG-&amp;gt;&lt;br /&gt;
$USER&lt;br /&gt;
$course-&amp;gt;id&lt;br /&gt;
$cm-&amp;gt;id&lt;br /&gt;
There are a lot more variables that are beyong the scope of this moodle docs page that are, for this reason, going to be neglected.&lt;br /&gt;
Belong to this list of neglected variables, for instance, $THEME, $???&lt;br /&gt;
Some examples:&lt;br /&gt;
if (CFG-&amp;gt;xxx == &#039;&#039;) {&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
== Q: Why is this set of variables so important? ==&lt;br /&gt;
A: At any moment you may need to:&lt;br /&gt;
*reload the widget page&lt;br /&gt;
To call the instance of you module page, you need to call:&lt;br /&gt;
$CFG-&amp;gt;wwwroot.&#039;/mod/newmodule/view.php?id=&#039;.$cm-&amp;gt;id&lt;br /&gt;
$cm stands for course module (Is this true??????????)&lt;br /&gt;
*return to the main course page&lt;br /&gt;
To return back to the course page, you need to call:&lt;br /&gt;
$CFG-&amp;gt;wwwroot.&#039;/course/view.php?id=&#039;.$course-&amp;gt;id&lt;br /&gt;
&lt;br /&gt;
== Q: My module lives in the view.php page only. How can I tell my code I want an output (of something) in a different page and not at the bottom of the view.php page? ==&lt;br /&gt;
A:&lt;br /&gt;
&lt;br /&gt;
== Q: How to put a form into a module. ==&lt;br /&gt;
A:&lt;br /&gt;
&lt;br /&gt;
== Q: How can I distinguish part of code for admins/teachers/ from the code for simple users, alias, how can I take advantages of the new feature offered up to Moodle 1.9 ==&lt;br /&gt;
*groups&lt;br /&gt;
*role&lt;br /&gt;
*capabilities&lt;br /&gt;
A:&lt;br /&gt;
&lt;br /&gt;
== Q: How can I provide the needed code to ==&lt;br /&gt;
*backup my widget module&lt;br /&gt;
*restore my widget module&lt;br /&gt;
A:&lt;br /&gt;
&lt;br /&gt;
== Q: How can I provide the needed code to: ==&lt;br /&gt;
*upgrade the XML tables my module is based on&lt;br /&gt;
A: Use the moodle-&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Q: How can I push students&#039; grades from the module into the Moodle gradebook? ==&lt;br /&gt;
&lt;br /&gt;
A: ???&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=52294</id>
		<title>mod/swf/view</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=mod/swf/view&amp;diff=52294"/>
		<updated>2009-03-09T23:41:49Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: New page: This article is a stub. For more information about the SWF Activity Module, please click [http://code.google.com/p/moodle-swf/ here].&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This article is a stub. For more information about the SWF Activity Module, please click [http://code.google.com/p/moodle-swf/ here].&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=51442</id>
		<title>Development:SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=51442"/>
		<updated>2009-02-23T13:43:07Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* SWF Activity Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
This page relates to the SWF Activity Module which is currently under development.&lt;br /&gt;
&lt;br /&gt;
I&#039;ve moved the project code and documentation to Google Code: [http://code.google.com/p/moodle-swf/ code.google.com/p/moodle-swf]&lt;br /&gt;
&lt;br /&gt;
The most recent downloads and documentation are available there.&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides a comprehensive and flexible method for deploying Flash and Flex Framework learning applications as activities in a Moodle course.&lt;br /&gt;
&lt;br /&gt;
==How does is work?==&lt;br /&gt;
&lt;br /&gt;
===SWFObject===&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module uses [http://code.google.com/p/swfobject/ SWFObject] as the default embed method for Flash and Flex Framework learning applications. The module also incorporates standard XHTML 1.0 strict object and embed code that functions if SWFObject fails for any reason, e.g. If the user has Javascript blocked in his/her browser.&lt;br /&gt;
&lt;br /&gt;
Once installed, select SWF from an &amp;quot;Add an activity&amp;quot; list on a Moodle course page. The standard &amp;quot;Adding a new SWF to topic... &amp;quot; moodleform will appear. Help files are included in the SWF Activity Module in English and provide further details about the parameters. In this form you can set the following parameters:&lt;br /&gt;
&lt;br /&gt;
===Required Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* As with all Moodle activities, name and intro.&lt;br /&gt;
* SWF file&lt;br /&gt;
* Height&lt;br /&gt;
* Width&lt;br /&gt;
* Version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* AMF Interaction (Not yet implemented)&lt;br /&gt;
* XML file URL&lt;br /&gt;
* FlashVars #1&lt;br /&gt;
* FlashVars #2&lt;br /&gt;
* FlashVars #3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* API Key (SWF Activity Module custom parameter)&lt;br /&gt;
* Align&lt;br /&gt;
* Auto Play&lt;br /&gt;
* Loop Playback&lt;br /&gt;
* Menu&lt;br /&gt;
* Quality&lt;br /&gt;
* Scale Mode&lt;br /&gt;
* Stage Align&lt;br /&gt;
* Window Mode&lt;br /&gt;
* Background&lt;br /&gt;
* Use Device Font&lt;br /&gt;
* Seamless Tabbing&lt;br /&gt;
* Allow Full Screen&lt;br /&gt;
* Allow Script Access&lt;br /&gt;
* Allow Networking&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find more details about these parameters in the [http://code.google.com/p/swfobject/wiki/documentation SWFObject Documentation].&lt;br /&gt;
&lt;br /&gt;
==What features does it support?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module automatically provides a deployed SWF learning activity application with the following data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* gateway - URL to gateway script for access to AMFPHP service library&lt;br /&gt;
* course - the current Moodle course that the user is accessing&lt;br /&gt;
* instance - Instance ID of the module&lt;br /&gt;
* swfid - The ID of the SWF learning activity application&lt;br /&gt;
* interaction - The ID of the SWF learning interaction data to consume (AMFPHP)&lt;br /&gt;
* moodledata - The URL to access the current moodledata course directory (file.php)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It also supports a number of features, specific to Flash and Flex applications. They are:&lt;br /&gt;
&lt;br /&gt;
===Flash Remoting (AMF)===&lt;br /&gt;
&lt;br /&gt;
Flash Remoting is a method for Flash or Flex applications to communicate directly with server-side applications written in .NET, Java, PHP, Cold Fusion and Ruby on Rails. There are a number of open-source libraries for handling communication via Flash Remoting: &lt;br /&gt;
&lt;br /&gt;
See [[Development:AMF3]] for details on how to set up AMFPHP in Moodle and more information about Flash Remoting technologies.&lt;br /&gt;
&lt;br /&gt;
===XML Data Loading===&lt;br /&gt;
&lt;br /&gt;
XML is a native data type to ActionScript 3.0 therefore Flash and Flex Framework learning applications use E4X notation to manipulate XML data in a similar way to a multidimensional array. For more details, see [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/ Adobe Actionscript 3.0 Language and Components Reference]. XML is also currently the most commonly used format for providing elearning data for learning interactions. The most commonly used format is [http://en.wikipedia.org/wiki/IMS_Global IMS]&#039;s standard [http://en.wikipedia.org/wiki/QTI QTI] (Question and Test Interoperability specification) but basically any valid XML file with the appropriate data tree structure can be loaded into and consumed by a SWF file.&lt;br /&gt;
&lt;br /&gt;
===FlashVars===&lt;br /&gt;
&lt;br /&gt;
FlashVars is a method for passing string data into a SWF file. It is passed in from the printed HTML page that the SWF file is embedded in. It&#039;s ideally suited to very simple data sets such a vocabulary lists or series of numerical values. For learning activities such as hangman, crosswords, word searches, etc., FlashVars is simple, efficient and easy to use.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s Next?==&lt;br /&gt;
&lt;br /&gt;
===Moodle Grades===&lt;br /&gt;
&lt;br /&gt;
One of the most requested features for Flash and Flex Framework learning applications deployed in Moodle is for them to have the ability to record learners&#039; activities in Moodle&#039;s Gradebook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AMFPHP===&lt;br /&gt;
&lt;br /&gt;
The most powerful and flexible way for Flash and Flex Framework learning applications to interact with Moodle APIs, databases and web services is via Flash Remoting AKA [http://blogs.adobe.com/mikepotter/2006/12/amfphp_adds_amf.html AMF3], a communication protocol which is similar to JSON but much faster. It allows Flash and Flex Framework learning applications to directly call PHP methods and pass a number of different data types back and forth seamlessly.&lt;br /&gt;
&lt;br /&gt;
For more details about using AMFPHP in Moodle, see [[Development:AMF3]]&lt;br /&gt;
&lt;br /&gt;
===Learning Interaction Data DB Structure===&lt;br /&gt;
&lt;br /&gt;
A standardised DB table structure to store learning interaction data with a variety of methods to populate the tables with data, including Moodle forms, dynamic Flash or Flex Framework on-line forms.&lt;br /&gt;
&lt;br /&gt;
Also, standalone Adobe AIR desktop GUI applications, which can store data locally using SQLite, to create and edit learning interactions and then upload them. Using Adobe AIR will also provide convenient backup of interaction data and a means to easily transfer and distribute learning interactions.&lt;br /&gt;
&lt;br /&gt;
====swf_interactions fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* course&lt;br /&gt;
* name&lt;br /&gt;
* intro&lt;br /&gt;
* introformat&lt;br /&gt;
* amftable - Default is swf_interaction_data but this allows for further, more specialised tables to be used&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====swf_interaction_data fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* interaction - ID of interaction (id of swf_interactions)&lt;br /&gt;
* ordernum - Allow sequential ordering of rows&lt;br /&gt;
* amp3 - URL of answer MP3 file&lt;br /&gt;
* qmp3 - URL of quesition MP3 file&lt;br /&gt;
* smp3 - URL of additional MP3 file&lt;br /&gt;
* image - URL of image file&lt;br /&gt;
* video - URL of FLV file&lt;br /&gt;
* ptext - Paragraph text&lt;br /&gt;
* qtext - Question&lt;br /&gt;
* catext - Correct answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* watext - Wrong answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:AMF3]] Flash Remoting for Moodle.&lt;br /&gt;
* [[FLV Player]] Activity Module for deploying video in Moodle as an activity. Leverages the full range of functions of Jeroen Wijering&#039;s JW FLV Player.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website and Moodle]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=51011</id>
		<title>SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=51011"/>
		<updated>2009-02-16T22:21:19Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* See also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a stub. The SWF Activity Module is currently under development. You can download a working but incomplete beta version at: [[Development:SWF]].&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a means of deploying learning applications on the Flash platform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why use the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing the SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unzip and upload===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Admin install===&lt;br /&gt;
&lt;br /&gt;
==Deploying the SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create an instance===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Required parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advanced parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[[FLV Player]] module for deploying audio and video in Moodle. Supports YouTube.com video and media streaming technologies.&lt;br /&gt;
&lt;br /&gt;
[[Development:AMF3]] AMFPHP Flash Remoting in Moodle (communicating with Moodle via Flash).&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=51009</id>
		<title>SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=51009"/>
		<updated>2009-02-16T22:18:10Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* Admin Install */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a stub. The SWF Activity Module is currently under development. You can download a working but incomplete beta version at: [[Development:SWF]].&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a means of deploying learning applications on the Flash platform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why use the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing the SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unzip and upload===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Admin install===&lt;br /&gt;
&lt;br /&gt;
==Deploying the SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create an instance===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Required parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advanced parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[[FLV Player]] module for deploying audio and video in Moodle. Supports YouTube.com video and media streaming technologies.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=51008</id>
		<title>SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SWF&amp;diff=51008"/>
		<updated>2009-02-16T22:17:43Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: New page: This page is a stub. The SWF Activity Module is currently under development. You can download a working but incomplete beta version at: Development:SWF.  ==What is the SWF Activity Mod...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a stub. The SWF Activity Module is currently under development. You can download a working but incomplete beta version at: [[Development:SWF]].&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module is a means of deploying learning applications on the Flash platform.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Why use the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Installing the SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Download===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Unzip and upload===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Admin Install===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Deploying the SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Create an instance===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Required parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Optional parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Advanced parameters===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
[[FLV Player]] module for deploying audio and video in Moodle. Supports YouTube.com video and media streaming technologies.&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:widget.gif&amp;diff=50426</id>
		<title>File:widget.gif</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:widget.gif&amp;diff=50426"/>
		<updated>2009-02-07T23:38:47Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: widget&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;widget&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:NEWMODULE_Tutorial&amp;diff=50425</id>
		<title>Development:NEWMODULE Tutorial</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:NEWMODULE_Tutorial&amp;diff=50425"/>
		<updated>2009-02-07T23:37:36Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* How to Begin the Creation of a New Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Development:NEWMODULE Documentation|NEWMODULE Documentation]] &amp;gt; Tutorial&lt;br /&gt;
----&lt;br /&gt;
{{Template:Work in progress}}&lt;br /&gt;
== How to Begin the Creation of a New Module ==&lt;br /&gt;
&lt;br /&gt;
*choose a name for your module. Take care: no capital letter and no numbers in the name. In this example it will be choosen: &amp;quot;widget&amp;quot;&lt;br /&gt;
*find/replace all the occorrences of newmodule in each file with the name of your own module&lt;br /&gt;
*change the name of the folder containing you new created module to &amp;quot;widget&amp;quot;&lt;br /&gt;
*change the name of the file in widget/lang/en_utf8/newmodule.php to &amp;quot;widget.php&amp;quot;&lt;br /&gt;
*put your just born widget folder in moodle/mod&lt;br /&gt;
*visit &amp;quot;notification&amp;quot; page of moodle-&amp;gt;Site Administration block&lt;br /&gt;
*follow the instruction on the screen&lt;br /&gt;
&lt;br /&gt;
[[Image:widget.gif]]&lt;br /&gt;
&lt;br /&gt;
== Some Basic Regulation for the Beginner PHP Developer ==&lt;br /&gt;
&lt;br /&gt;
You will probably want to use this set of basic commands&lt;br /&gt;
*require&lt;br /&gt;
*require_once&lt;br /&gt;
*include&lt;br /&gt;
*include_once&lt;br /&gt;
&lt;br /&gt;
Take in mind the difference between them.&amp;lt;br /&amp;gt;&lt;br /&gt;
The difference between require and require_once is: ???&amp;lt;br /&amp;gt;&lt;br /&gt;
The difference between include and include_once is: ???&amp;lt;br /&amp;gt;&lt;br /&gt;
Use only xxx to call libraries and use only xxx to include snippets of code written to different files.&amp;lt;br /&amp;gt;&lt;br /&gt;
Remember:&amp;lt;br /&amp;gt;&lt;br /&gt;
*redirect move the execution of the code to the target file and you are allowed to call the target file passing it some parameters.&amp;lt;br /&amp;gt;&lt;br /&gt;
for instance: redirect(&amp;quot;./come_modello/edit.php?id=$cm-&amp;gt;id&amp;quot;);&lt;br /&gt;
*include requires the name of the called file &amp;quot;clean&amp;quot;, without &amp;quot;?id=$cm-&amp;gt;id&amp;quot;, for instance, and the target file is executed as it were written in the place of the calling row.&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
You need these two informations to correctly include library files into target files called through redirect or include.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer]]&lt;br /&gt;
[[Category:Tutorial]]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:flv_player.jpg&amp;diff=50134</id>
		<title>File:flv player.jpg</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:flv_player.jpg&amp;diff=50134"/>
		<updated>2009-02-05T04:00:42Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: FLV Player Activity Module&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;FLV Player Activity Module&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:moodle_form2.png&amp;diff=49907</id>
		<title>File:moodle form2.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:moodle_form2.png&amp;diff=49907"/>
		<updated>2009-02-02T12:10:40Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: Module form screenshot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Module form screenshot&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=49842</id>
		<title>Development:SWF</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Development:SWF&amp;diff=49842"/>
		<updated>2009-02-02T01:10:15Z</updated>

		<summary type="html">&lt;p&gt;Mattbury: /* See Also */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==SWF Activity Module==&lt;br /&gt;
&lt;br /&gt;
This page relates to the SWF Activity Module which is currently under development.&lt;br /&gt;
&lt;br /&gt;
The current Beta version is available here: [http://matbury.com/assets/SWF.zip SWF.zip] Last uploaded 28th January 2009&lt;br /&gt;
&lt;br /&gt;
==What is the SWF Activity Module?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module provides a comprehensive and flexible method for deploying Flash and Flex Framework learning applications as activities in a Moodle course.&lt;br /&gt;
&lt;br /&gt;
==How does is work?==&lt;br /&gt;
&lt;br /&gt;
===SWFObject===&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module uses [http://code.google.com/p/swfobject/ SWFObject] as the default embed method for Flash and Flex Framework learning applications. The module also incorporates standard XHTML 1.0 strict object and embed code that functions if SWFObject fails for any reason, e.g. If the user has Javascript blocked in his/her browser.&lt;br /&gt;
&lt;br /&gt;
Once installed, select SWF from an &amp;quot;Add an activity&amp;quot; list on a Moodle course page. The standard &amp;quot;Adding a new SWF to topic... &amp;quot; moodleform will appear. Help files are included in the SWF Activity Module in English and provide further details about the parameters. In this form you can set the following parameters:&lt;br /&gt;
&lt;br /&gt;
===Required Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* As with all Moodle activities, name and intro.&lt;br /&gt;
* SWF file&lt;br /&gt;
* Height&lt;br /&gt;
* Width&lt;br /&gt;
* Version&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Optional Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* AMF Interaction (Not yet implemented)&lt;br /&gt;
* XML file URL&lt;br /&gt;
* FlashVars #1&lt;br /&gt;
* FlashVars #2&lt;br /&gt;
* FlashVars #3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Advanced Parameters===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* API Key (SWF Activity Module custom parameter)&lt;br /&gt;
* Align&lt;br /&gt;
* Auto Play&lt;br /&gt;
* Loop Playback&lt;br /&gt;
* Menu&lt;br /&gt;
* Quality&lt;br /&gt;
* Scale Mode&lt;br /&gt;
* Stage Align&lt;br /&gt;
* Window Mode&lt;br /&gt;
* Background&lt;br /&gt;
* Use Device Font&lt;br /&gt;
* Seamless Tabbing&lt;br /&gt;
* Allow Full Screen&lt;br /&gt;
* Allow Script Access&lt;br /&gt;
* Allow Networking&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
You can find more details about these parameters in the [http://code.google.com/p/swfobject/wiki/documentation SWFObject Documentation].&lt;br /&gt;
&lt;br /&gt;
==What features does it support?==&lt;br /&gt;
&lt;br /&gt;
The SWF Activity Module automatically provides a deployed SWF learning activity application with the following data:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* gateway - URL to gateway script for access to AMFPHP service library&lt;br /&gt;
* course - the current Moodle course that the user is accessing&lt;br /&gt;
* instance - Instance ID of the module&lt;br /&gt;
* swfid - The ID of the SWF learning activity application&lt;br /&gt;
* interaction - The ID of the SWF learning interaction data to consume (AMFPHP)&lt;br /&gt;
* moodledata - The URL to access the current moodledata course directory (file.php)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
It also supports a number of features, specific to Flash and Flex applications. They are:&lt;br /&gt;
&lt;br /&gt;
===Flash Remoting (AMF)===&lt;br /&gt;
&lt;br /&gt;
Flash Remoting is a method for Flash or Flex applications to communicate directly with server-side applications written in .NET, Java, PHP, Cold Fusion and Ruby on Rails. There are a number of open-source libraries for handling communication via Flash Remoting: &lt;br /&gt;
&lt;br /&gt;
See [[Development:AMF3]] for details on how to set up AMFPHP in Moodle and more information about Flash Remoting technologies.&lt;br /&gt;
&lt;br /&gt;
===XML Data Loading===&lt;br /&gt;
&lt;br /&gt;
XML is a native data type to ActionScript 3.0 therefore Flash and Flex Framework learning applications use E4X notation to manipulate XML data in a similar way to a multidimensional array. For more details, see [http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/ Adobe Actionscript 3.0 Language and Components Reference]. XML is also currently the most commonly used format for providing elearning data for learning interactions. The most commonly used format is [http://en.wikipedia.org/wiki/IMS_Global IMS]&#039;s standard [http://en.wikipedia.org/wiki/QTI QTI] (Question and Test Interoperability specification) but basically any valid XML file with the appropriate data tree structure can be loaded into and consumed by a SWF file.&lt;br /&gt;
&lt;br /&gt;
===FlashVars===&lt;br /&gt;
&lt;br /&gt;
FlashVars is a method for passing string data into a SWF file. It is passed in from the printed HTML page that the SWF file is embedded in. It&#039;s ideally suited to very simple data sets such a vocabulary lists or series of numerical values. For learning activities such as hangman, crosswords, word searches, etc., FlashVars is simple, efficient and easy to use.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s Next?==&lt;br /&gt;
&lt;br /&gt;
===Moodle Grades===&lt;br /&gt;
&lt;br /&gt;
One of the most requested features for Flash and Flex Framework learning applications deployed in Moodle is for them to have the ability to record learners&#039; activities in Moodle&#039;s Gradebook.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===AMFPHP===&lt;br /&gt;
&lt;br /&gt;
The most powerful and flexible way for Flash and Flex Framework learning applications to interact with Moodle APIs, databases and web services is via Flash Remoting AKA [http://blogs.adobe.com/mikepotter/2006/12/amfphp_adds_amf.html AMF3], a communication protocol which is similar to JSON but much faster. It allows Flash and Flex Framework learning applications to directly call PHP methods and pass a number of different data types back and forth seamlessly.&lt;br /&gt;
&lt;br /&gt;
For more details about using AMFPHP in Moodle, see [[Development:AMF3]]&lt;br /&gt;
&lt;br /&gt;
===Learning Interaction Data DB Structure===&lt;br /&gt;
&lt;br /&gt;
A standardised DB table structure to store learning interaction data with a variety of methods to populate the tables with data, including Moodle forms, dynamic Flash or Flex Framework on-line forms.&lt;br /&gt;
&lt;br /&gt;
Also, standalone Adobe AIR desktop GUI applications, which can store data locally using SQLite, to create and edit learning interactions and then upload them. Using Adobe AIR will also provide convenient backup of interaction data and a means to easily transfer and distribute learning interactions.&lt;br /&gt;
&lt;br /&gt;
====swf_interactions fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* course&lt;br /&gt;
* name&lt;br /&gt;
* intro&lt;br /&gt;
* introformat&lt;br /&gt;
* amftable - Default is swf_interaction_data but this allows for further, more specialised tables to be used&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====swf_interaction_data fields====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* id&lt;br /&gt;
* interaction - ID of interaction (id of swf_interactions)&lt;br /&gt;
* ordernum - Allow sequential ordering of rows&lt;br /&gt;
* amp3 - URL of answer MP3 file&lt;br /&gt;
* qmp3 - URL of quesition MP3 file&lt;br /&gt;
* smp3 - URL of additional MP3 file&lt;br /&gt;
* image - URL of image file&lt;br /&gt;
* video - URL of FLV file&lt;br /&gt;
* ptext - Paragraph text&lt;br /&gt;
* qtext - Question&lt;br /&gt;
* catext - Correct answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* watext - Wrong answers (for multiple choice, use pipe separator as delimiter)&lt;br /&gt;
* timecreated&lt;br /&gt;
* timemodified&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
&lt;br /&gt;
* [[Development:AMF3]] Flash Remoting for Moodle.&lt;br /&gt;
* [[FLV Player]] Activity Module for deploying video in Moodle as an activity. Leverages the full range of functions of Jeroen Wijering&#039;s JW FLV Player.&lt;br /&gt;
* [http://matbury.com/ Matt Bury&#039;s website and Moodle]&lt;/div&gt;</summary>
		<author><name>Mattbury</name></author>
	</entry>
</feed>