<?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=Danmarsden</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=Danmarsden"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/Special:Contributions/Danmarsden"/>
	<updated>2026-05-09T05:12:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=139736</id>
		<title>Managing plagiarism prevention</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=139736"/>
		<updated>2021-02-28T20:36:44Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Fully supported plugins */ Urkund renamed to Ouriginal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Enabling plagiarism prevention==&lt;br /&gt;
&lt;br /&gt;
To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; [[Advanced features]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Enableplagiarism.png]]&lt;br /&gt;
&lt;br /&gt;
==Plagiarism prevention plugins==&lt;br /&gt;
&lt;br /&gt;
An administrator then needs to install and configure one or more plagiarism prevention plugins in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Plagiarism prevention &amp;gt; Plagiarism settings&#039;&#039;. Possible plugins include:&lt;br /&gt;
&lt;br /&gt;
=== Fully supported plugins ===&lt;br /&gt;
These are plugins that support plagiarism detection within the Moodle Assignment, Workshop and Forum activities.&lt;br /&gt;
*[[Plagiarism Prevention Compilatio|Compilatio]] - Commercial tool requires paid subscription&lt;br /&gt;
*[[Plagiarism Prevention Turnitin|Turnitin]] - Commercial tool requires paid subscription&lt;br /&gt;
*[[Plagiarism Prevention Ouriginal|Ouriginal]] - Previously called Urkund - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_unicheck Unicheck] - Commercial tool requires paid subscription&lt;br /&gt;
&lt;br /&gt;
=== Partially supported plugins ===&lt;br /&gt;
These are plugins that currently only support the Moodle Assignment activity.&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_copycheck CopyCheck]  - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_plagiarisma PLAGIARISMA]  - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_plagscan PlagScan] - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_vericite Vericite]  - Commercial tool requires paid subscription&lt;br /&gt;
&lt;br /&gt;
== Other tools for managing plagiarism ==&lt;br /&gt;
*[[Acknowledge plagiarism statement access rule]] - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz.&lt;br /&gt;
*[https://moodle.org/plugins/view.php?plugin=quizaccess_safeexambrowser Safe Exam Browser quiz access rule] - Provides Safe Exam Browser 2.0 integration for Moodle.&lt;br /&gt;
*[[Essay (auto-grade) question type]] - An additional essay question type that can use a glossary of common errors to detect plagiarized phrases.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[de:Plagiatsuche-Plugins verwalten]]&lt;br /&gt;
[[es:Gestionando prevención de plagio]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND&amp;diff=139735</id>
		<title>Plagiarism Prevention URKUND</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND&amp;diff=139735"/>
		<updated>2021-02-28T20:35:58Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: Redirected page to Plagiarism Prevention Ouriginal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Plagiarism_Prevention_Ouriginal]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=139734</id>
		<title>Plagiarism Prevention URKUND Settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=139734"/>
		<updated>2021-02-28T20:35:08Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: Redirected page to Plagiarism Prevention Ouriginal Settings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Plagiarism_Prevention_Ouriginal_Settings]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Using_URKUND&amp;diff=139733</id>
		<title>Plagiarism Prevention Using URKUND</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Using_URKUND&amp;diff=139733"/>
		<updated>2021-02-28T20:34:17Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: renamed to Ouriginal&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Plagiarism_Prevention_Using_Ouriginal]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Using_Ouriginal&amp;diff=139732</id>
		<title>Plagiarism Prevention Using Ouriginal</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Using_Ouriginal&amp;diff=139732"/>
		<updated>2021-02-28T20:32:53Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: Created page with &amp;quot;{{Plagiarism prevention}} The Ouriginal Plagiarism Plugin currently supports the assignment, forum and quiz activities.  ==Creating a Moodle Assignment== #Turn editing on insi...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
The Ouriginal Plagiarism Plugin currently supports the assignment, forum and quiz activities.&lt;br /&gt;
&lt;br /&gt;
==Creating a Moodle Assignment==&lt;br /&gt;
#Turn editing on inside your course: https://docs.moodle.org/en/Turn_editing_on&lt;br /&gt;
#in the drop lists provided select either the “upload a single file” or “Advanced uploading of files” assignment types. For more information on the generic settings of this page please see: https://docs.moodle.org/en/Assignment_settings&lt;br /&gt;
# Configure Ouriginal settings for this assignment using the receiver address provided by Ouriginal and setting other options as required and save the assignment.&lt;br /&gt;
&lt;br /&gt;
[[File:UrkundAssignmentSettings.png]]&lt;br /&gt;
&lt;br /&gt;
==Viewing the Ouriginal generated reports==&lt;br /&gt;
After a student has uploaded a file to Moodle, the file is passed to Ouriginal behind the scenes and&lt;br /&gt;
it can take some time before a report is available.&lt;br /&gt;
# click on the link to view submitted assignments [[File:ViewSubmittedAssignments.png]]&lt;br /&gt;
# on the submissions page all the students are listed – beside each file is the response from Ouriginal&lt;br /&gt;
&lt;br /&gt;
[[File:UrkundSubmissions.png]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Ouriginal_Settings&amp;diff=139731</id>
		<title>Plagiarism Prevention Ouriginal Settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Ouriginal_Settings&amp;diff=139731"/>
		<updated>2021-02-28T20:31:00Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: Created page with &amp;quot;{{Plagiarism prevention}} ==Activation of your Ouriginal Account== # obtain a Ouriginal Subscription from [http://ouriginal.com ouriginal.com]  ==Installation of the plugin ==...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Activation of your Ouriginal Account==&lt;br /&gt;
# obtain a Ouriginal Subscription from [http://ouriginal.com ouriginal.com]&lt;br /&gt;
&lt;br /&gt;
==Installation of the plugin ==&lt;br /&gt;
=== Installation using Git ===&lt;br /&gt;
from the root of your install:&lt;br /&gt;
  git clone git://github.com/danmarsden/moodle-plagiarism_urkund.git plagiarism/urkund&lt;br /&gt;
then add plagairism/urkund to your .gitignore&lt;br /&gt;
Visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
=== Installation using a Zip file ===&lt;br /&gt;
Download the zip:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/zipball/master&lt;br /&gt;
or the tar.gz:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/tarball/master&lt;br /&gt;
&lt;br /&gt;
Then Extract these files into a new folder under /plagiarism/urkund and visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
&lt;br /&gt;
=== Installation failed due to unprocessed data ===&lt;br /&gt;
This error may occur when you try to upgrade to a version of the Ouriginal plugin that uses the new Moodle events API - it occurs when your installation contains unprocessed events related to the old API. If we ignored these events and upgraded then it is possible that some previously submitted files will not be sent to Ouriginal for processing. &lt;br /&gt;
&lt;br /&gt;
This is most likely to have occurred if a user has submitted an assignment since the last time your scheduled task process was run.&lt;br /&gt;
&lt;br /&gt;
There was also a recent issue related to group-based assignments that could cause a backlog of events - you may want to apply [https://github.com/danmarsden/moodle-plagiarism_urkund/issues/44 this fix] to your old version of the code to address this. Alternatively use [https://github.com/danmarsden/moodle-plagiarism_urkund/archive/3fe13052eb368faf2bfcb9ccf81aff21263192a7.zip this link] to download an complete version of the Ouriginal plugin that includes the fix related to the backlog of events.&lt;br /&gt;
&lt;br /&gt;
You can see a list of the queued events in your database by running the following sql query(eventdata is [https://github.com/danmarsden/moodle-plagiarism_urkund/blob/310b498a9e6fcf9e757c0f925878121a78381e95/urkund_debug.php#L171 base64 encoded and serialized]):&lt;br /&gt;
    SELECT qh.id, qh.status, qh.timemodified, eq.eventdata, eq.stackdump, eq.userid, eh.eventname,&lt;br /&gt;
                   eh.component, eh.handlerfile, eh.handlerfunction&lt;br /&gt;
                  FROM mdl_events_queue_handlers qh&lt;br /&gt;
                  JOIN mdl_events_queue eq ON eq.id = qh.queuedeventid&lt;br /&gt;
                  JOIN mdl_events_handlers eh ON eh.id = qh.handlerid&lt;br /&gt;
                  WHERE (eh.eventname = &#039;assessable_file_uploaded&#039; or eh.eventname = &#039;assessable_content_uploaded&#039; or eh.eventname = &#039;assessable_submitted&#039;)&lt;br /&gt;
&lt;br /&gt;
To clear these events normally, you should revert the Ouriginal code to using an earlier version, place the site into maintenance mode (to prevent any other submissions from occurring) run the cron process (sometimes multiple calls are required) until the above sql returns no results. If you have an event in the list with a high &amp;quot;qh.status&amp;quot; value it is possible that this event is causing the queue to block. You could relatively safely try deleting any records with a qh.status higher than 5 and then run cron multiple times until the queue is cleared, and then try to upgrade to the new version of the Ouriginal plugin.&lt;br /&gt;
&lt;br /&gt;
If you are not concerned about these events and it does not matter if these submissions do not get posted to Ouriginal for processing you can run the following SQL command to clear the queue and allow the upgrade to continue.&lt;br /&gt;
    DELETE FROM mdl_events_queue_handlers WHERE handlerid IN (SELECT id FROM mdl_events_handlers WHERE component = &#039;plagiarism_urkund&#039;)&lt;br /&gt;
&lt;br /&gt;
==Global Configuration of Ouriginal==&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Advanced Features&#039;&#039; find the setting “Enable plagiarism plugins” - make sure the box is ticked.[[File:Enableplagiarism.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Plugins &amp;gt; Plagiarism Prevention &amp;gt; Ouriginal&#039;&#039;&lt;br /&gt;
## Tick the box &amp;quot;Use Ouriginal&amp;quot;&lt;br /&gt;
## Enter your Ouriginal UIS username &lt;br /&gt;
## Enter your Ouriginal UIS password&lt;br /&gt;
## Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the URKUND system is in use. [[File:Urkundsettings.png]]&lt;br /&gt;
# in the page &#039;&#039;Admin &amp;gt; Modules &amp;gt; Activities &amp;gt; Ouriginal&#039;&#039; click on the tab &amp;quot;Ouriginal Defaults&amp;quot;&lt;br /&gt;
## Configure the default settings to be used inside a Moodle module when creating/editing a new module. [[File:Urkunddefaults.png]]&lt;br /&gt;
&lt;br /&gt;
==Advanced Configuration==&lt;br /&gt;
The ability to enable/disable Ouriginal within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site.&lt;br /&gt;
If you want to force all assignments on your site to use Ouriginal and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_urkund:enable” from your teacher roles.&lt;br /&gt;
&lt;br /&gt;
You can also use this capability to selectively allow certain teachers to use Ouriginal by setting the default above “Enable Ouriginal” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable”  only to the teachers you want to be able to use Ouriginal&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Ouriginal&amp;diff=139730</id>
		<title>Plagiarism Prevention Ouriginal</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_Ouriginal&amp;diff=139730"/>
		<updated>2021-02-28T20:28:54Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: Urkund renamed as Ouriginal.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
Ouriginal (previously called Urkund) is a commercial plagiarism prevention tool  [https://ouriginal.com ouriginal.com] It was developed in Sweden and is now used widely internationally.&lt;br /&gt;
&lt;br /&gt;
*[[Plagiarism Prevention Ouriginal Settings|Ouriginal Installation and Settings]]&lt;br /&gt;
*[[Plagiarism Prevention Using Ouriginal|Using Ouriginal]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[https://ouriginal.com/guides-tutorials/ Ouriginal documentation]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND&amp;diff=139728</id>
		<title>Plagiarism Prevention URKUND</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND&amp;diff=139728"/>
		<updated>2021-02-26T02:15:05Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: remove broken link to old plugin.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
URKUND is a commercial Plagiarism Prevention tool  [http://www.urkund.com www.urkund.com] It was developed in Sweden and is now used widely in Europe and other countries.&lt;br /&gt;
&lt;br /&gt;
*[[Plagiarism Prevention URKUND Settings|URKUND Installation and Settings]]&lt;br /&gt;
*[[Plagiarism Prevention Using URKUND|Using URKUND]]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://www.urkund.com/en/support URKUND documentation]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Blackboard_migration&amp;diff=135612</id>
		<title>Blackboard migration</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Blackboard_migration&amp;diff=135612"/>
		<updated>2019-09-30T01:43:34Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Standard Blackboard */ update link to reteach code&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;&#039;&#039;This page requires updating. Please help if you are familiar with Blackboard to Moodle transition.&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
{{Installing Moodle}}&lt;br /&gt;
==Blackboard systems==&lt;br /&gt;
&lt;br /&gt;
The way Blackboard and WebCT named their products is confusing!&lt;br /&gt;
&lt;br /&gt;
For the purpose of migration to Moodle, Blackboard can be categorised into 3 different systems, each with a different migration procedure.&lt;br /&gt;
* CE 4.0/CE 4.1 (rebranded WebCT)&lt;br /&gt;
* Standard Blackboard (5.5, 6, 7, 8, 9, 9.1)&lt;br /&gt;
* Vista3/Vista4/Vista8 and CE 6/CE 8 (rebranded WebCT)&lt;br /&gt;
&lt;br /&gt;
==CE 4.0/CE 4.1==&lt;br /&gt;
CE 4.0, 4.1(rebranded WebCT) can use the webctimport tool with the &amp;quot;IMS Content Migration Utility&amp;quot; here:&lt;br /&gt;
https://docs.moodle.org/en/WebCT_migration - This tool has not been updated to work with 2.x, you must use it in a 1.9 site, backup the courses and restore the 1.9 Moodle backups on a Moodle 2.1 site (1.9 backups are not supported in 2.x)&lt;br /&gt;
&lt;br /&gt;
==Standard Blackboard==&lt;br /&gt;
* Moodle 1.9 (NOT SUPPORTED IN 2.x YET) has a restore function built into the standard backup/restore process which will restore Blackboard Archive/Export files with mixed results&lt;br /&gt;
* An Alternative solution is to use the LSU converter here: http://moodleconverter.lsu.edu/ (code available here: https://xythos.lsu.edu/users/pcali1/moodlecct/index.html) see discussion here: http://moodle.org/mod/forum/discuss.php?d=147948#p647029 - This produces 1.9 Moodle backups which can be restored in 2.1(2.0 does not support restoring 1.9 backups)&lt;br /&gt;
** Note: Archive/Export files from Windows-based Blackboard servers are not handled correctly by MoodleConverter (see discussion here: http://moodle.org/mod/forum/discuss.php?d=147348) but the archives can be reformatted with minimal effort (more details will soon be posted or linked here, but the essence of the process is to unzip the archive file, rename certain files with Blackboard-encoded file names, and then zip the archive file on a Linux-style [forward-slash] file system)&lt;br /&gt;
* A new LSU Converter is available here: https://xythos.lsu.edu/users/rrusso/cct2.zip see discussion here: http://moodle.org/mod/forum/discuss.php?d=147948#p647029 - This produces 1.9 Moodle backups which can be restored in 2.1(2.0 does not support restoring 1.9 backups)&lt;br /&gt;
* The most up-to-date LSU converter is available at https://github.com/adamzap/reteach. This is a Python package that must be installed on a server or desktop administered by the user. Windows support is not provided.&lt;br /&gt;
&lt;br /&gt;
==Moodle Course Restore==&lt;br /&gt;
&lt;br /&gt;
From Moodle 1.5- 1.9,(Not yet supported in 2.0) Moodle&#039;s &amp;quot;course restore&amp;quot; facility can import courses from Blackboard 5.5 and 6.0 -- you have to use the &#039;export&#039; facility in BB to get the files in the correct format from BB. For question pools, there is a dedicated import facility in the Quiz Module. &lt;br /&gt;
&lt;br /&gt;
There&#039;s a screen-by-screen walk-through by Matt Campbell - he says:&lt;br /&gt;
&lt;br /&gt;
:: We recently migrated about 200 courses from Blackboard 6 to Moodle 1.5+, and I made a [http://instructor.metrotech.org/~mcampbell/Converting%20Blackboard%20to%20Moodle.ppt PowerPoint] for this routine.  I&#039;ve been asked to make a Captivate just on the import routine and will work on that.&lt;br /&gt;
&lt;br /&gt;
For the above to work, you will need to have the XSLT and Sablotron extensions.&lt;br /&gt;
&lt;br /&gt;
Some question types are not supported by Moodle directly -- see below for contrib question types that add that support.&lt;br /&gt;
&lt;br /&gt;
For Moodle 1.4.x [http://moodle.org/mod/forum/discuss.php?d=32049 Blackboard content conversion tool] is available. It was designed to migrate Blackboard 6.1 to Moodle 1.4+ - it may be possible to make it work with other versions.&lt;br /&gt;
&lt;br /&gt;
According to Michael Penney in the forum discussion [http://moodle.org/mod/forum/discuss.php?d=1565 Migrating 10000 students from Blackboard to Moodle?] &lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&amp;quot;It works pretty well with a couple of caveats:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;1) It doesn&#039;t import all Blackboard question types: at CSU H, we wrote an essay question type and a &#039;rendered match&#039; question type and a BB pool importer, we&#039;d like to work with SF and others to get our qtype importer into theirs.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;2) SF&#039;s tool is designed to make you think about your course when you import it and redesign it. That is a nice idea, however it can be pretty time consuming when you have hundreds of documents in a course (&amp;lt;rant&amp;gt;Blackboard&#039;s poor content development tools encourage what I call the &#039;datadump&#039; course format, instead of delivering information in an effective elearning tool like Moodle&#039;s lesson, with BB folks tend to post hundreds of office documents and then massive quizzes about them&amp;lt;/rant&amp;gt;).&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Example Migration of One Test Course===&lt;br /&gt;
&#039;&#039;&#039;by [[User:Jeffrey Silverman|Jeff Silverman]], The Johns Hopkins University&#039;&#039;&#039;&lt;br /&gt;
&#039;&#039;(Note: I am a novice Moodler. This is a description of what I did to move a single exported BlackBoard course to my out-of-the-box Moodle test installation.  I had a number of questions about the process and I hope this example helps answer them for someone else.)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====When====&lt;br /&gt;
This test procedure was performed during the week of 20-Aug-2007&lt;br /&gt;
&lt;br /&gt;
====Versions====&lt;br /&gt;
* Moodle 1.8&lt;br /&gt;
* BlackBoard 7.1 &amp;quot;basic&amp;quot; (unconfirmed)&lt;br /&gt;
&lt;br /&gt;
====Procedure====&lt;br /&gt;
# Export course content from Bb. This step was done by someone else! I do not know how to do this, what options were chosen, etc.  I do know that I got a .zip file that I think is a &amp;quot;Course Archive&amp;quot;.&lt;br /&gt;
# Import course into Moodle. (Needs to be done by a user with the necessary privileges. I have only one user in my Moodle installation, the &amp;quot;Admin&amp;quot; user, and he (she?) is the &amp;quot;Site Administrator&amp;quot;).&lt;br /&gt;
## Create new course&lt;br /&gt;
## Go to &amp;quot;Restore&amp;quot; under the course administrative tools&lt;br /&gt;
## Choose a file to upload; upload the Bb .zip file&lt;br /&gt;
## Choose &amp;quot;Restore&amp;quot; (in the Action column) -- in another page or two you will get to say to restore this as a &amp;quot;New Course&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Questions====&lt;br /&gt;
Some of my questions were as follows:&lt;br /&gt;
&lt;br /&gt;
# Do you have to create a new course?&lt;br /&gt;
## Aparent answer: YES. Personally, I found this very counter-intuitive, as &amp;quot;importing a course&amp;quot; or &amp;quot;restore from backup&amp;quot; or other similar administrative tasks seem to me to be on a level outside a specific course.  For example, having the &amp;quot;Restore&amp;quot; feature only available in the admin tools for a particular course makes it seem like the restoration will only work for that course -- but that is not true.  You can use any course&#039;s &amp;quot;Restore&amp;quot; link in the admin tools and choose &amp;quot;Create a New Course&amp;quot; mid-way through the retoration procedure. But creating a new course from backup that has nothing to do with the course in which one has clicked the &amp;quot;Restore&amp;quot; link is, like I said, counter-intuitive. And, to top it off, I could find no mention of this until I had already clicked on &amp;quot;Restore&amp;quot;. Looks like I need to add some information to the &amp;quot;administrative tools&amp;quot; or &amp;quot;backup/restore&amp;quot; docs, hm? :)&lt;br /&gt;
# Is there a specific &amp;quot;Bb-to-Moodle&amp;quot; conversion tool?&lt;br /&gt;
## Answer: NO. Unlike the WebCT-to-Moodle conversion, [[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=94 which requires a specific add-on]], Bb conversion is now built in.&lt;br /&gt;
# What format does the Bb export have to be in?&lt;br /&gt;
##The Bb &amp;quot;export&amp;quot; should be an &#039;&#039;archive&#039;&#039; of the Bb course, rather than an export; otherwise you can&#039;t restore the course because it it missing a name (and possibly other fields).&lt;br /&gt;
# What versions of Bb and Moodle will this work for?&lt;br /&gt;
# There is a tool floating around called &amp;quot;[[http://moodle.org/mod/forum/discuss.php?d=32049 Blackboard Content Conversion Tool (CCT)]]&amp;quot; that sounds useful for converting Bb to Moodle. Do I need it?&lt;br /&gt;
## Answer: NO.  Actually, I had a bunch of questions about that tool, too, but ultimately I did not need it.&lt;br /&gt;
### Does the CCT run on the server where Bb is running?&lt;br /&gt;
### Does it interact, somehow, directly with the Bb instance?&lt;br /&gt;
### Or does it run on the Moodle server and do the import from Bb into Moodle?&lt;br /&gt;
&lt;br /&gt;
==Vista CE 6/CE 8==&lt;br /&gt;
Vista3/Vista4/Vista8 and CE 6/CE 8 unfortunately encrypt their backup files and there isn&#039;t currently any open source method to convert the full courses yourself.&lt;br /&gt;
* Learning Modules can be exported as IMS packages by going to Learning Modules and choosing Export in Bb Vista. However, Moodle does not recognize these via it&#039;s standard Resource &amp;gt; Add an IMS Package feature. The Bb Vista manifest must first be converted. [http://moodle.org/mod/forum/discuss.php?d=152587 John Tutchins has written an IMS converter] for this purpose in PHP. &lt;br /&gt;
&lt;br /&gt;
* Bb Vista IMS packages might be importable using the [http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=94 WebCT CE 4 Import].&lt;br /&gt;
* Files for each course can be extracted as a zip then placed inside the new course, however they require manual re-linking (Another option would be to move to a digital repository, such as Equella, which can move the files from CE8 to Equella, and add links to the files into the Moodle courses) See videos on moving files here: Part 1 (files): [http://www.youtube.com/watch?v=-XX5beOLKKA]  Part 2: [http://www.youtube.com/watch?v=pWIFPVgKcb4]&lt;br /&gt;
* Quiz questions can be exported as IMS packages by going to Assessments in Bb Vista. They can also be extracted with Respondus and you can create an IMS QTI file to import into Moodle. &lt;br /&gt;
**If you use Respondus version 4 or later (download 30 day free demo here: [http://www.respondus.com/download/respondus.shtml], you can retrieve the quizzes and publish to Moodle directly from Respondus if the Moodle server has the &amp;quot;Respondus Web Service Extension for Moodle&amp;quot; (download here: [http://www.respondus.com/download/moodleserver.shtml]. See a video on how to do this here: [http://www.youtube.com/watch?v=VXG3BeyBQAI&amp;amp;feature=related] and here: [http://mygermanclass.blip.tv/file/3428598/]&lt;br /&gt;
* Newer versions have some useful Database views inside the Blackboard database that allow retrieving of some of the information. It&#039;s really easy to get course names/users/enrolments and grades directly out using the DB Views &amp;quot;RPT_PERSON&amp;quot;, &amp;quot;RPT_MEMBER&amp;quot;,&amp;quot;RPT_LEARNING_CONTEXT&amp;quot; and &amp;quot;RPT_GRADEBOOK&amp;quot;&lt;br /&gt;
doing it manually also gives you the forced opportunity for your lecturers/staff to clean things up a bit and learn a bit more about the differences between Blackboard and Moodle&lt;br /&gt;
*Assignments  can be set up manually, copied/pasted. Migrating assignments video: [http://www.youtube.com/watch?v=LwW778nF4iE&amp;amp;feature=related]&lt;br /&gt;
*Migrating a discussion topic video: [http://www.youtube.com/watch?v=EUlNASbGhww&amp;amp;feature=related]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=19&amp;amp;rid=2531 Final 2009 Report of the University of North Carolina LMS Evaluation Committee] describing the results of an evaluative comparison of Moodle with the University’s current Blackboard system (Vista)&lt;br /&gt;
*[http://oscmoodlereport.wordpress.com The Open Source Collaborative: Moodle Assessment Report] This report is the accumulation of two years of experimentation and evaluation of Moodle by the North Carolina Community Colleges System.&lt;br /&gt;
*[http://www.move2moo.com/Webct-Moodle-Converter.aspx Blackboard CE8/Vista8 to Moodle 2 content conversion tool (Commercial)] This website provides a free preview of a Blackboard course conversion, good to get some ideas on where/how to move content.&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=19&amp;amp;rid=2606 The Whole Kit and Caboodle on Moodle] presentation introducing Moodle and sharing experiences of migrating from Blackboard&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=19&amp;amp;rid=2620 An LMS By Any Other Name...] presentation helping transition Blackboard users to Moodle terms&lt;br /&gt;
*[http://jsweetin.wordpress.com/resources/ Blackboard to Moodle resources] including a Blackboard 7.3 to Moodle 1.8 Cross-Reference&lt;br /&gt;
*[https://docs.moodle.org/en/Import_questions#Blackboard Import_questions: Blackboard format]&lt;br /&gt;
*[http://its2.unc.edu/tl/tli/bFree/ bFree - Blackboard™ Course Content Extractor] - extract selected content from Blackboard Archive/Export files into a local filesystem, allowing them to be cleaned, manipulated, zipped, and uploaded for use in Moodle. This does not create course objects but does transfer the documents and descriptions into a Moodle course&#039;s Files for creating resources. This is useful for those faculty who will be reorganizing their courses or for complex courses which don&#039;t convert well. &lt;br /&gt;
&lt;br /&gt;
===Using Moodle forum discussions:===&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=78521 Migrate a course from Blackboard to Moodle]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=92477 Moodle 1.9 Blackboard Import - contains some troubleshooting]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=48666 If you are having problems with Blackboard to Moodle read this]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=117876 Examview (Blackboard) Quiz Plugin]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=48666 Blackboard archive file name conversion] A thread which contains information on hexified Blackboard archive file names (BB archiving converts filenames to hex when they contain spaces)&lt;br /&gt;
&lt;br /&gt;
[[es:Migración desde Blackboard]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Antivirus_plugins&amp;diff=133420</id>
		<title>Antivirus plugins</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Antivirus_plugins&amp;diff=133420"/>
		<updated>2019-03-27T21:36:11Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: improve title of discussion - it started with a request about nodes, but evolved into just running clamdscan on the webserver instead of clamscan&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Security}}&lt;br /&gt;
An administrator can enable and configure virus scanners for use on uploaded files via &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Antivirus plugins &amp;gt; Manage antivirus plugins&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
ClamAV antivirus is available as a standard plugin. It&#039;s likely that more antivirus plugins will be available in future from the [https://moodle.org/plugins/ Moodle plugins directory].&lt;br /&gt;
&lt;br /&gt;
==ClamAV antivirus==&lt;br /&gt;
&lt;br /&gt;
To make use of ClamAV antivirus, ClamAV® should be installed on your server. See http://www.clamav.net for more information.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* RHEL/CentOS and [https://en.wikipedia.org/wiki/Security-Enhanced_Linux SELinux]: https://moodle.org/mod/forum/discuss.php?d=316066&lt;br /&gt;
* RHEL/CentOS and [https://access.redhat.com/blogs/766093/posts/1976243 PrivateTmp]: https://moodle.org/mod/forum/discuss.php?d=364706&lt;br /&gt;
* Improve performance by using ClamDScan https://moodle.org/mod/forum/discuss.php?d=382731&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
&lt;br /&gt;
[[eu:Antibirusa]]&lt;br /&gt;
[[de:Antivirus]]&lt;br /&gt;
[[es:Plugins antivirus]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Configuration_file&amp;diff=133059</id>
		<title>Configuration file</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Configuration_file&amp;diff=133059"/>
		<updated>2019-01-27T21:50:07Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Changing default theme directory location */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
The name for Moodle&#039;s configuration file is config.php. The file is located in the moodle directory. It is not included in the Moodle download packages and is created by the installation process from the template file config-dist.php (which is included in Moodle packages).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==config-dist.php==&lt;br /&gt;
Although the installation process creates the config.php file for you, there may be times when you want to do this yourself. A sample config file, called config-dist.php, is shipped with Moodle.&lt;br /&gt;
&lt;br /&gt;
To get started simply copy config-dist.php to config.php, then edit config.php with you favourite editor. The file is very well commented. The important options (which you must supply) are all nearer the top. Other less common options are further down.&lt;br /&gt;
&lt;br /&gt;
==Setting $CFG-&amp;gt;wwwroot correctly==&lt;br /&gt;
This setting must be a fixed URL (a string constant) that points to your site. Do not try to set this with any PHP code that can generate a variable URL. This is not supported, can cause strange problems and will stop command line scripts working completely. If your site is accessed from different IP addresses this should be done with a split DNS, see [[Masquerading]]&lt;br /&gt;
&lt;br /&gt;
==Enabling password salting==&lt;br /&gt;
&lt;br /&gt;
See [[Password salting]].&lt;br /&gt;
&lt;br /&gt;
==Including passwords in backups==&lt;br /&gt;
&lt;br /&gt;
Hashed user passwords are no longer saved in backup files containing user data.&lt;br /&gt;
&lt;br /&gt;
If you really need passwords to be saved (in the rare case of restoring a [[Backup of user data|backup with user data]] to a different site), the following line may be added to config.php:&lt;br /&gt;
&lt;br /&gt;
 $CFG-&amp;gt;includeuserpasswordsinbackup = true;&lt;br /&gt;
&lt;br /&gt;
Note regarding restoring Moodle 2.5 backups to sites with old PHP versions:&lt;br /&gt;
&lt;br /&gt;
Because bcrypt is not supported in PHP versions below 5.3.7, course backups made using the $CFG-&amp;gt;includeuserpasswordsinbackup setting on a site using PHP version 5.3.7+ that are subsequently restored to a site with PHP version &amp;lt; 5.3.7 will require a password reset.&lt;br /&gt;
&lt;br /&gt;
==Changing default block layout for new courses==&lt;br /&gt;
&lt;br /&gt;
See [[Block layout]].&lt;br /&gt;
&lt;br /&gt;
==Adding extra theme directory location==&lt;br /&gt;
It is possible to add an extra themes directory stored outside of $CFG-&amp;gt;dirroot. This local directory does not have to be accessible from internet. Themes placed in the directory specified by these variables will then be available for selection using the theme selector.&lt;br /&gt;
&lt;br /&gt;
For example, should you wish to place extra themes in a subdirectory called &#039;my_moodle_themes&#039;, your config.php might look like this:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;wwwroot   = &#039;http://my.moodle.site.edu&#039;;&lt;br /&gt;
$CFG-&amp;gt;dirroot   = &#039;/var/www/my.moodle.site.edu/public_html&#039;;&lt;br /&gt;
$CFG-&amp;gt;themedir  = $CFG-&amp;gt;dirroot . &#039;/my_moodle_themes&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Disabling update notifications==&lt;br /&gt;
&lt;br /&gt;
See [[Notifications]].&lt;br /&gt;
&lt;br /&gt;
==Enabling debugging==&lt;br /&gt;
&lt;br /&gt;
See [[Debugging]].&lt;br /&gt;
&lt;br /&gt;
==Forcing the value of admin settings==&lt;br /&gt;
&lt;br /&gt;
As explained in config-dist.php, it is possible to specify normal admin settings here, the point is that they can not be changed through the standard admin settings pages any more. Just set the value in config.php like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;showuseridentity = &#039;email,idnumber,username&#039;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/discuss.php?d=137889 Moodle Salting] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[de:Konfigurationsdatei]]&lt;br /&gt;
[[es:config.php]]&lt;br /&gt;
[[fr:Fichier de configuration]]&lt;br /&gt;
[[ja:設定ファイル]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=131884</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=131884"/>
		<updated>2018-09-05T23:28:23Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Supported Versions */ fix links to rustici.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [https://rusticisoftware.com Rustici Software] have a [https://moodle.org/plugins/mod_scormcloud Moodle plugin] which connects to their commercial [https://rusticisoftware.com/products/scorm-cloud SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Tin Can is supported with a number of 3rd party plugins such as [https://moodle.org/plugins/logstore_xapi logstore xAPI] (allows reporting logging data to an external LRS) and [https://moodle.org/plugins/mod_tincanlaunch mod_tincanlaunch] (allows launching tin can content packages within Moodle.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
See [[Using slash arguments]] for more details.&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; (disabling &amp;quot;review mode&amp;quot;)- this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt (in review mode) and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behaviour with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
This can also be controlled in Moodle using the setting &amp;quot;Mastery score overrides status&amp;quot; If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file or by adjusting the Moodle setting &amp;quot;Mastery score overrides status&amp;quot;. You may also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
The Rustici SCORM Cloud default operating behaviour for masteryscore is different from Moodle&#039;s default operating behaviour - you can see a little bit of the history around the way Rustici handle this here: http://scorm.com/blog/2010/09/anatomy-of-scorm-minutiae-mistake/&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
===Problems with responsiveness===&lt;br /&gt;
&lt;br /&gt;
Sometimes SCORMs fail on responsiveness or the ability to scroll on mobile devices&lt;br /&gt;
&lt;br /&gt;
*Moodle uses iFrames for deploying SCORM.  https://community.adaptlearning.org/mod/forum/discuss.php?d=180#p863  &lt;br /&gt;
*There can be some problems with this as they are not responsive in iOS https://community.adaptlearning.org/mod/forum/discuss.php?d=1446#p6687&lt;br /&gt;
*There are some potential work arounds.  &lt;br /&gt;
#Totara has a new window.  #https://community.adaptlearning.org/mod/forum/discuss.php?d=851#p3968&lt;br /&gt;
#This comment https://community.adaptlearning.org/mod/forum/discuss.php?d=787#p3661&lt;br /&gt;
#Solutions for Adapt: https://github.com/adaptlearning/adapt_framework/issues/210&lt;br /&gt;
*The tracker: &lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-47500 problems with pages.&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-46563&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-50401&lt;br /&gt;
*Why iFrames fail with iOS, one person&#039;s view: https://community.adaptlearning.org/mod/forum/discuss.php?d=926#p4714&lt;br /&gt;
&lt;br /&gt;
This seems to be a problem that lies between the browsers (eg faults in iOS) the creation of the SCORM package and the LMS (in this case the iFrames in Moodle).&lt;br /&gt;
&lt;br /&gt;
One quite comprehensive idea for a work around is here: https://community.adaptlearning.org/mod/forum/discuss.php?d=180 but there is really no evidence at the moment of a nicer solution.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=276324 Identifiers to change with updated SCORM module]&lt;br /&gt;
&lt;br /&gt;
Forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
&lt;br /&gt;
==Any further questions?==&lt;br /&gt;
&lt;br /&gt;
Please post in the [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum] on moodle.org.&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Universal_Office_Converter_(unoconv)&amp;diff=130105</id>
		<title>Universal Office Converter (unoconv)</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Universal_Office_Converter_(unoconv)&amp;diff=130105"/>
		<updated>2018-02-11T05:04:06Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Installing unoconv on Windows */ correct ghostscript version and ad details not to use non CLI versions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Document converters}}&lt;br /&gt;
==What is unoconv?==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;unoconv&amp;quot; is a command line program that is used to convert between different office document file formats. It uses an instance of [http://libreoffice.org LibreOffice] to do the conversion and is used by the [[Assignment activity]] to convert documents to pdf so that they can be annotated. If unoconv is not installed - the only impact is that the assignment activities will only allow annotations when students upload a pdf document. &lt;br /&gt;
&lt;br /&gt;
The steps required to install unoconv are different depending on the operating system that you have installed Moodle on. &lt;br /&gt;
&lt;br /&gt;
== Installing unoconv on Linux ==&lt;br /&gt;
The required version of unoconv is at least 0.7. Depending on your flavour of linux, this may be available in your package manager and you can install it directly with:&lt;br /&gt;
&lt;br /&gt;
===Ubuntu 16.04 LTS===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get install unoconv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If your package manager contains an older version of the package, you will have to find a newer version and install it manually ([https://packages.debian.org/stretch/unoconv Debian Testing]). Unoconv itself is just a python script, so it has few dependencies.&lt;br /&gt;
&lt;br /&gt;
Potential problems:&lt;br /&gt;
* On some systems the apache user home directory is set to a non existent folder. This can cause unoconv to fail. There are 2 solutions to this - one is to make a (writable) home directory for the apache user (like /home/www-data). The other is to run a unoconv listener (described below) as another user other than the apache user (someone with a valid, writable home directory).&lt;br /&gt;
* If you are still running 14.04LTS then unoconv won&#039;t work as shipped. This might not be the most efficient route but it worked by first installing unoconv (version 0.6) from the package manager as above. You will then need to grab unoconv 0.7 from Github (https://github.com/dagwieers/unoconv), then upgrade to the latest libreoffice using the PPA (https://launchpad.net/~libreoffice/+archive/ubuntu/ppa). Point moodle at the Github version of unoconv. You need to modify the Python unoconv file by changing &#039;python&#039; in the first line to &#039;python3&#039;. You also need to change the permissions on the directory /var/www so that the user www-data can write to it (www-data needs to write to its home directory which it cannot do by default).&lt;br /&gt;
On Debian Stable, the cleanest method to install [https://packages.debian.org/jessie-backports/unoconv unoconv] is using Jessie-backports. First, enable backports repo line in /etc/apt/sources.list:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#### Jessie-backports  ####&lt;br /&gt;
deb http://ftp.debian.org/debian jessie-backports main&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then, update and install unoconv from jessie-backports:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
apt-get update&lt;br /&gt;
apt-get install -t jessie-backports unoconv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The package will bring all necessary dependencies for you.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Ubuntu 14.04 LTS===&lt;br /&gt;
&lt;br /&gt;
1) Navigate to opt directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2) Download unoconv&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo wget https://raw.githubusercontent.com/dagwieers/unoconv/master/unoconv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3) Modify the Python unoconv file by changing &#039;python&#039; in the first line to &#039;python3&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo nano /opt/unoconv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
eg. &amp;lt;pre&amp;gt;#!/usr/bin/env python3&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4) Make unoconv executable&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chmod ugo+x /opt/unoconv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5) Add LibreOffice PPA to your system and install the latest version&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo add-apt-repository ppa:libreoffice/ppa&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
sudo apt-get install libreoffice&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
6) Change permissions so apache can write to its home directory&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown www-data /var/www&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
7) From your browser navigate to&lt;br /&gt;
&#039;&#039;Site administration &amp;gt; Server &amp;gt; System paths&#039;&#039; and add the path to unoconv&amp;lt;br&amp;gt;&lt;br /&gt;
/opt/unoconv&lt;br /&gt;
*Note: if you would like to preserve the default path add a symbolic link to /usr/bin: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo ln -s /opt/unoconv /usr/bin/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
8) Navigate to &lt;br /&gt;
&#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Activity modules &amp;gt; Assignment &amp;gt; Feedback plugins &amp;gt; Annotate PDF &amp;gt; Test unoconv path&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
You should see: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;quot;The unoconv path appears to be properly configured.&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
*Download the converted pdf test file. (if the PDF fails to load ensure that www-data can write to its home directory: /var/www)&lt;br /&gt;
&lt;br /&gt;
===CentOS / RedHat===&lt;br /&gt;
Just before you start, you might like to consider installing the latest [http://www.tecmint.com/install-libreoffice-on-rhel-centos-fedora-debian-ubuntu-linux-mint/ LibreOffice 5.2] directly from RPM packages, that are not part of the distribution you are using.&lt;br /&gt;
As of nov-2016, CentOS and RedHat 7.2 comes with OpenOffice 4.3 . so if you are not interested in using this version and would like to install latest 5.2 independent LibreOffice 5.2 , please remove any openoffice packages you might have on your OS by issuing:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum remove openoffice* libreoffice*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then follow the install instructions [http://www.tecmint.com/install-libreoffice-on-rhel-centos-fedora-debian-ubuntu-linux-mint/ LibreOffice 5.2]. It is recommended to chose your localized libreoffice version for better document conversions. and also please skip the following &amp;quot;yum install openoffice* ...&amp;quot; command.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
yum install openoffice* openoffice-pyuno&lt;br /&gt;
git clone https://github.com/dagwieers/unoconv.git&lt;br /&gt;
# copy &lt;br /&gt;
cp unoconv/unoconv /usr/bin&lt;br /&gt;
# or link unoconv to /usr/bin&lt;br /&gt;
ln -s unoconv/unoconv /usr/bin/unoconv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
 Note: depends on what version you are installing, openoffice or libreoffice, make sure you installed the *-pyuno package. (the headless package is already compiled into the core)&lt;br /&gt;
&lt;br /&gt;
Make sure it is properly configured:&lt;br /&gt;
http://your-moodle/admin/search.php?query=unoconv&lt;br /&gt;
&lt;br /&gt;
Production servers should consider running unoconv in listener mode, see [[Installing_unoconv#Run_a_unoconv_listener]] or follow directions bellow&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vi /etc/systemd/system/unoconv.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then copy and paste the following configuration into it:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Unoconv listener for document conversions&lt;br /&gt;
Documentation=https://github.com/dagwieers/unoconv&lt;br /&gt;
After=network.target remote-fs.target nss-lookup.target&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=simple&lt;br /&gt;
Environment=&amp;quot;UNO_PATH=/usr/lib64/libreoffice/program&amp;quot;&lt;br /&gt;
ExecStart=/usr/bin/unoconv --listener&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-user.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
And then enable and start the above service&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
systemctl enable unoconv.service&lt;br /&gt;
systemctl start unoconv.service&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
If your selinux is enable yous should set &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#setsebool -P httpd_execmem on&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
== Installing unoconv on OS X ==&lt;br /&gt;
Download and install LibreOffice for Mac. Unfortunately - newer versions of LibreOffice are not currently compatible with unoconv for mac and you will have to install LibreOffice 4.2 (Direct download link - https://downloadarchive.documentfoundation.org/libreoffice/old/4.2.5.2/mac/x86_64/LibreOffice_4.2.5.2_MacOS_x86-64.dmg).&lt;br /&gt;
&lt;br /&gt;
Get the latest version of the unoconv python script. One way to do this is with http://brew.sh/ brew.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
brew install unoconv&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you haven&#039;t done it already - install ghostscript. One way to install ghostscript is also with http://brew.sh/ brew&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
brew install ghostscript&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set the paths to unoconv and ghostscript in Moodle (&#039;&#039;Site administration &amp;gt; Server &amp;gt; System paths&#039;&#039;). If you used brew, they will both be installed to /usr/local/bin.&lt;br /&gt;
&lt;br /&gt;
LibreOffice needs write access to the current users home directory to create some temporary files. When unoconv is run as the webserver user (_www) it does not normally have this permission.&lt;br /&gt;
&lt;br /&gt;
There are some ways to get around this - one way is just to give the &amp;quot;_www&amp;quot; user write access to /Library/WebServer. &lt;br /&gt;
&lt;br /&gt;
Another solution is to convince LibreOffice that this users home directory is somewhere else. This can be done by inserting this code into the top of the unoconv python script.&lt;br /&gt;
Code to insert:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Set home to a writable folder. &lt;br /&gt;
os.environ[&#039;HOME&#039;] = &#039;/tmp/&#039;                                                                                                        &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This needs to be inserted at line 36 immediately after the line &amp;quot;exitcode = 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Installing unoconv on Windows ==&lt;br /&gt;
Download and install LibreOffice for windows.&lt;br /&gt;
&lt;br /&gt;
Download the latest version of the unoconv script from https://github.com/dagwieers/unoconv/releases (download the zip version). &lt;br /&gt;
&lt;br /&gt;
From the downloaded zip file - extract the one file &amp;quot;unoconv-0.7\unoconv&amp;quot; (no file extension). This is the unoconv script - none of the other files in the package are required. &lt;br /&gt;
&lt;br /&gt;
Rename the downloaded script to C:\unoconv\unoconv.py&lt;br /&gt;
&lt;br /&gt;
Create a batch file C:\unoconv\unoconv.bat with these contents:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
@&amp;quot;C:\Program Files\LibreOffice 5\program\python.exe&amp;quot; c:\unoconv\unoconv.py %*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Set paths in Moodle. &lt;br /&gt;
&lt;br /&gt;
Login as admin and go to &#039;&#039;Site administration &amp;gt; Server &amp;gt; System paths&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Set pathtogs setting to your ghostscript installation binary, (C:\gs\bin\gswin32c.exe)&lt;br /&gt;
(Do not use gswin32.exe or gswin64.exe, these are not command line programs - use gswin32c.exe or gswin64c.exe)&lt;br /&gt;
&lt;br /&gt;
Set pathtounoconv to the batch file created above (C:\unoconv\unoconv.bat)&lt;br /&gt;
&lt;br /&gt;
Test ghostscript and unoconv are working correctly in the admin test pages &amp;quot;Site administration &amp;gt; Plugins &amp;gt; Activity modules &amp;gt; Assignment &amp;gt; Feedback plugins &amp;gt; Annotate PDF&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Run a unoconv listener ==&lt;br /&gt;
Unoconv utilises a client/server process when converting documents. By default, when there is no running server process - each time unoconv runs it will start a server process, send its request and shut down the server process when the request is complete. The drawback of this mode is that if 2 requests are submitted simultaneously - this can cause the first request to shutdown the server process when the second request is still in progress - and the second conversion request fails. A more robust way to configure unoconv is to start a server process at boot time, and/or run a script to monitor it and restart it if it crashes.&lt;br /&gt;
&lt;br /&gt;
To start a unoconv listener at boot time - you need a start up script. Different operating systems and Linux distributions use different startup scripts - but here are some examples of startup scripts for different systems.&lt;br /&gt;
&lt;br /&gt;
[[mod/assign/feedback/editpdf/testunoconv/upstart | Upstart script for Ubuntu based systems]]&lt;br /&gt;
&lt;br /&gt;
[[mod/assign/feedback/editpdf/testunoconv/launchd | Launchd script for OS X]]&lt;br /&gt;
&lt;br /&gt;
[[mod/assign/feedback/editpdf/testunoconv/initd | Init script for Debian]]&lt;br /&gt;
&lt;br /&gt;
[[mod/assign/feedback/editpdf/testunoconv/initdcentos6 | Init script for CentOS/RedHat 6.x]]&lt;br /&gt;
&lt;br /&gt;
[[mod/assign/feedback/editpdf/testunoconv/systemd | SystemD service script for CentOS/RedHat 7.x]]&lt;br /&gt;
&lt;br /&gt;
== Offload processing to a different server ==&lt;br /&gt;
Processing office documents can put increased load on your webserver, which may impact on the responsiveness of your site. If you are installing unoconv on a large site you may want to consider running unoconv on a server that is not also serving web requests.&lt;br /&gt;
&lt;br /&gt;
How to do this:&lt;br /&gt;
&lt;br /&gt;
Install unoconv on each webservers and the remote server following the installation instructions above. &lt;br /&gt;
&lt;br /&gt;
Make sure unoconv is started at boot time on the remote server with the &amp;quot;--listener&amp;quot; argument and is monitored and restarted if it exits (see Debian init script for an example of how to do this). &lt;br /&gt;
&lt;br /&gt;
Open the firewall port 2002 between the moodle webservers and the machine running unoconv.&lt;br /&gt;
&lt;br /&gt;
Share the moodle data root between the webservers and the machine running unoconv. This folder must be mounted at the same path on all servers. &lt;br /&gt;
&lt;br /&gt;
Install a wrapper for unoconv on the webservers that forwards the requests to the remote server. Example:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
# Wrapper script for unoconv to forward processing.&lt;br /&gt;
# Install to /usr/bin/unoconv-remote with 755 permissions&lt;br /&gt;
/usr/bin/unoconv --server=&amp;lt;ip of remote server&amp;gt; &amp;quot;$@&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Configure the path to unoconv in the Moodle admin settings to point to this wrapper script.&lt;br /&gt;
&lt;br /&gt;
==Additional resources==&lt;br /&gt;
&lt;br /&gt;
[https://github.com/dagwieers/unoconv GitHub dagwieers/unoconv] has additional information on installation of unoconv and troubleshooting tips.&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
* [http://webnetkit.com/soffice-bin-using-100-cpu-moodle/ soffice.bin using 100% of CPU MOODLE]&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=335310 Is the unoconv installation a security risk?] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[Category:Assignment]]&lt;br /&gt;
&lt;br /&gt;
[[es:Universal Office Converter (unoconv)]]&lt;br /&gt;
[[de:Universal Office Konverter]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=report/security/report_security_check_preventexecpath&amp;diff=128797</id>
		<title>report/security/report security check preventexecpath</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=report/security/report_security_check_preventexecpath&amp;diff=128797"/>
		<updated>2017-09-11T06:54:10Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some administration options allow setting the path to executable files on the web server such as du, aspell, ghostscript and others. This can potentially cause a security risk. You can prevent administrators from changing these paths by adding the following setting to your config.php file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;preventexecpath = true;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should also explicitly set the relevant paths in your config.php file such as:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;pathtodu = &#039;PATH&#039;;&lt;br /&gt;
$CFG-&amp;gt;pathtounoconv = &#039;PATH&#039;; &lt;br /&gt;
$CFG-&amp;gt;aspellpath = &#039;PATH&#039;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=report/security/report_security_check_preventexecpath&amp;diff=128796</id>
		<title>report/security/report security check preventexecpath</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=report/security/report_security_check_preventexecpath&amp;diff=128796"/>
		<updated>2017-09-11T06:53:27Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle administrators are able to define the path to a number of executable files hosted&lt;br /&gt;
Some administration options allow setting the path to executable files on the web server such as du, aspell, ghostscript and others. This can potentially cause a security risk. You can prevent adminstrators from changing these paths by adding the following setting to your config.php file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;preventexecpath = true;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
You should also explicitly set the relevant paths in your config.php file such as:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$CFG-&amp;gt;pathtodu = &#039;PATH&#039;;&lt;br /&gt;
$CFG-&amp;gt;pathtounoconv = &#039;PATH&#039;; &lt;br /&gt;
$CFG-&amp;gt;aspellpath = &#039;PATH&#039;;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=report/security/report_security_check_preventexecpath&amp;diff=128795</id>
		<title>report/security/report security check preventexecpath</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=report/security/report_security_check_preventexecpath&amp;diff=128795"/>
		<updated>2017-09-11T06:50:54Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: add some info about preventexecpath&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Moodle administrators are able to define the path to a number of executable files hosted&lt;br /&gt;
Some administration options allow setting the path to executable files on the web server such as du, aspell, ghostscript and others. This can potentially cause a security risk. You can prevent adminstrators from changing these paths by adding the following setting to your config.php file:&lt;br /&gt;
&lt;br /&gt;
$CFG-&amp;gt;preventexecpath = true;&lt;br /&gt;
&lt;br /&gt;
You should also explicitly set the relevant paths in your config.php file such as:&lt;br /&gt;
$CFG-&amp;gt;pathtodu&lt;br /&gt;
$CFG-&amp;gt;pathtounoconv&lt;br /&gt;
$CFG-&amp;gt;aspellpath&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Face-to-face_module&amp;diff=128073</id>
		<title>Face-to-face module</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Face-to-face_module&amp;diff=128073"/>
		<updated>2017-05-31T02:45:28Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: update tracker link, maintainer.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Facetoface}}&lt;br /&gt;
{{Infobox plugin&lt;br /&gt;
|type = Activity module&lt;br /&gt;
|entry = https://moodle.org/plugins/pluginversions.php?plugin=mod_facetoface&lt;br /&gt;
|tracker = https://github.com/catalyst/moodle-mod_facetoface/issues&lt;br /&gt;
|discussion = http://moodle.org/mod/forum/view.php?id=7136&lt;br /&gt;
|maintainer = Catalyst IT&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Face-to-face activities are used to keep track of in-person trainings which require advance booking.&lt;br /&gt;
&lt;br /&gt;
Each activity is offered in one or more identical sessions. These sessions can be given over multiple days.&lt;br /&gt;
&lt;br /&gt;
Reminder messages are sent to users and their managers a few days before the session is scheduled to start. Confirmation messages are sent when users sign-up for a session or cancel.&lt;br /&gt;
[[Image:Face2Face example activity.png|center|frame|Example of a Face-to-Face activity, a hands on lab]]&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [http://tracker.moodle.org/browse/CONTRIB-334 Patch to enable linking] to [[Certificate module|Certificate]] contributed module.&lt;br /&gt;
&lt;br /&gt;
[[es:Módulo Cara-a-cara]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=126580</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=126580"/>
		<updated>2017-01-08T22:48:02Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Handling of Multiple Attempts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [http://www.scorm.com Rustici Software] have a [https://moodle.org/plugins/mod_scormcloud Moodle plugin] which connects to their commercial [http://www.scorm.com/scorm-solved/scorm-cloud/ SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Tin Can is supported with a number of 3rd party plugins such as [https://moodle.org/plugins/logstore_xapi logstore xAPI] (allows reporting logging data to an external LRS) and [https://moodle.org/plugins/mod_tincanlaunch mod_tincanlaunch] (allows launching tin can content packages within Moodle.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
See [[Using slash arguments]] for more details.&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; (disabling &amp;quot;review mode&amp;quot;)- this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt (in review mode) and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behaviour with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
This can also be controlled in Moodle using the setting &amp;quot;Mastery score overrides status&amp;quot; If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file or by adjusting the Moodle setting &amp;quot;Mastery score overrides status&amp;quot;. You may also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
The Rustici SCORM Cloud default operating behaviour for masteryscore is different from Moodle&#039;s default operating behaviour - you can see a little bit of the history around the way Rustici handle this here: http://scorm.com/blog/2010/09/anatomy-of-scorm-minutiae-mistake/&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
===Problems with responsiveness===&lt;br /&gt;
&lt;br /&gt;
Sometimes SCORMs fail on responsiveness or the ability to scroll on mobile devices&lt;br /&gt;
&lt;br /&gt;
*Moodle uses iFrames for deploying SCORM.  https://community.adaptlearning.org/mod/forum/discuss.php?d=180#p863  &lt;br /&gt;
*There can be some problems with this as they are not responsive in iOS https://community.adaptlearning.org/mod/forum/discuss.php?d=1446#p6687&lt;br /&gt;
*There are some potential work arounds.  &lt;br /&gt;
#Totara has a new window.  #https://community.adaptlearning.org/mod/forum/discuss.php?d=851#p3968&lt;br /&gt;
#This comment https://community.adaptlearning.org/mod/forum/discuss.php?d=787#p3661&lt;br /&gt;
#Solutions for Adapt: https://github.com/adaptlearning/adapt_framework/issues/210&lt;br /&gt;
*The tracker: &lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-47500 problems with pages.&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-46563&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-50401&lt;br /&gt;
*Why iFrames fail with iOS, one person&#039;s view: https://community.adaptlearning.org/mod/forum/discuss.php?d=926#p4714&lt;br /&gt;
&lt;br /&gt;
This seems to be a problem that lies between the browsers (eg faults in iOS) the creation of the SCORM package and the LMS (in this case the iFrames in Moodle).&lt;br /&gt;
&lt;br /&gt;
One quite comprehensive idea for a work around is here: https://community.adaptlearning.org/mod/forum/discuss.php?d=180 but there is really no evidence at the moment of a nicer solution.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum]&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=276324 Identifiers to change with updated SCORM module]&lt;br /&gt;
* [https://docs.moodle.org/dev/SCORM_schema Internal SCORM Schema]&lt;br /&gt;
* The official standard: [http://www.adlnet.gov/Technologies/scorm/default.aspx Advanced Distributed Learning - SCORM]&lt;br /&gt;
&lt;br /&gt;
Online resources&lt;br /&gt;
* [http://www.scormcourse.com/ SCORMCourse.com] serves the SCORM and ADL community as an educational resource for SCORM technology.&lt;br /&gt;
* [http://www.eduworks.com/index.php/Publications/Learning-Object-Tutorial.html Learning Object Tutorial]&lt;br /&gt;
* [http://elearningweekly.wordpress.com/2007/04/12/tutorial-build-scorm-compatible-lesson-templates-for-your-lms/ Tutorial: Build SCORM-Compatible Lesson Templates for Your LMS]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft word / or any other easy (maybe free) scorm authoring tool?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=95946 Is SCORM worth it?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=126579</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=126579"/>
		<updated>2017-01-08T22:46:05Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Handling of Multiple Attempts */ add comment about force new attempt disabling review mode.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [http://www.scorm.com Rustici Software] have a [https://moodle.org/plugins/mod_scormcloud Moodle plugin] which connects to their commercial [http://www.scorm.com/scorm-solved/scorm-cloud/ SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Tin Can is supported with a number of 3rd party plugins such as [https://moodle.org/plugins/logstore_xapi logstore xAPI] (allows reporting logging data to an external LRS) and [https://moodle.org/plugins/mod_tincanlaunch mod_tincanlaunch] (allows launching tin can content packages within Moodle.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
See [[Using slash arguments]] for more details.&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; (disabling &amp;quot;review mode&amp;quot;)- this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behaviour with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
This can also be controlled in Moodle using the setting &amp;quot;Mastery score overrides status&amp;quot; If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file or by adjusting the Moodle setting &amp;quot;Mastery score overrides status&amp;quot;. You may also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
The Rustici SCORM Cloud default operating behaviour for masteryscore is different from Moodle&#039;s default operating behaviour - you can see a little bit of the history around the way Rustici handle this here: http://scorm.com/blog/2010/09/anatomy-of-scorm-minutiae-mistake/&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
===Problems with responsiveness===&lt;br /&gt;
&lt;br /&gt;
Sometimes SCORMs fail on responsiveness or the ability to scroll on mobile devices&lt;br /&gt;
&lt;br /&gt;
*Moodle uses iFrames for deploying SCORM.  https://community.adaptlearning.org/mod/forum/discuss.php?d=180#p863  &lt;br /&gt;
*There can be some problems with this as they are not responsive in iOS https://community.adaptlearning.org/mod/forum/discuss.php?d=1446#p6687&lt;br /&gt;
*There are some potential work arounds.  &lt;br /&gt;
#Totara has a new window.  #https://community.adaptlearning.org/mod/forum/discuss.php?d=851#p3968&lt;br /&gt;
#This comment https://community.adaptlearning.org/mod/forum/discuss.php?d=787#p3661&lt;br /&gt;
#Solutions for Adapt: https://github.com/adaptlearning/adapt_framework/issues/210&lt;br /&gt;
*The tracker: &lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-47500 problems with pages.&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-46563&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-50401&lt;br /&gt;
*Why iFrames fail with iOS, one person&#039;s view: https://community.adaptlearning.org/mod/forum/discuss.php?d=926#p4714&lt;br /&gt;
&lt;br /&gt;
This seems to be a problem that lies between the browsers (eg faults in iOS) the creation of the SCORM package and the LMS (in this case the iFrames in Moodle).&lt;br /&gt;
&lt;br /&gt;
One quite comprehensive idea for a work around is here: https://community.adaptlearning.org/mod/forum/discuss.php?d=180 but there is really no evidence at the moment of a nicer solution.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum]&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=276324 Identifiers to change with updated SCORM module]&lt;br /&gt;
* [https://docs.moodle.org/dev/SCORM_schema Internal SCORM Schema]&lt;br /&gt;
* The official standard: [http://www.adlnet.gov/Technologies/scorm/default.aspx Advanced Distributed Learning - SCORM]&lt;br /&gt;
&lt;br /&gt;
Online resources&lt;br /&gt;
* [http://www.scormcourse.com/ SCORMCourse.com] serves the SCORM and ADL community as an educational resource for SCORM technology.&lt;br /&gt;
* [http://www.eduworks.com/index.php/Publications/Learning-Object-Tutorial.html Learning Object Tutorial]&lt;br /&gt;
* [http://elearningweekly.wordpress.com/2007/04/12/tutorial-build-scorm-compatible-lesson-templates-for-your-lms/ Tutorial: Build SCORM-Compatible Lesson Templates for Your LMS]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft word / or any other easy (maybe free) scorm authoring tool?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=95946 Is SCORM worth it?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=125876</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=125876"/>
		<updated>2016-11-07T20:11:47Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Supported Versions */ improve details around tin can support.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [http://www.scorm.com Rustici Software] have a [https://moodle.org/plugins/mod_scormcloud Moodle plugin] which connects to their commercial [http://www.scorm.com/scorm-solved/scorm-cloud/ SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Tin Can is supported with a number of 3rd party plugins such as [https://moodle.org/plugins/logstore_xapi logstore xAPI] (allows reporting logging data to an external LRS) and [https://moodle.org/plugins/mod_tincanlaunch mod_tincanlaunch] (allows launching tin can content packages within Moodle.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
See [[Using slash arguments]] for more details.&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; - this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behaviour with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
This can also be controlled in Moodle using the setting &amp;quot;Mastery score overrides status&amp;quot; If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file or by adjusting the Moodle setting &amp;quot;Mastery score overrides status&amp;quot;. You may also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
The Rustici SCORM Cloud default operating behaviour for masteryscore is different from Moodle&#039;s default operating behaviour - you can see a little bit of the history around the way Rustici handle this here: http://scorm.com/blog/2010/09/anatomy-of-scorm-minutiae-mistake/&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
===Problems with responsiveness===&lt;br /&gt;
&lt;br /&gt;
Sometimes SCORMs fail on responsiveness or the ability to scroll on mobile devices&lt;br /&gt;
&lt;br /&gt;
*Moodle uses iFrames for deploying SCORM.  https://community.adaptlearning.org/mod/forum/discuss.php?d=180#p863  &lt;br /&gt;
*There can be some problems with this as they are not responsive in iOS https://community.adaptlearning.org/mod/forum/discuss.php?d=1446#p6687&lt;br /&gt;
*There are some potential work arounds.  &lt;br /&gt;
#Totara has a new window.  #https://community.adaptlearning.org/mod/forum/discuss.php?d=851#p3968&lt;br /&gt;
#This comment https://community.adaptlearning.org/mod/forum/discuss.php?d=787#p3661&lt;br /&gt;
#Solutions for Adapt: https://github.com/adaptlearning/adapt_framework/issues/210&lt;br /&gt;
*The tracker: &lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-47500 problems with pages.&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-46563&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-50401&lt;br /&gt;
*Why iFrames fail with iOS, one person&#039;s view: https://community.adaptlearning.org/mod/forum/discuss.php?d=926#p4714&lt;br /&gt;
&lt;br /&gt;
This seems to be a problem that lies between the browsers (eg faults in iOS) the creation of the SCORM package and the LMS (in this case the iFrames in Moodle).&lt;br /&gt;
&lt;br /&gt;
One quite comprehensive idea for a work around is here: https://community.adaptlearning.org/mod/forum/discuss.php?d=180 but there is really no evidence at the moment of a nicer solution.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum]&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=276324 Identifiers to change with updated SCORM module]&lt;br /&gt;
* [https://docs.moodle.org/dev/SCORM_schema Internal SCORM Schema]&lt;br /&gt;
* The official standard: [http://www.adlnet.gov/Technologies/scorm/default.aspx Advanced Distributed Learning - SCORM]&lt;br /&gt;
&lt;br /&gt;
Online resources&lt;br /&gt;
* [http://www.scormcourse.com/ SCORMCourse.com] serves the SCORM and ADL community as an educational resource for SCORM technology.&lt;br /&gt;
* [http://www.eduworks.com/index.php/Publications/Learning-Object-Tutorial.html Learning Object Tutorial]&lt;br /&gt;
* [http://elearningweekly.wordpress.com/2007/04/12/tutorial-build-scorm-compatible-lesson-templates-for-your-lms/ Tutorial: Build SCORM-Compatible Lesson Templates for Your LMS]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft word / or any other easy (maybe free) scorm authoring tool?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=95946 Is SCORM worth it?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=125875</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=125875"/>
		<updated>2016-11-07T20:05:50Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Supported Versions */ fix link to scorm cloud plugin&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [http://www.scorm.com Rustici Software] have a [https://moodle.org/plugins/mod_scormcloud Moodle plugin] which connects to their commercial [http://www.scorm.com/scorm-solved/scorm-cloud/ SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Moodle does not support Tin Can at this stage.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
See [[Using slash arguments]] for more details.&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; - this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behaviour with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
This can also be controlled in Moodle using the setting &amp;quot;Mastery score overrides status&amp;quot; If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file or by adjusting the Moodle setting &amp;quot;Mastery score overrides status&amp;quot;. You may also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
The Rustici SCORM Cloud default operating behaviour for masteryscore is different from Moodle&#039;s default operating behaviour - you can see a little bit of the history around the way Rustici handle this here: http://scorm.com/blog/2010/09/anatomy-of-scorm-minutiae-mistake/&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
===Problems with responsiveness===&lt;br /&gt;
&lt;br /&gt;
Sometimes SCORMs fail on responsiveness or the ability to scroll on mobile devices&lt;br /&gt;
&lt;br /&gt;
*Moodle uses iFrames for deploying SCORM.  https://community.adaptlearning.org/mod/forum/discuss.php?d=180#p863  &lt;br /&gt;
*There can be some problems with this as they are not responsive in iOS https://community.adaptlearning.org/mod/forum/discuss.php?d=1446#p6687&lt;br /&gt;
*There are some potential work arounds.  &lt;br /&gt;
#Totara has a new window.  #https://community.adaptlearning.org/mod/forum/discuss.php?d=851#p3968&lt;br /&gt;
#This comment https://community.adaptlearning.org/mod/forum/discuss.php?d=787#p3661&lt;br /&gt;
#Solutions for Adapt: https://github.com/adaptlearning/adapt_framework/issues/210&lt;br /&gt;
*The tracker: &lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-47500 problems with pages.&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-46563&lt;br /&gt;
#https://tracker.moodle.org/browse/MDL-50401&lt;br /&gt;
*Why iFrames fail with iOS, one person&#039;s view: https://community.adaptlearning.org/mod/forum/discuss.php?d=926#p4714&lt;br /&gt;
&lt;br /&gt;
This seems to be a problem that lies between the browsers (eg faults in iOS) the creation of the SCORM package and the LMS (in this case the iFrames in Moodle).&lt;br /&gt;
&lt;br /&gt;
One quite comprehensive idea for a work around is here: https://community.adaptlearning.org/mod/forum/discuss.php?d=180 but there is really no evidence at the moment of a nicer solution.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum]&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=276324 Identifiers to change with updated SCORM module]&lt;br /&gt;
* [https://docs.moodle.org/dev/SCORM_schema Internal SCORM Schema]&lt;br /&gt;
* The official standard: [http://www.adlnet.gov/Technologies/scorm/default.aspx Advanced Distributed Learning - SCORM]&lt;br /&gt;
&lt;br /&gt;
Online resources&lt;br /&gt;
* [http://www.scormcourse.com/ SCORMCourse.com] serves the SCORM and ADL community as an educational resource for SCORM technology.&lt;br /&gt;
* [http://www.eduworks.com/index.php/Publications/Learning-Object-Tutorial.html Learning Object Tutorial]&lt;br /&gt;
* [http://elearningweekly.wordpress.com/2007/04/12/tutorial-build-scorm-compatible-lesson-templates-for-your-lms/ Tutorial: Build SCORM-Compatible Lesson Templates for Your LMS]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft word / or any other easy (maybe free) scorm authoring tool?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=95946 Is SCORM worth it?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=125865</id>
		<title>SCORM settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=125865"/>
		<updated>2016-11-06T20:51:34Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Other Important Settings */  add details of actual limit on data when in standards mode off.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==Adding a SCORM package==&lt;br /&gt;
&lt;br /&gt;
First - make sure you have created a course (see: [[Adding_a_new_course#Adding_a_course|Adding_a_course]])&lt;br /&gt;
&lt;br /&gt;
Quick method: (&#039;&#039;Note - does not work with versions of  Internet Explorer earlier than IE10&#039;&#039;)&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Drag and drop the SCORM package zip file onto the course section where you&#039;d like it to appear&lt;br /&gt;
# Answer &#039;Add a SCORM package&#039; to the popup dialogue asking what you want to do with the zip file then click the upload button&lt;br /&gt;
# If necessary, edit the title of the file by clicking the pencil icon, or edit other options (see below) by clicking the editing icon&lt;br /&gt;
&lt;br /&gt;
Note: It is currently not yet possible to add AICC packages using the quick method.&lt;br /&gt;
&lt;br /&gt;
Longer method:&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Click the &#039;Add an activity or resource&#039; link in the section you wish to add your SCORM package, then in the activity chooser, select SCORM package then click the Add button (or select &#039;SCORM package&#039; from the &#039;Add an activity&#039; dropdown menu) &lt;br /&gt;
# Enter a name and a description (which may be required or optional according to the admin settings)&lt;br /&gt;
# Either drag and drop a SCORM package zip file into the box with an arrow or click the Add button to open the [[File picker]] menu in order to choose a file from your computer or a repository&lt;br /&gt;
# Select display and other options as required (see below)&lt;br /&gt;
# Click the button &#039;Save and display&#039; at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
You can edit or update the SCORM package later by clicking on the edit icon (usually a hand/pen) or by clicking on its name and then &#039;&#039;Settings &amp;gt; SCORM/AICC administration &amp;gt; Edit settings&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note: Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate SCORM content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package. See [[Tools for creating SCORM content]]&lt;br /&gt;
&lt;br /&gt;
==Course settings==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgeneralsettings.png|thumb|430px|General settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
====Name====&lt;br /&gt;
Whatever you type here will form the link learners click on to access the SCORM package, so it is helpful to give it a name that suggests its purpose.&lt;br /&gt;
====Description====&lt;br /&gt;
Add a description of your SCORM activity here. Click &amp;quot;Show editing tools&amp;quot; to display the rich text editor, and drag the bottom right of the text box out to expand it.&lt;br /&gt;
====Display description on the course page====&lt;br /&gt;
If this box is ticked, the description will appear on the course page just below the name of the SCORM activity.&lt;br /&gt;
&lt;br /&gt;
===Package===&lt;br /&gt;
This setting determines which SCORM package is used by this SCORM activity.  Drag and drop or click the icon top left to upload your SCORM package. (Note that you must not unzip the package before upload.)The default (1) is to be able to upload a file. If your admin has added additional options in &#039;&#039;Site administration&amp;gt;Plugins&amp;gt;Activity modules&amp;gt;SCORM package&#039;&#039; then these will be available in a dropdown menu. (2) &lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormpackage.png|thumb|443px|Package settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alias/Shortcut====&lt;br /&gt;
If you access your SCORM package from a repository (such as [[File system repository]] or [[Private files]]) you can choose to create an alias/shortcut to it and then  set an update frequency to set how often Moodle should check to see if there is an updated zip. (See [[Working with files]] for more information on setting an alias/shortcut.)&lt;br /&gt;
&lt;br /&gt;
====Selecting an imsmanifest.xml====&lt;br /&gt;
&lt;br /&gt;
It it possible to select the imsmanifest.xml file and have it as an alias/shortcut. To do this, you need to have  created a [[File system repository]] and, when configuring it, allowed relative files. Extract your SCORM package into a folder there. When clicking on the Add button to add your SCORM package, select the file system repository folder with your SCORM package and browse for and select the imsmanfest.xml file, ensuring you  the option to create an alias/shortcut to the file. Save and display. (Note this method is only currently supported by the File system repository.)&lt;br /&gt;
&lt;br /&gt;
For more information with screenshots, see Dan Marsden&#039;s [http://danmarsden.com/blog/2013/09/24/managing-scorm-content-in-moodle-2-6/ blog post on Managing SCORM content]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Note: The settings (&#039;&#039;Type&#039;&#039;, &#039;&#039;URL&#039;&#039; and &#039;&#039;Auto-update frequency&#039;&#039;) are only available when configured globally. See &#039;&#039;&#039;Admin settings&#039;&#039;&#039; below.&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:26scormappearance.png|thumb|450px|Appearance settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
====Display package==== &lt;br /&gt;
Choose from current or new window. Note that if you choose a  new window, students need to ensure pop ups are enabled. &lt;br /&gt;
====Display course structure on entry page====&lt;br /&gt;
If this is enabled then the table of contents of the package will be displayed when the students clicks to access the package.&lt;br /&gt;
====Show Navigation====&lt;br /&gt;
This setting determines whether the navigation buttons are shown or not.&lt;br /&gt;
#No -they are hidden&lt;br /&gt;
#Under content - they are displayed underneath the SCORM package&lt;br /&gt;
#Floating - the navigation buttons are floating (with options to choose the position from the left and top)&lt;br /&gt;
&lt;br /&gt;
====Display attempt status====&lt;br /&gt;
You can choose whether to display a summary of the student&#039;s attempts on the entry page, on their [[Dashboard]] page or both. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The following settings become visible when &amp;quot;Show more&amp;quot; is clicked:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Width====&lt;br /&gt;
Stage size width as a css value, either % or pixels. Default is 100%. You can change to a different percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
====Height====&lt;br /&gt;
Stage size height as a css value, either % or pixels. Default is 500 pixels. You can change to a percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
&lt;br /&gt;
====Options====&lt;br /&gt;
There is a series of check boxes for:Allow the window to be resized ad scrolled, displaying directory links, location bar, menu bar, toolbar and/or status.&lt;br /&gt;
*&#039;&#039;&#039;Student skip content structure page&#039;&#039;&#039; - never, first access, always&lt;br /&gt;
*&#039;&#039;&#039;Disable preview mode&#039;&#039;&#039; - If this option is set to Yes, the Preview button in the view page of a SCORM/AICC Package activity will be hidden. The student can choose to preview (browse mode) the activity or attempt it in the normal mode. When a Learning Object is completed in preview (browse) mode, it&#039;s marked with browsed icon&lt;br /&gt;
*&#039;&#039;&#039;Display course structure in player&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Availability===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormavailability25.png|thumb|470px|Availability settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
Choose here the dates you wish the SCORM package to be available to students.&lt;br /&gt;
&lt;br /&gt;
===Grade===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgrading.png|thumb|339px|Grade settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Grading method====&lt;br /&gt;
** Learning Objects - This mode shows the number of completed/passed Learning Objects for the activity. The max value is the number of Package&#039;s Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.lesson_status, and does not report cmi.core.score.raw, then you should use this setting. &lt;br /&gt;
** Highest grade - The grade page will display the highest score obtained by users in all passed Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.score.raw, and does not report cmi.core.lesson_status, then you should use this setting, Average grade, or Sum grade. &lt;br /&gt;
** Average grade - If you choose this mode Moodle will calculate the average of all scores.&lt;br /&gt;
**Sum grade - With this mode all the scores will be added.&lt;br /&gt;
====Maximum grade====  &lt;br /&gt;
Not applicable if Grading Method is Learning objects. Usual setting is 100. If your SCO &#039;s high score is something other than 100, you should adjust this value appropriately. When grading Method is one of the score settings, then the gradebook grade is package score divided by this number.&lt;br /&gt;
&lt;br /&gt;
===Attempts management===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormattempts.png|thumb|416px|Attempts management screen expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Number of attempts====&lt;br /&gt;
Defines the number of attempts permitted to users. It works only with SCORM 1.2 and AICC packages. SCORM2004 has its own max attempts definition. &lt;br /&gt;
** The option to start a new attempt is provided by a checkbox above the &#039;&#039;&#039;Enter&#039;&#039;&#039; button on the content structure page, so be sure you&#039;re providing access to that page if you want to allow more than one attempt.&lt;br /&gt;
** An attempt is not complete until the cmi.core.lesson_status for the attempt is set to either &#039;completed&#039; or &#039;passed&#039;. After that, the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox is available to the learner.  &lt;br /&gt;
====Attempts grading====&lt;br /&gt;
When you permit multiple attempts for students, you can choose how to record the result in gradebook by first, last, average or highest settings.&lt;br /&gt;
* &#039;&#039;&#039;Display attempt status&#039;&#039;&#039; - If enabled, scores and grades for attempts are displayed on the SCORM outline page. This setting makes the block display more info to the user on the entry page to the SCORM and in the course overview block - if you turn it off it will display less info. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
====Force new attempt====&lt;br /&gt;
If this is enabled then every time the student accesses the package, it will count as a new attempt.&lt;br /&gt;
====Lock after final attempt====&lt;br /&gt;
If this is enabled then once a student has used up all their attempts, they can no longer access the SCORM package.&lt;br /&gt;
&lt;br /&gt;
===Compatibility settings===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormcompat.png|thumb|273px|Compatibility settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Auto-Continue==== &lt;br /&gt;
For SCORM packages that contain multiple learning objects (or SCO&#039;s) and Auto-continue is set to Yes, when a Learning Object calls the &amp;quot;close communication&amp;quot; method the next available object is launched automatically.If it is set to No, the users must use the navigation provided to continue to the next object. Many SCORM packages only contain a single learning object (or SCO) so this setting does not apply.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; If your package contains multiple branches Auto-Continue will only move from one object to the next within the same topic.&lt;br /&gt;
&lt;br /&gt;
====Force completed====&lt;br /&gt;
If this is enabled then the status of the current attempt is set to &amp;quot;complete&amp;quot;. Note that this only applies to SCORM 1.2 packages and is useful if the SCORM package does not handle revisiting an attempt correctly, in review or browse mode, or otherwise incorrectly issues the completion status.&lt;br /&gt;
&lt;br /&gt;
====Auto commit====&lt;br /&gt;
Some SCORM packages don&#039;t explicitly call Commit() regularly for whatever reason so progress is not stored in the database. This patch will Commit() the data from the SCORM package 60 seconds after the values are set, unless the package Commit()s sooner.&lt;br /&gt;
&lt;br /&gt;
====Mastery score overrides status====&lt;br /&gt;
{{New features}}If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;. More information on this behaviour is available in the [[SCORM_FAQ#Moodle_changes_cmi.core.lesson_status_from_.22completed.22_or_.22passed.22_to_.22failed.22|SCORM FAQ:Moodle changes cmi.core.lesson_status from completed or passed to failed]]&lt;br /&gt;
&lt;br /&gt;
===Common module settings===&lt;br /&gt;
&lt;br /&gt;
{{New features}}Group mode and groupings settings are available for SCORM packages in Moodle 3.1 onwards. This means that&lt;br /&gt;
&lt;br /&gt;
* A SCORM package can be restricted to a particular [[Groupings|grouping]]&lt;br /&gt;
* SCORM reports may be filtered by group&lt;br /&gt;
[[File:scorm reports visible groups.png|thumb|SCORM report filtering by group]]&lt;br /&gt;
See [[Common module settings]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Restrict access===&lt;br /&gt;
&lt;br /&gt;
These settings will be available if [[Conditional activities]] are enabled.&lt;br /&gt;
&lt;br /&gt;
===Activity completion settings===&lt;br /&gt;
&lt;br /&gt;
If this has been enabled for the course, then SCORM completion may be set based on minimum score or status (e.g. &amp;quot;Passed&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:scormscore1.png]]&lt;br /&gt;
&lt;br /&gt;
===Save settings===&lt;br /&gt;
&lt;br /&gt;
As in most activities there are 3 save button choices. &#039;&#039;&#039;Cancel&#039;&#039;&#039;, &#039;&#039;&#039;Save and return to course&#039;&#039;&#039; and &#039;&#039;&#039;Save changes&#039;&#039;&#039; buttons.  The Save changes button will take the teacher back to the SCORM &amp;quot;stage&amp;quot; page.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
These options are available to the site admin via &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Activity Modules &amp;gt; SCORM Package&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
===Default Value Settings===&lt;br /&gt;
Many of the settings available in the SCORM Package administration simply set the default value for the SCORM activity module setup options provided within courses. Edit these settings to save yourself time when adding large numbers of packages, or to establish a standard for presentation across the site.&lt;br /&gt;
&lt;br /&gt;
===Other Important Settings===&lt;br /&gt;
The following options provided which &#039;&#039;&#039;do not&#039;&#039;&#039; simply set a default value for the SCORM activity editing page view. &lt;br /&gt;
; Auto-update frequency&lt;br /&gt;
If not using a standard SCORM package uploaded using the filepicker and the SCORM package is hosted outside your Moodle installation the option to auto-update the package will be available - you can elect to have the package updated on every entry to the package or daily via the Moodle cron.&lt;br /&gt;
;Synchronization time&lt;br /&gt;
&lt;br /&gt;
;Enable SCORM 1.2 standard mode &lt;br /&gt;
:If this setting is disabled, then it will be possible to exceed the allowed amount of stored data for SCORM 1.2 packages. Many SCORM packages go over the 4096 characters limit and while SCORM 2004 allows a higher number of characters, it is not supported. This setting will mean users can allow their 1.2 packages to store more data. When disabled it extends the items restricted to 256 and 4096 by the SCORM 1.2 spec to 64000 (the highest value allowed in the SCORM 2004 spec)&lt;br /&gt;
;Enable external package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote imsmanifest.xml (in an unzipped remote SCORM package), as well as the file picker option provided by default. Note that the content is played from the designated location, and not unpacked into the Moodle file system. So if the base url is different from your moodle url then browser security will block cross-domain communcation and no grades/tracking information will be passed back to Moodle.&lt;br /&gt;
;Enable downloaded package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote package.zip SCORM package. Package is downloaded and unzipped into the Moodle file system.&lt;br /&gt;
;Enable IMS package type&lt;br /&gt;
:Enables a package to be selected from within an IMS repository&lt;br /&gt;
;Force users to enable JavaScript&lt;br /&gt;
:Since the SCORM API uses JavaScript to save data to Moodle, this is a great idea!&lt;br /&gt;
;Activate API debug and tracing (set the capture mask with apidebugmask)&lt;br /&gt;
:Turns on debugging for SCORM activities. In Moodle 2 you no longer have to also turn on debugging in the developer options. &lt;br /&gt;
;API debug capture mask&lt;br /&gt;
:.* will debug for admin user only: You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &#039;&#039;&#039;admin.*&#039;&#039;&#039; Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &#039;&#039;&#039;.*&#039;&#039;&#039; which translates roughly to &#039;&#039;&#039;everybody&#039;&#039;&#039;.&lt;br /&gt;
;Enable direct AICC url&lt;br /&gt;
:Makes it easier to connect to externally hosted AICC content as the teacher doesn&#039;t have to create an AICC package and is able to link directly to the external AICC url.&lt;br /&gt;
;Enable external AICC HACP&lt;br /&gt;
:The SCORM activity can also support external AICC HACP Communication where the AICC package is hosted on an external content providers site and passes back http requests directly from the external server instead of within the users web browser session - this is disabled by default.&lt;br /&gt;
;AICC pass numeric user id&lt;br /&gt;
&lt;br /&gt;
; Protect package downloads. &lt;br /&gt;
:This is disabled by default, meaning packages can always be downloaded (eg for offline mobile use.) If this is enabled then only users with the capability course:manageactivities can download the package.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[:dev:SCORM_schema |SCORM Schema]] for developers&lt;br /&gt;
&lt;br /&gt;
[[de:Lernpaket konfigurieren]]&lt;br /&gt;
[[fr:Ajouter/modifier un SCORM]]&lt;br /&gt;
[[ja:SCORMを追加/編集する]]&lt;br /&gt;
[[es:Configuraciones del SCORM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=124640</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=124640"/>
		<updated>2016-08-03T22:11:16Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [http://www.scorm.com Rustici Software] have a [http://support.scorm.com/entries/20394726-scorm-cloud-moodle-module Moodle plugin] which connects to their commercial [http://www.scorm.com/scorm-solved/scorm-cloud/ SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Moodle does not support Tin Can at this stage.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
See [[Using slash arguments]] for more details.&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; - this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behaviour with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
This can also be controlled in Moodle using the setting &amp;quot;Mastery score overrides status&amp;quot; If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file or by adjusting the Moodle setting &amp;quot;Mastery score overrides status&amp;quot;. You may also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
The Rustici SCORM Cloud default operating behaviour for masteryscore is different from Moodle&#039;s default operating behaviour - you can see a little bit of the history around the way Rustici handle this here: http://scorm.com/blog/2010/09/anatomy-of-scorm-minutiae-mistake/&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum]&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=276324 Identifiers to change with updated SCORM module]&lt;br /&gt;
* [https://docs.moodle.org/dev/SCORM_schema Internal SCORM Schema]&lt;br /&gt;
* The official standard: [http://www.adlnet.gov/Technologies/scorm/default.aspx Advanced Distributed Learning - SCORM]&lt;br /&gt;
&lt;br /&gt;
Online resources&lt;br /&gt;
* [http://www.scormcourse.com/ SCORMCourse.com] serves the SCORM and ADL community as an educational resource for SCORM technology.&lt;br /&gt;
* [http://www.eduworks.com/index.php/Publications/Learning-Object-Tutorial.html Learning Object Tutorial]&lt;br /&gt;
* [http://elearningweekly.wordpress.com/2007/04/12/tutorial-build-scorm-compatible-lesson-templates-for-your-lms/ Tutorial: Build SCORM-Compatible Lesson Templates for Your LMS]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft word / or any other easy (maybe free) scorm authoring tool?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=95946 Is SCORM worth it?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=124639</id>
		<title>SCORM settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=124639"/>
		<updated>2016-08-03T22:09:08Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Compatibility settings */ add details about mastery score(3.1) and auto commit(2.8)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==Adding a SCORM package==&lt;br /&gt;
&lt;br /&gt;
First - make sure you have created a course (see: [[Adding_a_new_course#Adding_a_course|Adding_a_course]])&lt;br /&gt;
&lt;br /&gt;
Quick method: (&#039;&#039;Note - does not work with versions of  Internet Explorer earlier than IE10&#039;&#039;)&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Drag and drop the SCORM package zip file onto the course section where you&#039;d like it to appear&lt;br /&gt;
# Answer &#039;Add a SCORM package&#039; to the popup dialogue asking what you want to do with the zip file then click the upload button&lt;br /&gt;
# If necessary, edit the title of the file by clicking the pencil icon, or edit other options (see below) by clicking the editing icon&lt;br /&gt;
&lt;br /&gt;
Note: It is currently not yet possible to add AICC packages using the quick method.&lt;br /&gt;
&lt;br /&gt;
Longer method:&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Click the &#039;Add an activity or resource&#039; link in the section you wish to add your SCORM package, then in the activity chooser, select SCORM package then click the Add button (or select &#039;SCORM package&#039; from the &#039;Add an activity&#039; dropdown menu) &lt;br /&gt;
# Enter a name and a description (which may be required or optional according to the admin settings)&lt;br /&gt;
# Either drag and drop a SCORM package zip file into the box with an arrow or click the Add button to open the [[File picker]] menu in order to choose a file from your computer or a repository&lt;br /&gt;
# Select display and other options as required (see below)&lt;br /&gt;
# Click the button &#039;Save and display&#039; at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
You can edit or update the SCORM package later by clicking on the edit icon (usually a hand/pen) or by clicking on its name and then &#039;&#039;Settings &amp;gt; SCORM/AICC administration &amp;gt; Edit settings&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note: Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate SCORM content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package. See [[Tools for creating SCORM content]]&lt;br /&gt;
&lt;br /&gt;
==Course settings==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgeneralsettings.png|thumb|430px|General settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
====Name====&lt;br /&gt;
Whatever you type here will form the link learners click on to access the SCORM package, so it is helpful to give it a name that suggests its purpose.&lt;br /&gt;
====Description====&lt;br /&gt;
Add a description of your SCORM activity here. Click &amp;quot;Show editing tools&amp;quot; to display the rich text editor, and drag the bottom right of the text box out to expand it.&lt;br /&gt;
====Display description on the course page====&lt;br /&gt;
If this box is ticked, the description will appear on the course page just below the name of the SCORM activity.&lt;br /&gt;
&lt;br /&gt;
===Package===&lt;br /&gt;
This setting determines which SCORM package is used by this SCORM activity.  Drag and drop or click the icon top left to upload your SCORM package. (Note that you must not unzip the package before upload.)The default (1) is to be able to upload a file. If your admin has added additional options in &#039;&#039;Site administration&amp;gt;Plugins&amp;gt;Activity modules&amp;gt;SCORM package&#039;&#039; then these will be available in a dropdown menu. (2) &lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormpackage.png|thumb|443px|Package settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alias/Shortcut====&lt;br /&gt;
If you access your SCORM package from a repository (such as [[File system repository]] or [[Private files]]) you can choose to create an alias/shortcut to it and then  set an update frequency to set how often Moodle should check to see if there is an updated zip. (See [[Working with files]] for more information on setting an alias/shortcut.)&lt;br /&gt;
&lt;br /&gt;
====Selecting an imsmanifest.xml====&lt;br /&gt;
&lt;br /&gt;
It it possible to select the imsmanifest.xml file and have it as an alias/shortcut. To do this, you need to have  created a [[File system repository]] and, when configuring it, allowed relative files. Extract your SCORM package into a folder there. When clicking on the Add button to add your SCORM package, select the file system repository folder with your SCORM package and browse for and select the imsmanfest.xml file, ensuring you  the option to create an alias/shortcut to the file. Save and display. (Note this method is only currently supported by the File system repository.)&lt;br /&gt;
&lt;br /&gt;
For more information with screenshots, see Dan Marsden&#039;s [http://danmarsden.com/blog/2013/09/24/managing-scorm-content-in-moodle-2-6/ blog post on Managing SCORM content]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Note: The settings (&#039;&#039;Type&#039;&#039;, &#039;&#039;URL&#039;&#039; and &#039;&#039;Auto-update frequency&#039;&#039;) are only available when configured globally. See &#039;&#039;&#039;Admin settings&#039;&#039;&#039; below.&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:26scormappearance.png|thumb|450px|Appearance settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
====Display package==== &lt;br /&gt;
Choose from current or new window. Note that if you choose a  new window, students need to ensure pop ups are enabled. &lt;br /&gt;
====Display course structure on entry page====&lt;br /&gt;
If this is enabled then the table of contents of the package will be displayed when the students clicks to access the package.&lt;br /&gt;
====Show Navigation====&lt;br /&gt;
This setting determines whether the navigation buttons are shown or not.&lt;br /&gt;
#No -they are hidden&lt;br /&gt;
#Under content - they are displayed underneath the SCORM package&lt;br /&gt;
#Floating - the navigation buttons are floating (with options to choose the position from the left and top)&lt;br /&gt;
&lt;br /&gt;
====Display attempt status====&lt;br /&gt;
You can choose whether to display a summary of the student&#039;s attempts on the entry page, on their [[Dashboard]] page or both. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The following settings become visible when &amp;quot;Show more&amp;quot; is clicked:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Width====&lt;br /&gt;
Stage size width as a css value, either % or pixels. Default is 100%. You can change to a different percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
====Height====&lt;br /&gt;
Stage size height as a css value, either % or pixels. Default is 500 pixels. You can change to a percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
&lt;br /&gt;
====Options====&lt;br /&gt;
There is a series of check boxes for:Allow the window to be resized ad scrolled, displaying directory links, location bar, menu bar, toolbar and/or status.&lt;br /&gt;
*&#039;&#039;&#039;Student skip content structure page&#039;&#039;&#039; - never, first access, always&lt;br /&gt;
*&#039;&#039;&#039;Disable preview mode&#039;&#039;&#039; - If this option is set to Yes, the Preview button in the view page of a SCORM/AICC Package activity will be hidden. The student can choose to preview (browse mode) the activity or attempt it in the normal mode. When a Learning Object is completed in preview (browse) mode, it&#039;s marked with browsed icon&lt;br /&gt;
*&#039;&#039;&#039;Display course structure in player&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Availability===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormavailability25.png|thumb|470px|Availability settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
Choose here the dates you wish the SCORM package to be available to students.&lt;br /&gt;
&lt;br /&gt;
===Grade===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgrading.png|thumb|339px|Grade settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Grading method====&lt;br /&gt;
** Learning Objects - This mode shows the number of completed/passed Learning Objects for the activity. The max value is the number of Package&#039;s Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.lesson_status, and does not report cmi.core.score.raw, then you should use this setting. &lt;br /&gt;
** Highest grade - The grade page will display the highest score obtained by users in all passed Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.score.raw, and does not report cmi.core.lesson_status, then you should use this setting, Average grade, or Sum grade. &lt;br /&gt;
** Average grade - If you choose this mode Moodle will calculate the average of all scores.&lt;br /&gt;
**Sum grade - With this mode all the scores will be added.&lt;br /&gt;
====Maximum grade====  &lt;br /&gt;
Not applicable if Grading Method is Learning objects. Usual setting is 100. If your SCO &#039;s high score is something other than 100, you should adjust this value appropriately. When grading Method is one of the score settings, then the gradebook grade is package score divided by this number.&lt;br /&gt;
&lt;br /&gt;
===Attempts management===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormattempts.png|thumb|416px|Attempts management screen expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Number of attempts====&lt;br /&gt;
Defines the number of attempts permitted to users. It works only with SCORM 1.2 and AICC packages. SCORM2004 has its own max attempts definition. &lt;br /&gt;
** The option to start a new attempt is provided by a checkbox above the &#039;&#039;&#039;Enter&#039;&#039;&#039; button on the content structure page, so be sure you&#039;re providing access to that page if you want to allow more than one attempt.&lt;br /&gt;
** An attempt is not complete until the cmi.core.lesson_status for the attempt is set to either &#039;completed&#039; or &#039;passed&#039;. After that, the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox is available to the learner.  &lt;br /&gt;
====Attempts grading====&lt;br /&gt;
When you permit multiple attempts for students, you can choose how to record the result in gradebook by first, last, average or highest settings.&lt;br /&gt;
* &#039;&#039;&#039;Display attempt status&#039;&#039;&#039; - If enabled, scores and grades for attempts are displayed on the SCORM outline page. This setting makes the block display more info to the user on the entry page to the SCORM and in the course overview block - if you turn it off it will display less info. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
====Force new attempt====&lt;br /&gt;
If this is enabled then every time the student accesses the package, it will count as a new attempt.&lt;br /&gt;
====Lock after final attempt====&lt;br /&gt;
If this is enabled then once a student has used up all their attempts, they can no longer access the SCORM package.&lt;br /&gt;
&lt;br /&gt;
===Compatibility settings===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormcompat.png|thumb|273px|Compatibility settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Auto-Continue==== &lt;br /&gt;
For SCORM packages that contain multiple learning objects (or SCO&#039;s) and Auto-continue is set to Yes, when a Learning Object calls the &amp;quot;close communication&amp;quot; method the next available object is launched automatically.If it is set to No, the users must use the navigation provided to continue to the next object. Many SCORM packages only contain a single learning object (or SCO) so this setting does not apply.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; If your package contains multiple branches Auto-Continue will only move from one object to the next within the same topic.&lt;br /&gt;
&lt;br /&gt;
====Force completed====&lt;br /&gt;
If this is enabled then the status of the current attempt is set to &amp;quot;complete&amp;quot;. Note that this only applies to SCORM 1.2 packages and is useful if the SCORM package does not handle revisiting an attempt correctly, in review or browse mode, or otherwise incorrectly issues the completion status.&lt;br /&gt;
&lt;br /&gt;
====Auto commit====&lt;br /&gt;
Some SCORM packages don&#039;t explicitly call Commit() regularly for whatever reason so progress is not stored in the database. This patch will Commit() the data from the SCORM package 60 seconds after the values are set, unless the package Commit()s sooner.&lt;br /&gt;
&lt;br /&gt;
====Mastery score overrides status====&lt;br /&gt;
{{New features}}If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;. More information on this behaviour is available in the [[SCORM_FAQ#Moodle_changes_cmi.core.lesson_status_from_.22completed.22_or_.22passed.22_to_.22failed.22|SCORM FAQ:Moodle changes cmi.core.lesson_status from completed or passed to failed]]&lt;br /&gt;
&lt;br /&gt;
===Common module settings===&lt;br /&gt;
&lt;br /&gt;
{{New features}}Group mode and groupings settings are available for SCORM packages in Moodle 3.1 onwards. This means that&lt;br /&gt;
&lt;br /&gt;
* A SCORM package can be restricted to a particular [[Groupings|grouping]]&lt;br /&gt;
* SCORM reports may be filtered by group&lt;br /&gt;
[[File:scorm reports visible groups.png|thumb|SCORM report filtering by group]]&lt;br /&gt;
See [[Common module settings]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Restrict access===&lt;br /&gt;
&lt;br /&gt;
These settings will be available if [[Conditional activities]] are enabled.&lt;br /&gt;
&lt;br /&gt;
===Activity completion settings===&lt;br /&gt;
&lt;br /&gt;
If this has been enabled for the course, then SCORM completion may be set based on minimum score or status (e.g. &amp;quot;Passed&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:scormscore1.png]]&lt;br /&gt;
&lt;br /&gt;
===Save settings===&lt;br /&gt;
&lt;br /&gt;
As in most activities there are 3 save button choices. &#039;&#039;&#039;Cancel&#039;&#039;&#039;, &#039;&#039;&#039;Save and return to course&#039;&#039;&#039; and &#039;&#039;&#039;Save changes&#039;&#039;&#039; buttons.  The Save changes button will take the teacher back to the SCORM &amp;quot;stage&amp;quot; page.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
These options are available to the site admin via &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Activity Modules &amp;gt; SCORM Package&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
===Default Value Settings===&lt;br /&gt;
Many of the settings available in the SCORM Package administration simply set the default value for the SCORM activity module setup options provided within courses. Edit these settings to save yourself time when adding large numbers of packages, or to establish a standard for presentation across the site.&lt;br /&gt;
&lt;br /&gt;
===Other Important Settings===&lt;br /&gt;
The following options provided which &#039;&#039;&#039;do not&#039;&#039;&#039; simply set a default value for the SCORM activity editing page view. &lt;br /&gt;
; Auto-update frequency&lt;br /&gt;
If not using a standard SCORM package uploaded using the filepicker and the SCORM package is hosted outside your Moodle installation the option to auto-update the package will be available - you can elect to have the package updated on every entry to the package or daily via the Moodle cron.&lt;br /&gt;
;Synchronization time&lt;br /&gt;
&lt;br /&gt;
;Enable SCORM 1.2 standard mode &lt;br /&gt;
:If this setting is disabled, then it will be possible to exceed the allowed amount of stored data for SCORM 1.2 packages. Many SCORM packages go over the 4096 characters limit and while SCORM 2004 allows a higher number of characters, it is not supported. This setting will mean users can allow their 1.2 packages to store more data.&lt;br /&gt;
;Enable external package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote imsmanifest.xml (in an unzipped remote SCORM package), as well as the file picker option provided by default. Note that the content is played from the designated location, and not unpacked into the Moodle file system. So if the base url is different from your moodle url then browser security will block cross-domain communcation and no grades/tracking information will be passed back to Moodle.&lt;br /&gt;
;Enable downloaded package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote package.zip SCORM package. Package is downloaded and unzipped into the Moodle file system.&lt;br /&gt;
;Enable IMS package type&lt;br /&gt;
:Enables a package to be selected from within an IMS repository&lt;br /&gt;
;Force users to enable JavaScript&lt;br /&gt;
:Since the SCORM API uses JavaScript to save data to Moodle, this is a great idea!&lt;br /&gt;
;Activate API debug and tracing (set the capture mask with apidebugmask)&lt;br /&gt;
:Turns on debugging for SCORM activities. In Moodle 2 you no longer have to also turn on debugging in the developer options. &lt;br /&gt;
;API debug capture mask&lt;br /&gt;
:.* will debug for admin user only: You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &#039;&#039;&#039;admin.*&#039;&#039;&#039; Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &#039;&#039;&#039;.*&#039;&#039;&#039; which translates roughly to &#039;&#039;&#039;everybody&#039;&#039;&#039;.&lt;br /&gt;
;Enable direct AICC url&lt;br /&gt;
:Makes it easier to connect to externally hosted AICC content as the teacher doesn&#039;t have to create an AICC package and is able to link directly to the external AICC url.&lt;br /&gt;
;Enable external AICC HACP&lt;br /&gt;
:The SCORM activity can also support external AICC HACP Communication where the AICC package is hosted on an external content providers site and passes back http requests directly from the external server instead of within the users web browser session - this is disabled by default.&lt;br /&gt;
;AICC pass numeric user id&lt;br /&gt;
&lt;br /&gt;
; Protect package downloads. &lt;br /&gt;
:This is disabled by default, meaning packages can always be downloaded (eg for offline mobile use.) If this is enabled then only users with the capability course:manageactivities can download the package.&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[:dev:SCORM_schema |SCORM Schema]] for developers&lt;br /&gt;
&lt;br /&gt;
[[de:Lernpaket konfigurieren]]&lt;br /&gt;
[[fr:Ajouter/modifier un SCORM]]&lt;br /&gt;
[[ja:SCORMを追加/編集する]]&lt;br /&gt;
[[es:Configuraciones del SCORM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=124638</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=124638"/>
		<updated>2016-08-03T21:57:23Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot; */ update with info on masteryoverride setting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [http://www.scorm.com Rustici Software] have a [http://support.scorm.com/entries/20394726-scorm-cloud-moodle-module Moodle plugin] which connects to their commercial [http://www.scorm.com/scorm-solved/scorm-cloud/ SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Moodle does not support Tin Can at this stage.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
See [[Using slash arguments]] for more details.&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; - this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behaviour with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
This can also be controlled in Moodle using the setting &amp;quot;Mastery score overrides status&amp;quot; If this setting is enabled and a mastery score is provided within your package, when LMSFinish is called and a raw score has been set, if the raw score is lower than the mastery score, the lesson status will be overridden and set to &amp;quot;failed&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file or by adjusting the Moodle setting &amp;quot;Mastery score overrides status&amp;quot;. You may also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum]&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://moodle.org/mod/forum/discuss.php?d=276324 Identifiers to change with updated SCORM module]&lt;br /&gt;
* [https://docs.moodle.org/dev/SCORM_schema Internal SCORM Schema]&lt;br /&gt;
* The official standard: [http://www.adlnet.gov/Technologies/scorm/default.aspx Advanced Distributed Learning - SCORM]&lt;br /&gt;
&lt;br /&gt;
Online resources&lt;br /&gt;
* [http://www.scormcourse.com/ SCORMCourse.com] serves the SCORM and ADL community as an educational resource for SCORM technology.&lt;br /&gt;
* [http://www.eduworks.com/index.php/Publications/Learning-Object-Tutorial.html Learning Object Tutorial]&lt;br /&gt;
* [http://elearningweekly.wordpress.com/2007/04/12/tutorial-build-scorm-compatible-lesson-templates-for-your-lms/ Tutorial: Build SCORM-Compatible Lesson Templates for Your LMS]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft word / or any other easy (maybe free) scorm authoring tool?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=95946 Is SCORM worth it?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Reengagement_activity&amp;diff=124470</id>
		<title>Reengagement activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Reengagement_activity&amp;diff=124470"/>
		<updated>2016-07-27T22:08:53Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Email place holders */ add institution/city/department&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity module&lt;br /&gt;
|entry = https://moodle.org/plugins/mod_reengagement&lt;br /&gt;
|tracker = https://github.com/catalyst/moodle-mod_reengagement/issues&lt;br /&gt;
|maintainer = [https://www.catalyst.net.nz Catalyst IT]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==About the Reengagement activity==&lt;br /&gt;
The Reengagement activity is developed by the Moodle Partner Catalyst IT and provides a way for you to remind students to return to the course and complete activities. You can also use this plugin to selectively release timed content in a course.&lt;br /&gt;
&lt;br /&gt;
==Adding a Reengagement activity==&lt;br /&gt;
A Reengagement activity can be added to a course in the same way as any other activity:&lt;br /&gt;
&lt;br /&gt;
# Turn editing on&lt;br /&gt;
# Click &#039;Add an activity or resource&#039;&lt;br /&gt;
# Select Re-engagement&lt;br /&gt;
&lt;br /&gt;
===Set Reengagement details===&lt;br /&gt;
The Email delay can be based on the user enrolment date or a previous activity completion. If you want the delay to be based on a previous activity completion you should set that previous activity as an access restriction to this Reengagment activity, if you want to use the enrolment date then don&#039;t set up any access restrictions on this Re-engagement activity.&lt;br /&gt;
&lt;br /&gt;
Set &amp;quot;Email User&amp;quot; to &amp;quot;After Delay&amp;quot; and set the &amp;quot;Email delay&amp;quot; period. The e-mail delay is the when the e-mail reminder will be sent based on the previous event (enrolment or activity completion) &lt;br /&gt;
&lt;br /&gt;
Set &amp;quot;Target Activity&amp;quot; - this is the activity that you want to remind the user they must complete - if this activity is flagged as complete within the course then no e-mail reminder will be sent.&lt;br /&gt;
&lt;br /&gt;
===Timed release===&lt;br /&gt;
If you want to release content within your course to individual users after a set period (eg 1 week after previous activity completion or 1 week after their enrolment) you use the &amp;quot;Activity completion&amp;quot; settings within the course - set the Reengagement duration to the time period you want. If you want the time period to be based on user enrolment leave the access restrictions on the activity empty, but if you want to base it on a previous activity completion set this within the restrict access configuration for the activity.&lt;br /&gt;
&lt;br /&gt;
===Email place holders===&lt;br /&gt;
When configuring the e-mails sent from the plugin there are six place holders you can use. If need to use them properly wrap them with &amp;quot;percentage&amp;quot; (%) symbols. All six examples are given below&lt;br /&gt;
&lt;br /&gt;
* %courseshortname%&lt;br /&gt;
* %coursefullname%&lt;br /&gt;
* %courseid%&lt;br /&gt;
* %userfirstname%&lt;br /&gt;
* %userlastname%&lt;br /&gt;
* %userid%&lt;br /&gt;
* %usercity%&lt;br /&gt;
* %userinstitution%&lt;br /&gt;
* %userdepartment%&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Reengagement_activity&amp;diff=124310</id>
		<title>Reengagement activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Reengagement_activity&amp;diff=124310"/>
		<updated>2016-07-18T02:35:23Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: Created page with &amp;quot;{{Infobox plugin |type = Activity module |entry = https://moodle.org/plugins/mod_reengagement |tracker = https://github.com/catalyst/moodle-mod_reengagement/issues |maintainer...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity module&lt;br /&gt;
|entry = https://moodle.org/plugins/mod_reengagement&lt;br /&gt;
|tracker = https://github.com/catalyst/moodle-mod_reengagement/issues&lt;br /&gt;
|maintainer = [https://www.catalyst.net.nz Catalyst IT]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==About the Reengagement activity==&lt;br /&gt;
The Reengagement activity is developed by the Moodle Partner Catalyst IT and provides a way for you to remind students to return to the course and complete activities. You can also use this plugin to selectively release timed content in a course.&lt;br /&gt;
&lt;br /&gt;
==Adding a Reengagement activity==&lt;br /&gt;
A Reengagement activity can be added to a course in the same way as any other activity:&lt;br /&gt;
&lt;br /&gt;
# Turn editing on&lt;br /&gt;
# Click &#039;Add an activity or resource&#039;&lt;br /&gt;
# Select Re-engagement&lt;br /&gt;
&lt;br /&gt;
===Set Reengagement details===&lt;br /&gt;
The Email delay can be based on the user enrolment date or a previous activity completion. If you want the delay to be based on a previous activity completion you should set that previous activity as an access restriction to this Reengagment activity, if you want to use the enrolment date then don&#039;t set up any access restrictions on this Re-engagement activity.&lt;br /&gt;
&lt;br /&gt;
Set &amp;quot;Email User&amp;quot; to &amp;quot;After Delay&amp;quot; and set the &amp;quot;Email delay&amp;quot; period. The e-mail delay is the when the e-mail reminder will be sent based on the previous event (enrolment or activity completion) &lt;br /&gt;
&lt;br /&gt;
Set &amp;quot;Target Activity&amp;quot; - this is the activity that you want to remind the user they must complete - if this activity is flagged as complete within the course then no e-mail reminder will be sent.&lt;br /&gt;
&lt;br /&gt;
===Timed release===&lt;br /&gt;
If you want to release content within your course after a set period (eg 1 week after previous activity completion or 1week after enrolment) you use the &amp;quot;Activity completion&amp;quot; settings within the course - set the Reengagement duration to the time period you want. If you want the time period to be based on user enrolment leave the access restrictions on the activity empty, but if you want to base it on a previous activity completion set this within the restrict access configuration for the activity.&lt;br /&gt;
&lt;br /&gt;
===Email place holders===&lt;br /&gt;
When configuring the e-mails sent from the plugin there are six place holders you can use. If need to use them properly wrap them with &amp;quot;percentage&amp;quot; (%) symbols. All six examples are given below&lt;br /&gt;
&lt;br /&gt;
* %courseshortname%&lt;br /&gt;
* %coursefullname%&lt;br /&gt;
* %courseid%&lt;br /&gt;
* %userfirstname%&lt;br /&gt;
* %userlastname%&lt;br /&gt;
* %userid%&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Gradebook_calculation_changes&amp;diff=124237</id>
		<title>Gradebook calculation changes</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Gradebook_calculation_changes&amp;diff=124237"/>
		<updated>2016-06-28T21:50:18Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: add initial detail about MDL-45390&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Grades}}&lt;br /&gt;
&amp;lt;p class=&amp;quot;note&amp;quot;&amp;gt;Note: The following information only applies if you see a message displayed in the gradebook following a site upgrade, or after restoring a course backup from a different version of Moodle.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Occasionally there are error fixes which can affect gradebook calculations in certain courses. As part of the upgrade process, such courses are identified and a message is displayed in the gradebook informing teachers that error fixes may result in some grades being changed. Details of these changes are provided below. The 8-digit version number is the date of the fix.&lt;br /&gt;
&lt;br /&gt;
It is recommended that the errors are fixed by clicking the button &#039;Accept grade changes and fix calculation errors&#039;. Until this is done, the message will continue to be displayed in the gradebook (only for teachers; students can&#039;t see it). The old gradebook calculations will still be used (ensuring grades remain unchanged), however they are likely to result in more errors if grades are updated in the future.&lt;br /&gt;
&lt;br /&gt;
=== 20150619 - Calculation of extra credit item weights when using natural aggregation ===&lt;br /&gt;
&lt;br /&gt;
Two errors were fixed:&lt;br /&gt;
# Overriding the weight of the extra credit item can lead to changes in other items&#039; weights and random final grades&lt;br /&gt;
# The automatic weight of an extra credit item was dependent on the overrides of the normal item&#039;s weights&lt;br /&gt;
&lt;br /&gt;
The second error was especially noticeable for students with excluded grade items (for example, when they are hidden or empty). &lt;br /&gt;
&lt;br /&gt;
For example, a category has two normal grade items and one extra credit item. If the maximum grades for each item are the same, the weights of the three items will be: 50%, 50% and 50%. However if the weights of the normal items are overridden to be 50% and 50%, then the weight of the extra credit item would become 0%. If the teacher overrode the weight of the first item to 80%, the second item would automatically become 20% (correct) and the extra credit would also become 20% (incorrect). &lt;br /&gt;
&lt;br /&gt;
The correct behaviour (after the fix): If the weight of extra credit item is not overridden, it should be itemmaxgrade / totalmaxgrade , where totalmaxgrade does not include the extra credit item. In the example, the weight of the extra credit item should always be 50%.&lt;br /&gt;
&lt;br /&gt;
See MDL-49257 for further details including screenshots.&lt;br /&gt;
&lt;br /&gt;
=== 20150627 - Calculated grade items ===&lt;br /&gt;
&lt;br /&gt;
Two errors affecting grades were fixed:&lt;br /&gt;
# Changing the maxgrade for a category item with a calculation that has existing grades results in grades displayed out of the old maximum grade, not the updated one. This can cause flow on affects for automatic weights with Natural Aggregation.&lt;br /&gt;
# Values for grade items with a calculation are always displayed from 0 to 100 regardless of the minimum and maximum grades for the grade item. This can cause flow on affects for automatic weights with Natural Aggregation.&lt;br /&gt;
&lt;br /&gt;
These fixes will impact existing grades by correcting the maximum grade for existing grade items.&lt;br /&gt;
&lt;br /&gt;
See MDL-48239 for further details.&lt;br /&gt;
&lt;br /&gt;
=== 20160518 - letter grade boundary issue ===&lt;br /&gt;
&lt;br /&gt;
In some cases the letter grade associated with a grade was incorrect&lt;br /&gt;
&lt;br /&gt;
see MDL-45390 for further details.&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=123048</id>
		<title>SCORM settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=123048"/>
		<updated>2016-04-28T02:53:05Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Adding a SCORM package */  add link to creating a course - (many users try to add SCORM packages in strange places)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==Adding a SCORM package==&lt;br /&gt;
&lt;br /&gt;
First - make sure you have created a course (see: [[Adding_a_new_course#Adding_a_course|Adding_a_course]])&lt;br /&gt;
&lt;br /&gt;
Quick method: (&#039;&#039;Note - does not work with versions of  Internet Explorer earlier than IE10&#039;&#039;)&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Drag and drop the SCORM package zip file onto the course section where you&#039;d like it to appear&lt;br /&gt;
# Answer &#039;Add a SCORM package&#039; to the popup dialogue asking what you want to do with the zip file then click the upload button&lt;br /&gt;
# If necessary, edit the title of the file by clicking the pencil icon, or edit other options (see below) by clicking the editing icon&lt;br /&gt;
&lt;br /&gt;
Note: It is currently not yet possible to add AICC packages using the quick method.&lt;br /&gt;
&lt;br /&gt;
Longer method:&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Click the &#039;Add an activity or resource&#039; link in the section you wish to add your SCORM package, then in the activity chooser, select SCORM package then click the Add button (or select &#039;SCORM package&#039; from the &#039;Add an activity&#039; dropdown menu) &lt;br /&gt;
# Enter a name and a description (which may be required or optional according to the admin settings)&lt;br /&gt;
# Either drag and drop a SCORM package zip file into the box with an arrow or click the Add button to open the [[File picker]] menu in order to choose a file from your computer or a repository&lt;br /&gt;
# Select display and other options as required (see below)&lt;br /&gt;
# Click the button &#039;Save and display&#039; at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
You can edit or update the SCORM package later by clicking on the edit icon (usually a hand/pen) or by clicking on its name and then &#039;&#039;Settings &amp;gt; SCORM/AICC administration &amp;gt; Edit settings&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note: Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate SCORM content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package. See [[Tools for creating SCORM content]]&lt;br /&gt;
&lt;br /&gt;
==Course settings==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgeneralsettings.png|thumb|430px|General settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
====Name====&lt;br /&gt;
Whatever you type here will form the link learners click on to access the SCORM package, so it is helpful to give it a name that suggests its purpose.&lt;br /&gt;
====Description====&lt;br /&gt;
Add a description of your SCORM activity here. Click &amp;quot;Show editing tools&amp;quot; to display the rich text editor, and drag the bottom right of the text box out to expand it.&lt;br /&gt;
====Display description on the course page====&lt;br /&gt;
If this box is ticked, the description will appear on the course page just below the name of the SCORM activity.&lt;br /&gt;
&lt;br /&gt;
===Package===&lt;br /&gt;
This setting determines which SCORM package is used by this SCORM activity.  Drag and drop or click the icon top left to upload your SCORM package. (Note that you must not unzip the package before upload.)The default (1) is to be able to upload a file. If your admin has added additional options in &#039;&#039;Site administration&amp;gt;Plugins&amp;gt;Activity modules&amp;gt;SCORM package&#039;&#039; then these will be available in a dropdown menu. (2) &lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormpackage.png|thumb|443px|Package settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alias/Shortcut====&lt;br /&gt;
If you access your SCORM package from a repository (such as [[File system repository]] or [[Private files]]) you can choose to create an alias/shortcut to it and then  set an update frequency to set how often Moodle should check to see if there is an updated zip. (See [[Working with files]] for more information on setting an alias/shortcut.)&lt;br /&gt;
&lt;br /&gt;
====Selecting an imsmanifest.xml====&lt;br /&gt;
&lt;br /&gt;
It it possible to select the imsmanifest.xml file and have it as an alias/shortcut. To do this, you need to have  created a [[File system repository]] and, when configuring it, allowed relative files. Extract your SCORM package into a folder there. When clicking on the Add button to add your SCORM package, select the file system repository folder with your SCORM package and browse for and select the imsmanfest.xml file, ensuring you  the option to create an alias/shortcut to the file. Save and display. (Note this method is only currently supported by the File system repository.)&lt;br /&gt;
&lt;br /&gt;
For more information with screenshots, see Dan Marsden&#039;s [http://danmarsden.com/blog/2013/09/24/managing-scorm-content-in-moodle-2-6/ blog post on Managing SCORM content]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Note: The settings (&#039;&#039;Type&#039;&#039;, &#039;&#039;URL&#039;&#039; and &#039;&#039;Auto-update frequency&#039;&#039;) are only available when configured globally. See &#039;&#039;&#039;Admin settings&#039;&#039;&#039; below.&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:26scormappearance.png|thumb|450px|Appearance settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
====Display package==== &lt;br /&gt;
Choose from current or new window. Note that if you choose a  new window, students need to ensure pop ups are enabled. &lt;br /&gt;
====Display course structure on entry page====&lt;br /&gt;
If this is enabled then the table of contents of the package will be displayed when the students clicks to access the package.&lt;br /&gt;
====Show Navigation====&lt;br /&gt;
This setting determines whether the navigation buttons are shown or not.&lt;br /&gt;
#No -they are hidden&lt;br /&gt;
#Under content - they are displayed underneath the SCORM package&lt;br /&gt;
#Floating - the navigation buttons are floating (with options to choose the position from the left and top)&lt;br /&gt;
&lt;br /&gt;
====Display attempt status====&lt;br /&gt;
You can choose whether to display a summary of the student&#039;s attempts on the entry page, on their [[Dashboard]] page or both. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The following settings become visible when &amp;quot;Show more&amp;quot; is clicked:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Width====&lt;br /&gt;
Stage size width as a css value, either % or pixels. Default is 100%. You can change to a different percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
====Height====&lt;br /&gt;
Stage size height as a css value, either % or pixels. Default is 500 pixels. You can change to a percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
&lt;br /&gt;
====Options====&lt;br /&gt;
There is a series of check boxes for:Allow the window to be resized ad scrolled, displaying directory links, location bar, menu bar, toolbar and/or status.&lt;br /&gt;
*&#039;&#039;&#039;Student skip content structure page&#039;&#039;&#039; - never, first access, always&lt;br /&gt;
*&#039;&#039;&#039;Disable preview mode&#039;&#039;&#039; - If this option is set to Yes, the Preview button in the view page of a SCORM/AICC Package activity will be hidden. The student can choose to preview (browse mode) the activity or attempt it in the normal mode. When a Learning Object is completed in preview (browse) mode, it&#039;s marked with browsed icon&lt;br /&gt;
*&#039;&#039;&#039;Display course structure in player&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Availability===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormavailability25.png|thumb|470px|Availability settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
Choose here the dates you wish the SCORM package to be available to students.&lt;br /&gt;
&lt;br /&gt;
===Grade===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgrading.png|thumb|339px|Grade settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Grading method====&lt;br /&gt;
** Learning Objects - This mode shows the number of completed/passed Learning Objects for the activity. The max value is the number of Package&#039;s Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.lesson_status, and does not report cmi.core.score.raw, then you should use this setting. &lt;br /&gt;
** Highest grade - The grade page will display the highest score obtained by users in all passed Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.score.raw, and does not report cmi.core.lesson_status, then you should use this setting, Average grade, or Sum grade. &lt;br /&gt;
** Average grade - If you choose this mode Moodle will calculate the average of all scores.&lt;br /&gt;
**Sum grade - With this mode all the scores will be added.&lt;br /&gt;
====Maximum grade====  &lt;br /&gt;
Not applicable if Grading Method is Learning objects. Usual setting is 100. If your SCO &#039;s high score is something other than 100, you should adjust this value appropriately. When grading Method is one of the score settings, then the gradebook grade is package score divided by this number.&lt;br /&gt;
&lt;br /&gt;
===Attempts management===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormattempts.png|thumb|416px|Attempts management screen expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Number of attempts====&lt;br /&gt;
Defines the number of attempts permitted to users. It works only with SCORM 1.2 and AICC packages. SCORM2004 has its own max attempts definition. &lt;br /&gt;
** The option to start a new attempt is provided by a checkbox above the &#039;&#039;&#039;Enter&#039;&#039;&#039; button on the content structure page, so be sure you&#039;re providing access to that page if you want to allow more than one attempt.&lt;br /&gt;
** An attempt is not complete until the cmi.core.lesson_status for the attempt is set to either &#039;completed&#039; or &#039;passed&#039;. After that, the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox is available to the learner.  &lt;br /&gt;
====Attempts grading====&lt;br /&gt;
When you permit multiple attempts for students, you can choose how to record the result in gradebook by first, last, average or highest settings.&lt;br /&gt;
* &#039;&#039;&#039;Display attempt status&#039;&#039;&#039; - If enabled, scores and grades for attempts are displayed on the SCORM outline page. This setting makes the block display more info to the user on the entry page to the SCORM and in the course overview block - if you turn it off it will display less info. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
====Force new attempt====&lt;br /&gt;
If this is enabled then every time the student accesses the package, it will count as a new attempt.&lt;br /&gt;
====Lock after final attempt====&lt;br /&gt;
If this is enabled then once a student has used up all their attempts, they can no longer access the SCORM package.&lt;br /&gt;
&lt;br /&gt;
===Compatibility settings===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormcompat.png|thumb|273px|Compatibility settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Auto-Continue==== &lt;br /&gt;
For SCORM packages that contain multiple learning objects (or SCO&#039;s) and Auto-continue is set to Yes, when a Learning Object calls the &amp;quot;close communication&amp;quot; method the next available object is launched automatically.If it is set to No, the users must use the navigation provided to continue to the next object. Many SCORM packages only contain a single learning object (or SCO) so this setting does not apply.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; If your package contains multiple branches Auto-Continue will only move from one object to the next within the same topic.&lt;br /&gt;
&lt;br /&gt;
====Force completed====&lt;br /&gt;
If this is enabled then the status of the current attempt is set to &amp;quot;complete&amp;quot;. Note that this only applies to SCORM 1.2 packages and is useful if the SCORM package does not handle revisiting an attempt correctly, in review or browse mode, or otherwise incorrectly issues the completion status.&lt;br /&gt;
&lt;br /&gt;
* Auto-update frequency - If not using a standard SCORM package uploaded using the filepicker and the SCORM package is hosted outside your Moodle installation the option to auto-update the package will be available - you can elect to have the package updated on every entry to the package or daily via the Moodle cron.&lt;br /&gt;
&lt;br /&gt;
===Common module settings===&lt;br /&gt;
&lt;br /&gt;
See [[Common module settings]]&lt;br /&gt;
&lt;br /&gt;
===Restrict access===&lt;br /&gt;
&lt;br /&gt;
These settings will be available if [[Conditional activities]] are enabled.&lt;br /&gt;
&lt;br /&gt;
===Activity completion settings===&lt;br /&gt;
&lt;br /&gt;
If this has been enabled for the course, then SCORM completion may be set based on minimum score or status (e.g. &amp;quot;Passed&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:scormscore1.png]]&lt;br /&gt;
&lt;br /&gt;
===Save settings===&lt;br /&gt;
&lt;br /&gt;
As in most activities there are 3 save button choices. &#039;&#039;&#039;Cancel&#039;&#039;&#039;, &#039;&#039;&#039;Save and return to course&#039;&#039;&#039; and &#039;&#039;&#039;Save changes&#039;&#039;&#039; buttons.  The Save changes button will take the teacher back to the SCORM &amp;quot;stage&amp;quot; page.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
These options are available to the site admin via &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Activity Modules &amp;gt; SCORM Package&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
===Default Value Settings===&lt;br /&gt;
Many of the settings available in the SCORM Package administration simply set the default value for the SCORM activity module setup options provided within courses. Edit these settings to save yourself time when adding large numbers of packages, or to establish a standard for presentation across the site.&lt;br /&gt;
&lt;br /&gt;
===Other Important Settings===&lt;br /&gt;
The following options provided which &#039;&#039;&#039;do not&#039;&#039;&#039; simply set a default value for the SCORM activity editing page view. &lt;br /&gt;
; Auto-update frequency&lt;br /&gt;
If not using a standard SCORM package uploaded using the filepicker and the SCORM package is hosted outside your Moodle installation the option to auto-update the package will be available - you can elect to have the package updated on every entry to the package or daily via the Moodle cron.&lt;br /&gt;
;Synchronization time&lt;br /&gt;
&lt;br /&gt;
;Enable SCORM 1.2 standard mode &lt;br /&gt;
:If this setting is disabled, then it will be possible to exceed the allowed amount of stored data for SCORM 1.2 packages. Many SCORM packages go over the 4096 characters limit and while SCORM 2004 allows a higher number of characters, it is not supported. This setting will mean users can allow their 1.2 packages to store more data.&lt;br /&gt;
;Enable external package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote imsmanifest.xml (in an unzipped remote SCORM package), as well as the file picker option provided by default. Note that the content is played from the designated location, and not unpacked into the Moodle file system. So if the base url is different from your moodle url then browser security will block cross-domain communcation and no grades/tracking information will be passed back to Moodle.&lt;br /&gt;
;Enable downloaded package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote package.zip SCORM package. Package is downloaded and unzipped into the Moodle file system.&lt;br /&gt;
;Enable IMS package type&lt;br /&gt;
:Enables a package to be selected from within an IMS repository&lt;br /&gt;
;Force users to enable JavaScript&lt;br /&gt;
:Since the SCORM API uses JavaScript to save data to Moodle, this is a great idea!&lt;br /&gt;
;Activate API debug and tracing (set the capture mask with apidebugmask)&lt;br /&gt;
:Turns on debugging for SCORM activities. In Moodle 2 you no longer have to also turn on debugging in the developer options. &lt;br /&gt;
;API debug capture mask&lt;br /&gt;
:.* will debug for admin user only: You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &#039;&#039;&#039;admin.*&#039;&#039;&#039; Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &#039;&#039;&#039;.*&#039;&#039;&#039; which translates roughly to &#039;&#039;&#039;everybody&#039;&#039;&#039;.&lt;br /&gt;
;Enable direct AICC url&lt;br /&gt;
:Makes it easier to connect to externally hosted AICC content as the teacher doesn&#039;t have to create an AICC package and is able to link directly to the external AICC url.&lt;br /&gt;
;Enable external AICC HACP&lt;br /&gt;
:The SCORM activity can also support external AICC HACP Communication where the AICC package is hosted on an external content providers site and passes back http requests directly from the external server instead of within the users web browser session - this is disabled by default.&lt;br /&gt;
;AICC pass numeric user id&lt;br /&gt;
{{New features}}&lt;br /&gt;
; Protect package downloads. &lt;br /&gt;
:This is disabled by default, meaning packages can always be downloaded (eg for offline mobile use.) If this is enabled then only users with the capability course:manageactivities can download the package.&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[:dev:SCORM_schema |SCORM Schema]] for developers&lt;br /&gt;
&lt;br /&gt;
[[de:Lernpaket konfigurieren]]&lt;br /&gt;
[[fr:Ajouter/modifier un SCORM]]&lt;br /&gt;
[[ja:SCORMを追加/編集する]]&lt;br /&gt;
[[es:Configuraciones del SCORM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=123047</id>
		<title>Managing plagiarism prevention</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=123047"/>
		<updated>2016-04-27T22:58:33Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Partially supported plugins */ Ephorus merged with Turnitin - no point listing separately.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Enabling plagiarism prevention==&lt;br /&gt;
&lt;br /&gt;
To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; [[Advanced features]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Enableplagiarism.png]]&lt;br /&gt;
&lt;br /&gt;
==Plagiarism prevention plugins==&lt;br /&gt;
&lt;br /&gt;
An administrator then needs to install and configure one or more plagiarism prevention plugins in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Plagiarism prevention &amp;gt; Plagiarism settings&#039;&#039;. Possible plugins include:&lt;br /&gt;
&lt;br /&gt;
=== Fully supported plugins ===&lt;br /&gt;
These are plugins that support plagiarism detection within the Moodle Assignment, Workshop and Forum activities.&lt;br /&gt;
*[[Plagiarism Prevention Compilatio|Compilatio]] - Commercial tool requires paid subscription&lt;br /&gt;
*[[Plagiarism Prevention Turnitin|Turnitin]] - Commercial tool requires paid subscription&lt;br /&gt;
*[[Plagiarism Prevention URKUND|URKUND]] - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_unplag UNPLAG] - Commercial tool requires paid subscription&lt;br /&gt;
&lt;br /&gt;
=== Partially supported plugins ===&lt;br /&gt;
These are plugins that currently only support the Moodle Assignment activity.&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_copycheck CopyCheck]  - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_plagiarisma PLAGIARISMA]  - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_plagscan PlagScan] - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_vericite Vericite]  - Commercial tool requires paid subscription&lt;br /&gt;
&lt;br /&gt;
== Other tools for managing plagiarism ==&lt;br /&gt;
*[[Acknowledge plagiarism statement access rule]] - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz.&lt;br /&gt;
*[https://moodle.org/plugins/view.php?plugin=quizaccess_safeexambrowser Safe Exam Browser quiz access rule] - Provides Safe Exam Browser 2.0 integration for Moodle.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[de:Plagiatsuche-Plugins verwalten]]&lt;br /&gt;
[[es:Gestionando prevención de plagio]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=123046</id>
		<title>Managing plagiarism prevention</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=123046"/>
		<updated>2016-04-27T22:52:00Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Plagiarism prevention plugins */ add details on other supported plugins.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Enabling plagiarism prevention==&lt;br /&gt;
&lt;br /&gt;
To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; [[Advanced features]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Enableplagiarism.png]]&lt;br /&gt;
&lt;br /&gt;
==Plagiarism prevention plugins==&lt;br /&gt;
&lt;br /&gt;
An administrator then needs to install and configure one or more plagiarism prevention plugins in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Plagiarism prevention &amp;gt; Plagiarism settings&#039;&#039;. Possible plugins include:&lt;br /&gt;
&lt;br /&gt;
=== Fully supported plugins ===&lt;br /&gt;
These are plugins that support plagiarism detection within the Moodle Assignment, Workshop and Forum activities.&lt;br /&gt;
*[[Plagiarism Prevention Compilatio|Compilatio]] - Commercial tool requires paid subscription&lt;br /&gt;
*[[Plagiarism Prevention Turnitin|Turnitin]] - Commercial tool requires paid subscription&lt;br /&gt;
*[[Plagiarism Prevention URKUND|URKUND]] - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_unplag UNPLAG] - Commercial tool requires paid subscription&lt;br /&gt;
&lt;br /&gt;
=== Partially supported plugins ===&lt;br /&gt;
These are plugins that currently only support the Moodle Assignment activity.&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_copycheck CopyCheck]  - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_ephorus Ephorus]  - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_plagiarisma PLAGIARISMA]  - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_plagscan PlagScan] - Commercial tool requires paid subscription&lt;br /&gt;
* [https://moodle.org/plugins/plagiarism_vericite Vericite]  - Commercial tool requires paid subscription&lt;br /&gt;
&lt;br /&gt;
== Other tools for managing plagiarism ==&lt;br /&gt;
*[[Acknowledge plagiarism statement access rule]] - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz.&lt;br /&gt;
*[https://moodle.org/plugins/view.php?plugin=quizaccess_safeexambrowser Safe Exam Browser quiz access rule] - Provides Safe Exam Browser 2.0 integration for Moodle.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[de:Plagiatsuche-Plugins verwalten]]&lt;br /&gt;
[[es:Gestionando prevención de plagio]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=123045</id>
		<title>Managing plagiarism prevention</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=123045"/>
		<updated>2016-04-27T22:34:30Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Plagiarism prevention plugins */  remove crot from list as not supported in latest versions.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Enabling plagiarism prevention==&lt;br /&gt;
&lt;br /&gt;
To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; [[Advanced features]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Enableplagiarism.png]]&lt;br /&gt;
&lt;br /&gt;
==Plagiarism prevention plugins==&lt;br /&gt;
&lt;br /&gt;
An administrator then needs to install and configure one or more plagiarism prevention plugins in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Plagiarism prevention &amp;gt; Plagiarism settings&#039;&#039;. Possible plugins include:&lt;br /&gt;
&lt;br /&gt;
*[[Plagiarism Prevention Compilatio|Compilatio]] - Commercial tool requires subscription&lt;br /&gt;
*[[Plagiarism Prevention Moss|Moss]] - Free for non-commercial usage&lt;br /&gt;
*[[Programming_Code_Plagiarism_Plugin|Programming]] - supports Moss and Jplag&lt;br /&gt;
*[[Plagiarism Prevention Turnitin|Turnitin]] - Commercial tool requires subscription&lt;br /&gt;
*[[Plagiarism Prevention URKUND|URKUND]] - Commercial tool requires subscription&lt;br /&gt;
&lt;br /&gt;
== Other tools for managing plagiarism ==&lt;br /&gt;
*[[Acknowledge plagiarism statement access rule]] - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz.&lt;br /&gt;
*[https://moodle.org/plugins/view.php?plugin=quizaccess_safeexambrowser Safe Exam Browser quiz access rule] - Provides Safe Exam Browser 2.0 integration for Moodle.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[de:Plagiatsuche-Plugins verwalten]]&lt;br /&gt;
[[es:Gestionando prevención de plagio]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=File:UrkundAssignmentSettings.png&amp;diff=122939</id>
		<title>File:UrkundAssignmentSettings.png</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=File:UrkundAssignmentSettings.png&amp;diff=122939"/>
		<updated>2016-04-16T06:35:07Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: Danmarsden uploaded a new version of File:UrkundAssignmentSettings.png&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Settings displayed to a teacher when creating a Module that allows URKUND&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=121830</id>
		<title>Plagiarism Prevention URKUND Settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=121830"/>
		<updated>2015-12-14T09:30:57Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Global Configuration of URKUND */ legacy log store no longer used.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Activation of your URKUND Account==&lt;br /&gt;
# obtain a URKUND Subscription from [http://www.urkund.com www.urkund.com]&lt;br /&gt;
&lt;br /&gt;
==Installation of the plugin ==&lt;br /&gt;
=== Installation using Git ===&lt;br /&gt;
from the root of your install:&lt;br /&gt;
  git clone git://github.com/danmarsden/moodle-plagiarism_urkund.git plagiarism/urkund&lt;br /&gt;
then add plagairism/urkund to your .gitignore&lt;br /&gt;
Visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
=== Installation using a Zip file ===&lt;br /&gt;
Download the zip:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/zipball/master&lt;br /&gt;
or the tar.gz:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/tarball/master&lt;br /&gt;
&lt;br /&gt;
Then Extract these files into a new folder under /plagiarism/urkund and visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
&lt;br /&gt;
=== Installation failed due to unprocessed data ===&lt;br /&gt;
This error may occur when you try to upgrade to a version of the URKUND plugin that uses the new Moodle events API - it occurs when your installation contains unprocessed events related to the old API. If we ignored these events and upgraded then it is possible that some previously submitted files will not be sent to Urkund for processing. &lt;br /&gt;
&lt;br /&gt;
This is most likely to have occurred if a user has submitted an assignment since the last time your scheduled task process was run.&lt;br /&gt;
&lt;br /&gt;
There was also a recent issue related to group-based assignments that could cause a backlog of events - you may want to apply [https://github.com/danmarsden/moodle-plagiarism_urkund/issues/44 this fix] to your old version of the code to address this. Alternatively use [https://github.com/danmarsden/moodle-plagiarism_urkund/archive/3fe13052eb368faf2bfcb9ccf81aff21263192a7.zip this link] to download an complete version of the URKUND plugin that includes the fix related to the backlog of events.&lt;br /&gt;
&lt;br /&gt;
You can see a list of the queued events in your database by running the following sql query(eventdata is [https://github.com/danmarsden/moodle-plagiarism_urkund/blob/310b498a9e6fcf9e757c0f925878121a78381e95/urkund_debug.php#L171 base64 encoded and serialized]):&lt;br /&gt;
    SELECT qh.id, qh.status, qh.timemodified, eq.eventdata, eq.stackdump, eq.userid, eh.eventname,&lt;br /&gt;
                   eh.component, eh.handlerfile, eh.handlerfunction&lt;br /&gt;
                  FROM mdl_events_queue_handlers qh&lt;br /&gt;
                  JOIN mdl_events_queue eq ON eq.id = qh.queuedeventid&lt;br /&gt;
                  JOIN mdl_events_handlers eh ON eh.id = qh.handlerid&lt;br /&gt;
                  WHERE (eh.eventname = &#039;assessable_file_uploaded&#039; or eh.eventname = &#039;assessable_content_uploaded&#039; or eh.eventname = &#039;assessable_submitted&#039;)&lt;br /&gt;
&lt;br /&gt;
To clear these events normally, you should revert the urkund code to using an earlier version, place the site into maintenance mode (to prevent any other submissions from occurring) run the cron process (sometimes multiple calls are required) until the above sql returns no results. If you have an event in the list with a high &amp;quot;qh.status&amp;quot; value it is possible that this event is causing the queue to block. You could relatively safely try deleting any records with a qh.status higher than 5 and then run cron multiple times until the queue is cleared, and then try to upgrade to the new version of the URKUND plugin.&lt;br /&gt;
&lt;br /&gt;
If you are not concerned about these events and it does not matter if these submissions do not get posted to URKUND for processing you can run the following SQL command to clear the queue and allow the upgrade to continue.&lt;br /&gt;
    DELETE FROM mdl_events_queue_handlers WHERE handlerid IN (SELECT id FROM mdl_events_handlers WHERE component = &#039;plagiarism_urkund&#039;)&lt;br /&gt;
&lt;br /&gt;
==Global Configuration of URKUND==&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Advanced Features&#039;&#039; find the setting “Enable plagiarism plugins” - make sure the box is ticked.[[File:Enableplagiarism.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Plugins &amp;gt; Plagiarism Prevention &amp;gt; URKUND&#039;&#039;&lt;br /&gt;
## Tick the box &amp;quot;Use URKUND&amp;quot;&lt;br /&gt;
## Enter your URKUND UIS username &lt;br /&gt;
## Enter your URKUND UIS password&lt;br /&gt;
## Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the URKUND system is in use. [[File:Urkundsettings.png]]&lt;br /&gt;
# in the page &#039;&#039;Admin &amp;gt; Modules &amp;gt; Activities &amp;gt; URKUND&#039;&#039; click on the tab &amp;quot;URKUND Defaults&amp;quot;&lt;br /&gt;
## Configure the default settings to be used inside a Moodle module when creating/editing a new module. [[File:Urkunddefaults.png]]&lt;br /&gt;
&lt;br /&gt;
==Advanced Configuration==&lt;br /&gt;
The ability to enable/disable URKUND within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site.&lt;br /&gt;
If you want to force all assignments on your site to use URKUND and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_urkund:enable” from your teacher roles.&lt;br /&gt;
&lt;br /&gt;
You can also use this capability to selectively allow certain teachers to use URKUND by setting the default above “Enable URKUND” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable”  only to the teachers you want to be able to use URKUND&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=121564</id>
		<title>Plagiarism Prevention URKUND Settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=121564"/>
		<updated>2015-11-24T08:52:30Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Installation failed due to unprocessed data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Activation of your URKUND Account==&lt;br /&gt;
# obtain a URKUND Subscription from [http://www.urkund.com www.urkund.com]&lt;br /&gt;
&lt;br /&gt;
==Installation of the plugin ==&lt;br /&gt;
=== Installation using Git ===&lt;br /&gt;
from the root of your install:&lt;br /&gt;
  git clone git://github.com/danmarsden/moodle-plagiarism_urkund.git plagiarism/urkund&lt;br /&gt;
then add plagairism/urkund to your .gitignore&lt;br /&gt;
Visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
=== Installation using a Zip file ===&lt;br /&gt;
Download the zip:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/zipball/master&lt;br /&gt;
or the tar.gz:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/tarball/master&lt;br /&gt;
&lt;br /&gt;
Then Extract these files into a new folder under /plagiarism/urkund and visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
&lt;br /&gt;
=== Installation failed due to unprocessed data ===&lt;br /&gt;
This error may occur when you try to upgrade to a version of the URKUND plugin that uses the new Moodle events API - it occurs when your installation contains unprocessed events related to the old API. If we ignored these events and upgraded then it is possible that some previously submitted files will not be sent to Urkund for processing. &lt;br /&gt;
&lt;br /&gt;
This is most likely to have occurred if a user has submitted an assignment since the last time your scheduled task process was run.&lt;br /&gt;
&lt;br /&gt;
There was also a recent issue related to group-based assignments that could cause a backlog of events - you may want to apply [https://github.com/danmarsden/moodle-plagiarism_urkund/issues/44 this fix] to your old version of the code to address this. Alternatively use [https://github.com/danmarsden/moodle-plagiarism_urkund/archive/3fe13052eb368faf2bfcb9ccf81aff21263192a7.zip this link] to download an complete version of the URKUND plugin that includes the fix related to the backlog of events.&lt;br /&gt;
&lt;br /&gt;
You can see a list of the queued events in your database by running the following sql query(eventdata is [https://github.com/danmarsden/moodle-plagiarism_urkund/blob/310b498a9e6fcf9e757c0f925878121a78381e95/urkund_debug.php#L171 base64 encoded and serialized]):&lt;br /&gt;
    SELECT qh.id, qh.status, qh.timemodified, eq.eventdata, eq.stackdump, eq.userid, eh.eventname,&lt;br /&gt;
                   eh.component, eh.handlerfile, eh.handlerfunction&lt;br /&gt;
                  FROM mdl_events_queue_handlers qh&lt;br /&gt;
                  JOIN mdl_events_queue eq ON eq.id = qh.queuedeventid&lt;br /&gt;
                  JOIN mdl_events_handlers eh ON eh.id = qh.handlerid&lt;br /&gt;
                  WHERE (eh.eventname = &#039;assessable_file_uploaded&#039; or eh.eventname = &#039;assessable_content_uploaded&#039; or eh.eventname = &#039;assessable_submitted&#039;)&lt;br /&gt;
&lt;br /&gt;
To clear these events normally, you should revert the urkund code to using an earlier version, place the site into maintenance mode (to prevent any other submissions from occurring) run the cron process (sometimes multiple calls are required) until the above sql returns no results. If you have an event in the list with a high &amp;quot;qh.status&amp;quot; value it is possible that this event is causing the queue to block. You could relatively safely try deleting any records with a qh.status higher than 5 and then run cron multiple times until the queue is cleared, and then try to upgrade to the new version of the URKUND plugin.&lt;br /&gt;
&lt;br /&gt;
If you are not concerned about these events and it does not matter if these submissions do not get posted to URKUND for processing you can run the following SQL command to clear the queue and allow the upgrade to continue.&lt;br /&gt;
    DELETE FROM mdl_events_queue_handlers WHERE handlerid IN (SELECT id FROM mdl_events_handlers WHERE component = &#039;plagiarism_urkund&#039;)&lt;br /&gt;
&lt;br /&gt;
==Global Configuration of URKUND==&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Advanced Features&#039;&#039; find the setting “Enable plagiarism plugins” - make sure the box is ticked.[[File:Enableplagiarism.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Site administration &amp;gt;Plugins &amp;gt;Logging &amp;gt; Manage log stores&#039;&#039;. - make sure the &amp;quot;legacy log&amp;quot; store is enabled: [[File:logstores.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Plugins &amp;gt; Plagiarism Prevention &amp;gt; URKUND&#039;&#039;&lt;br /&gt;
## Tick the box &amp;quot;Use URKUND&amp;quot;&lt;br /&gt;
## Enter your URKUND UIS username &lt;br /&gt;
## Enter your URKUND UIS password&lt;br /&gt;
## Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the URKUND system is in use. [[File:Urkundsettings.png]]&lt;br /&gt;
# in the page &#039;&#039;Admin &amp;gt; Modules &amp;gt; Activities &amp;gt; URKUND&#039;&#039; click on the tab &amp;quot;URKUND Defaults&amp;quot;&lt;br /&gt;
## Configure the default settings to be used inside a Moodle module when creating/editing a new module. [[File:Urkunddefaults.png]]&lt;br /&gt;
&lt;br /&gt;
==Advanced Configuration==&lt;br /&gt;
The ability to enable/disable URKUND within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site.&lt;br /&gt;
If you want to force all assignments on your site to use URKUND and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_urkund:enable” from your teacher roles.&lt;br /&gt;
&lt;br /&gt;
You can also use this capability to selectively allow certain teachers to use URKUND by setting the default above “Enable URKUND” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable”  only to the teachers you want to be able to use URKUND&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=121563</id>
		<title>Plagiarism Prevention URKUND Settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=121563"/>
		<updated>2015-11-24T08:40:48Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: add details about possible upgrade failure.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Activation of your URKUND Account==&lt;br /&gt;
# obtain a URKUND Subscription from [http://www.urkund.com www.urkund.com]&lt;br /&gt;
&lt;br /&gt;
==Installation of the plugin ==&lt;br /&gt;
=== Installation using Git ===&lt;br /&gt;
from the root of your install:&lt;br /&gt;
  git clone git://github.com/danmarsden/moodle-plagiarism_urkund.git plagiarism/urkund&lt;br /&gt;
then add plagairism/urkund to your .gitignore&lt;br /&gt;
Visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
=== Installation using a Zip file ===&lt;br /&gt;
Download the zip:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/zipball/master&lt;br /&gt;
or the tar.gz:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/tarball/master&lt;br /&gt;
&lt;br /&gt;
Then Extract these files into a new folder under /plagiarism/urkund and visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
&lt;br /&gt;
=== Installation failed due to unprocessed data ===&lt;br /&gt;
This error may occur when you try to upgrade to a version of the URKUND plugin that uses the new Moodle events API - it occurs when your installation contains unprocessed events related to the old API. If we ignored these events and upgraded then it is possible that some previously submitted files will not be sent to Urkund for processing. &lt;br /&gt;
&lt;br /&gt;
This is most likely to have occurred if a user has submitted an assignment since the last time your scheduled task process was run.&lt;br /&gt;
&lt;br /&gt;
There was also a recent issue related to group-based assignments that could cause a backlog of events - you may want to apply [https://github.com/danmarsden/moodle-plagiarism_urkund/issues/44 this fix] to your old version of the code to address this. Alternatively use [https://github.com/danmarsden/moodle-plagiarism_urkund/archive/3fe13052eb368faf2bfcb9ccf81aff21263192a7.zip this link] to download an complete version of the URKUND plugin that includes the fix related to the backlog of events.&lt;br /&gt;
&lt;br /&gt;
You can see a list of the queued events in your database by running the following sql query(eventdata is [https://github.com/danmarsden/moodle-plagiarism_urkund/blob/310b498a9e6fcf9e757c0f925878121a78381e95/urkund_debug.php#L171 base64 encoded and serialized]):&lt;br /&gt;
    SELECT qh.id, qh.status, qh.timemodified, eq.eventdata, eq.stackdump, eq.userid, eh.eventname,&lt;br /&gt;
                   eh.component, eh.handlerfile, eh.handlerfunction&lt;br /&gt;
                  FROM mdl_events_queue_handlers qh&lt;br /&gt;
                  JOIN mdl_events_queue eq ON eq.id = qh.queuedeventid&lt;br /&gt;
                  JOIN mdl_events_handlers eh ON eh.id = qh.handlerid&lt;br /&gt;
                  WHERE (eh.eventname = &#039;assessable_file_uploaded&#039; or eh.eventname = &#039;assessable_content_uploaded&#039; or eh.eventname = &#039;assessable_submitted&#039;)&lt;br /&gt;
&lt;br /&gt;
If you are not concerned about these events and it does not matter if these submissions do not get posted to URKUND for processing you can run the following SQL command to clear the queue and allow the upgrade to continue.&lt;br /&gt;
    DELETE FROM mdl_events_queue_handlers WHERE handlerid IN (SELECT id FROM mdl_events_handlers WHERE component = &#039;plagiarism_urkund&#039;)&lt;br /&gt;
==Global Configuration of URKUND==&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Advanced Features&#039;&#039; find the setting “Enable plagiarism plugins” - make sure the box is ticked.[[File:Enableplagiarism.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Site administration &amp;gt;Plugins &amp;gt;Logging &amp;gt; Manage log stores&#039;&#039;. - make sure the &amp;quot;legacy log&amp;quot; store is enabled: [[File:logstores.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Plugins &amp;gt; Plagiarism Prevention &amp;gt; URKUND&#039;&#039;&lt;br /&gt;
## Tick the box &amp;quot;Use URKUND&amp;quot;&lt;br /&gt;
## Enter your URKUND UIS username &lt;br /&gt;
## Enter your URKUND UIS password&lt;br /&gt;
## Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the URKUND system is in use. [[File:Urkundsettings.png]]&lt;br /&gt;
# in the page &#039;&#039;Admin &amp;gt; Modules &amp;gt; Activities &amp;gt; URKUND&#039;&#039; click on the tab &amp;quot;URKUND Defaults&amp;quot;&lt;br /&gt;
## Configure the default settings to be used inside a Moodle module when creating/editing a new module. [[File:Urkunddefaults.png]]&lt;br /&gt;
&lt;br /&gt;
==Advanced Configuration==&lt;br /&gt;
The ability to enable/disable URKUND within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site.&lt;br /&gt;
If you want to force all assignments on your site to use URKUND and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_urkund:enable” from your teacher roles.&lt;br /&gt;
&lt;br /&gt;
You can also use this capability to selectively allow certain teachers to use URKUND by setting the default above “Enable URKUND” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable”  only to the teachers you want to be able to use URKUND&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Attendance_activity&amp;diff=119265</id>
		<title>Attendance activity</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Attendance_activity&amp;diff=119265"/>
		<updated>2015-07-12T23:50:50Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: remove some old cruft.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox plugin&lt;br /&gt;
|type = Activity module and optional block&lt;br /&gt;
|entry = https://moodle.org/plugins/browse.php?list=set&amp;amp;id=36&lt;br /&gt;
|tracker = https://github.com/danmarsden/moodle-mod_attendance/issues&lt;br /&gt;
|discussion = https://moodle.org/mod/forum/view.php?id=741&lt;br /&gt;
|maintainer = [[User:Dan Marsden|Dan Marsden]]&lt;br /&gt;
|float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Quick update, July 2013 ==&lt;br /&gt;
&lt;br /&gt;
# [https://moodle.org/mod/forum/discuss.php?d=228684#p997183 Artem Andreev] is no longer working on this plugin, [https://moodle.org/mod/forum/discuss.php?d=228684#p1006980 Dan Marsden] is now maintaining the plugin.&lt;br /&gt;
# The old module was previously named &#039;attforblock&#039; and has now been renamed to &#039;attendance&#039;&lt;br /&gt;
# at this stage no restore code has been written to allow backup files with old style &amp;quot;attforblock&amp;quot; to be restored into the renamed module.&lt;br /&gt;
#See the [http://moodle.org/mod/forum/view.php?id=741 Attendance module forum] for discussion and support on this module.&lt;br /&gt;
#Location on GIT of the recent versions: [http://github.com/danmarsden/moodle-mod_attendance Attendance module], [http://github.com/danmarsden/moodle-block_attendance Attendance block]&lt;br /&gt;
&lt;br /&gt;
===Introduction===&lt;br /&gt;
The &#039;&#039;&#039;Attendance&#039;&#039;&#039; [[Module|module]] is designed for &#039;&#039;teachers to be able take attendance&#039;&#039; during class, and for &#039;&#039;students to be able to view their own attendance record&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
A teacher can mark the attendance status of a student as &amp;quot;Present&amp;quot;, &amp;quot;Absent&amp;quot;, &amp;quot;Late&amp;quot;, or &amp;quot;Excused&amp;quot;. These status descriptions are configurable, and more can be added. The teacher adds Attendance as an activity of a course, and then sets up the sessions whose attendance is to be tracked.&lt;br /&gt;
&lt;br /&gt;
The Attendance module can generate reports for either the entire class or for individual students. Students may also see their own attendance record if the activity is not hidden.&lt;br /&gt;
&lt;br /&gt;
The optional [[Attendance_block|Attendance block]] allows teachers quick access to the Attendance functionality, and allows students quick access to a summary report for their own attendance. (A [[Block|block]] is a user interface element that can be added to Moodle screens.)&lt;br /&gt;
&lt;br /&gt;
=== History ===&lt;br /&gt;
&lt;br /&gt;
Attendance was originally a Moodle [[Block|block]] developed by Russell Jungwirth in 2003 (see post [http://moodle.org/mod/forum/discuss.php?d=2431]). In 2005, [http://moodle.org/user/view.php?id=18237 Dmitry Pupinin] picked up the reins and released version 1.0.2, his first version of the Attendance block (see post [http://moodle.org/mod/forum/discuss.php?d=33132#p158189]). In May 2007, Dmitry released a new version 2.0 suitable for Moodle 1.8. This release was a dramatic restructuring of code that resulted in a significant [[Module|module]] along with a small block (see post [http://moodle.org/mod/forum/discuss.php?d=71597]). Dmitry continued to develop the module and block through 2010.&lt;br /&gt;
&lt;br /&gt;
In November 2010, [http://moodle.org/user/profile.php?id=52322 Artem Andreev] updated the code to version 2.2 (see post [http://moodle.org/mod/forum/discuss.php?d=162960]) to add common and group session options and some user interface improvements. [http://moodle.org/user/view.php?id=1281787&amp;amp;course=5 Luis Ramón López] wrote modifications that added the ability to create multiple attendance instances in a single course; for example, one instance for laboratory activities and another instance for lecture periods (see post [http://moodle.org/mod/forum/discuss.php?d=162960#p724169]). Version 2.3 was released in January 2011. &amp;lt;!-- What is this version about, then? Why is it given alongside another version in the table in section Branches below? --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Immediately after the release of version 2.3, work began on porting the code to Moodle 2.x. In July 2011, Artem released Attendance version 2.4.0 (see post [http://moodle.org/mod/forum/discuss.php?d=181299]), a rewrite of the code as a [[Module|module]] with an optional [[Block|block]] for use with Moodle 2.x only. In July 2012, Artem released a new branch of version 2.4.0 updated to work with Moodle 2.3.&lt;br /&gt;
&lt;br /&gt;
In July 2013 Dan Marsden took over maintenance of the plugin and renamed the &amp;quot;attforblock&amp;quot; module to &amp;quot;attendance&amp;quot;&lt;br /&gt;
&lt;br /&gt;
There is another unrelated attendance plugin in the plugins database: https://moodle.org/plugins/view.php?plugin=mod_attendanceregister&lt;br /&gt;
&lt;br /&gt;
=== For developers ===&lt;br /&gt;
&lt;br /&gt;
The current version of the Attendance block and the Attendance module are hosted on Dan Marsden&#039;s github site.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
 |-&lt;br /&gt;
 ! Module&lt;br /&gt;
 ! Block&lt;br /&gt;
 |-&lt;br /&gt;
 | [https://github.com/danmarsden/moodle-mod_attendance/tree/master https://github.com/danmarsden/moodle-mod_attendance/tree/master]&lt;br /&gt;
 | [http://github.com/danmarsden/moodle-block_attendance/tree/master http://github.com/danmarsden/moodle-block_attendance/tree/master]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Upgrade from mod_attforblock to new mod_attendance ==&lt;br /&gt;
The new attendance module renames the attforblock module to attendance - when this module was first created you couldn&#039;t have a Module with the same name as a block - newer versions of Moodle allow this and in preparation for inclusion in the moodle.org plugins database we renamed &amp;quot;attforblock&amp;quot; to &amp;quot;attendance&amp;quot; - we have included some code to convert your old &amp;quot;attforblock&amp;quot; database entries to use the new &amp;quot;attendance&amp;quot; format.&lt;br /&gt;
# make sure you are running the latest attforblock code - the new attendance module will only allow upgrades from attforblock version 2012120700&lt;br /&gt;
# Download the new attendance module and install it in the usual place (in a folder called mod/attendance)&lt;br /&gt;
# remove the old &amp;quot;mod/attforblock&amp;quot; folder from your site (don&#039;t use the uninstall function in the admin menu unless you don&#039;t need to keep previously created attendance modules in your courses)&lt;br /&gt;
# Trigger the normal upgrade process by visiting admin &amp;gt; notifications and it will migrate the data from your old attforblock module to the newly named &amp;quot;attendance&amp;quot; module&lt;br /&gt;
&lt;br /&gt;
=== Upgrade info for Developers/Admins ===&lt;br /&gt;
The rename of the module only changes one of the database table names - attforblock to attendance, all the other tables are already prefixed with &#039;attendance&#039; so these aren&#039;t changed. The Moodle install process hits install.xml first which is a problem as it will fail as some of the tables listed in install.xml already exist. To work around this we abuse the mod/attendance/version.php file a bit. This file is included first when checking for upgrades so we do a check there to see if data from the old mod_attforblock still exists - it it does it renames the old &#039;attforblock&#039; table to &#039;attendance&#039; amd updates the record in the modules to rename it from &#039;attforblock&#039; to &#039;attendance&#039; - it also checks to make sure the old &#039;attforblock&#039; directory has been deleted and will only upgrade from attforblock versions higher than 2012120700 - it&#039;s possible this could be improved, pull requests are welcome. After the upgrade has completed you may want to remove the upgrade code from version.php as it will result in an extra few db queries every time the version.php files are loaded to avoid the small unnecessary performance impact that the code causes.&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
First, make sure you&#039;re familiar with page [[Installing contributed modules or plugins]].&lt;br /&gt;
&lt;br /&gt;
The installation can only be performed by a user who has both write access to the file structure on the computer hosting Moodle and administrator rights for the Moodle installation.&lt;br /&gt;
&lt;br /&gt;
=== Language files ===&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;language files&#039;&#039; for localizing the module are &#039;&#039;&#039;&amp;lt;code&amp;gt;.../attforblock/lang/&amp;lt;/code&amp;gt;&#039;&#039;&#039;&#039;&#039;language code&#039;&#039;&#039;&#039;&#039;&amp;lt;code&amp;gt;/attforblock.php&amp;lt;/code&amp;gt;&#039;&#039;&#039;. In order to customize the strings, you can&lt;br /&gt;
* either edit the language file(s) of the language(s) you&#039;re interested in, or&lt;br /&gt;
* edit the string definitions through Moodle itself when logged in as an administrator, via &#039;&#039;Settings &amp;amp;gt; Site administration &amp;amp;gt; Language &amp;amp;gt; Language customization&#039;&#039;. &#039;&#039;&#039;(Note: this method doesn&#039;t seem to work as of 4 Aug. 2012)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Note that the &#039;&#039;&#039;date format&#039;&#039;&#039; is controlled by the language file you install. As an example, assume that you&#039;re using the &#039;&#039;&#039;&amp;lt;code&amp;gt;en_us&amp;lt;/code&amp;gt;&#039;&#039;&#039; language file, which defines the date format as m.d.y.  In order to change the format to m/d/y, you could use the first method mentioned above, and edit the language definition file &#039;&#039;&#039;&amp;lt;code&amp;gt;.../attforblock/lang/en_us/attforblock.php&amp;lt;/code&amp;gt;&#039;&#039;&#039; and change the string definitions into this:&lt;br /&gt;
&lt;br /&gt;
 $string[&#039;strftimedm&#039;] = &#039;%m/%d&#039;;&lt;br /&gt;
 $string[&#039;strftimedmy&#039;] = &#039;%m/%d/%Y&#039;;&lt;br /&gt;
 $string[&#039;strftimedmyw&#039;] = &#039;%m/%d/%y&amp;amp;nbsp;(%a)&#039;;&lt;br /&gt;
 $string[&#039;strftimeshortdate&#039;] = &#039;%m/%d/%Y&#039;;&lt;br /&gt;
 $string[&#039;strftimedmyhm&#039;] = &#039;%m/%d/%Y %H:%M&#039;; // line added to allow multiple sessions in the same day&lt;br /&gt;
&lt;br /&gt;
Another example: if you&#039;re using the &#039;&#039;&#039;&amp;lt;code&amp;gt;en&amp;lt;/code&amp;gt;&#039;&#039;&#039; language file, and want to change the sting &amp;quot;Late&amp;quot; to &amp;quot;Tardy&amp;quot;, you could use the second method mentioned above, namely: &#039;&#039;&#039;(Note: this method doesn&#039;t seem to work as of 4 Aug. 2012)&#039;&#039;&#039;&lt;br /&gt;
* log in as an administrator;&lt;br /&gt;
* click &#039;&#039;Settings &amp;amp;gt; Site administration &amp;amp;gt; Language &amp;amp;gt; Language customization&#039;&#039;;&lt;br /&gt;
* choose &amp;quot;English (en)&amp;quot; from the pull-down menu, which is shown if more than one language pack has been installed;&lt;br /&gt;
* click on the &#039;&#039;Open language pack for editing&#039;&#039; button;&lt;br /&gt;
* after the language pack has been loaded, click on the &#039;&#039;Continue&#039;&#039; button;&lt;br /&gt;
* in the &amp;quot;Filter strings&amp;quot; screen&#039;s component list, scroll down to the bolded &amp;quot;mod&amp;quot; heading, and then click on the &amp;quot;attforblock.php&amp;quot; line under it;&lt;br /&gt;
** (note: you could also reduce the number of strings shown, for example by writing &amp;quot;Late&amp;quot; in the &amp;quot;Only strings containing&amp;quot; filter input line)&lt;br /&gt;
* click on the &#039;&#039;Show strings&#039;&#039; button;&lt;br /&gt;
* scroll down until you find the string &#039;&#039;Lfull&#039;&#039;, whose definition is &amp;quot;Late&amp;quot;;&lt;br /&gt;
* write &amp;quot;Tardy&amp;quot; in the edit box to the right;&lt;br /&gt;
* (you might also want to change the definition of the string &#039;&#039;Lacronym&#039;&#039; from &amp;quot;L&amp;quot; to &amp;quot;T&amp;quot;;)&lt;br /&gt;
* click on the &#039;&#039;Save changes to the language pack&#039;&#039; button on the bottom of the screen; and&lt;br /&gt;
* in the confirmation screen, click on the &#039;&#039;Continue&#039;&#039; button.&lt;br /&gt;
&lt;br /&gt;
== Teacher&#039;s usage instructions ==&lt;br /&gt;
&lt;br /&gt;
=== Adding an Attendance Activity instance ===&lt;br /&gt;
&lt;br /&gt;
After the attendance module has been properly installed, the teacher must add Attendance as an activity to each course they wish to keep attendance for. This is done by first ensuring that you are in the edit mode and then selecting &amp;quot;Add an activity or resource&amp;quot; in a Moodle [[Course_sections|section]] box. Note that you may now add as many instances of the Attendance module as you like, and that each instance may have multiple sections. Be sure to give the instance a name that indicates what it will be used for; for example, &amp;quot;Lecture Attendance&amp;quot;. If you will be using groups in your course, set the Group mode accordingly, because even if groups exist in the course, you will not be able to use them within the Attendance module if you select &#039;&#039;No groups&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Once you have added an attendance instance, you are ready to start taking attendance during classes.&lt;br /&gt;
&lt;br /&gt;
=== Adding an Attendance block to a course page ===&lt;br /&gt;
&lt;br /&gt;
For a shortcut to attendance information for both teachers and students, it is recommended that you install the associated [[Attendance_block|Attendance block]] (see the installation instructions above). If you have done so, you also need to add the Attendance block to your course page, like this:&lt;br /&gt;
&lt;br /&gt;
* Turn editing on.&lt;br /&gt;
* Find the block entitled &amp;quot;Add a block.&amp;quot;&lt;br /&gt;
* In the drop-down menu in this block, select &#039;&#039;Attendance&#039;&#039; to add the Attendance block.&lt;br /&gt;
* As always, move the block to fit your viewing preference.&lt;br /&gt;
&lt;br /&gt;
=== Setting Attendance categories and grading options ===&lt;br /&gt;
&lt;br /&gt;
Now it is time to set your attendance options. Select your attendance activity and you will see a bar of options, the last of which is &amp;quot;Settings.&amp;quot; Select &amp;quot;Settings&amp;quot; and you are presented with acronyms, attendance status descriptions, and grade (points) to assign. By default, the status descriptions are &amp;quot;Present&amp;quot;, &amp;quot;Absent&amp;quot;, &amp;quot;Late&amp;quot;, and &amp;quot;Excused&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
You may prefer to change the descriptions (for example, by changing &amp;quot;Late&amp;quot; to &amp;quot;Tardy&amp;quot;), change the way points are counted, or add new status descriptions. To do the latter, fill in the fifth line and click the &#039;&#039;Add&#039;&#039; button. Important: when you hit the &#039;&#039;Add&#039;&#039; button, any changes made to existing options that were made after the last time the &#039;&#039;Update&#039;&#039; button was used will be lost. Likewise, when you hit the &#039;&#039;Update&#039;&#039; button, any changes made to the &#039;&#039;Add&#039;&#039; after the last time the &#039;&#039;Add&#039;&#039; button was hit will be lost.&lt;br /&gt;
&lt;br /&gt;
Finally, when you are done changing items on this page, be sure to click the &#039;&#039;Update&#039;&#039; button to register the changes.&lt;br /&gt;
&lt;br /&gt;
=== Adding sessions ===&lt;br /&gt;
&lt;br /&gt;
Next, it is time to add sessions. To add class sections, click the &#039;&#039;Add&#039;&#039; tab (second from left) at the top of the Attendance page. Alternatively, you can click the &#039;&#039;Add&#039;&#039; button from the Attendance block (if you&#039;ve installed it) to directly navigate to the page for adding sessions. If you chose &amp;quot;No groups&amp;quot;, or have not defined groups, then the Session type will be forced to &amp;quot;Common.&amp;quot; If you have defined groups and have chosen to use them in your course&#039;s Attendance activity, then you will have the option to create sessions for a group or all students.&lt;br /&gt;
&lt;br /&gt;
You have two options for adding sessions, adding a single session or adding multiple sessions. The single session is self-explanatory as well as time-consuming to use when you have many class sessions, so we will go straight to the more useful option.&lt;br /&gt;
&lt;br /&gt;
Check the &#039;&#039;Create multiple sessions&#039;&#039; button. Select the date and time for the first session you wish to add, followed by the duration of the session. Then, enter the date for the last session you wish to add. Since most classes do not meet seven days a week, select the checkboxes for days the class meets. The final option, frequency, may look confusing but it is actually straightforward: if your class meets every week, as is typical, then you want a frequency of 1 week, which is the default. If your class meets every other week, then select a frequency of 2 weeks, and so on. If you wish, you may type a description for the sessions you are creating. If you leave the description field blank, it will default to &amp;quot;Regular class session&amp;quot;. Finally, click the &#039;&#039;Add multiple sessions&#039;&#039; button to create your sessions. You will see a message confirming this.&lt;br /&gt;
&lt;br /&gt;
=== Editing sessions ===&lt;br /&gt;
&lt;br /&gt;
Click on the &#039;&#039;Attendance&#039;&#039; tab. &amp;lt;!-- Attendance tab of what page? --&amp;gt; Here, you will see the list of all attendance sessions you have added. You can delete an individual session by clicking the X on the session rectangle&#039;s right-hand side. Alternatively, you can check the checkboxes of each session you wish to delete, and then choose &amp;quot;Delete&amp;quot; from the pull-down menu at the bottom right-hand corner of the page to delete all the selected sessions.&lt;br /&gt;
&lt;br /&gt;
You can edit a session &amp;amp;mdash; for example, to change its date or description &amp;amp;mdash; by clicking the hand icon on the session rectangle&#039;s right-hand side.&lt;br /&gt;
&lt;br /&gt;
=== Taking attendance ===&lt;br /&gt;
&lt;br /&gt;
Finally, we get to using the module for its intended purpose. You can take attendance for a session by clicking on the green radio button on the session rectangle&#039;s right-hand side. Those sessions whose attendance has already been taken do not have the green button. However, the description is a link that takes you to a screen for modifying the attendance record for that session.&lt;br /&gt;
&lt;br /&gt;
Note that when taking attendance, the column headings for attendance status are links. If you click one of these column headings, all students will have their status changed to the status you selected. Thus, if everyone is present, you can merely click the &#039;&#039;P&#039;&#039; column header to change everyone&#039;s status to &amp;quot;Present&amp;quot;. If only one person is absent, you could first click &#039;&#039;P&#039;&#039; to set everyone&#039;s status to &amp;quot;Present&amp;quot;, and then set the absent student&#039;s status to &amp;quot;Absent&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Enter remarks as appropriate &amp;amp;mdash; for example, the reason for an absence if known, or the number of minutes a student was late &amp;amp;mdash; and click the &#039;&#039;OK&#039;&#039; button to record the information.&lt;br /&gt;
&lt;br /&gt;
=== Reports ===&lt;br /&gt;
&lt;br /&gt;
You can generate attendance reports on sessions:&lt;br /&gt;
* Select the Attendance activity of the course and session you&#039;re interested in.&lt;br /&gt;
* Click on the &#039;&#039;Export&#039;&#039; tab near the top.&lt;br /&gt;
* Change the export settings if you wish.&lt;br /&gt;
* From the &#039;&#039;Format&#039;&#039; pull-down menu, select the file format you&#039;d like to export the attendance report in.&lt;br /&gt;
* Click on the &#039;&#039;OK&#039;&#039; button.&lt;br /&gt;
* Your browser will now probably ask you to either display or save the file.&lt;br /&gt;
&lt;br /&gt;
One teacher&#039;s style of using the Attendance module, useful in those (probably frequent) situations where there&#039;s no access to Moodle in the classroom, is to first take attendance on paper, and then to transfer the information to Moodle later. To ease this task, one can print a monthly report before the start of the month and use the printout for recording attendance during class. This method has the added advantage of having a picture on the printed report for each student who has uploaded their photo to Moodle.  &#039;&#039;&#039;(as of 4 Aug. 2012, can&#039;t see this feature working)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Discuss the module ==&lt;br /&gt;
&lt;br /&gt;
If you have an idea about new features, or need support on using the module, participate in the discussion on the [http://moodle.org/mod/forum/view.php?f=125 Attendance module forum].&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Git for Administrators]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[ja:出欠]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Creating_SCORM_Content&amp;diff=118912</id>
		<title>Creating SCORM Content</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Creating_SCORM_Content&amp;diff=118912"/>
		<updated>2015-06-18T01:04:58Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* SoftChalk */ remove generic SCORM statements - this is not the place for educating users on what SCORM is... it should state the features available within the product.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
&lt;br /&gt;
==Creating SCORM Content==&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
Some people hand-code SCORM objects using HTML, JavaScript, and sometimes SWF files. There are some templates provided by ADL and by others, which make this process easier. &lt;br /&gt;
&lt;br /&gt;
Others use SCORM authoring software to generate SCORM packages. This process is easier for non-technical users, but not as foolproof.&lt;br /&gt;
&lt;br /&gt;
==Find existing SCORM packages==&lt;br /&gt;
You can find SCORM packages on [http://moodle.net/mod/data/view.php?d=1&amp;amp;mode=list&amp;amp;perpage=10&amp;amp;search=&amp;amp;sort=0&amp;amp;order=DESC&amp;amp;advanced=0&amp;amp;filter=1&amp;amp;advanced=1&amp;amp;f_2=SCORM+package&amp;amp;f_11=&amp;amp;f_13=&amp;amp;f_12=&amp;amp;f_9=&amp;amp;f_8= Moodle.net] Please feel free to add yours to the database.&lt;br /&gt;
&lt;br /&gt;
==Before Investing in SCORM Authoring Software==&lt;br /&gt;
Please be aware that vendors can edit entries on this wiki page. No SCORM authoring software is without bugs, and some have significant issues when used with Moodle. Just because products are listed on this page does not mean that Moodle.org either supports or endorses them. Be sure to test all products extensively before purchase, and be sure that the built-in Moodle authoring tools will not meet your needs. Also take the time to search for past issues with a particular product in the Using Moodle SCORM forum, and read the rest of the Moodle SCORM documentation.&lt;br /&gt;
&lt;br /&gt;
Many of these products piggyback on Powerpoint&amp;amp;reg;, or present talking head video to a learner. Powerpoint presentations and talking heads do not promote social learning. It is valuable to consider, before embarking upon SCORM development, whether your organization wants to limit itself to the pedagogical approaches provided by the SCORM API.&lt;br /&gt;
&lt;br /&gt;
It is also important to know that one does not need to purchase or obtain any product in order to produce SCORM content. SCORM content is a collection of HTML, JavaScript, and multimedia files, all of which can be produced by regular humans. Humans are, in addition, capable of testing your content in your LMS and writing code which addresses the nuances of your LMS, a valuable service which authorware does not provide. &lt;br /&gt;
&lt;br /&gt;
In addition, an authorware production model, in which non-programmers produce content using graphical user interfaces, can present issues because non-programmers do not understand some of the basic tenets of the Web. It is a good idea to educate authorware users about best practices with regard to issues such as file size, file naming conventions, how to publish images for the Web, and so forth, before turning them loose with an authorware product.&lt;br /&gt;
&lt;br /&gt;
==Tools for Authoring==&lt;br /&gt;
Here is a list of tools to create SCORM packages, both open source and commercial.  Moodle is a modular authoring tool for courses but at this time does not create SCORM packages.&lt;br /&gt;
&lt;br /&gt;
==Creating Reusable Content in SCORM 2004 Video Webinar==&lt;br /&gt;
&lt;br /&gt;
This is the perfect video webinar for instructional designers who need to start developing e-learning content for use in a SCORM 2004-compliant LMS. Available when you need and where you need it, this webinar will give you a basic understanding of how to start developing reusable content. While intended for a SCORM 2004 audience, many of the considerations for re-use can be utilized by SCORM 1.2 developers.&lt;br /&gt;
&lt;br /&gt;
* Part 1: Introduction&lt;br /&gt;
* Part 2: Key Terminology&lt;br /&gt;
* Part 3: Data Model Elements&lt;br /&gt;
* Part 4: Reuse&lt;br /&gt;
* Part 5: Designing Reusable Content&lt;br /&gt;
&lt;br /&gt;
You are advise to watch the above videos on ADL&#039;s [http://www.adlnet.gov/creating-reusable-content-in-scorm-2004-video-webinar SCORM 2004 Video Webinar] wesite.&lt;br /&gt;
&lt;br /&gt;
==Free OpenSource==&lt;br /&gt;
=== eXe OPEN SOURCE SCORM Development Package ===&lt;br /&gt;
The eXe project is developing a freely available Open Source authoring application to assist teachers and academics in the publishing of web content without the need to become proficient in HTML or XML markup. Resources authored in eXe can be exported in IMS Content Package, SCORM 1.2, or IMS Common Cartridge formats or as simple self-contained web pages.&lt;br /&gt;
&lt;br /&gt;
The original project: &lt;br /&gt;
&lt;br /&gt;
http://exelearning.org/&lt;br /&gt;
&lt;br /&gt;
The new eXeLearning:&lt;br /&gt;
&lt;br /&gt;
http://exelearning.net/?lang=en&lt;br /&gt;
&lt;br /&gt;
=== ScenariChain Opale / OpaleSup ===&lt;br /&gt;
Website and community : http://scenari-platform.org/projects/scenari/en/pres/co/&lt;br /&gt;
&lt;br /&gt;
=== Xerte OPEN SOURCE SCORM Development Package ===&lt;br /&gt;
The Xerte Project provides a full suite of open source tools for elearning developers and content authors producing interactive learning materials.&lt;br /&gt;
&lt;br /&gt;
Standalone tool: Xerte http://www.nottingham.ac.uk/xerte/&lt;br /&gt;
&lt;br /&gt;
Online tool: Toolkits http://www.nottingham.ac.uk/xerte/toolkits.aspx&lt;br /&gt;
&lt;br /&gt;
==Freeware not OpenSource==&lt;br /&gt;
=== Courselab ===&lt;br /&gt;
CourseLab is a free program but is not open source.  Feb 2009 current version is 2.4.  Received an eLearnings Best of 2007 award.&lt;br /&gt;
&lt;br /&gt;
CourseLab version 2.4 has a few bugs. First is with audio. Sometimes (for some reason not known to CourseLab) the audio will restart, creating an echo effect. You will need to un-check the &amp;quot;autostart&amp;quot; mark of the Video object (vidoe object is used to insert audio too)and then define an action on some event that fits the case (for example on the slide&#039;s afterdisplay event) choose METHOD (yourvideoobject, PLAY. this will play the audio after the slide is displayed.&lt;br /&gt;
&lt;br /&gt;
Another issue is with FireFox browsers displaying graphics with CourseLab. It is stated in user&#039;s manual that some objects utilize Explorer-specific features and author should avoid using them, if he wants to use the course in multi-browser environment. These are: Gradient Box and all AutoShapes. AutoShapes are VML-objects and VML (Vector Markup Language) is not supported by FireFox. SVG (Scalable Vector Graphics - another vector format) could be the good alternative, but there are still problems with displaying inline SVG-objects in both Gecko-family and IE. (from CourseLab Support)&lt;br /&gt;
&lt;br /&gt;
If these FireFox/Image display problems are not an issue then be sure to install the latest browser plug-ins. If you present content to non-IE users, do not use this authoring package.&lt;br /&gt;
&lt;br /&gt;
There are some problems with Moodle configuration see http://moodle.org/mod/forum/discuss.php?d=96338#p425335&lt;br /&gt;
&lt;br /&gt;
[http://www.courselab.com/  CourseLab home page]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Easygenerator===&lt;br /&gt;
Easygenerator has a free edition but it is not open source.  SaaS based platform in connection to a windows application. Collaborative and special thanks to adaptive options for courses, lot of features like powerpoint import, WYSIWYG interface, Template based. Is now on version 8.3.&lt;br /&gt;
Use the HTML publication to the web, school/university intranet, blog, Facebook or your app. Use Scorm 1.2 or 2004 for any LMS. SCORM, You can track and trace learners’ results through Scorm or Xapi.&lt;br /&gt;
Using easygenerator ensures your developed courses will be optimized for any device: desktop, tablet or smartphone. Create content once and publish courses for any l device without having to recreate the course.&lt;br /&gt;
Publish to a website, blog, Facebook or app and track and trace learners advancements through TinCan (Xapi).&lt;br /&gt;
Easygenerator comes with multiple question types to help create the most engaging courses: Multiple Choice, Multiple select, Drag and Drop Text and fill in the blanks.&lt;br /&gt;
Co-Author with multiple domain experts, invite subject matter experts to review your course without requiring additional licences.&lt;br /&gt;
Build Instructional sound courses fast with easygenerator templates: Quiz, Examn, Adaptive Learning templates and the simple course template.&lt;br /&gt;
&lt;br /&gt;
Homepage:  [http://www.easygenerator.com/  Easygenerator&#039;s home page]&lt;br /&gt;
Signup: [http://www.easygenerator.com/register  for instant activation]&lt;br /&gt;
&lt;br /&gt;
=== Free QuizMaker by iSpring ===&lt;br /&gt;
[[Image:free-quizmaker.jpg|thumb|Free QuizMaker by iSpring]]&lt;br /&gt;
&lt;br /&gt;
With a free, full-featured QuizMaker by iSpring you can quickly develop Flash-based quizzes and surveys. Easy and fast, it ensures rapid authoring of True/False, Multiple Choice and Multiple Response quizzes and surveys. In addition, you can enhance quizzes with audio, video, images and formulas. [http://www.ispringsolutions.com/free-quiz-maker View sample quizzes]. Advanced functions allow you to insert slides with additional info, and create random sequencing of questions and possible answers in a question.&lt;br /&gt;
&lt;br /&gt;
Quizzes and surveys created with Free QuizMaker are compatible with SCORM 2004 R3 standard and can be easily integrated with Moodle CMS.&lt;br /&gt;
&lt;br /&gt;
[http://www.ispringsolutions.com/free-quiz-maker Download Free QuizMaker by iSpring]&lt;br /&gt;
&lt;br /&gt;
=== iSpring Free ===&lt;br /&gt;
[[Image:Ispring-free-toolbar.jpg|thumb|iSpring PowerPoint add-in]]&lt;br /&gt;
&lt;br /&gt;
With iSpring freeware you can create SCORM-compliant e-learning courses that can be integrated with Moodle CMS. Easy for both experts and non-tech users, iSpring Free works as a PowerPoint add-in, accurately converting PowerPoint presentations into Flash courses. Use PowerPoint to its fullest advantage as iSpring features:&lt;br /&gt;
&lt;br /&gt;
* Virtually all PowerPoint animation and slide transition support&lt;br /&gt;
* Trigger animation support&lt;br /&gt;
* Hyperlinks and action buttons&lt;br /&gt;
[[Image:ispring-free.jpg‎ |thumb|iSpring Free publish window]]&lt;br /&gt;
* Custom aspect ratio for slides&lt;br /&gt;
* YouTube and Flash video insertion&lt;br /&gt;
* SCORM 2004 r3 compliant course authoring&lt;br /&gt;
* Compliancy with PowerPoint 2003/2007/2010 (32-bit and 64-bit versions)&lt;br /&gt;
&lt;br /&gt;
[http://www.ispringsolutions.com/free_powerpoint_to_flash_converter.html  Download iSpring Free].&lt;br /&gt;
&lt;br /&gt;
iSpring Free with its ease of use, conversion accuracy and SCORM compliance is a great choice considering that it can be used free of charge commercially and non-commercially.&lt;br /&gt;
&lt;br /&gt;
=== MOS Solo ===&lt;br /&gt;
SCORM 2004 authoring tool. Entirely free.&lt;br /&gt;
&lt;br /&gt;
http://www.mindonsite.com/en/produits/mos-solo/&lt;br /&gt;
&lt;br /&gt;
=== MyUdutu ===&lt;br /&gt;
Free software for creating elearning courses with flash interactivity. Website here: http://www.udutu.com/ and an explanatory video here: http://www.udutu.com/my_udutu_video.html It is free to sign up and make the courses - there are many customisable templates enabling users to import images/video/audio/etc and incorporate them into scored questions of varying formats. The finished course can be exported as SCORM 2004 or SCORM 1.2 compliant -again for free and then hosted on a Moodle or other site. (The courses can also be hosted on the udutu site, either for free but with a watermark or for a fee) Quite intuitive to use and offering many features, it is however dependent on good connection to the site as it is created online. Also doesn&#039;t seem to like working in Opera.&lt;br /&gt;
&lt;br /&gt;
=== Reload ===&lt;br /&gt;
Reusable eLearning Object Authoring and Delivery - NB it is rather technical and may only be suitable for those with an understanding of HTML and the underlying SCORM specification.&lt;br /&gt;
&lt;br /&gt;
One problem with Reload is that it sometimes places the imsmanifest file 2 directories deep in the published SCORM package. For the solution to this issue, see https://docs.moodle.org/en/SCORM_FAQ#Manifest_not_found_error &lt;br /&gt;
&lt;br /&gt;
http://www.reload.ac.uk/&lt;br /&gt;
&lt;br /&gt;
==Commercial==&lt;br /&gt;
===ActivePresenter===&lt;br /&gt;
ActivePresenter allows you to create interactive contents with branching capabilities, quizzes, audios, videos, closed captions, zoom effects, annotations with flexible hotspot, object styling, integration with LMS (SCORM 1.2 and SCORM 2004). The outputs can use Flash or without using Flash (CSS + HTML + JavaScript). It is suitable for creating software demonstrations, presentations, tutorials, assessments, and surveys. More information can be found at http://atomisystems.com.&lt;br /&gt;
&lt;br /&gt;
===Articulate===&lt;br /&gt;
Use Articulate Storyline ([http://www.articulate.com/products/storyline-top-features.php Features]) or older tools like: Articulate Presenter &#039;09, coupled with Articulate Quizmaker &#039;09, is a solution in developing SCORM content for Moodle. Both Articulate Presenter &#039;09 and Articulate Quizmaker &#039;09 are SCORM certified by an independent ADL certification expert (both SCORM 1.2 AND SCORM 2004). This means that Articulate Presenter &#039;09 and Quizmaker &#039;09 will seamlessly report results to Moodle by uploading the published project as a SCORM package. With the complete suite of products from Articulate, you&#039;ll be able to quickly create e-learning courses from PowerPoint and develop interactive content, quizzes, assessments, and surveys.&lt;br /&gt;
&lt;br /&gt;
Here is a screencast [http://screenr.com/RON] to show you how to upload and track from Articulate Quizmaker &#039;09 in Moodle.&lt;br /&gt;
&lt;br /&gt;
To learn more about the products from Articulate, go to http://www.articulate.com and download a 30 day trial of any of the products including: Articulate Presenter &#039;09, Articulate Quizmaker &#039;09, Articulate Engage &#039;09, and Articulate Video Encoder &#039;09.&lt;br /&gt;
&lt;br /&gt;
Note: Articulate products run only in Windows. There is no Mac or Linux version.&lt;br /&gt;
&lt;br /&gt;
===Atlantic Link===&lt;br /&gt;
The Atlantic Link product suite is a rapid, collaborative eLearning tool that creates Flash based eLearning content. This can export SCORM compliant modules which will run smoothly within moodle. It allows the creation of quizes, slideshows and software emulation.&lt;br /&gt;
&lt;br /&gt;
You can find out more information about the Atlantic Link products at http://www.atlanticlinkglobal.com/&lt;br /&gt;
&lt;br /&gt;
===Camtasia===&lt;br /&gt;
This is a commercial screen-recording product for producing demonstrations and tutorials.  It has SCORM compliant output as an option, and permits quizzing and branching.  The SCORM output option creates a single .zip file that is appropriate for uploading into a SCORM activity for Moodle.  Retail price for Camtasia is US$299, but non-profit educational discounts of about 50% are offered.  30 day trials are also available.&lt;br /&gt;
&lt;br /&gt;
Note: only the Windows client has SCORM output ability. The Mac OSX version does not. &lt;br /&gt;
&lt;br /&gt;
More information can be found at http://www.techsmith.com/products.asp&lt;br /&gt;
&lt;br /&gt;
=== Captivate ===&lt;br /&gt;
Adobe&#039;s Captivate software allows you to create fully functioning interactive lessons with quizzes, scoring, and integration (via SCORM) with Moodle. You can create anything from a simple slide show, to a complete branching software simulation or evaluation, all delivered via Flash without learning any code. It is the most straight-forward package and makes it a lot of fun to work with - even adding closed-captioning is really easy! Adobe have a page on Captivate here: [http://www.adobe.com/products/captivate/] - the latest version is Captivate 7.0.&lt;br /&gt;
&lt;br /&gt;
One difficulty with Captivate is that it tends to save important reporting values to a string in suspend_data, rather than in lesson_status, lesson_location, and the like. This makes it more difficult to write custom reports, or to debug interactions.&lt;br /&gt;
&lt;br /&gt;
=== Claro ===&lt;br /&gt;
[http://www.dominknow.com/ dominKnow] award-winning HTML5-compliant collaborative authoring tool can publish AICC, SCORM 1.2 up to SCORM 2004, ADLNet&#039;s Experience API (also known as the Tin Can API), web, and exe packages (Print available in March 2012). Claro&#039;s web based collaborative content creation tool can be accessed by authors using Firefox, IE, Chrome and Safari on any platform.  Learners and reviewers are able to use any browser or tablet device to access content. Sporting an easy to use interface based off the Microsoft Ribbon toolbar, Claro includes all the basic content creation features, as well as things like screen recordings, image editing, and extensive interactions. Besides content creation, it is a collaborate environment that enables content developers and reviewers to work together using a central repository with reusable content. See Claro&#039;s full [http://www.dominknow.com/index.cfm#features feature list]&lt;br /&gt;
&lt;br /&gt;
*  You tube channel: http://www.youtube.com/dominknow&lt;br /&gt;
* Try [http://clarolive.com clarolive.com]&lt;br /&gt;
&lt;br /&gt;
===Composica===&lt;br /&gt;
Composica is a social e-learning authoring system that offers real-time collaboration among team members and provides a powerful programming- free WYSIWYG environment to create and deliver high-quality interactive e-learning content with embedded social media.&lt;br /&gt;
&lt;br /&gt;
Composica offers extensive multimedia support, including central repository, thousands of media files, customizable media player, built-in audio recording, automatic narration synchronization and mashups with leading external services such as YouTube, Google, Twitter, Facebook and more.&lt;br /&gt;
&lt;br /&gt;
The system provides large variety of fully customizable e-Learning interactions which can be integrated into a test or a game and communicated to the LMS via SCORM 1.2  / 2004.&lt;br /&gt;
&lt;br /&gt;
Composica encourages authoring teams to share knowledge and remove development bottle-necks through a unique groupware environment, powerful tasks system and task reports, project blog, comments, community dashboards and built-in chats.&lt;br /&gt;
&lt;br /&gt;
In addition, Composica includes Social Media tools, to create a real learning community around each course - learners can share knowledge with others, learn from each other, comment on anything, rate everything and more.&lt;br /&gt;
For more information see: http://www.composica.com/features/&lt;br /&gt;
&lt;br /&gt;
=== ContentGenerator.net SCORM functionality ===&lt;br /&gt;
Software was successfully used at the CambsMoodle.org conference on July 10th 2008 - every teacher at the workshop was able to get their SCORM game uploaded and working.  The software doesn&#039;t create extensive courses, but instead trackable interactive Flash games such as Fling the Teacher and Teacher Invaders.&lt;br /&gt;
&lt;br /&gt;
* Free software (+ some pay for) at http://www.contentgenerator.net/ - need to register on forum, but downloads free from there.&lt;br /&gt;
* Select SCORM option within software&lt;br /&gt;
* Generates single .zip file&lt;br /&gt;
* Select &#039;Add SCORM / AICC&#039; from add resource option in your course&lt;br /&gt;
* Edit SCORM settings - copy settings from &amp;lt;nowiki&amp;gt;http://www.contentgenerator.net/images/scorm/16_settings_mostimportant.png&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* Some overly detailed instructions available here: http://www.contentgenerator.net/scorm/&lt;br /&gt;
&lt;br /&gt;
===Coral Presenter===&lt;br /&gt;
With Coral Presenter, a plugin for PowerPoint, users can easily add audio and video files, as well as quizzes to create more engaging and interactive e-learning presentations. A ribbon menu, slide-level call-outs, attachments and links, custom tabs and one-click publishing are just some of the unique features of Coral Presenter. Coral will convert your content to Flash format and bundle all neccessary files and data for publishing to Moodle or any other SCORM 1.2 compliant LMS. Completion tracking can be set either by number of slides viewed or by quiz scores. &lt;br /&gt;
&lt;br /&gt;
Coral Presenter was developed to work with Microsoft PowerPoint 2007, PowerPoint XP and PowerPoint 2003. Download a free trial at http://www.coral-learning.com/downloads.&lt;br /&gt;
&lt;br /&gt;
=== DemoCreator ===&lt;br /&gt;
DemoCreator is a Flash-based screen recording software which allows users to generate screencast by recording computer screen. It&#039;s mainly used to create desktop tutorials and Web-based presentation for distance learning and training. The SCORM or AICC output package for LMS is also available. More information can be found at http://www.sameshow.com/demo-creator.html.&lt;br /&gt;
&lt;br /&gt;
=== Easygenerator===&lt;br /&gt;
Easygenerator has a free and a paid version.  SaaS based platform in connection to a windows application. Collaborative and special thanks to adaptive options for courses, lot of features like powerpoint import, WYSIWYG interface, Template based. Is now on version 8.3.&lt;br /&gt;
Use the HTML publication to the web, school/university intranet, blog, Facebook or your app. Use Scorm 1.2 or 2004 for any LMS. SCORM, You can track and trace learners’ results through Scorm or Xapi.&lt;br /&gt;
Using easygenerator ensures your developed courses will be optimized for any device: desktop, tablet or smartphone. Create content once and publish courses for any l device without having to recreate the course.&lt;br /&gt;
Publish to a website, blog, Facebook or app and track and trace learners advancements through TinCan (Xapi).&lt;br /&gt;
Easygenerator comes with multiple question types to help create the most engaging courses: Multiple Choice, Multiple select, Drag and Drop Text and fill in the blanks.&lt;br /&gt;
Co-Author with multiple domain experts, invite subject matter experts to review your course without requiring additional licences.&lt;br /&gt;
Build Instructional sound courses fast with easygenerator templates: Quiz, Examn, Adaptive Learning templates and the simple course template.&lt;br /&gt;
&lt;br /&gt;
Homepage:  [http://www.easygenerator.com/  Easygenerator&#039;s home page]&lt;br /&gt;
Signup: [http://www.easygenerator.com/register  for instant activation]&lt;br /&gt;
&lt;br /&gt;
=== Flypaper for eLearning ===&lt;br /&gt;
Create, share, edit, collaborate and track Flash content without touching a single piece of code with Flypaper™ Pro Flash content creation software. &lt;br /&gt;
&lt;br /&gt;
Output content as SWF, SCORM, EXE, HTML,High Definition Video or on mobile devices.&lt;br /&gt;
&lt;br /&gt;
[http://www.trivantis.com/custom-flash-for-e-learning Flypaper for eLearning]&lt;br /&gt;
&lt;br /&gt;
===Helius Presenter===&lt;br /&gt;
Helius Presenter (previously PointeCast Publisher) is a PowerPoint plug-in that automatically converts your PowerPoint XP/2002, 2003 and 2007 presentations into a highly compressed Flash presentation. The Pro version allows you to import and edit audio, import video, and create quizzes and surveys.  It&#039;s SCORM 1.2 or 2004 compatible.  It seems close to Articulate Presenter in terms of functionality but at considerably less cost. Free 15 day trial available from site:&lt;br /&gt;
http://www.helius.com/products/scorm.php&lt;br /&gt;
&lt;br /&gt;
=== iSpring Converter ===&lt;br /&gt;
[[Image:ppt-to-html5-converter-toolbar.png|thumb|iSpring PPT to HTML5 Converter toolbar]]&lt;br /&gt;
&lt;br /&gt;
Create eLearning courses in HTML5 for viewing on iPads and other mobile devices with iSpring Converter. Installed as a PowerPoint add-in, the converter is very easy to learn and use. It allows you to easily turn your PowerPoint presentations into interactive eLearning courses in HTML5. &lt;br /&gt;
&lt;br /&gt;
iSpring Converter accurately preserves even the most advanced animations, transition effects, embedded audio and embedded video. In addition, the converter provides its own features of inserting YouTube video and Web Object, which can help you create an outstanding eLearning course. Finally, iSpring Converter keeps the interactivity of your course by supporting triggers, on-click animations and hyperlinks. [http://www.ispringsolutions.com/ppt-to-html5 View sample HTML5 presentation]&lt;br /&gt;
&lt;br /&gt;
Once you are done fine-tuning your eLearning course, you can publish it for your LMS. iSpring Converter generates SCORM 1.2, SCORM 2004 (2nd, 3rd and 4th editions) and AICC-compliant eLearning courses. You can specify the number of rated slides for your course, set the duration and select timeout actions. For the highest compatibility, upload your eLearning courses to iSpring Online LMS. &lt;br /&gt;
&lt;br /&gt;
Visit the [http://www.ispringsolutions.com/ispring-converter iSpring website] to learn more about iSpring Converter, view demo courses and download a 30-day fully functional trial version.&lt;br /&gt;
&lt;br /&gt;
=== iSpring Pro ===&lt;br /&gt;
[[Image:presentation_sample.jpg|thumb|Sample iSpring-created Flash course]]&lt;br /&gt;
&lt;br /&gt;
Сreate high-impact eLearning courses with iSpring Pro, professional software that streamlines e-learning authoring. Whether you work in PowerPoint 2003, 2007 or 2010, iSpring will help you to transform regular PowerPoint presentations into SCORM-compliant Flash courses ready for integrating with Moodle CMS. iSpring Pro is extremely easy-to-use and allows you to stay focused on eLearning content creation rather than software mastery! &lt;br /&gt;
&lt;br /&gt;
iSpring-created courses preserve the most advanced effects and interactivity of your original PowerPoint presentation including hyperlinks, custom aspect ratio for slides and trigger animations. iSpring Pro also allows the addition of voice and video narration, course branding with customized player and presenter info. Plus, you can additionally protect your content protection with a watermark, password, time limit and playback restriction on set domains only.  [http://www.ispringsolutions.com/ispring-pro/demos.html View sample presentations].&lt;br /&gt;
&lt;br /&gt;
iSpring Pro integrates perfectly with iSpring QuizMaker and iSpring Kinetics. Available as a [http://www.ispringsolutions.com/ispring-suite Suite], iSpring products allow the creation of courses with quizzes and interactions then integrating them with Moodle LMS.&lt;br /&gt;
&lt;br /&gt;
[[Image:ispring_pro_toolbar.jpg|thumb|iSpring Pro toolbar]]&lt;br /&gt;
&lt;br /&gt;
Visit the [http://www.ispringsolutions.com/ispring-pro iSpring website] to learn more about iSpring Pro, view demo courses and download a 30-day fully functional trial version.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.ispringsolutions.com/articles/upload_to_moodle.html step-by-step instruction] on how to integrate iSpring-made courses with Moodle CMS.&lt;br /&gt;
&lt;br /&gt;
=== iSpring QuizMaker ===&lt;br /&gt;
[[Image:ispring_quizmaker.jpg|thumb|iSpring QuizMaker main window]]&lt;br /&gt;
&lt;br /&gt;
Whether you are experienced or new to quiz creation, with iSpring QuizMaker you&#039;ll find it easy to create thought-provoking quizzes and surveys. Creating quizzes of 23 question types is as easy as filling out the form.  You can check your work instantly with a live preview option and publish your quiz into a SCORM-compliant package ready to be uploaded and tracked with Moodle CMS. You can: &lt;br /&gt;
&lt;br /&gt;
* Add images, audio, video and formulas to questions&lt;br /&gt;
* Insert slides with additional information&lt;br /&gt;
* Organize branching scenarios based on user answers&lt;br /&gt;
* Set custom, result-based feedback to each question&lt;br /&gt;
* Organize questions in question pools&lt;br /&gt;
* Receive quiz results via email or web server&lt;br /&gt;
[[Image:ispring_made_quiz.jpg|thumb|Sample Flash quiz‎ created with iSpring QuizMaker]]&lt;br /&gt;
* Upload your quiz to any SCORM 1.2, SCORM 2004 or AICC LMS&lt;br /&gt;
&lt;br /&gt;
[http://www.ispringsolutions.com/ispring-quizmaker/download.html Download 30-day trial]&lt;br /&gt;
&lt;br /&gt;
Even though iSpring QuizMaker has a lot to offer, all its features are intuitively designed into a single window for a hassle-free quiz authoring experience!&lt;br /&gt;
&lt;br /&gt;
[http://www.ispringsolutions.com/ispring-quizmaker iSpring QuizMaker]&lt;br /&gt;
&lt;br /&gt;
=== GOMO ===&lt;br /&gt;
gomo is multi-device e-learning authoring tool. It is the easiest way to create beautiful learning which look sand feels bespoke, for content that suits your needs perfectly.&lt;br /&gt;
&lt;br /&gt;
Easily create interactive content - Video, audio, graphic and text content are just a drag and drop away with gomo&#039;s intuitive user interface for fast, flexible content creation.&lt;br /&gt;
&lt;br /&gt;
* Simple and rich authoring&lt;br /&gt;
* Easy course management&lt;br /&gt;
* Library of themes&lt;br /&gt;
* Team-based development&lt;br /&gt;
* Shared central resources&lt;br /&gt;
* Hassle-free multi-device publishing&lt;br /&gt;
* HTML5, SCORM, TinCan (xAPI)&lt;br /&gt;
&lt;br /&gt;
[http://www.gomolearning.com/ Gomo learning]&lt;br /&gt;
&lt;br /&gt;
=== Knowledge Anywhere&#039;s ICE Tool - Instructional Content Editor Tool ===&lt;br /&gt;
Create and publish SCORM-compliant courses with WYSIWYG tool, that are ready to be uploaded into any LMS.&lt;br /&gt;
The Instructional Content Editor Tool offers many features including streaming video, pre-made page templates, storyboard export to Word function, language translation and many more. Anyone can create a high quality learning course easily. Learn more at http://www.knowledgeanywhere.com/ShowPage.aspx?pkContentID=102&lt;br /&gt;
--------------------------&lt;br /&gt;
&lt;br /&gt;
=== Lectora Inspire ===&lt;br /&gt;
Lectora Inspire makes online course development fast and simple. Bundled with the leading flash content creation, screen capture, and recording software, Lectora’s powerful authoring tools empower you to quickly create dynamic video and Flash eLearning content.&lt;br /&gt;
&lt;br /&gt;
Publish options include: SCORM and AICC-compliant Learning Management Systems, HTML, CD and a variety of mobile devices.&lt;br /&gt;
&lt;br /&gt;
[http://www.trivantis.com/e-learning-software-tools Lectora Inspire]&lt;br /&gt;
&lt;br /&gt;
Note: Inspire is a bundle that includes Camtasia and Snap! for outputting SCORM. It runs only in Windows, not a Mac.&lt;br /&gt;
&lt;br /&gt;
=== Lectora Online ===&lt;br /&gt;
The power of Lectora, online. Enable teams of course developers, designers and subject matter experts to easily create, modify and collaborate on course content. Instantly view real-time changes and streamline your project life cycle.&lt;br /&gt;
&lt;br /&gt;
Work with your Macintosh!  [http://www.trivantis.com/lectora-online-free-trial 30-day free trial]&lt;br /&gt;
&lt;br /&gt;
Publish options include: SCORM and AICC-compliant Learning Management Systems, HTML, CD and a variety of mobile devices.&lt;br /&gt;
&lt;br /&gt;
[http://www.trivantis.com/online-e-learning Lectora Online]&lt;br /&gt;
&lt;br /&gt;
=== Microsoft Learning Development System ===&lt;br /&gt;
Free tool from Microsoft that allows you to create SCORM resources using drag and drop.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;The LCDS is a free tool that enables the Microsoft Learning community to create high-quality, interactive, online courses. The LCDS allows anyone in the Microsoft Learning community to publish e-learning courses by completing the easy-to-use LCDS forms that seamlessly generate highly customized content, interactive activities, quizzes, games, assessments, animations, demos, and other multimedia.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This is an internal Microsoft tool.  Has a few bugs and can crash.&lt;br /&gt;
&lt;br /&gt;
NOTE READ the Help info. To upload to Moodle you will need to zip up your working directory then upload using the &#039;Add SCORM / AICC&#039; from add resource option in your course &lt;br /&gt;
&lt;br /&gt;
[http://www.microsoft.com/learning/tools/lcds/default.mspx Microsoft&#039;s page for LCDS updated to 2.2 on Jan 2009]&lt;br /&gt;
&lt;br /&gt;
=== Mohive ===&lt;br /&gt;
&amp;quot;Mohive makes it possible for more people to design custom e-learning content thanks to a unique platform that simplifies each step of the development process. The only solution on the market to feature an integrated project management tool, Mohive makes it possible to cut production lead times considerably, especially when many different people are involved.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[http://www.crossknowledge.com/en_GB/elearning/technologies/mohive.html]&lt;br /&gt;
&lt;br /&gt;
===PowerPointForce===&lt;br /&gt;
PowerpointForce is a MS windows program, which converts PowerPoint(2003/2007) slides into flash with different additional features and brings to you professional rapid flash-based presentations in the matter of minutes.&lt;br /&gt;
SCORM 1.2 or 2004 compatible. Free 14 days trial, tutorials, examples are available from site:&lt;br /&gt;
http://www.elearningforce.com/products/Pages/PowerPointForce.aspx&lt;br /&gt;
&lt;br /&gt;
=== PowerQuizPoint - Quiz Creator ===&lt;br /&gt;
Create a Flash-Based Quiz from PowerPoint in two steps. PowerQuizPoint easily create interactive Macromedia Flash Quizzes from within PowerPoint. PowerQuizPoint is a convergence of power features in PowerPoint and Macromedia Flash. Flash Quizzes created with PowerQuizPoint is web ready. Insert interactive Quiz slides directly into PowerPoint presentations and Publish them to Macromedia Flash format.&lt;br /&gt;
&lt;br /&gt;
[[Image:powerquizpoint-question.jpg|thumb|PowerQuizPoint question]]&lt;br /&gt;
&lt;br /&gt;
PowerQuizPoint PowerPoint Quiz Maker provides options like insert your questions with up to 4 choices per Questions, Separate slides for correct and incorrect answers and Question Bank facility.&lt;br /&gt;
&lt;br /&gt;
[http://www.digitalofficepro.com/powerpoint/quiz-creator.html www.digitalofficepro.com/powerpoint/quiz-creator.html]&lt;br /&gt;
&lt;br /&gt;
=== QuizCreator ===&lt;br /&gt;
QuizCreator is a powerful Flash quiz maker that enables trainers and educators  to easily create SCORM compliant Flash quizzes with images, sounds, narrations and Flash animations to engage learners through the learning process and offers flexible results tracking and score reporting toolkit. &lt;br /&gt;
&lt;br /&gt;
It supports 9 question types:True/ False, Multiple Choice, Multiple Response,Fill in the Blank, Drag and Drop-Matching,Drag and Drop-Sequences,Word Bank,Click Map and Essay. You could publish you quiz for Flash, Word, Excel or LMS.&lt;br /&gt;
&lt;br /&gt;
[http://www.quiz-creator.com/ QuizCreator]&lt;br /&gt;
[[Image:Quizcreator.png|thumb|QuizCreator]]&lt;br /&gt;
&lt;br /&gt;
===QuizForce===&lt;br /&gt;
QuizForce is a MS Windows program that provides a comprehensive but easy-to-use set of tools for creating highly customized Flash-based quizzes and surveys for non-programmers.&lt;br /&gt;
SCORM 1.2 or 2004 compatible. Free 14 days trial, tutorials, examples are available from site:&lt;br /&gt;
http://www.elearningforce.com/products/Pages/Quizforce.aspx&lt;br /&gt;
&lt;br /&gt;
=== Snap! by Lectora ===&lt;br /&gt;
For USD$99, create engaging Flash content in minutes (PowerPoint Plugin). Absolutely no learning curve and no more breaking the bank. Snap! by Lectora truly reinvents the term ‘rapid’ by providing you with easy-to-use e-Learning software to create stunning courses, presentations, and fun Flash content.&lt;br /&gt;
&lt;br /&gt;
Publish options include: SCORM and AICC-compliant Learning Management Systems, HTML, and a variety of mobile devices.&lt;br /&gt;
&lt;br /&gt;
[http://rapid-e-learning.trivantis.com/rapid-e-learning-software-for-a-PowerPoint-presentation-in-Flash Snap! by Lectora]&lt;br /&gt;
===SoftChalk===&lt;br /&gt;
SoftChalk packages your lesson in either a standard zip format or in SCORM format. If you package your lesson using the SCORM format, you can re-use your content in any learning management system that supports SCORM (with no need to revise the content). Additionally, the SCORM standards allow your content to work automatically with specific components of the course management system (for example the gradebook), and to track whether a student has completed the lesson.&lt;br /&gt;
&lt;br /&gt;
SoftChalk is very simple to use. Find more information at http://softchalk.com/&lt;br /&gt;
&lt;br /&gt;
=== STT Trainer===&lt;br /&gt;
STT Trainer from Kaplan IT Learning is a complete solution for creating software simulations, electronic user performance support, and documentation to train employees on critical web-, windows, and java-based business software. It can create SCORM compliant packages that can be used withing the moodle system.&lt;br /&gt;
&lt;br /&gt;
You can find out more details about STT Trainer at http://www.stt-trainer.com/&lt;br /&gt;
&lt;br /&gt;
=== ToolBook ===&lt;br /&gt;
[Moodle 1.9 / ToolBook Instructor 9.01] Tracking and bookmarking work well.  The content should be exported using the SCORM 1.2 option; AICC and SCORM 2004 do not seem to work properly.  Scoring works and is viewable within the tracking details, but does not transfer correctly into the Gradebook.  see http://www.toolbook.com&lt;br /&gt;
&lt;br /&gt;
=== TutorAuthor NG ===&lt;br /&gt;
TutorPro&#039;s TutorAuthor NG is a professional software application for quickly creating interactive lessons, training, demonstrations, and simulations. Anyone who needs to develop online product demonstrations, software simulations for e-learning, or online tutorials for user support will find TutorAuthor NG an ideal solution. TutorAuthor NG includes everything you need to capture actions in any application and instantly create a 3D life like simulation. The application is equally at home creating &#039;soft-skill&#039; tutorials such as new employee introductions, company policy, in fact anything that can be taught electronically.&lt;br /&gt;
&lt;br /&gt;
If you use TutorAuthor NG to create e-learning content, you can add realistic, fully interactive question slides, buttons, click boxes, and text entry boxes, and much more. TutorAuthor NG is SCORM 1.2, SCORM 2004, and AICC compliant, allowing effortless integration with any compliant Learning Management System (LMS). &lt;br /&gt;
&lt;br /&gt;
More information can be found at http://www.tutorpro.com/Products/TutorAuthor_Next_Generation_&lt;br /&gt;
&lt;br /&gt;
=== ViewletBuilder Enterprise ===&lt;br /&gt;
Qarbon&#039;s ViewletBuilder is cost-effective, comparatively easy to learn, and used by many thousands of corporate, educational, and government professionals since 1999.  On Mac OSx and Windows PCs, it is used to create compelling, interactive online tutorials for distance learning and user support.   ViewletBuilder Enterprise includes ViewletQuiz, for creating interactive assessments and surveys.&lt;br /&gt;
&lt;br /&gt;
ViewletBuilder Pro, ViewletQuiz, and ViewletBuilder Enterprise are fully SCORM 1.2, SCORM 2004, and AICC compliant.&lt;br /&gt;
&lt;br /&gt;
Qarbon.com provides the highest level of support and training for its customers.&lt;br /&gt;
&lt;br /&gt;
More information and fully functional evaluation downloads are available at:&lt;br /&gt;
http://forum.qarbon.com/viewtopic.php?f=3&amp;amp;t=1007&amp;amp;p=3118#p3118&lt;br /&gt;
&lt;br /&gt;
=== Wimba Create (formerly Course Genie) ===&lt;br /&gt;
A commercial tool allowing you to convert Word  documents into CMS ready content. It&#039;s particularly suited for non-technical teachers who have large  documents to display on Moodle and allows embedding of video, sound etc. When downloaded to your computer it generates a toolbar in Word giving options to enable  easy conversion of the file to clean html pages which include navigation and interactive features. It claims to work on Windows 2000, Windows XP or Windows Vista&lt;br /&gt;
Word 2000, XP, 2003 or 2007 and the official site is: http://www.wimba.com/products/wimbacreate/  .  &lt;br /&gt;
&lt;br /&gt;
Wimba Create documentation can be found at: http://www.wimba.com/services/support/documentation#wCr&lt;br /&gt;
&lt;br /&gt;
=== Wondershare PPT2Flash Professional ===&lt;br /&gt;
Convert PowerPoint to Flash and upload the courses to Moodle. &lt;br /&gt;
Note that this is not a free tool, rather there is a free &#039;&#039;&#039;trial&#039;&#039;&#039; version of the full software. Output from the trial version has a watermark on it.&lt;br /&gt;
* Download the trial version of the software from http://www.sameshow.com/powerpoint-to-flash-pro.html&lt;br /&gt;
* There is a plug-in menu in PowerPoint, click &amp;quot;Publish&amp;quot; button and select &amp;quot;LMS&amp;quot;&lt;br /&gt;
* Select &amp;quot;SCORM 1.2&amp;quot; or &amp;quot;SCORM 2004&amp;quot;&lt;br /&gt;
* Click &amp;quot;Convert&amp;quot; button&lt;br /&gt;
* Select &amp;quot;Open output folder&amp;quot; after conversion is completed&lt;br /&gt;
* Choose the output .zip file and upload to Moodle&lt;br /&gt;
* Done! &lt;br /&gt;
&lt;br /&gt;
Some overly detailed instructions available here: http://www.sameshow.com/powerpoint-to-flash/howto3.html&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft (MS-M$) word / or any other easy (maybe free) scorm authoring tool?] forum discussion&lt;br /&gt;
&lt;br /&gt;
[[de:Autorenwerkzeuge]]&lt;br /&gt;
[[es:Creando contenido SCORM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Cron&amp;diff=118645</id>
		<title>Cron</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Cron&amp;diff=118645"/>
		<updated>2015-05-26T22:04:57Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: copy/pasted incorrectly. (tidy up last change.)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
The Moodle &#039;cron&#039; process is a PHP script (part of the standard Moodle installation) that must be run regularly in the background.   The Moodle cron script runs different tasks at differently scheduled intervals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: Do not skip setting up the cron process on your server for your Moodle. Your site will not work properly without it&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A special program (typically called - not surprisingly - &#039;cron&#039;) is used to run the Moodle cron script at a regular interval.  The Moodle cron script runs tasks include sending mail, updating Moodle reports, RSS feeds, activity completions, posting forum messages and other tasks. Since different tasks have different schedules, not every task will run in Moodle when the cron script is triggered. &lt;br /&gt;
&lt;br /&gt;
The cron program (that runs the Moodle script) is a core part of Unix based systems (including Linux and OSX) being used to run all manner of time-dependent services. On Windows the simplest solution is to create a task in the Windows Task Scheduler and set it to run at regular intervals. On shared hosting, you should find the documentation (or ask support) how cron is configured. &lt;br /&gt;
&lt;br /&gt;
Essentially, the task involves adding a single command to the list of cron activities on your system. On Unix based systems this list is a file called a &#039;crontab&#039; which all users have.  &lt;br /&gt;
&lt;br /&gt;
== General discussion ==&lt;br /&gt;
&lt;br /&gt;
See the later sections for your server type; this section contains some general background information. &lt;br /&gt;
&lt;br /&gt;
There are essentially two steps to implementing cron:&lt;br /&gt;
# identifying the correct command to run&lt;br /&gt;
# finding the right place on your system to put the command&lt;br /&gt;
&lt;br /&gt;
=== Working out the Moodle cron command ===&lt;br /&gt;
&lt;br /&gt;
Moodle has two different ways to deploy cron which use different scripts within the Moodle install. These are as follows...&lt;br /&gt;
# The CLI (command line interpreter) script. This will be at the path &amp;lt;pre&amp;gt;/path/to/moodle/admin/cli/cron.php&amp;lt;/pre&amp;gt; If in doubt, this is the correct script to use. This needs to be run by a &#039;PHP CLI&#039; program on your computer. So the final command may look something like &amp;lt;pre&amp;gt;/usr/bin/php /path/to/moodle/admin/cli/cron.php&amp;lt;/pre&amp;gt; You can (and should) try this on your command line to see if it works. &lt;br /&gt;
# The web based script. This needs to be run from a web browser and will be accessed via a web url something like &#039;&#039;&#039;http://your.moodle.site/admin/cron.php&#039;&#039;&#039;. You can find command line based web browser (e.g. wget) so the final command may look like &amp;lt;pre&amp;gt;/usr/bin/wget http://your.moodle.site/admin/cron.php&amp;lt;/pre&amp;gt; This has the advantage that it can be run from *anywhere*. If you can&#039;t get cron to work on your machine it can be run somewhere else.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Finding the right place to put the command ===&lt;br /&gt;
&lt;br /&gt;
This really does depend on the system you are using and you should find and read the documentation for your platform or hosting. In most cases getting the Moodle cron to run consists of establishing the correct command (above) and then adding it, and the time to run the command, to some sort of file. This might be either through a specific user interface or by editing the file directly.&lt;br /&gt;
&lt;br /&gt;
If using the CLI version you also need to make sure that the cron process is run as the correct user. This is not an issue with the web version. &lt;br /&gt;
&lt;br /&gt;
Example... installing cron on Ubuntu/Debian Linux. Assuming logged in as root..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;use the crontab command to open a crontab editor window for the www-data user. This is the user that Apache (the web server) runs as on Debian based systems&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ crontab -u www-data -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;This will open an editor window. To run the cli cron script every 1 minute, add the line:&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/1 * * * * /usr/bin/php  /path/to/moodle/admin/cli/cron.php &amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
NOTE: the final &#039;&#039;&#039;&amp;gt;/dev/null&#039;&#039;&#039; sends all the output to the &#039;bin&#039; and stops you getting an email every 1 minute.&lt;br /&gt;
&lt;br /&gt;
== Setting up cron on your system ==&lt;br /&gt;
 &lt;br /&gt;
Choose the information for your server type:&lt;br /&gt;
&lt;br /&gt;
*[[Cron with Unix or Linux]]- Cron services on various UNIX and Linux flavored operating systems.&lt;br /&gt;
*[[Cron with Windows OS]] - Cron services in Windows&lt;br /&gt;
*&#039;&#039;Apple OSX&#039;&#039; - use the built-in &#039;crontab&#039; service which is exactly the same as [[Cron with Unix or Linux]]. However, you might want to do it the &#039;Apple way&#039; using launchd - see [[Cron with MAC OS X]]&lt;br /&gt;
*[[Cron with web hosting services]]- Cron services in various web hosting examples.&lt;br /&gt;
&lt;br /&gt;
Here are some more instructions for specific hosts (please check that these are up to date):&lt;br /&gt;
&lt;br /&gt;
*[[Cron on 1and1 shared servers]]&lt;br /&gt;
&lt;br /&gt;
== Using third party cron service ==&lt;br /&gt;
 &lt;br /&gt;
Besides using cron hosted on your own server, you may use third party cron service (usually called webcron):&lt;br /&gt;
&lt;br /&gt;
*[https://www.easycron.com EasyCron] - A webcron service provider that eliminates the need of crontab or other task schedulers to set cron job.&lt;br /&gt;
&lt;br /&gt;
=== Cron settings in Moodle ===&lt;br /&gt;
&lt;br /&gt;
An admin can set cron execution via command line only or a cron password for remote access in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Security &amp;gt; Site policies&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Remote cron===&lt;br /&gt;
Using the &#039;web based&#039; version of cron it is perfectly ok to place the cron process on a different machine to the Moodle server. For example, the cron service on a Unix server can invoke the cron web &#039;page&#039; on a Windows based Moodle server.&lt;br /&gt;
&lt;br /&gt;
==Scheduling tasks==&lt;br /&gt;
An administrator can schedule cron tasks very precisely from Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; Scheduled tasks, see [[Scheduled tasks]]&lt;br /&gt;
&lt;br /&gt;
==Running cron for several Moodle servers==&lt;br /&gt;
* Tasks can run in parallel and processes use locking to prevent tasks from running at the same time which allows cron to be triggered from multiple web servers that serve the same Moodle instance.&lt;br /&gt;
&lt;br /&gt;
* If you are running different Moodle instances on the same server, then each Moodle instance needs a cron job. (Even a single Apache web server can run different Moodle instances on different domains by using its virtual hosts capability [https://httpd.apache.org/docs/2.2/vhosts/index.html https://httpd.apache.org/docs/2.2/vhosts/index.html].)&lt;br /&gt;
&lt;br /&gt;
== Debugging Scheduled Tasks ==&lt;br /&gt;
&lt;br /&gt;
Sometimes, a particular cron task may not be working correctly. In Moodle versions before 2.7 - any cron task that was throwing exceptions would prevent the rest of cron from running. The only way to monitor if cron was completing each time, was to add some automated checking of the output of running cron (e.g. searching for the string &amp;quot;Cron completed at &amp;quot;).&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.7 and later, a single failing scheduled task will not prevent the remaining tasks from completing. When any single scheduled task fails, it is marked as a failure, and scheduled to be reattempted. If the task keeps failing, the next scheduled time will be backed off until it is attempted at most once every 24 hours. But checking the [[Scheduled tasks]] admin page, you can see if any task is currently failing (it will have a non-zero fail delay - which is the number of seconds to wait before reattempting a failed task). A simple way to debug a failing task, is to run it immediately using the [[Administration via command line#Scheduled_tasks|cli scheduled task runner]] and monitor the output.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://www.coursebit.net/moodle-cron-job/ All About the Moodle Cron Job]&lt;br /&gt;
* [https://docs.moodle.org/310/en/Scheduled_tasks Scheduled tasks Moodle docs]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Cron Wikipedia article on cron function]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=41827 Cron - can someone give me a quick confirmation of function?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=97684 Cronjob Question]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=97457 Slow cron : avoiding simultaneous cron]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=117168 Visibility of cron.php]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=139263#p609060 How to log the output of a Scheduled Task on Windows] - this discussion explains a nice trick that can be very useful when you are experiencing problems with your Windows Scheduled Task and you need to log the output of the Scheduled Task to a log file.&lt;br /&gt;
&lt;br /&gt;
[[es:Cron]]&lt;br /&gt;
[[fr:Cron]]&lt;br /&gt;
[[ja:Cron]]&lt;br /&gt;
[[de:Cron-Job]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Cron&amp;diff=118644</id>
		<title>Cron</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Cron&amp;diff=118644"/>
		<updated>2015-05-26T22:03:30Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: tidy up confusion over multiple processes (see MDL-50358)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
The Moodle &#039;cron&#039; process is a PHP script (part of the standard Moodle installation) that must be run regularly in the background.   The Moodle cron script runs different tasks at differently scheduled intervals.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;IMPORTANT: Do not skip setting up the cron process on your server for your Moodle. Your site will not work properly without it&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A special program (typically called - not surprisingly - &#039;cron&#039;) is used to run the Moodle cron script at a regular interval.  The Moodle cron script runs tasks include sending mail, updating Moodle reports, RSS feeds, activity completions, posting forum messages and other tasks. Since different tasks have different schedules, not every task will run in Moodle when the cron script is triggered. &lt;br /&gt;
&lt;br /&gt;
The cron program (that runs the Moodle script) is a core part of Unix based systems (including Linux and OSX) being used to run all manner of time-dependent services. On Windows the simplest solution is to create a task in the Windows Task Scheduler and set it to run at regular intervals. On shared hosting, you should find the documentation (or ask support) how cron is configured. &lt;br /&gt;
&lt;br /&gt;
Essentially, the task involves adding a single command to the list of cron activities on your system. On Unix based systems this list is a file called a &#039;crontab&#039; which all users have.  &lt;br /&gt;
&lt;br /&gt;
A result of this is that cron can be run more often, which means (for example) forum posts can be sent out sooner. Admins can keep cron running at the same schedule as before, but it is strongly recommended that they increase the frequency of running cron to at least once per minute.&lt;br /&gt;
&lt;br /&gt;
== General discussion ==&lt;br /&gt;
&lt;br /&gt;
See the later sections for your server type; this section contains some general background information. &lt;br /&gt;
&lt;br /&gt;
There are essentially two steps to implementing cron:&lt;br /&gt;
# identifying the correct command to run&lt;br /&gt;
# finding the right place on your system to put the command&lt;br /&gt;
&lt;br /&gt;
=== Working out the Moodle cron command ===&lt;br /&gt;
&lt;br /&gt;
Moodle has two different ways to deploy cron which use different scripts within the Moodle install. These are as follows...&lt;br /&gt;
# The CLI (command line interpreter) script. This will be at the path &amp;lt;pre&amp;gt;/path/to/moodle/admin/cli/cron.php&amp;lt;/pre&amp;gt; If in doubt, this is the correct script to use. This needs to be run by a &#039;PHP CLI&#039; program on your computer. So the final command may look something like &amp;lt;pre&amp;gt;/usr/bin/php /path/to/moodle/admin/cli/cron.php&amp;lt;/pre&amp;gt; You can (and should) try this on your command line to see if it works. &lt;br /&gt;
# The web based script. This needs to be run from a web browser and will be accessed via a web url something like &#039;&#039;&#039;http://your.moodle.site/admin/cron.php&#039;&#039;&#039;. You can find command line based web browser (e.g. wget) so the final command may look like &amp;lt;pre&amp;gt;/usr/bin/wget http://your.moodle.site/admin/cron.php&amp;lt;/pre&amp;gt; This has the advantage that it can be run from *anywhere*. If you can&#039;t get cron to work on your machine it can be run somewhere else.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Finding the right place to put the command ===&lt;br /&gt;
&lt;br /&gt;
This really does depend on the system you are using and you should find and read the documentation for your platform or hosting. In most cases getting the Moodle cron to run consists of establishing the correct command (above) and then adding it, and the time to run the command, to some sort of file. This might be either through a specific user interface or by editing the file directly.&lt;br /&gt;
&lt;br /&gt;
If using the CLI version you also need to make sure that the cron process is run as the correct user. This is not an issue with the web version. &lt;br /&gt;
&lt;br /&gt;
Example... installing cron on Ubuntu/Debian Linux. Assuming logged in as root..&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;use the crontab command to open a crontab editor window for the www-data user. This is the user that Apache (the web server) runs as on Debian based systems&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ crontab -u www-data -e&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&#039;&#039;This will open an editor window. To run the cli cron script every 1 minute, add the line:&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
*/1 * * * * /usr/bin/php  /path/to/moodle/admin/cli/cron.php &amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
NOTE: the final &#039;&#039;&#039;&amp;gt;/dev/null&#039;&#039;&#039; sends all the output to the &#039;bin&#039; and stops you getting an email every 1 minute.&lt;br /&gt;
&lt;br /&gt;
== Setting up cron on your system ==&lt;br /&gt;
 &lt;br /&gt;
Choose the information for your server type:&lt;br /&gt;
&lt;br /&gt;
*[[Cron with Unix or Linux]]- Cron services on various UNIX and Linux flavored operating systems.&lt;br /&gt;
*[[Cron with Windows OS]] - Cron services in Windows&lt;br /&gt;
*&#039;&#039;Apple OSX&#039;&#039; - use the built-in &#039;crontab&#039; service which is exactly the same as [[Cron with Unix or Linux]]. However, you might want to do it the &#039;Apple way&#039; using launchd - see [[Cron with MAC OS X]]&lt;br /&gt;
*[[Cron with web hosting services]]- Cron services in various web hosting examples.&lt;br /&gt;
&lt;br /&gt;
Here are some more instructions for specific hosts (please check that these are up to date):&lt;br /&gt;
&lt;br /&gt;
*[[Cron on 1and1 shared servers]]&lt;br /&gt;
&lt;br /&gt;
== Using third party cron service ==&lt;br /&gt;
 &lt;br /&gt;
Besides using cron hosted on your own server, you may use third party cron service (usually called webcron):&lt;br /&gt;
&lt;br /&gt;
*[https://www.easycron.com EasyCron] - A webcron service provider that eliminates the need of crontab or other task schedulers to set cron job.&lt;br /&gt;
&lt;br /&gt;
=== Cron settings in Moodle ===&lt;br /&gt;
&lt;br /&gt;
An admin can set cron execution via command line only or a cron password for remote access in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Security &amp;gt; Site policies&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
===Remote cron===&lt;br /&gt;
Using the &#039;web based&#039; version of cron it is perfectly ok to place the cron process on a different machine to the Moodle server. For example, the cron service on a Unix server can invoke the cron web &#039;page&#039; on a Windows based Moodle server.&lt;br /&gt;
&lt;br /&gt;
==Scheduling tasks==&lt;br /&gt;
An administrator can schedule cron tasks very precisely from Administration &amp;gt; Site administration &amp;gt; Server &amp;gt; Scheduled tasks, see [[Scheduled tasks]]&lt;br /&gt;
&lt;br /&gt;
==Running cron for several Moodle servers==&lt;br /&gt;
* Tasks can run in parallel and processes use locking to prevent tasks from running at the same time which allows cron to be triggered from multiple web servers that serve the same Moodle instance.&lt;br /&gt;
&lt;br /&gt;
* If you are running different Moodle instances on the same server, then each Moodle instance needs a cron job. (Even a single Apache web server can run different Moodle instances on different domains by using its virtual hosts capability [https://httpd.apache.org/docs/2.2/vhosts/index.html https://httpd.apache.org/docs/2.2/vhosts/index.html].)&lt;br /&gt;
&lt;br /&gt;
== Debugging Scheduled Tasks ==&lt;br /&gt;
&lt;br /&gt;
Sometimes, a particular cron task may not be working correctly. In Moodle versions before 2.7 - any cron task that was throwing exceptions would prevent the rest of cron from running. The only way to monitor if cron was completing each time, was to add some automated checking of the output of running cron (e.g. searching for the string &amp;quot;Cron completed at &amp;quot;).&lt;br /&gt;
&lt;br /&gt;
In Moodle 2.7 and later, a single failing scheduled task will not prevent the remaining tasks from completing. When any single scheduled task fails, it is marked as a failure, and scheduled to be reattempted. If the task keeps failing, the next scheduled time will be backed off until it is attempted at most once every 24 hours. But checking the [[Scheduled tasks]] admin page, you can see if any task is currently failing (it will have a non-zero fail delay - which is the number of seconds to wait before reattempting a failed task). A simple way to debug a failing task, is to run it immediately using the [[Administration via command line#Scheduled_tasks|cli scheduled task runner]] and monitor the output.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [http://www.coursebit.net/moodle-cron-job/ All About the Moodle Cron Job]&lt;br /&gt;
* [https://docs.moodle.org/310/en/Scheduled_tasks Scheduled tasks Moodle docs]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Cron Wikipedia article on cron function]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=41827 Cron - can someone give me a quick confirmation of function?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=97684 Cronjob Question]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=97457 Slow cron : avoiding simultaneous cron]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=117168 Visibility of cron.php]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=139263#p609060 How to log the output of a Scheduled Task on Windows] - this discussion explains a nice trick that can be very useful when you are experiencing problems with your Windows Scheduled Task and you need to log the output of the Scheduled Task to a log file.&lt;br /&gt;
&lt;br /&gt;
[[es:Cron]]&lt;br /&gt;
[[fr:Cron]]&lt;br /&gt;
[[ja:Cron]]&lt;br /&gt;
[[de:Cron-Job]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=117706</id>
		<title>SCORM FAQ</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_FAQ&amp;diff=117706"/>
		<updated>2015-03-26T22:36:50Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* slash arguments warning when I add/update SCORM objects in my course */ remove duplicate link and fix text.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==What is SCORM?==&lt;br /&gt;
&lt;br /&gt;
SCORM was developed as a result of collaboration in the public and private sectors. The President of the United States, Bill Clinton issued an Executive Order that created an agency (ADL) to oversee the standard for developing and distributing online learning.  All Federal agencies are mandated to use programs that meet those standards.  SCORM is one result of that order.  &lt;br /&gt;
&lt;br /&gt;
There&#039;s a really simple &amp;quot;What is SCORM&amp;quot; introduction here: http://moodle.org/mod/forum/discuss.php?d=3757#p18828&lt;br /&gt;
&lt;br /&gt;
A slightly more detailed introduction here: http://www.rusticisoftware.com/resources/whatisscorm/What%20Is%20SCORM.ht&lt;br /&gt;
&lt;br /&gt;
==Should I make my Moodle courses as SCORM or use Moodle&#039;s features?==&lt;br /&gt;
It depends how you intend to use it. If you are planning on exporting and using in another LMS then SCORM would make this easier. If you want something shiny, then a SCORM package can fit the bill. However, reporting and grading work better in Moodle and for many educators the standard features do the job perfectly and do not require learning a new program. There is a useful form post discussing the pros and cons of SCORM in Moodle here: http://moodle.org/mod/forum/discuss.php?d=200242&lt;br /&gt;
&lt;br /&gt;
==SCORM Information==&lt;br /&gt;
&lt;br /&gt;
Advanced Distributed Learning (ADL) is the organization that wrote the SCORM standard. You can download documentation and samples form ADL&#039;s Web site. Documentation for SCORM 1.2 in several languages is available  [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201.2%2fDocumentation%20Suite%20(SCORM%201.2)&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View={4D6DFFDE-3CFC-4DD9-A21A-4B687728824A} here].&lt;br /&gt;
&lt;br /&gt;
Philip Hutchison provides an AS3 and JavaScript wrapper, as well as a sample package: &lt;br /&gt;
http://pipwerks.com/downloads/&lt;br /&gt;
&lt;br /&gt;
==SCORM Package Contents==&lt;br /&gt;
&lt;br /&gt;
A SCORM package must contains in the root of zip a file named imsmanifest.xml which defines SCORM course structure, resource location and many other things. Other files used in the package, such as HTML files, XML files, multimedia files, and JavaScript for the SCORM API must be listed in this file. The LMS parses the manifest, and provides the files listed there to the content package during runtime.&lt;br /&gt;
&lt;br /&gt;
==AICC Package Contents==&lt;br /&gt;
&lt;br /&gt;
An AICC package is defined by several files (from 4 to 7) with defined extensions as follows:&lt;br /&gt;
&lt;br /&gt;
* CRS - Course Description file (mandatory)&lt;br /&gt;
* AU - Assignable Unit file (mandatory)&lt;br /&gt;
* DES - Descriptor file (mandatory)&lt;br /&gt;
* CST - Course Structure file (mandatory)&lt;br /&gt;
* ORE - Objective Relationship file (optional)&lt;br /&gt;
* PRE - Prerequisites file (optional)&lt;br /&gt;
* CMP - Completition Requirements file (optional)&lt;br /&gt;
&lt;br /&gt;
==Basic Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
* Make sure you are running Moodle 2.1 or higher, a large number of SCORM related bugs are present in previous versions.&lt;br /&gt;
*Make sure you (and your users) have JavaScript enabled. SCORM requires JavaScript.&lt;br /&gt;
* Make sure your SCORM object is SCORM compliant - check it in an external SCORM player like [https://docs.moodle.org/en/Tools_for_creating_SCORM_content#Reload Reload] to see if it works there.&lt;br /&gt;
* Upload a copy of your SCORM object to a [http://en.wikipedia.org/wiki/File_hosting_service File Hosting Service] and post a message asking for help in the forums, linking to your SCORM object explaining exactly what you expect to happen, and what is happening instead.&lt;br /&gt;
* Read Dan Marsden&#039;s blog post [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle here] (Maintainer of SCORM Module in Moodle)&lt;br /&gt;
&lt;br /&gt;
==Does Moodle Generate SCORM Content?==&lt;br /&gt;
&lt;br /&gt;
Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate scorm content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package.&lt;br /&gt;
&lt;br /&gt;
==Can I add a password for access to my SCORM package?==&lt;br /&gt;
No, although there is a tracker request for this: MDL-46403 As a workaround you could add your SCORM package using the single activity course format - see [[Course formats]] - and add an enrolment key to the course.&lt;br /&gt;
&lt;br /&gt;
==Supported Versions==&lt;br /&gt;
&lt;br /&gt;
* SCORM 1.2 is supported in Moodle 2.1(or higher) and passes all the tests in the ADL Conformance test suite 1.2.7 for SCORM 1.2. The best place for information on SCORM 1.2 conformance is the [http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Previous%20Versions/SCORM%201.2/Conformance%20Test%20Suite%20(SCORM%201.2)/SCORM_1.2_ConformanceReq.pdf SCORM Comformance Requirements documentation (PDF 3.4MB)].&lt;br /&gt;
&lt;br /&gt;
* SCORM 2004 is not supported in Moodle. Parts of the API have been implemented, but others such as Navigation and Sequencing have not. Development on native SCORM 2004 support in Moodle [https://moodle.org/mod/forum/discuss.php?d=227906 has stopped]. If you require a fully certified SCORM 2004 Player in Moodle, [http://www.scorm.com Rustici Software] have a [http://support.scorm.com/entries/20394726-scorm-cloud-moodle-module Moodle plugin] which connects to their commercial [http://www.scorm.com/scorm-solved/scorm-cloud/ SCORM Cloud] service turning Moodle into a fully compliant SCORM 2004 LMS.&lt;br /&gt;
&lt;br /&gt;
* AICC objects are supported in Moodle 2.1 and higher.&lt;br /&gt;
&lt;br /&gt;
* Moodle does not support Tin Can at this stage.&lt;br /&gt;
&lt;br /&gt;
==Asking for Help in the SCORM Forum==&lt;br /&gt;
&lt;br /&gt;
When trying to engage the community to help with a problem you are facing, you will get a better response if you follow a few simple guidelines:&lt;br /&gt;
* Always start your report with &#039;&#039;&#039;version information&#039;&#039;&#039; - preferably the information displayed on the Admin -&amp;gt; Environment panel eg. http://localhost/moodle/admin/environment.php where http://localhost/moodle is your particular prefix.  With this it will be clear how you are running your Moodle instance, on what platform, and at which version.  This will quickly expose issues where a simple upgrade will solve your problem.&lt;br /&gt;
* Be prepared to &#039;&#039;&#039;provide the SCORM package&#039;&#039;&#039; that illustrates your problem - if you don&#039;t then it will be very difficult for anyone offering assistance to recreate your situation - a real barrier to help.&lt;br /&gt;
* &#039;&#039;&#039;Screenshots&#039;&#039;&#039; are very helpful. Provide a screenshot of all error messages, and any instance where something seems to go wrong in the interface.&lt;br /&gt;
* Nonstandard themes can introduce SCORM issues. Be sure to tell us &#039;&#039;&#039;what theme you&#039;re using&#039;&#039;&#039;.&lt;br /&gt;
* If you have admin privileges, and have access to a localhost install or other place where real-time users won&#039;t be disturbed, be sure to turn on debugging. Navigate to &#039;&#039;&#039;Site Administration &amp;gt; Development &amp;gt; Debugging&#039;&#039;&#039; and set &#039;&#039;&#039;Debug messages: Developer&#039;&#039;&#039; and &#039;&#039;&#039;Display debug messages: Yes&#039;&#039;&#039;. Access the SCORM content. If there are errors printed to the page, include them in your forum post. &lt;br /&gt;
* Use [https://developers.google.com/chrome-developer-tools/docs/console Chrome&#039;s JavaScript Console] or [https://developer.mozilla.org/en-US/docs/Tools/Web_Console Firebug&#039;s JavaScript console] to check that there are no JavaScript errors on the page when the content loads. &lt;br /&gt;
* Run your problematic SCORM package through &#039;&#039;&#039;API debugging&#039;&#039;&#039; (see below) and include the text of that API log with your post. That way we can see right away if the right function calls are not taking place.&lt;br /&gt;
* If you&#039;re using a content development suite which publishes to SCORM, such as Articulate, Captivate, Lectora, LessonBuilder, Udutu, or some other product, then include that in your post. Every authoring software has its ticks, and if you&#039;ve run into one, it&#039;s likely that someone else has also dealt with it, and will recognize it. However, please keep in mind that &#039;&#039;&#039;this is a place to get help with Moodle issues, not help with your SCORM package authoring suite&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Debugging ==&lt;br /&gt;
&lt;br /&gt;
# Debugging settings are located at Settings &amp;gt; Site Administration &amp;gt; Plugins &amp;gt; Activities &amp;gt; Scorm.&lt;br /&gt;
# Check the checkbox for &#039;&#039;&#039;Activate API debug...&#039;&#039;&#039;&lt;br /&gt;
# Set the api mask. You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &amp;lt;cite&amp;gt;admin.*&amp;lt;/cite&amp;gt;  Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &amp;lt;cite&amp;gt;.*&amp;lt;/cite&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==What does the debugging log mean?==&lt;br /&gt;
&lt;br /&gt;
The SCO commonly sends the following communications through the API:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;LMSInitialize();&#039;&#039;&#039; opens the connection between the SCO and Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSGetValue( &#039;valuename&#039; );&#039;&#039;&#039; gets a value from Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSSetValue( &#039;valuename&#039; , &#039;value&#039; );&#039;&#039;&#039; sends a value to Moodle&lt;br /&gt;
* &#039;&#039;&#039;LMSCommit();&#039;&#039;&#039; saves values sent to Moodle via LMSSetValue() and should be called after every LMSSetValue()&lt;br /&gt;
* &#039;&#039;&#039;LMSFinish()&#039;&#039;&#039; saves values sent to Moodle and closes the connection between the SCO And Moodle&lt;br /&gt;
&lt;br /&gt;
Red lines in the debugging log means there was an error in the communication through the API. &lt;br /&gt;
&lt;br /&gt;
If LMSInitialize() fails, returns an error, then no subsequent values sent to Moodle will be saved. &lt;br /&gt;
&lt;br /&gt;
Click through the entire SCORM package. Then access the scorm report for your attempt, and compare the saved values in the debugging log with Moodle&#039;s report of the attempt. If the values set in the debug log do not match the values saved to Moodle, then there may be a problem with Moodle. Otherwise it&#039;s likely to be an issue with the SCO or the SCORM activity settings not giving you the functionality you need.&lt;br /&gt;
&lt;br /&gt;
==SCORM and the Gradebook==&lt;br /&gt;
Please see [https://docs.moodle.org/en/SCORM_FAQ#My_SCORM_Module_doesn.27t_function_properly FAQ:My SCORM Module doesn&#039;t function properly] and  [https://docs.moodle.org/en/SCORM_FAQ#Handling_of_Multiple_Attempts FAQ:Handling of Multiple Attempts]&lt;br /&gt;
&lt;br /&gt;
Some SCORM packages report both cmi.core.lesson_status and cmi.core.score.raw. Others report only cmi.core.lesson_status, or only cmi.core.score.raw. The &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting for SCORM objects is meant to account for that.  &lt;br /&gt;
&lt;br /&gt;
If you have the &#039;&#039;&#039;Grading Method&#039;&#039;&#039; set to &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and your learning object does not report a score, only, cmi.core.lesson_status, then there will be no numerical score to pass to the gradebook. &lt;br /&gt;
&lt;br /&gt;
If your SCOs do not report cmi.core.score.raw, then the best &#039;&#039;&#039;Grading Method&#039;&#039;&#039; setting is &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;. This reports either a 1 or a 0 as a score for each learning object. The gradebook value for that SCORM activity is the percent of scos in the package for which learners got a 1. &lt;br /&gt;
&lt;br /&gt;
On the other hand, if your SCOs do not report a lesson_status, then select one of the score-based &#039;&#039;&#039;Grading Method&#039;&#039;&#039; options, such as &#039;&#039;&#039;Highest grade&#039;&#039;&#039;, &#039;&#039;&#039;Average grade&#039;&#039;&#039;, or &#039;&#039;&#039;Sum grade&#039;&#039;&#039;, and not &#039;&#039;&#039;Learning Objects&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
If you do not know what your SCOs are reporting to the LMS, then run them through to completion with debugging on.&lt;br /&gt;
&lt;br /&gt;
Much of the way SCORM objects are graded is controlled inside the SCORM Authoring process before it is packaged for use in an LMS like Moodle - make sure all your grading settings are set correctly.&lt;br /&gt;
&lt;br /&gt;
==SCORM Administration Options==&lt;br /&gt;
&lt;br /&gt;
See [[SCORM settings]]&lt;br /&gt;
&lt;br /&gt;
==Common Solutions==&lt;br /&gt;
&lt;br /&gt;
===Difficulty Displaying a SCORM Package===&lt;br /&gt;
If you have difficulty displaying a SCORM, try loading the SCORM in [http://www.reload.ac.uk Reload] and re-saving it, then save the folder as a .zip package and try again.&lt;br /&gt;
&lt;br /&gt;
===Character Display Errors===&lt;br /&gt;
When you notice there is a problem displaying characters correctly, it could be a misconfiguration of your server. Make sure that both httpd.conf (when using Apache) and php.ini are set to DefaultCharacterset = utf8 or switch the sending of a default character set off.&lt;br /&gt;
&lt;br /&gt;
===slash arguments warning when I add/update SCORM objects in my course===&lt;br /&gt;
Some web servers don&#039;t support a function called &#039;&#039;&#039;slash arguments&#039;&#039;&#039; and so Moodle allows you to turn it off, but SCORM packages require &#039;&#039;&#039;slash arguments&#039;&#039;&#039; to be enabled on the web server in order to work properly.&lt;br /&gt;
&lt;br /&gt;
This affects IIS 5 and earlier and some Apache servers. Under IIS 5 and earlier, a workaround using an [http://www.isapirewrite.com/ ISAPI re-write] tool can be used. &lt;br /&gt;
&lt;br /&gt;
A common problem on Apache web server is the &#039;&#039;&#039;File not found&#039;&#039;&#039; error after uploading a file. For further instructions to fix this issue can be found here:&lt;br /&gt;
* [[Installation_FAQ#Uploaded_files_give_.22File_not_found.22|File not found error on uploaded files]]&lt;br /&gt;
&lt;br /&gt;
For further information about slash arguments and web server configuration see:&lt;br /&gt;
* [[admin/environment/slasharguments|Slasharguments]] &lt;br /&gt;
* [[Internet Information Services#Slasharguments|IIS server configuration]]&lt;br /&gt;
* [[Apache#Slasharguments|Apache slasharguments configuration]]&lt;br /&gt;
* [[Nginx#Slasharguments|Nginx slasharguments configuration]]&lt;br /&gt;
&lt;br /&gt;
===SCORM doesn&#039;t work on Godaddy Host===&lt;br /&gt;
Godaddy hosts give a 404 file not found error - this is because by default they do not allow slash arguments which SCORM requires. The best way to test this is to visit http://yourmoodlesite/admin/tool/health/index.php - but the fix involves adding a php.ini or php5.ini file with the following text:&lt;br /&gt;
 AcceptPathInfo&lt;br /&gt;
 cgi.fix_pathinfo=1&lt;br /&gt;
&lt;br /&gt;
===My Flash-Based Content Loads, then Stalls===&lt;br /&gt;
This issue is most commonly associated with zlib compression. Classic presentation is that the base HTML file and SWF are loaded into the SCORM player, but the SWF is not able to load any audio or video assets, and therefore stalls. You can watch the loading of SWFs and assets using Chrome&#039;s Developer Tools or other. &lt;br /&gt;
&lt;br /&gt;
Check your site&#039;s zlib compression settings as an admin by loading up the Server &amp;gt; phpinfo page. zlib compression is not a Moodle setting but a server setting, so you&#039;ll need a server admin to disable it. Be sure to Purge All Caches, and clear browser caches, before confirming the change. &lt;br /&gt;
&lt;br /&gt;
===Zlib warning when I add/update SCORM objects in my course===&lt;br /&gt;
Zlib is a php compression setting made in a websites PHP configuration - unfortunately some browsers don&#039;t handle this well (especially Internet Explorer 6) Some webhosts enable this setting, but it will likely cause issues for your users when they attempt to view/use the SCORM object. You will need to contact your server administrator to turn this off. The setting to change in php configuration is &amp;quot;zlib.output_compression&amp;quot;&lt;br /&gt;
&lt;br /&gt;
===Incorrect file package - missing imsmanifest.xml or AICC structure===&lt;br /&gt;
This means that Moodle cannot find a file called imsmanifest.xml inside the SCORM object. Reasons for this could be:&lt;br /&gt;
* imsmanifest.xml needs to be immediately inside the scorm directory, NOT inside a directory inside of that. So if the zipped scorm package is package.zip, the unzipped package directory should contain immediately inside of it the imsmanifest.xml. This is a common mistake and normally occurs when a SCORM author creates a package themselves and then selects that folder to compress. This places the content folder inside of another folder, The imsmanifest.xml is there, but it is 2 directories deep. To avoid this problem when zipping scorm content into a package, go INSIDE of the exported scorm folder, select all files inside, and compress them while all are selected. The resultant compressed directory has the imsmanifest.xml file in the first directory, immediately available to the moodle scorm loading process. &lt;br /&gt;
* when using linux based systems the filename imsmanifest.xml must be all in lowercase not IMSmanifest.xml or Imsmanifest.XML&lt;br /&gt;
* The SCORM authoring tool Articulate sometimes fails to create the imsmanifest.xml -Try exporting the package again and see if the manifest is generated.&lt;br /&gt;
* The SCORM authoring tool Articulate Presenter will publish packages where the imsmanifest.xml file is in the correct place, but there are several lines of white space in the manifest file if you do not fill out the Reporting and Tracking Options in Articulate Presenter for Keywords and LMS Description. Moodle will give a &amp;quot;Manifest not found&amp;quot; error when encountering this. To fix this problem select the Reporting and Tracking Options in the Articulate Presenter publish dialog and fill in the LMS Description and Keywords.&lt;br /&gt;
&lt;br /&gt;
===File not found error===&lt;br /&gt;
You have this error if the scorm package is created in moodle, and the scorm menu loads, but inside of the viewing area for the scorm content, you get a page with a 404 file not found error, usually showing the current Moodle theme. &lt;br /&gt;
&lt;br /&gt;
What this means is that one of the files listed in the imsmanifest.xml is not in the scorm package or not in the correct directory.&lt;br /&gt;
&lt;br /&gt;
Download and unzip the package, open up imsmanifest.xml. At the bottom of the xml file, below any metadata, you&#039;ll find a place where organizations and resources for those organizations are designated: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code xml&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;organizations default=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
         &amp;lt;organization identifier=&amp;quot;TOC1&amp;quot;&amp;gt; &lt;br /&gt;
            &amp;lt;title&amp;gt;SCORM Test&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;item identifier=&amp;quot;I_SCO0&amp;quot; identifierref=&amp;quot;SCO0&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;title&amp;gt;Library Quiz&amp;lt;/title&amp;gt;&lt;br /&gt;
            &amp;lt;adlcp:masteryscore&amp;gt;0&amp;lt;/adlcp:masteryscore&amp;gt;&lt;br /&gt;
         &amp;lt;/item&amp;gt;&lt;br /&gt;
         &amp;lt;/organization&amp;gt;&lt;br /&gt;
      &amp;lt;/organizations&amp;gt;&lt;br /&gt;
      &amp;lt;resources&amp;gt;&lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;SCO0&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;sco&amp;quot; href=&amp;quot;scorm.html&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot;/&amp;gt;&lt;br /&gt;
            &amp;lt;dependency identifierref=&amp;quot;ALLRESOURCES&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt; &lt;br /&gt;
         &amp;lt;resource identifier=&amp;quot;ALLRESOURCES&amp;quot; type=&amp;quot;webcontent&amp;quot; adlcp:scormtype=&amp;quot;asset&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.html&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;swfobject.js&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scorm.swf&amp;quot; /&amp;gt;&lt;br /&gt;
            &amp;lt;file href=&amp;quot;scormwrapper.js&amp;quot; /&amp;gt;&lt;br /&gt;
         &amp;lt;/resource&amp;gt;&lt;br /&gt;
      &amp;lt;/resources&amp;gt;&lt;br /&gt;
   &amp;lt;/manifest&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In this xml, we have a single organization, and in that organization is a single resource, a single sco. There are 5 files necessary for that resource to work correctly. The scorm.html file is loaded first. It loads 3 external js files and a swf. &lt;br /&gt;
&lt;br /&gt;
What you need to do now is go to the directory containing imsmanifest.xml, and check that all of those listed files are available at the correct path from imsmanfiest.xml, as listed in imsmanifest.xml. If any one of those files is missing (especially the html file or the swf), or if the paths in imsmanifest.xml are incorrect, then it&#039;s very likely that the scorm object won&#039;t be able to load at all. &lt;br /&gt;
&lt;br /&gt;
Sometimes the files aren&#039;t missing, but are simply misnamed in the manifest, or placed in the wrong directory. You can fix this by moving the files to the correct places, or updating their names so that the imsmanifest and the actual file names match up. In the case of a misnamed file, change the manifest rather than the actual file names, since the the files also reference one another in other places!&lt;br /&gt;
&lt;br /&gt;
===Unzip issues===&lt;br /&gt;
If you get a blank page after filling in the title, description, and selecting a large SCORM file, it&#039;s likely you haven&#039;t installed the PHP-zip lib which is required for Moodle 2.x for more info see [[admin/environment/php_extension/zip]]&lt;br /&gt;
&lt;br /&gt;
===Clear an Attempt===&lt;br /&gt;
To clear attempts by a student:&lt;br /&gt;
&lt;br /&gt;
# Go to the SCORM activity and select the link &amp;quot;View reports for x users&amp;quot;&lt;br /&gt;
# Select the attempt or attempts you want to clear using the checkbox&lt;br /&gt;
# Select Delete in the drop-down box at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
===Handling of Multiple Attempts===&lt;br /&gt;
SCORM is designed to allow a learner to exit and return at a later date to the same point they left from. This means that each time they enter the SCORM they are using the same single attempt. Some SCORM packages are intelligent about handling re-entry, many are not. What this means is that if the learner re-enters an existing attempt, if the SCORM content does not have internal logic to avoid overwriting cmi.core.lesson_status and cmi.core.score.raw, they can be overwritten by a lower score, confusing the learner.&lt;br /&gt;
&lt;br /&gt;
When a SCORM sets the cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; then Moodle allows the user to create a new attempt by adding a &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox to the entry page. If cmi.core.lesson_status is set to &#039;incomplete&#039;, &#039;browsed&#039; or &#039;notattempted&#039; the learner can only re-enter the existing attempt. If you are using the setting &#039;Student skip content structure page&#039;, this checkbox will never be shown to the user.&lt;br /&gt;
&lt;br /&gt;
Moodle provides a range of settings to allow this to be controlled, some of these settings are hidden by default as advanced options.&lt;br /&gt;
* Number of attempts&lt;br /&gt;
:This allows the teacher to set how many SCORM attempts the learner may create - this is not how many times a learner can re-enter a SCORM attempt.&lt;br /&gt;
* Attempts grading&lt;br /&gt;
:This allows the teacher to set how multiple SCORM attempts(not re-entries) are graded. It is important to note that a &#039;failed&#039; cmi.core_lesson_status allows a new attempt to be generated but the attempts grading setting &amp;quot;last completed attempt&amp;quot; only includes &#039;completed&#039; and &#039;passed&#039; values in it&#039;s calculations.&lt;br /&gt;
* Display attempt status&lt;br /&gt;
:This displays a users SCORM attempts and how their final grade is calculated on the SCORM entry page and the My Moodle page for the learner.&lt;br /&gt;
* Force completed&lt;br /&gt;
:This is a setting that can be used to force a SCORM package to report a &#039;completed&#039; cmi.core.lesson_status if it doesn&#039;t currently set the value.&lt;br /&gt;
* Force new attempt&lt;br /&gt;
:This hides the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox and will force a new attempt if the previous attempt has cmi.core.lesson_status value to &#039;completed&#039;, &#039;passed&#039; or &#039;failed&#039; - this setting can also be used to make sure a new attempt is generated when the &#039;Student skip content structure page&#039; setting is used.&lt;br /&gt;
* Lock after final attempt&lt;br /&gt;
:This prevents access to the SCORM after the total number of attempts have been used - if this is not set the learner can re-enter their last attempt and potentially change/overwrite their score each time depending on how the SCORM package supports multiple re-entries.&lt;br /&gt;
&lt;br /&gt;
===Reducing Load Time with Captivate===&lt;br /&gt;
* Modify the percent that must be downloaded before the content starts to play. In Captivate 4, there&#039;s a setting in: Preferences / Project / Start and End / Preload. Reduce that to 50%.&lt;br /&gt;
* If you use audio in your Cp file (as background or element attachment), try to put a gap of 0,1 second at the beginning of each element including audio on your slides. If you don&#039;t do that, Cp merge all the audio files in one big audio file it need to download before playing the project. This problem have been report many times from the Cp community.&lt;br /&gt;
&lt;br /&gt;
===Moodle changes cmi.core.lesson_status from &amp;quot;completed&amp;quot; or &amp;quot;passed&amp;quot; to &amp;quot;failed&amp;quot;===&lt;br /&gt;
Many SCORM authorware suites generate a masteryscore node in the imsmanifest.xml by default. This node is not necessary to the XML file. But when it is there, the SCORM standard designates specific behavior with regard to the value set there. &lt;br /&gt;
&lt;br /&gt;
Here&#039;s what is in the scorm standard, on page 35 of 155 in SCORM_1.2_ConformanceReq.pdf, numbered page 2-19 ([http://www.adlnet.gov/Technologies/scorm/SCORMSDocuments/Forms/AllItems.aspx?RootFolder=%2fTechnologies%2fscorm%2fSCORMSDocuments%2fPrevious%20Versions%2fSCORM%201%2e2%2fDocumentation%20Suite%20%28SCORM%201%2e2%29&amp;amp;FolderCTID=0x0120007F801FCD5325044C89D91240519482D7&amp;amp;View=%7b4D6DFFDE%2d3CFC%2d4DD9%2dA21A%2d4B687728824A%7d SCORM Version 1.2 Conformance Requirements Version 1.2]):&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
If the value for this element is not set to “incomplete” by the SCO, then the LMS shall re-evaluate and change the value based on the following:&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is no mastery score in the Manifest, and the SCO sets a score (cmi.core.score.raw) and the lesson_status (cmi.core.lesson_status) then the LMS shall not override the SCO determined status.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If there is a mastery score in the Manifest, the LMS can change the status to either passed or failed depending on the student&#039;s score (cmi.core.score.raw) compared to the mastery score.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;If the student is taking the SCO for no-credit, (cmi.core.credit = “no-credit”) there is no change to the lesson_status, with one exception. If the lesson_mode (cmi.core.lesson_mode) is &amp;quot;browse&amp;quot;, the lesson_status may change to &amp;quot;browsed&amp;quot; even if the cmi.core.credit is set to no-credit.&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
This can result in some functionality you don&#039;t intend. You can fix the problem by removing the mastery score node from your imsmanifest.xml file. You will also want to find out what options you have, within your authorware suite, for the writing of that node into the manifest file, and change your authoring process accordingly.&lt;br /&gt;
&lt;br /&gt;
===Player Look &#039;n Feel===&lt;br /&gt;
You should be able to adjust height and width settings for the SCORM player window &#039;&#039;&#039;so long as&#039;&#039;&#039; your theme is based on/not too much of an aberration from one of the standard themes which ship with Moodle 2. &lt;br /&gt;
&lt;br /&gt;
If your site or course theme isn&#039;t closely based on one of the standard M2 themes, then it&#039;s possible that your theme CSS is overriding local height and width settings for the SCORM player. Have a Web developer (or a Moodle Partner) examine how your theme is interacting with the player layout, and make changes to your theme as needed.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Why can&#039;t I just change it locally?&#039;&#039;&#039; You can change height and width per individual SCORM package, and you can set defaults for these local height and width values ( [[SCORM Admin Options]] ). Other things, such as colors, shading, borders, backgrounds, are controlled by CSS, just like everything else on the site.&lt;br /&gt;
&lt;br /&gt;
=== Courselab 2.4 ===&lt;br /&gt;
If you receive a &amp;quot; found more than one record!&amp;quot; error when trying to run your SCORM 1.2 package check the imsmanifest.xml file of your SCORM package and ensure that the values for &amp;lt;organization identifier&amp;gt; and &amp;lt;item identifier&amp;gt; are unique. To change the &amp;lt;organization identifier&amp;gt;, in Courselab, go to File &amp;gt; Course Runtime Settings. The dialog says &#039;Course identification in LMS&#039; but changing the Identifier field is what sets the &amp;lt;organization identifier&amp;gt;.  (see MDL-38060 for more information)&lt;br /&gt;
&lt;br /&gt;
=== SCORM results deleted after package update ===&lt;br /&gt;
&lt;br /&gt;
When uploading a SCORM package over a previous one, if the item identifier in the manifest file is different to the one being overwritten then the tracking data for that SCORM package in Moodle is deleted.&lt;br /&gt;
&lt;br /&gt;
Ensure the item identifier is the same for the new SCORM resource&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* Using Moodle [http://moodle.org/mod/forum/view.php?id=1951 SCORM forum]&lt;br /&gt;
* [http://danmarsden.com/blog/2012/08/08/scorm-doesnt-work-in-moodle SCORM doesn&#039;t work] blog post from developer Dan Marsden&lt;br /&gt;
* [http://danmarsden.com/blog/2009/05/23/scorm-2004-in-moodle/ SCORM 2004 in Moodle] blog post from developer Dan Marsden&lt;br /&gt;
* [https://docs.moodle.org/dev/SCORM_schema Internal SCORM Schema]&lt;br /&gt;
* The official standard: [http://www.adlnet.gov/Technologies/scorm/default.aspx Advanced Distributed Learning - SCORM]&lt;br /&gt;
&lt;br /&gt;
Online resources&lt;br /&gt;
* [http://www.scormcourse.com/ SCORMCourse.com] serves the SCORM and ADL community as an educational resource for SCORM technology.&lt;br /&gt;
* [http://www.eduworks.com/index.php/Publications/Learning-Object-Tutorial.html Learning Object Tutorial]&lt;br /&gt;
* [http://elearningweekly.wordpress.com/2007/04/12/tutorial-build-scorm-compatible-lesson-templates-for-your-lms/ Tutorial: Build SCORM-Compatible Lesson Templates for Your LMS]&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=3757 Simple introduction to SCORM] &lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=57059 Are there any sugestions for scorm authoring with Microsoft word / or any other easy (maybe free) scorm authoring tool?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=95946 Is SCORM worth it?]&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=207964 Updating an Object]&lt;br /&gt;
 &lt;br /&gt;
[[Category:FAQ]]&lt;br /&gt;
[[de:Lernpaket FAQ]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=117269</id>
		<title>Managing plagiarism prevention</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=117269"/>
		<updated>2015-03-02T21:46:59Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Other tools for managing Plagiarism */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Enabling plagiarism prevention==&lt;br /&gt;
&lt;br /&gt;
To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; [[Advanced features]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Enableplagiarism.png]]&lt;br /&gt;
&lt;br /&gt;
==Plagiarism prevention plugins==&lt;br /&gt;
&lt;br /&gt;
An administrator then needs to install and configure one or more plagiarism prevention plugins in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Plagiarism prevention &amp;gt; Plagiarism settings&#039;&#039;. Possible plugins include:&lt;br /&gt;
&lt;br /&gt;
*[[Plagiarism Prevention Crot 2.0|Crot]] - Free open source tool. (works with MySQL only).&lt;br /&gt;
*[[Plagiarism Prevention Compilatio|Compilatio]] - Commercial tool requires subscription&lt;br /&gt;
*[[Plagiarism Prevention Moss|Moss]] - Free for non-commercial usage&lt;br /&gt;
*[[Programming_Code_Plagiarism_Plugin|Programming]] - supports Moss and Jplag&lt;br /&gt;
*[[Plagiarism Prevention Turnitin|Turnitin]] - Commercial tool requires subscription&lt;br /&gt;
*[[Plagiarism Prevention URKUND|URKUND]] - Commercial tool requires subscription&lt;br /&gt;
&lt;br /&gt;
== Other tools for managing plagiarism ==&lt;br /&gt;
*[[Acknowledge plagiarism statement access rule]] - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz.&lt;br /&gt;
*[https://moodle.org/plugins/view.php?plugin=quizaccess_safeexambrowser Safe Exam Browser quiz access rule] - Provides Safe Exam Browser 2.0 integration for Moodle.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[de:Plagiatsuche-Plugins verwalten]]&lt;br /&gt;
[[es:Gestionando prevención de plagio]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=117268</id>
		<title>Managing plagiarism prevention</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Managing_plagiarism_prevention&amp;diff=117268"/>
		<updated>2015-03-02T21:46:10Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: move non-plagiarism plugins into separate title&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Enabling plagiarism prevention==&lt;br /&gt;
&lt;br /&gt;
To make use of plagiarism prevention, the feature must be enabled by an administrator by checking the enable plagiarism plugins box in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; [[Advanced features]]&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
[[File:Enableplagiarism.png]]&lt;br /&gt;
&lt;br /&gt;
==Plagiarism prevention plugins==&lt;br /&gt;
&lt;br /&gt;
An administrator then needs to install and configure one or more plagiarism prevention plugins in &#039;&#039;Administration &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Plagiarism prevention &amp;gt; Plagiarism settings&#039;&#039;. Possible plugins include:&lt;br /&gt;
&lt;br /&gt;
*[[Plagiarism Prevention Crot 2.0|Crot]] - Free open source tool. (works with MySQL only).&lt;br /&gt;
*[[Plagiarism Prevention Compilatio|Compilatio]] - Commercial tool requires subscription&lt;br /&gt;
*[[Plagiarism Prevention Moss|Moss]] - Free for non-commercial usage&lt;br /&gt;
*[[Programming_Code_Plagiarism_Plugin|Programming]] - supports Moss and Jplag&lt;br /&gt;
*[[Plagiarism Prevention Turnitin|Turnitin]] - Commercial tool requires subscription&lt;br /&gt;
*[[Plagiarism Prevention URKUND|URKUND]] - Commercial tool requires subscription&lt;br /&gt;
&lt;br /&gt;
== Other tools for managing Plagiarism ==&lt;br /&gt;
*[[Acknowledge plagiarism statement access rule]] - A plugin by the Open University lets you require students to agree to a statement about not plagiarising before starting a quiz.&lt;br /&gt;
*[https://moodle.org/plugins/view.php?plugin=quizaccess_safeexambrowser Safe Exam Browser quiz access rule] - Provides Safe Exam Browser 2.0 integration for Moodle.&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
[[de:Plagiatsuche-Plugins verwalten]]&lt;br /&gt;
[[es:Gestionando prevención de plagio]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=117019</id>
		<title>Plagiarism Prevention URKUND Settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Plagiarism_Prevention_URKUND_Settings&amp;diff=117019"/>
		<updated>2015-02-11T22:43:41Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Global Configuration of URKUND */ add instruction to enable log store&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Plagiarism prevention}}&lt;br /&gt;
==Activation of your URKUND Account==&lt;br /&gt;
# obtain a URKUND Subscription from [http://www.urkund.com www.urkund.com]&lt;br /&gt;
&lt;br /&gt;
==Installation of the plugin ==&lt;br /&gt;
=== Installation using Git ===&lt;br /&gt;
from the root of your install:&lt;br /&gt;
  git clone git://github.com/danmarsden/moodle-plagiarism_urkund.git plagiarism/urkund&lt;br /&gt;
then add plagairism/urkund to your .gitignore&lt;br /&gt;
Visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
=== Installation using a Zip file ===&lt;br /&gt;
Download the zip:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/zipball/master&lt;br /&gt;
or the tar.gz:&lt;br /&gt;
https://github.com/danmarsden/moodle-plagiarism_urkund/tarball/master&lt;br /&gt;
&lt;br /&gt;
Then Extract these files into a new folder under /plagiarism/urkund and visit the Admin &amp;gt; Notifications page in Moodle to trigger the upgrade scripts&lt;br /&gt;
==Global Configuration of URKUND==&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Advanced Features&#039;&#039; find the setting “Enable plagiarism plugins” - make sure the box is ticked.[[File:Enableplagiarism.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Site administration &amp;gt;Plugins &amp;gt;Logging &amp;gt; Manage log stores&#039;&#039;. - make sure the &amp;quot;legacy log&amp;quot; store is enabled: [[File:logstores.png]]&lt;br /&gt;
# Go to &#039;&#039;Admin &amp;gt; Plugins &amp;gt; Plagiarism Prevention &amp;gt; URKUND&#039;&#039;&lt;br /&gt;
## Tick the box &amp;quot;Use URKUND&amp;quot;&lt;br /&gt;
## Enter your URKUND UIS username &lt;br /&gt;
## Enter your URKUND UIS password&lt;br /&gt;
## Set the Student Disclosure statement. - this is displayed to all students on the upload screen to notify them that the URKUND system is in use. [[File:Urkundsettings.png]]&lt;br /&gt;
# in the page &#039;&#039;Admin &amp;gt; Modules &amp;gt; Activities &amp;gt; URKUND&#039;&#039; click on the tab &amp;quot;URKUND Defaults&amp;quot;&lt;br /&gt;
## Configure the default settings to be used inside a Moodle module when creating/editing a new module. [[File:Urkunddefaults.png]]&lt;br /&gt;
&lt;br /&gt;
==Advanced Configuration==&lt;br /&gt;
The ability to enable/disable URKUND within a Moodle module such as an assignment is managed using a capability that is by default given to all managers and editing teachers on the site.&lt;br /&gt;
If you want to force all assignments on your site to use URKUND and prevent your teachers from changing these settings you can set the defaults above and then remove the capability “moodle/plagiarism_urkund:enable” from your teacher roles.&lt;br /&gt;
&lt;br /&gt;
You can also use this capability to selectively allow certain teachers to use URKUND by setting the default above “Enable URKUND” to “No” - and giving the capabiltiy “moodle/plagiarism_urkund:enable”  only to the teachers you want to be able to use URKUND&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=116734</id>
		<title>SCORM settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=SCORM_settings&amp;diff=116734"/>
		<updated>2015-01-21T22:18:51Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Auto-Continue */ improve text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCORM}}&lt;br /&gt;
==Adding a SCORM package==&lt;br /&gt;
&lt;br /&gt;
To add a SCORM package to your course&lt;br /&gt;
&lt;br /&gt;
Quick method: (&#039;&#039;Note - does not work with versions of  Internet Explorer earlier than IE10&#039;&#039;)&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Drag and drop the SCORM package zip file onto the course section where you&#039;d like it to appear&lt;br /&gt;
# Answer &#039;Add a SCORM package&#039; to the popup dialogue asking what you want to do with the zip file then click the upload button&lt;br /&gt;
# If necessary, edit the title of the file by clicking the pencil icon, or edit other options (see below) by clicking the editing icon&lt;br /&gt;
&lt;br /&gt;
Note: It is currently not yet possible to add AICC packages using the quick method.&lt;br /&gt;
&lt;br /&gt;
Longer method:&lt;br /&gt;
# Click the &#039;Turn editing on&#039; button at the top right of the course page&lt;br /&gt;
# Click the &#039;Add an activity or resource&#039; link in the section you wish to add your SCORM package, then in the activity chooser, select SCORM package then click the Add button (or select &#039;SCORM package&#039; from the &#039;Add an activity&#039; dropdown menu) &lt;br /&gt;
# Enter a name and a description (which may be required or optional according to the admin settings)&lt;br /&gt;
# Either drag and drop a SCORM package zip file into the box with an arrow or click the Add button to open the [[File picker]] menu in order to choose a file from your computer or a repository&lt;br /&gt;
# Select display and other options as required (see below)&lt;br /&gt;
# Click the button &#039;Save and display&#039; at the bottom of the page&lt;br /&gt;
&lt;br /&gt;
You can edit or update the SCORM package later by clicking on the edit icon (usually a hand/pen) or by clicking on its name and then &#039;&#039;Settings &amp;gt; SCORM/AICC administration &amp;gt; Edit settings&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Note: Moodle &#039;&#039;&#039;does not&#039;&#039;&#039; generate SCORM content. Moodle presents the content in SCORM packages to learners, and saves data from learner interactions with the SCORM package. See [[Tools for creating SCORM content]]&lt;br /&gt;
&lt;br /&gt;
==Course settings==&lt;br /&gt;
&lt;br /&gt;
===General===&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgeneralsettings.png|thumb|430px|General settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
====Name====&lt;br /&gt;
Whatever you type here will form the link learners click on to access the SCORM package, so it is helpful to give it a name that suggests its purpose.&lt;br /&gt;
====Description====&lt;br /&gt;
Add a description of your SCORM activity here. Click &amp;quot;Show editing tools&amp;quot; to display the rich text editor, and drag the bottom right of the text box out to expand it.&lt;br /&gt;
====Display description on the course page====&lt;br /&gt;
If this box is ticked, the description will appear on the course page just below the name of the SCORM activity.&lt;br /&gt;
&lt;br /&gt;
===Package===&lt;br /&gt;
This setting determines which SCORM package is used by this SCORM activity.  Drag and drop or click the icon top left to upload your SCORM package. (Note that you must not unzip the package before upload.)The default (1) is to be able to upload a file. If your admin has added additional options in &#039;&#039;Site administration&amp;gt;Plugins&amp;gt;Activity modules&amp;gt;SCORM package&#039;&#039; then these will be available in a dropdown menu. (2) &lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormpackage.png|thumb|443px|Package settings expanded by default]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Alias/Shortcut====&lt;br /&gt;
If you access your SCORM package from a repository (such as [[File system repository]] or [[Private files]]) you can choose to create an alias/shortcut to it and then  set an update frequency to set how often Moodle should check to see if there is an updated zip. (See [[Working with files]] for more information on setting an alias/shortcut.)&lt;br /&gt;
&lt;br /&gt;
====Selecting an imsmanifest.xml====&lt;br /&gt;
&lt;br /&gt;
It it possible to select the imsmanifest.xml file and have it as an alias/shortcut. To do this, you need to have  created a [[File system repository]] and, when configuring it, allowed relative files. Extract your SCORM package into a folder there. When clicking on the Add button to add your SCORM package, select the file system repository folder with your SCORM package and browse for and select the imsmanfest.xml file, ensuring you  the option to create an alias/shortcut to the file. Save and display. (Note this method is only currently supported by the File system repository.)&lt;br /&gt;
&lt;br /&gt;
For more information with screenshots, see Dan Marsden&#039;s [http://danmarsden.com/blog/2013/09/24/managing-scorm-content-in-moodle-2-6/ blog post on Managing SCORM content]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Note: The settings (&#039;&#039;Type&#039;&#039;, &#039;&#039;URL&#039;&#039; and &#039;&#039;Auto-update frequency&#039;&#039;) are only available when configured globally. See &#039;&#039;&#039;Admin settings&#039;&#039;&#039; below.&lt;br /&gt;
&lt;br /&gt;
===Appearance===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:26scormappearance.png|thumb|450px|Appearance settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
====Display package==== &lt;br /&gt;
Choose from current or new window. Note that if you choose a  new window, students need to ensure pop ups are enabled. &lt;br /&gt;
====Display course structure on entry page====&lt;br /&gt;
If this is enabled then the table of contents of the package will be displayed when the students clicks to access the package.&lt;br /&gt;
====Show Navigation====&lt;br /&gt;
This setting determines whether the navigation buttons are shown or not.&lt;br /&gt;
#No -they are hidden&lt;br /&gt;
#Under content - they are displayed underneath the SCORM package&lt;br /&gt;
#Floating - the navigation buttons are floating (with options to choose the position from the left and top)&lt;br /&gt;
&lt;br /&gt;
====Display attempt status====&lt;br /&gt;
You can choose whether to display a summary of the student&#039;s attempts on the entry page, on their [[My home]] page or both. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The following settings become visible when &amp;quot;Show more&amp;quot; is clicked:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====Width====&lt;br /&gt;
Stage size width as a css value, either % or pixels. Default is 100%. You can change to a different percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
====Height====&lt;br /&gt;
Stage size height as a css value, either % or pixels. Default is 500 pixels. You can change to a percentage by putting a % symbol after the number (ex. 80%). You can also set to a pixels value by entering a number higher than 100 (ex. 800). &lt;br /&gt;
&lt;br /&gt;
====Options====&lt;br /&gt;
There is a series of check boxes for:Allow the window to be resized ad scrolled, displaying directory links, location bar, menu bar, toolbar and/or status.&lt;br /&gt;
*&#039;&#039;&#039;Student skip content structure page&#039;&#039;&#039; - never, first access, always&lt;br /&gt;
*&#039;&#039;&#039;Disable preview mode&#039;&#039;&#039; - If this option is set to Yes, the Preview button in the view page of a SCORM/AICC Package activity will be hidden. The student can choose to preview (browse mode) the activity or attempt it in the normal mode. When a Learning Object is completed in preview (browse) mode, it&#039;s marked with browsed icon&lt;br /&gt;
*&#039;&#039;&#039;Display course structure in player&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Availability===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormavailability25.png|thumb|470px|Availability settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
Choose here the dates you wish the SCORM package to be available to students.&lt;br /&gt;
&lt;br /&gt;
===Grade===&lt;br /&gt;
(These settings are collapsed by default)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormgrading.png|thumb|339px|Grade settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
====Grading method====&lt;br /&gt;
** Learning Objects - This mode shows the number of completed/passed Learning Objects for the activity. The max value is the number of Package&#039;s Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.lesson_status, and does not report cmi.core.score.raw, then you should use this setting. &lt;br /&gt;
** Highest grade - The grade page will display the highest score obtained by users in all passed Learning Objects. &#039;&#039;Tip:&#039;&#039; If your SCORM package does report cmi.core.score.raw, and does not report cmi.core.lesson_status, then you should use this setting, Average grade, or Sum grade. &lt;br /&gt;
** Average grade - If you choose this mode Moodle will calculate the average of all scores.&lt;br /&gt;
**Sum grade - With this mode all the scores will be added.&lt;br /&gt;
====Maximum grade====  &lt;br /&gt;
Not applicable if Grading Method is Learning objects. Usual setting is 100. If your SCO &#039;s high score is something other than 100, you should adjust this value appropriately. When grading Method is one of the score settings, then the gradebook grade is package score divided by this number.&lt;br /&gt;
&lt;br /&gt;
===Attempts management===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormattempts.png|thumb|416px|Attempts management screen expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Number of attempts====&lt;br /&gt;
Defines the number of attempts permitted to users. It works only with SCORM 1.2 and AICC packages. SCORM2004 has its own max attempts definition. &lt;br /&gt;
** The option to start a new attempt is provided by a checkbox above the &#039;&#039;&#039;Enter&#039;&#039;&#039; button on the content structure page, so be sure you&#039;re providing access to that page if you want to allow more than one attempt.&lt;br /&gt;
** An attempt is not complete until the cmi.core.lesson_status for the attempt is set to either &#039;completed&#039; or &#039;passed&#039;. After that, the &#039;&#039;&#039;Start new attempt&#039;&#039;&#039; checkbox is available to the learner.  &lt;br /&gt;
====Attempts grading====&lt;br /&gt;
When you permit multiple attempts for students, you can choose how to record the result in gradebook by first, last, average or highest settings.&lt;br /&gt;
* &#039;&#039;&#039;Display attempt status&#039;&#039;&#039; - If enabled, scores and grades for attempts are displayed on the SCORM outline page. This setting makes the block display more info to the user on the entry page to the SCORM and in the course overview block - if you turn it off it will display less info. This setting is helpful when debugging grading issues - working out why a user got a certain grade.&lt;br /&gt;
&lt;br /&gt;
====Force new attempt====&lt;br /&gt;
If this is enabled then every time the student accesses the package, it will count as a new attempt.&lt;br /&gt;
====Lock after final attempt====&lt;br /&gt;
If this is enabled then once a student has used up all their attempts, they can no longer access the SCORM package.&lt;br /&gt;
&lt;br /&gt;
===Compatibility settings===&lt;br /&gt;
(These settings are collapsed by default.)&lt;br /&gt;
{|&lt;br /&gt;
|[[File:scormcompat.png|thumb|273px|Compatibility settings expanded]]&lt;br /&gt;
|}&lt;br /&gt;
====Auto-Continue==== &lt;br /&gt;
For SCORM packages that contain multiple learning objects (or SCO&#039;s) and Auto-continue is set to Yes, when a Learning Object calls the &amp;quot;close communication&amp;quot; method the next available object is launched automatically.If it is set to No, the users must use the navigation provided to continue to the next object. Many SCORM packages only contain a single learning object (or SCO) so this setting does not apply.&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; If your package contains multiple branches Auto-Continue will only move from one object to the next within the same topic.&lt;br /&gt;
&lt;br /&gt;
====Force completed====&lt;br /&gt;
If this is enabled then the status of the current attempt is set to &amp;quot;complete&amp;quot;. Note that this only applies to SCORM 1.2 packages and is useful if the SCORM package does not handle revisiting an attempt correctly, in review or browse mode, or otherwise incorrectly issues the completion status.&lt;br /&gt;
&lt;br /&gt;
* Auto-update frequency - If not using a standard SCORM package uploaded using the filepicker and the SCORM package is hosted outside your Moodle installation the option to auto-update the package will be available - you can elect to have the package updated on every entry to the package or daily via the Moodle cron.&lt;br /&gt;
&lt;br /&gt;
===Common module settings===&lt;br /&gt;
&lt;br /&gt;
See [[Common module settings]]&lt;br /&gt;
&lt;br /&gt;
===Restrict access===&lt;br /&gt;
&lt;br /&gt;
These settings will be available if [[Conditional activities]] are enabled.&lt;br /&gt;
&lt;br /&gt;
===Activity completion settings===&lt;br /&gt;
&lt;br /&gt;
If this has been enabled for the course, then SCORM completion may be set based on minimum score or status (e.g. &amp;quot;Passed&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
[[File:scormscore1.png]]&lt;br /&gt;
&lt;br /&gt;
===Save settings===&lt;br /&gt;
&lt;br /&gt;
As in most activities there are 3 save button choices. &#039;&#039;&#039;Cancel&#039;&#039;&#039;, &#039;&#039;&#039;Save and return to course&#039;&#039;&#039; and &#039;&#039;&#039;Save changes&#039;&#039;&#039; buttons.  The Save changes button will take the teacher back to the SCORM &amp;quot;stage&amp;quot; page.&lt;br /&gt;
&lt;br /&gt;
==Site administration settings==&lt;br /&gt;
&lt;br /&gt;
These options are available to the site admin in the &#039;&#039;&#039;Settings&#039;&#039;&#039; menu: &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Activity Modules &amp;gt; SCORM Package&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
===Default Value Settings===&lt;br /&gt;
Many of the settings available in the SCORM Package administration simply set the default value for the SCORM activity module setup options provided within courses. Edit these settings to save yourself time when adding large numbers of packages, or to establish a standard for presentation across the site.&lt;br /&gt;
&lt;br /&gt;
===Other Important Settings===&lt;br /&gt;
The following options provided which &#039;&#039;&#039;do not&#039;&#039;&#039; simply set a default value for the SCORM activity editing page view. &lt;br /&gt;
; Auto-update frequency&lt;br /&gt;
If not using a standard SCORM package uploaded using the filepicker and the SCORM package is hosted outside your Moodle installation the option to auto-update the package will be available - you can elect to have the package updated on every entry to the package or daily via the Moodle cron.&lt;br /&gt;
;Synchronization time&lt;br /&gt;
&lt;br /&gt;
;Enable SCORM 1.2 standard mode &lt;br /&gt;
:If this setting is disabled, then it will be possible to exceed the allowed amount of stored data for SCORM 1.2 packages. Many SCORM packages go over the 4096 characters limit and while SCORM 2004 allows a higher number of characters, it is not supported. This setting will mean users can allow their 1.2 packages to store more data.&lt;br /&gt;
;Enable external package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote imsmanifest.xml (in an unzipped remote SCORM package), as well as the file picker option provided by default. Note that the content is played from the designated location, and not unpacked into the Moodle file system. So if the base url is different from your moodle url then browser security will block cross-domain communcation and no grades/tracking information will be passed back to Moodle.&lt;br /&gt;
;Enable downloaded package type&lt;br /&gt;
:If selected, presents a text field to paste a URL to a remote package.zip SCORM package. Package is downloaded and unzipped into the Moodle file system.&lt;br /&gt;
;Enable IMS package type&lt;br /&gt;
:Enables a package to be selected from within an IMS repository&lt;br /&gt;
;Force users to enable JavaScript&lt;br /&gt;
:Since the SCORM API uses JavaScript to save data to Moodle, this is a great idea!&lt;br /&gt;
;Activate API debug and tracing (set the capture mask with apidebugmask)&lt;br /&gt;
:Turns on debugging for SCORM activities. In Moodle 2 you no longer have to also turn on debugging in the developer options. &lt;br /&gt;
;API debug capture mask&lt;br /&gt;
:.* will debug for admin user only: You can use the mask to enable debugging under certain conditions. For example, if you are logged in using the admin user (username admin) you can set the api mask to: &#039;&#039;&#039;admin.*&#039;&#039;&#039; Users not logged in as admin will not see the debugging log. The &amp;quot;Default&amp;quot; api mask is &#039;&#039;&#039;.*&#039;&#039;&#039; which translates roughly to &#039;&#039;&#039;everybody&#039;&#039;&#039;.&lt;br /&gt;
;Enable direct AICC url&lt;br /&gt;
:Makes it easier to connect to externally hosted AICC content as the teacher doesn&#039;t have to create an AICC package and is able to link directly to the external AICC url.&lt;br /&gt;
;Enable external AICC HACP&lt;br /&gt;
:The SCORM activity can also support external AICC HACP Communication where the AICC package is hosted on an external content providers site and passes back http requests directly from the external server instead of within the users web browser session - this is disabled by default.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
&lt;br /&gt;
* [[:dev:SCORM_schema |SCORM Schema]] for developers&lt;br /&gt;
&lt;br /&gt;
[[de:Lernpaket konfigurieren]]&lt;br /&gt;
[[fr:Ajouter/modifier un SCORM]]&lt;br /&gt;
[[ja:SCORMを追加/編集する]]&lt;br /&gt;
[[es:Configuraciones del SCORM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=Talk:Plagiarism_Prevention_Turnitin_Settings&amp;diff=115059</id>
		<title>Talk:Plagiarism Prevention Turnitin Settings</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=Talk:Plagiarism_Prevention_Turnitin_Settings&amp;diff=115059"/>
		<updated>2014-09-24T21:52:31Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This instruction seems to need updating, yes?&lt;br /&gt;
&lt;br /&gt;
Activation of your Turnitin Account&lt;br /&gt;
&lt;br /&gt;
    obtain a Turnitin Subscription from www.turnitin.com&lt;br /&gt;
    Email your Turnitin Account rep or the Turnitin helpdesk (turnitinsupport@turnitin.com) and paste this text into the e-mail:&lt;br /&gt;
&#039;&#039;&#039;&lt;br /&gt;
 Please manually enable our Turnitin account to allow the use of the Turnitin Plagiarism plugin for Moodle 2.0 written by Dan Marsden from Catalyst IT.&lt;br /&gt;
 &lt;br /&gt;
 We are aware of the Turnitin Basic, Turnitin Direct plugins and the new plugin planned to replace Dan Marsdens plugin but wish to use the older plug-in provided from Dan Marsden/Catalyst IT until the new one is available.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I&#039;m trying to set up the Turnitin Assignment plugin but the documentation seems to invite confusion. Please let me know if I&#039;m wrong, thanks.&lt;br /&gt;
&lt;br /&gt;
Yes - if you&#039;re just starting with Turnitin you should be using the turnitintooltwo plugin which also includes a replacement for this particular code - this documentation is for my older plugin which is in the process of being deprecated. --[[User:Dan Marsden|Dan Marsden]] ([[User talk:Dan Marsden|talk]]) 05:52, 25 September 2014 (WST)&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114199</id>
		<title>NTLM authentication</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114199"/>
		<updated>2014-08-18T10:40:07Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Using the NTLM part of Samba for Apache on Linux */ move ubuntu 12 install info to top of block&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Authentication}}This document describes how to set up &#039;&#039;&#039;NTLM/Windows Integrated Authentication&#039;&#039;&#039; in Moodle. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Integrated Windows Authentication uses the security features of Windows clients and servers. It does not prompt users for a user name and password. The current Windows user information on the client computer is supplied by the browser through a challenge/response authentication process with the Web server for the Moodle site. &lt;br /&gt;
&lt;br /&gt;
==Assumptions==&lt;br /&gt;
&lt;br /&gt;
#You are running MS [[Active Directory]] for Authentication.&lt;br /&gt;
#The Server hosting your website is a member of the Active Directory Domain that your users are also members of.&lt;br /&gt;
#You are able to define people inside your Network (and authenticated to the Domain) from an IP range of computers.&lt;br /&gt;
#You are familar with or have read the LDAP authentication documentation.&lt;br /&gt;
#The Active Directory domain credentials of your users are returned as &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; from your authentication service. If you are using the Winbind service from the Samba project, this can be untrue, depending on your Winbind configuration settings. If you are using Moodle 2.4 or later, you can specify the format of the domain credentials (see below). If you are using an older version and you can not modify your settings to satisfy this last assumption, then you will need to remove or comment out the line that reads:&lt;br /&gt;
    $username = substr(strrchr($username, &#039;\\&#039;), 1); //strip domain info&lt;br /&gt;
and add the relevant lines of code to extract the username part from the domain user credentials and store it in $username.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&#039;&#039;&#039;VERY IMPORTANT&#039;&#039;&#039;: NTLM authentication depends on [[LDAP authentication]], and NTLM configuration is specified in the LDAP authentication settings page (Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server). So before trying to configure NTLM, make sure you have LDAP_authentication properly setup and working.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
No installation needed. See Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server for the NTLM config options. You only have to&lt;br /&gt;
&lt;br /&gt;
*Enable NTLM SSO&lt;br /&gt;
*Set the IP/Subnet mask for the clients (see below)&lt;br /&gt;
*(Optionally) Set the &amp;quot;Remote username format&amp;quot; for your domain user credentials format (see below)&lt;br /&gt;
*On IIS: turn on Windows Authentication&lt;br /&gt;
*On Apache - use one of the 3 methods outlined below&lt;br /&gt;
*On the client pc&#039;s, you might need to set the moodle server ip/moodle url as being in &amp;quot;local intranet&amp;quot; (From IE, tools -&amp;gt; options -&amp;gt; security -&amp;gt; local intranet)&lt;br /&gt;
&lt;br /&gt;
It is important to note the following conditions must be satisfied to let NTLM SSO happens:&lt;br /&gt;
*you&#039;ve arrived to the login page with one GET request&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_enabled&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_subnet&lt;br /&gt;
*you aren&#039;t logged&lt;br /&gt;
*the IP of the client is in ntlmsso_subnet&lt;br /&gt;
&lt;br /&gt;
Thus it is needed to set the IP subnet.&lt;br /&gt;
&lt;br /&gt;
==How to Turn Integrated Authentication on==&lt;br /&gt;
The auth/ldap/ntlmsso_magic.php file MUST have NTLM/Integrated Authentication enabled on the server or the authentication will not work.&lt;br /&gt;
&lt;br /&gt;
===IIS Configuration===&lt;br /&gt;
Open the IIS Management Console and navigate to the auth/ldap/ntlmsso_magic.php file.&lt;br /&gt;
&lt;br /&gt;
====IIS 6.0====&lt;br /&gt;
#right click on the file, choose properties&lt;br /&gt;
#under the &amp;quot;file security&amp;quot; tab, click on the Authentication and Access control &amp;quot;edit&amp;quot; button&lt;br /&gt;
#untick &amp;quot;Enable Anonymous Access&amp;quot; and tick &amp;quot;Integrated Windows Authentication&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====IIS 7.x====&lt;br /&gt;
#After navigating to the &#039;auth/ldap&#039; folder, switch to Content View&lt;br /&gt;
#right click on the file, choose &amp;quot;Switch to Features View&amp;quot;&lt;br /&gt;
#click on the Authentication icon on the right&lt;br /&gt;
#select &#039;Anonymous Authentication&#039; and click the &#039;Disable&#039; button&lt;br /&gt;
#select &#039;Windows Authentication&#039; and click the &#039;Enable&#039; button&lt;br /&gt;
&lt;br /&gt;
*According to [http://moodle.org/mod/forum/discuss.php?d=145171#p634027 this post], if you are using IIS 7.5 (it comes with Windows Server 2008 R2), you have to select &#039;Windows Authentication&#039; and click on &#039;Providers&#039;. This shows a list of enabled providers (Negotiate and NTLM, by default). Change the order so that NTLM is at the top of the list.&lt;br /&gt;
*If &#039;Windows Authentication&#039; is not available, then you need to install it as a separate authentication provider (in Control Panel).&lt;br /&gt;
&lt;br /&gt;
===APACHE Configuration===&lt;br /&gt;
There are currently 3 possible methods for this:&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM part of Samba for Apache on Linux====&lt;br /&gt;
* If using Ubuntu 12.04 or higher you can install this using:&lt;br /&gt;
 sudo apt-get install php5-ldap&lt;br /&gt;
 sudo apt-get install libapache2-mod-auth-ntlm-winbind &lt;br /&gt;
 sudo a2enmod auth_ntlm_winbind &lt;br /&gt;
 sudo apt-get install winbind smbfs smbclient samba&lt;br /&gt;
* If you are using an earlier version of Ubuntu or another distribution you can get the plugin here: http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/ . You need to download all the files from the link, but not the &amp;lt;code&amp;gt;contrib&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debian&amp;lt;/code&amp;gt; directories. Then follow the instructions given inside the &amp;lt;code&amp;gt;README&amp;lt;/code&amp;gt; file. If you are using Debian/Ubuntu, you can follow these [[#Compiling_mod_auth_ntlm_winbind_on_Debian.2FUbuntu|compilation instructions]].&lt;br /&gt;
* Once you have compiled it, put it inside Apache&#039;s modules subdirectory (this location depends on a number of factors, like compiling Apache yourself, using different Linux distributions packages, an so on), and load and enable the module in Apache&#039;s configuration. For example, if your Apache modules are under &amp;lt;tt&amp;gt;/usr/lib/apache2/modules&amp;lt;/tt&amp;gt;, you&#039;ll need something like this in your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule !mod_auth_ntlm_winbind.c&amp;gt;&lt;br /&gt;
       LoadModule auth_ntlm_winbind_module /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install the Samba &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; daemon package. This packages relies on Samba&#039;s configuration file to get some important settings (like the Windows domain name, uid and gid range mappings, and so on). In addition to that, you&#039;ll need to make your Linux/Unix machine part of the domain. Otherwise winbind won&#039;t be able to pull user and groups informationi from the domain controllers. You should read the Samba documentation to perform this step, but the most important part is having something like the following lines in your &amp;lt;code&amp;gt;smb.conf&amp;lt;/code&amp;gt; file, inside the [global] section (in addition to what you already have there):&lt;br /&gt;
&lt;br /&gt;
  workgroup = DOMAINNAME&lt;br /&gt;
  password server = *&lt;br /&gt;
  security = domain&lt;br /&gt;
  encrypt passwords = true&lt;br /&gt;
  idmap uid = 10000-20000&lt;br /&gt;
  idmap gid = 10000-20000&lt;br /&gt;
&lt;br /&gt;
: and executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where &#039;&#039;&#039;DOMAINNAME&#039;&#039;&#039; is the NetBIOS windows domain name, and &#039;&#039;&#039;Administrator&#039;&#039;&#039; an account with enough privileges to add new machines to the domain.&amp;lt;br/&amp;gt; You&#039;ll need to type this account&#039;s password for the command to succeed.&lt;br /&gt;
&lt;br /&gt;
: In Windows environments you could also try executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -S DCSERVER -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where DCSERVER is the Domain Controller server&lt;br /&gt;
&lt;br /&gt;
: Also, make sure you have disabled &amp;quot;Microsoft Network Server: digitally sign communications (always)&amp;quot; in your Domain Controllers Security Policy, unless you are using a version of Samba that can sign SMB packets.&lt;br /&gt;
&lt;br /&gt;
* Restart the &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; service to apply the changes and test that it&#039;s running ok by executing:&lt;br /&gt;
&lt;br /&gt;
  $ wbinfo -u&lt;br /&gt;
&lt;br /&gt;
: You should get the full list of Windows domain users. If you use &#039;&#039;&#039;&amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt;&#039;&#039;&#039; instead, you&#039;ll get the domain groups list.&lt;br /&gt;
&lt;br /&gt;
* Check that your &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; package installed the authentication helper command &amp;lt;tt&amp;gt;ntlm_auth&amp;lt;/tt&amp;gt;, as we&#039;ll need it later. We&#039;ll assume the helper is located at &amp;lt;tt&amp;gt;/usr/bin/ntlm_auth&amp;lt;/tt&amp;gt;. If yours is at a different location, make sure you adjust the path in the example below.&lt;br /&gt;
&lt;br /&gt;
* Add something like this to your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;). We&#039;ll assume that your Moodle &amp;lt;tt&amp;gt;$CFG-&amp;gt;dirroot&amp;lt;/tt&amp;gt; directory is located at &amp;lt;tt&amp;gt;/var/www/moodle&amp;lt;/tt&amp;gt; in the example:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/var/www/moodle/auth/ldap/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            NTLMAuth on&lt;br /&gt;
            AuthType NTLM&lt;br /&gt;
            AuthName &amp;quot;Moodle NTLM Authentication&amp;quot;&lt;br /&gt;
            NTLMAuthHelper &amp;quot;/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp&amp;quot;&lt;br /&gt;
            NTLMBasicAuthoritative on&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
* Check the permissions of the Winbind pipe directory (Ubuntu places it under &amp;lt;tt&amp;gt;/var/run/samba/winbindd_privileged&amp;lt;/tt&amp;gt;, yours may be placed at a different location). Apache will need to be able to enter that directory, so we need to make sure it has the right permissions. So have a look at the permissions of that directory and note the name of the group assigned to it. The following example is from a Ubuntu 7.10 machine:&lt;br /&gt;
&lt;br /&gt;
  $ ls -ald /var/run/samba/winbindd_privileged&lt;br /&gt;
  drwxr-x--- 2 root winbindd_priv 60 2007-11-17 16:18 /var/run/samba/winbindd_privileged/&lt;br /&gt;
&lt;br /&gt;
:so we see the group is &amp;lt;tt&amp;gt;winbindd_priv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Instead of modifying the directory permissions (which could break other services that use winbind) we are going to make the Apache user (&amp;lt;tt&amp;gt;www-data&amp;lt;/tt&amp;gt; in our example, but could be &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;nobody&amp;lt;/tt&amp;gt;, etc.) is part of the appropiate group. Execute the following as root:&lt;br /&gt;
&lt;br /&gt;
  # adduser www-data winbindd_priv&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt; is available in Debian and Ubuntu at least. If your distribution doesn&#039;t have &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt;, you can edit &amp;lt;tt&amp;gt;/etc/group&amp;lt;/tt&amp;gt; manually to achive the same effect.&lt;br /&gt;
&lt;br /&gt;
* Stop and start the Apache service to apply the changes. Have a look at Apache&#039;s error log to see that everything is ok.&lt;br /&gt;
&lt;br /&gt;
* Couple of gotchas - in Fedora Core (and also in Redhat/Centos), keep alive is turned OFF by default in the httpd.conf - see this bug for further info: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188138&amp;lt;br /&amp;gt;&lt;br /&gt;
simply change the line to that was:&lt;br /&gt;
 KeepAlive Off&lt;br /&gt;
to:&lt;br /&gt;
 KeepAlive On&lt;br /&gt;
and restart apache (/etc/init.d/http restart)&lt;br /&gt;
* Here are some notes from people who have the samba winbind option working&lt;br /&gt;
::-- I made it work using Ubuntu 7.04. That&#039;s what I&#039;ve used to update the documentation. [[User:Iñaki Arenaza|Iñaki Arenaza]] 10:43, 30 September 2007 (CDT)&lt;br /&gt;
::-- I have this working on Ubuntu 8.04 LTS in an RM CC4 Active Directory Domain. [[User:munk3h|Ian]] 16:31 15 December 2009 (GMT)&lt;br /&gt;
::--  Running on Ubuntu 10.04 Lucid, Apache2 got this running in no time flat with AD v6. Worth noting that if Using Iñaki Arenaza&#039;s LDAP Clone plugin, you will need to add another copy of the Directory tag in &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; pointing at the new ldap plugin. --[[User:Christopher O&amp;amp;#39;Kelly|Christopher O&amp;amp;#39;Kelly]] 10:09, 16 April 2012 (WST)&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM Auth Module for Apache on Linux====&lt;br /&gt;
The NTLM Auth module is a bit stale and even its authors suggest that you use the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]]&lt;br /&gt;
&lt;br /&gt;
Get it from here &lt;br /&gt;
# get the Module from: http://modntlm.sourceforge.net/&lt;br /&gt;
# follow the instructions given there and inside the README that comes with the package.&lt;br /&gt;
&lt;br /&gt;
I (Iñaki Arenaza) strongly recommend using the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]] over this module. It&#039;s better maintained, more robust and has more features.&lt;br /&gt;
&lt;br /&gt;
====Using the mod_auth_sspi Module for Apache 2 on Windows====&lt;br /&gt;
NOTE: This setup is currently being used in a live production environment, and is therefore suitable for such use provided it is correctly configured and tested.&lt;br /&gt;
&lt;br /&gt;
This is the recommended method for Apache 2 on Windows, however it will &#039;&#039;&#039;not&#039;&#039;&#039; work on Linux/UNIX systems.&lt;br /&gt;
It provides better stability and higher performance than other NTLM modules.&lt;br /&gt;
&lt;br /&gt;
* Download the mod_auth_sspi Module from: http://sourceforge.net/projects/mod-auth-sspi/. At the moment of writing this (2007.09.30), the current version is mod_auth_sspi 1.0.4, which has two different ZIP files to download:&lt;br /&gt;
&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.0.58.zip :   Use this file if you are using Apache 2.0.x.&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.2.2.zip :   Use this file if you are using Apache 2.2.x.&lt;br /&gt;
&lt;br /&gt;
If you are using an x64 version of Apache mod_auth_sspi x64 versions are available from https://www.apachehaus.net/modules/mod_auth_sspi/&lt;br /&gt;
&lt;br /&gt;
These files &#039;&#039;&#039;do not&#039;&#039;&#039; work with Apache versions 2.4.x.&lt;br /&gt;
&lt;br /&gt;
* Unzip the right file and copy mod_auth_sspi.so (it&#039;s inside &#039;&#039;&#039;bin&#039;&#039;&#039; subdirectory) to your Apache modules directory.&lt;br /&gt;
* Edit your Apache 2 configuration file (httpd.conf) to load the module.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;IfModule !mod_auth_sspi.c&amp;gt;&lt;br /&gt;
        LoadModule sspi_auth_module modules/mod_auth_sspi.so&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Choose one of the two methods below&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 1&#039;&#039;&#039;: This method is recommended for servers that will host a single Moodle instance. Configure NTLM from the main configuration file, add the following to httpd.conf (substitute &amp;quot;C:\moodle&amp;quot; with the path to your Moodle installation e.g. &amp;quot;C:\my-moodle&amp;quot;&lt;br /&gt;
    &amp;lt;Directory &amp;quot;C:\moodle\auth\ldap&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
            AuthType SSPI&lt;br /&gt;
            SSPIAuth On&lt;br /&gt;
            SSPIOfferBasic Off&lt;br /&gt;
            SSPIAuthoritative On&lt;br /&gt;
            SSPIDomain &amp;lt;YOUR AD DOMAIN&amp;gt;&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 2&#039;&#039;&#039;: The alternative method is to use a .htaccess file&lt;br /&gt;
:This method is recommended for servers that will host multiple Moodle instances. It allows additional Moodle instances to be configured without restarting apache, and also makes the solution a little more portable. We need to add a directive to the main httpd.conf to allow configuration of authentication within .htaccess files.&lt;br /&gt;
    &amp;lt;Directory C:\moodle&amp;gt;&lt;br /&gt;
        AllowOverride AuthConfig&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::Create a new text file named &#039;.htaccess&#039; in the directory &#039;C:\moodle\moodle\auth\ldap&#039; and add the following directives:&lt;br /&gt;
    &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
        AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
        AuthType SSPI&lt;br /&gt;
        SSPIAuth On&lt;br /&gt;
        SSPIOfferBasic Off&lt;br /&gt;
        SSPIAuthoritative On&lt;br /&gt;
        SSPIDomain mycollege.ac.uk&lt;br /&gt;
        require valid-user&lt;br /&gt;
    &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:This enables the Moodle folder to be moved to any apache webserver that is configured to allow authentication configuration through .htaccess&lt;br /&gt;
&lt;br /&gt;
Lastly for Internet Explorer 7 onwards you must also replace this line in your httpd-ssl.conf file: &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE.*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
with &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE [2-5]\..*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
For further help and discussion: http://moodle.org/mod/forum/discuss.php?d=56565&lt;br /&gt;
&lt;br /&gt;
====Using the Kerberos Auth Module for Apache on Linux/UNIX (mod_auth_kerb)====&lt;br /&gt;
*Install and configure http://modauthkerb.sourceforge.net/&lt;br /&gt;
*Configuration of mod_auth_kerb in a Microsoft Windows Active Directory environment (AD 2003 and above) (http://grolmsnet.de/kerbtut/)&lt;br /&gt;
&lt;br /&gt;
Environment details in this example:&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain:&#039;&#039;&#039; EXAMPLE.AC.UK&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain Controller:&#039;&#039;&#039; dc.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Linux/UNIX web server:&#039;&#039;&#039; moodle.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Active Directory user account for web server service principal:&#039;&#039;&#039; moodlekerb&lt;br /&gt;
&lt;br /&gt;
Install kerberos on moodle.example.ac.uk and enter the following in krb5.conf (by default: /etc/krb5.conf)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[libdefaults]&lt;br /&gt;
    default_realm = EXAMPLE.AC.UK&lt;br /&gt;
[domain_realm]&lt;br /&gt;
    example.ac.uk = EXAMPLE.AC.UK&lt;br /&gt;
[realms]&lt;br /&gt;
     EXAMPLE.AC.UK = {&lt;br /&gt;
                      admin_server = dc.example.ac.uk&lt;br /&gt;
                      kdc          = dc.example.ac.uk&lt;br /&gt;
                    }:&lt;br /&gt;
* Test kerberos&lt;br /&gt;
Issue the following command at the shell prompt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$&amp;gt; kinit user@EXAMPLE.AC.UK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &#039;user&#039; is an Active Directory account for which you know the password.&lt;br /&gt;
&lt;br /&gt;
Next, issue the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;$&amp;gt;klist&amp;lt;/pre&amp;gt;&lt;br /&gt;
If all is OK it will list the Kerberos ticket you were granted from the domain controller (KDC)&lt;br /&gt;
&lt;br /&gt;
* Create HTTP service principal for moodle.example.ac.uk&lt;br /&gt;
#Create the &#039;moodlekerb&#039; &#039;&#039;&#039;user&#039;&#039;&#039; account in Active Directory (NOT a machine account) to map to the web server service principal (HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK)&lt;br /&gt;
NOTE: moodle.example.ac.uk MUST be the canonical DNS name of the server i.e. an A record (NOT a CNAME). Additionally a valid PTR (reverse DNS) record must exist and match the corresponding A record.&lt;br /&gt;
&lt;br /&gt;
#Use the ktpass.exe utility to map the service principal and create a keytab file&lt;br /&gt;
Apache requires a keytab file, which is generated with ktpass.exe on the Windows Active Directory Domain Controller.&lt;br /&gt;
Unfortunately, this component of Windows Server 2003 SP1 does not function correctly so one must obtain a hot fix: http://support.microsoft.com/kb/919557&lt;br /&gt;
&lt;br /&gt;
Run the following command on the domain controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\path\to\hotfix\ktpass.exe -princ HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK -mapuser EXAMPLE\moodlekerb -crypto DES-CBC-MD5 +DesOnly +setPass +rndPass -ptype KRB5_NT_PRINCIPAL -out moodle.example.ac.uk.keytab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy C:\path\to\hotfix\moodle.example.ac.uk.keytab to the moodle web server and remember the location (/etc/httpd/moodle.example.ac.uk.keytab or similar)&lt;br /&gt;
&lt;br /&gt;
* Configure Apache / mod_auth_kerb&lt;br /&gt;
Edit the Apache configuration for the moodle host and add the following directives:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /path/to/moodle/docs/auth/ldap/&amp;gt;&lt;br /&gt;
                &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
                        AuthName &amp;quot;Moodle&amp;quot;&lt;br /&gt;
                        AuthType Kerberos&lt;br /&gt;
                        KrbAuthRealms EXAMPLE.AC.UK&lt;br /&gt;
                        KrbServiceName HTTP&lt;br /&gt;
                        Krb5Keytab /etc/httpd/moodle.example.ac.uk.keytab&lt;br /&gt;
                        KrbMethodNegotiate on&lt;br /&gt;
                        KrbMethodK5Passwd on&lt;br /&gt;
                        KrbAuthoritative on&lt;br /&gt;
                        require valid-user&lt;br /&gt;
                &amp;lt;/Files&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuring IP/Subnet Mask==&lt;br /&gt;
Subnet masks are based on binary patterns so need a bit of knowledge to understand. The best way to find out what IP/Subnet masks to use is to ask your Network Admin. &lt;br /&gt;
&lt;br /&gt;
* Just type them one after the other, separated by commas. You can use several syntaxes:&lt;br /&gt;
** Type the network-number/prefix-length combination. E.g. 192.168.1.0/24&lt;br /&gt;
** Type the network &#039;prefix&#039;, ending in a period character. E.g. 192.168.1.&lt;br /&gt;
** Type the network address range (&#039;&#039;&#039;this only works for the last address octect&#039;&#039;&#039;). E.g. 192.168.1.1-254&lt;br /&gt;
:All the three examples refer to the same subnetwork. So assuming you need to specify the following subnetworks:&lt;br /&gt;
::* 10.1.0/255.255.0.0&lt;br /&gt;
::* 10.2.0.0/255.255.0.0&lt;br /&gt;
::* 172.16.0.0/255.255.0.0&lt;br /&gt;
::* 192.168.100.0/255.255.255.240&lt;br /&gt;
:You can type:&lt;br /&gt;
 10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.0/28&lt;br /&gt;
: or:&lt;br /&gt;
  10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.240-255&lt;br /&gt;
:or even:&lt;br /&gt;
  10.1., 10.2., 172.16., 192.168.100.0/28&lt;br /&gt;
:(the last one cannot be expressed as a network &#039;prefix&#039; as the netmask does not fall on an octect boundary).&lt;br /&gt;
&lt;br /&gt;
==Configuring Domain user credentials format==&lt;br /&gt;
If you are using Moodle 2.4 and later there is a new setting that lets you configure the format of the domain user credentials, instead of using the old fixed format. The setting is called &amp;quot;Remote username format&amp;quot;. If you leave this seting empty, the default &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; format will be used. You can use the optional &#039;&#039;&#039;%domain%&#039;&#039;&#039; placeholder to specify where the domain name appears, and the mandatory &#039;&#039;&#039;%username%&#039;&#039;&#039; placeholder to specify where the username appears.&lt;br /&gt;
&lt;br /&gt;
Some widely used formats are:&lt;br /&gt;
* &#039;&#039;&#039;%domain%\%username%&#039;&#039;&#039; : MS Windows default, contains the domain name, followed by a backlash character, followed by the username.&lt;br /&gt;
* &#039;&#039;&#039;%username%@%domain%&#039;&#039;&#039; : This is the same format used by Kerberos (domain name followed by an at sign, followed by the username).&lt;br /&gt;
* &#039;&#039;&#039;%domain%/%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this format.&lt;br /&gt;
* &#039;&#039;&#039;%domain%+%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this other format.&lt;br /&gt;
* &#039;&#039;&#039;%username%&#039;&#039;&#039; : Only contains the username, with no domain part.&lt;br /&gt;
&lt;br /&gt;
==Notes/Tips==&lt;br /&gt;
&lt;br /&gt;
#If you are using Firefox, you will need to follow these steps:&lt;br /&gt;
:*Load Firefox and type about:config in the address box. The configuration settings page should be displayed.&lt;br /&gt;
:*In the Filter box, type the word &amp;quot;ntlm&amp;quot; to filter the NTLM strings. You should see three settings displayed.&lt;br /&gt;
:*Double-click on &amp;quot;network.automatic-ntlm-auth.trusted-uris&amp;quot;.&lt;br /&gt;
:*In the box, enter the full URL of your Moodle server. For example &amp;lt;pre&amp;gt;http://moodle.mydomain.com, (the comma is important)&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Close Firefox and restart.&lt;br /&gt;
# NTLM seems to not work at all when BASIC authentication is enabled. (this was using the Kerberos method, other ways may work)&lt;br /&gt;
# If the account in your AD management console shows like &amp;quot;First Last&amp;quot;, you better change the ldap settings parameter &#039;User Attribute&#039; from its default of {blank} / &#039;cn&#039; to &#039;sAMAccountName&#039; as indicated in [http://moodle.org/mod/forum/discuss.php?d=132364#p682173 this post]. The reason is that the cn name generally looks like &amp;quot;First Last&amp;quot;, once you done the ldap sync, the user name in moodle will be &amp;quot;first last&amp;quot;, but IE passes the account of &amp;quot;domain\first.last&amp;quot; to moodle which does not exist in moodle.&lt;br /&gt;
&lt;br /&gt;
== To get a domain name for Moodle working on IIS7.5 Windows 2008 R2 ==&lt;br /&gt;
Refer to http://support.microsoft.com/kb/896861. Key section listed below.&lt;br /&gt;
Click Start, click Run, type regedit, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Registry Editor, locate and then click the following registry key: &lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click MSV1_0, point to New, and then click Multi-String Value.&amp;lt;br /&amp;gt;&lt;br /&gt;
Type BackConnectionHostNames, and then press ENTER.&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click BackConnectionHostNames, and then click Modify.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
Quit Registry Editor, and then restart the IISAdmin service.&lt;br /&gt;
&lt;br /&gt;
==Compiling mod_auth_ntlm_winbind on Debian/Ubuntu==&lt;br /&gt;
You need to install the following packages (and all of their dependencies) by using aptitude, synaptic, etc.:&lt;br /&gt;
&lt;br /&gt;
  autoconf apache2-threaded-dev debian-builder&lt;br /&gt;
&lt;br /&gt;
Once you have them installed, open up a text console, go to the directory where you downloaded the mod_auth_ntlm_winbind files an execute the following commands (as a normal user):&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
  ./configure --with-apxs=/usr/bin/apxs2 --with-apache=/usr/sbin/apache2&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
That should compile it without errors. Then as a user that can run commands as root via sudo, execute the following command from the same directory:&lt;br /&gt;
&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
This will create the final mod_auth_ntlm_winbind.so file and install it under /usr/lib/apache2/modules, with the rest of the Apache 2 modules (the size of the file and last modification time shown below may differ from your install):&lt;br /&gt;
&lt;br /&gt;
  ls -l /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
  -rw-r--r-- 1 root root 20921 2009-02-17 04:27 /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/view.php?id=42 Using Moodle: User authentication] forum&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=45887 NTLM Authentication] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=80104 Merging AD NTLM SSO into auth/ldap] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=186661 Moodle in a DMZ with NTLM] forum discussion&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=314 Download the NTLM Authentication Module]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Authentification NTLM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114198</id>
		<title>NTLM authentication</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114198"/>
		<updated>2014-08-18T10:34:01Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: remove old 1.8/1.9 references.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Authentication}}This document describes how to set up &#039;&#039;&#039;NTLM/Windows Integrated Authentication&#039;&#039;&#039; in Moodle. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Integrated Windows Authentication uses the security features of Windows clients and servers. It does not prompt users for a user name and password. The current Windows user information on the client computer is supplied by the browser through a challenge/response authentication process with the Web server for the Moodle site. &lt;br /&gt;
&lt;br /&gt;
==Assumptions==&lt;br /&gt;
&lt;br /&gt;
#You are running MS [[Active Directory]] for Authentication.&lt;br /&gt;
#The Server hosting your website is a member of the Active Directory Domain that your users are also members of.&lt;br /&gt;
#You are able to define people inside your Network (and authenticated to the Domain) from an IP range of computers.&lt;br /&gt;
#You are familar with or have read the LDAP authentication documentation.&lt;br /&gt;
#The Active Directory domain credentials of your users are returned as &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; from your authentication service. If you are using the Winbind service from the Samba project, this can be untrue, depending on your Winbind configuration settings. If you are using Moodle 2.4 or later, you can specify the format of the domain credentials (see below). If you are using an older version and you can not modify your settings to satisfy this last assumption, then you will need to remove or comment out the line that reads:&lt;br /&gt;
    $username = substr(strrchr($username, &#039;\\&#039;), 1); //strip domain info&lt;br /&gt;
and add the relevant lines of code to extract the username part from the domain user credentials and store it in $username.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&#039;&#039;&#039;VERY IMPORTANT&#039;&#039;&#039;: NTLM authentication depends on [[LDAP authentication]], and NTLM configuration is specified in the LDAP authentication settings page (Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server). So before trying to configure NTLM, make sure you have LDAP_authentication properly setup and working.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
No installation needed. See Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server for the NTLM config options. You only have to&lt;br /&gt;
&lt;br /&gt;
*Enable NTLM SSO&lt;br /&gt;
*Set the IP/Subnet mask for the clients (see below)&lt;br /&gt;
*(Optionally) Set the &amp;quot;Remote username format&amp;quot; for your domain user credentials format (see below)&lt;br /&gt;
*On IIS: turn on Windows Authentication&lt;br /&gt;
*On Apache - use one of the 3 methods outlined below&lt;br /&gt;
*On the client pc&#039;s, you might need to set the moodle server ip/moodle url as being in &amp;quot;local intranet&amp;quot; (From IE, tools -&amp;gt; options -&amp;gt; security -&amp;gt; local intranet)&lt;br /&gt;
&lt;br /&gt;
It is important to note the following conditions must be satisfied to let NTLM SSO happens:&lt;br /&gt;
*you&#039;ve arrived to the login page with one GET request&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_enabled&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_subnet&lt;br /&gt;
*you aren&#039;t logged&lt;br /&gt;
*the IP of the client is in ntlmsso_subnet&lt;br /&gt;
&lt;br /&gt;
Thus it is needed to set the IP subnet.&lt;br /&gt;
&lt;br /&gt;
==How to Turn Integrated Authentication on==&lt;br /&gt;
The auth/ldap/ntlmsso_magic.php file MUST have NTLM/Integrated Authentication enabled on the server or the authentication will not work.&lt;br /&gt;
&lt;br /&gt;
===IIS Configuration===&lt;br /&gt;
Open the IIS Management Console and navigate to the auth/ldap/ntlmsso_magic.php file.&lt;br /&gt;
&lt;br /&gt;
====IIS 6.0====&lt;br /&gt;
#right click on the file, choose properties&lt;br /&gt;
#under the &amp;quot;file security&amp;quot; tab, click on the Authentication and Access control &amp;quot;edit&amp;quot; button&lt;br /&gt;
#untick &amp;quot;Enable Anonymous Access&amp;quot; and tick &amp;quot;Integrated Windows Authentication&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====IIS 7.x====&lt;br /&gt;
#After navigating to the &#039;auth/ldap&#039; folder, switch to Content View&lt;br /&gt;
#right click on the file, choose &amp;quot;Switch to Features View&amp;quot;&lt;br /&gt;
#click on the Authentication icon on the right&lt;br /&gt;
#select &#039;Anonymous Authentication&#039; and click the &#039;Disable&#039; button&lt;br /&gt;
#select &#039;Windows Authentication&#039; and click the &#039;Enable&#039; button&lt;br /&gt;
&lt;br /&gt;
*According to [http://moodle.org/mod/forum/discuss.php?d=145171#p634027 this post], if you are using IIS 7.5 (it comes with Windows Server 2008 R2), you have to select &#039;Windows Authentication&#039; and click on &#039;Providers&#039;. This shows a list of enabled providers (Negotiate and NTLM, by default). Change the order so that NTLM is at the top of the list.&lt;br /&gt;
*If &#039;Windows Authentication&#039; is not available, then you need to install it as a separate authentication provider (in Control Panel).&lt;br /&gt;
&lt;br /&gt;
===APACHE Configuration===&lt;br /&gt;
There are currently 3 possible methods for this:&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM part of Samba for Apache on Linux====&lt;br /&gt;
&lt;br /&gt;
* Get the plugin here: http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/ . You need to download all the files from the link, but not the &amp;lt;code&amp;gt;contrib&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debian&amp;lt;/code&amp;gt; directories. Then follow the instructions given inside the &amp;lt;code&amp;gt;README&amp;lt;/code&amp;gt; file. If you are using Debian/Ubuntu, you can follow these [[#Compiling_mod_auth_ntlm_winbind_on_Debian.2FUbuntu|compilation instructions]].&lt;br /&gt;
* Once you have compiled it, put it inside Apache&#039;s modules subdirectory (this location depends on a number of factors, like compiling Apache yourself, using different Linux distributions packages, an so on), and load and enable the module in Apache&#039;s configuration. For example, if your Apache modules are under &amp;lt;tt&amp;gt;/usr/lib/apache2/modules&amp;lt;/tt&amp;gt;, you&#039;ll need something like this in your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule !mod_auth_ntlm_winbind.c&amp;gt;&lt;br /&gt;
       LoadModule auth_ntlm_winbind_module /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install the Samba &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; daemon package. This packages relies on Samba&#039;s configuration file to get some important settings (like the Windows domain name, uid and gid range mappings, and so on). In addition to that, you&#039;ll need to make your Linux/Unix machine part of the domain. Otherwise winbind won&#039;t be able to pull user and groups informationi from the domain controllers. You should read the Samba documentation to perform this step, but the most important part is having something like the following lines in your &amp;lt;code&amp;gt;smb.conf&amp;lt;/code&amp;gt; file, inside the [global] section (in addition to what you already have there):&lt;br /&gt;
&lt;br /&gt;
  workgroup = DOMAINNAME&lt;br /&gt;
  password server = *&lt;br /&gt;
  security = domain&lt;br /&gt;
  encrypt passwords = true&lt;br /&gt;
  idmap uid = 10000-20000&lt;br /&gt;
  idmap gid = 10000-20000&lt;br /&gt;
&lt;br /&gt;
: and executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where &#039;&#039;&#039;DOMAINNAME&#039;&#039;&#039; is the NetBIOS windows domain name, and &#039;&#039;&#039;Administrator&#039;&#039;&#039; an account with enough privileges to add new machines to the domain.&amp;lt;br/&amp;gt; You&#039;ll need to type this account&#039;s password for the command to succeed.&lt;br /&gt;
&lt;br /&gt;
: In Windows environments you could also try executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -S DCSERVER -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where DCSERVER is the Domain Controller server&lt;br /&gt;
&lt;br /&gt;
: Also, make sure you have disabled &amp;quot;Microsoft Network Server: digitally sign communications (always)&amp;quot; in your Domain Controllers Security Policy, unless you are using a version of Samba that can sign SMB packets.&lt;br /&gt;
&lt;br /&gt;
* Restart the &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; service to apply the changes and test that it&#039;s running ok by executing:&lt;br /&gt;
&lt;br /&gt;
  $ wbinfo -u&lt;br /&gt;
&lt;br /&gt;
: You should get the full list of Windows domain users. If you use &#039;&#039;&#039;&amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt;&#039;&#039;&#039; instead, you&#039;ll get the domain groups list.&lt;br /&gt;
&lt;br /&gt;
* Check that your &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; package installed the authentication helper command &amp;lt;tt&amp;gt;ntlm_auth&amp;lt;/tt&amp;gt;, as we&#039;ll need it later. We&#039;ll assume the helper is located at &amp;lt;tt&amp;gt;/usr/bin/ntlm_auth&amp;lt;/tt&amp;gt;. If yours is at a different location, make sure you adjust the path in the example below.&lt;br /&gt;
&lt;br /&gt;
* Add something like this to your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;). We&#039;ll assume that your Moodle &amp;lt;tt&amp;gt;$CFG-&amp;gt;dirroot&amp;lt;/tt&amp;gt; directory is located at &amp;lt;tt&amp;gt;/var/www/moodle&amp;lt;/tt&amp;gt; in the example:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/var/www/moodle/auth/ldap/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            NTLMAuth on&lt;br /&gt;
            AuthType NTLM&lt;br /&gt;
            AuthName &amp;quot;Moodle NTLM Authentication&amp;quot;&lt;br /&gt;
            NTLMAuthHelper &amp;quot;/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp&amp;quot;&lt;br /&gt;
            NTLMBasicAuthoritative on&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
* Check the permissions of the Winbind pipe directory (Ubuntu places it under &amp;lt;tt&amp;gt;/var/run/samba/winbindd_privileged&amp;lt;/tt&amp;gt;, yours may be placed at a different location). Apache will need to be able to enter that directory, so we need to make sure it has the right permissions. So have a look at the permissions of that directory and note the name of the group assigned to it. The following example is from a Ubuntu 7.10 machine:&lt;br /&gt;
&lt;br /&gt;
  $ ls -ald /var/run/samba/winbindd_privileged&lt;br /&gt;
  drwxr-x--- 2 root winbindd_priv 60 2007-11-17 16:18 /var/run/samba/winbindd_privileged/&lt;br /&gt;
&lt;br /&gt;
:so we see the group is &amp;lt;tt&amp;gt;winbindd_priv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Instead of modifying the directory permissions (which could break other services that use winbind) we are going to make the Apache user (&amp;lt;tt&amp;gt;www-data&amp;lt;/tt&amp;gt; in our example, but could be &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;nobody&amp;lt;/tt&amp;gt;, etc.) is part of the appropiate group. Execute the following as root:&lt;br /&gt;
&lt;br /&gt;
  # adduser www-data winbindd_priv&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt; is available in Debian and Ubuntu at least. If your distribution doesn&#039;t have &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt;, you can edit &amp;lt;tt&amp;gt;/etc/group&amp;lt;/tt&amp;gt; manually to achive the same effect.&lt;br /&gt;
&lt;br /&gt;
* Stop and start the Apache service to apply the changes. Have a look at Apache&#039;s error log to see that everything is ok.&lt;br /&gt;
&lt;br /&gt;
* Couple of gotchas - in Fedora Core (and also in Redhat/Centos), keep alive is turned OFF by default in the httpd.conf - see this bug for further info: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188138&amp;lt;br /&amp;gt;&lt;br /&gt;
simply change the line to that was:&lt;br /&gt;
 KeepAlive Off&lt;br /&gt;
to:&lt;br /&gt;
 KeepAlive On&lt;br /&gt;
and restart apache (/etc/init.d/http restart)&lt;br /&gt;
* Here are some notes from people who have the samba winbind option working&lt;br /&gt;
::-- I made it work using Ubuntu 7.04. That&#039;s what I&#039;ve used to update the documentation. [[User:Iñaki Arenaza|Iñaki Arenaza]] 10:43, 30 September 2007 (CDT)&lt;br /&gt;
::-- I have this working on Ubuntu 8.04 LTS in an RM CC4 Active Directory Domain. [[User:munk3h|Ian]] 16:31 15 December 2009 (GMT)&lt;br /&gt;
::--  Running on Ubuntu 10.04 Lucid, Apache2 got this running in no time flat with AD v6. Worth noting that if Using Iñaki Arenaza&#039;s LDAP Clone plugin, you will need to add another copy of the Directory tag in &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; pointing at the new ldap plugin. --[[User:Christopher O&amp;amp;#39;Kelly|Christopher O&amp;amp;#39;Kelly]] 10:09, 16 April 2012 (WST)&lt;br /&gt;
::-- On Ubuntu 12.04 there is no need to compile anything, just do this. &lt;br /&gt;
 sudo apt-get install php5-ldap&lt;br /&gt;
 sudo apt-get install libapache2-mod-auth-ntlm-winbind &lt;br /&gt;
 sudo a2enmod auth_ntlm_winbind &lt;br /&gt;
 sudo apt-get install winbind smbfs smbclient samba&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM Auth Module for Apache on Linux====&lt;br /&gt;
The NTLM Auth module is a bit stale and even its authors suggest that you use the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]]&lt;br /&gt;
&lt;br /&gt;
Get it from here &lt;br /&gt;
# get the Module from: http://modntlm.sourceforge.net/&lt;br /&gt;
# follow the instructions given there and inside the README that comes with the package.&lt;br /&gt;
&lt;br /&gt;
I (Iñaki Arenaza) strongly recommend using the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]] over this module. It&#039;s better maintained, more robust and has more features.&lt;br /&gt;
&lt;br /&gt;
====Using the mod_auth_sspi Module for Apache 2 on Windows====&lt;br /&gt;
NOTE: This setup is currently being used in a live production environment, and is therefore suitable for such use provided it is correctly configured and tested.&lt;br /&gt;
&lt;br /&gt;
This is the recommended method for Apache 2 on Windows, however it will &#039;&#039;&#039;not&#039;&#039;&#039; work on Linux/UNIX systems.&lt;br /&gt;
It provides better stability and higher performance than other NTLM modules.&lt;br /&gt;
&lt;br /&gt;
* Download the mod_auth_sspi Module from: http://sourceforge.net/projects/mod-auth-sspi/. At the moment of writing this (2007.09.30), the current version is mod_auth_sspi 1.0.4, which has two different ZIP files to download:&lt;br /&gt;
&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.0.58.zip :   Use this file if you are using Apache 2.0.x.&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.2.2.zip :   Use this file if you are using Apache 2.2.x.&lt;br /&gt;
&lt;br /&gt;
If you are using an x64 version of Apache mod_auth_sspi x64 versions are available from https://www.apachehaus.net/modules/mod_auth_sspi/&lt;br /&gt;
&lt;br /&gt;
These files &#039;&#039;&#039;do not&#039;&#039;&#039; work with Apache versions 2.4.x.&lt;br /&gt;
&lt;br /&gt;
* Unzip the right file and copy mod_auth_sspi.so (it&#039;s inside &#039;&#039;&#039;bin&#039;&#039;&#039; subdirectory) to your Apache modules directory.&lt;br /&gt;
* Edit your Apache 2 configuration file (httpd.conf) to load the module.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;IfModule !mod_auth_sspi.c&amp;gt;&lt;br /&gt;
        LoadModule sspi_auth_module modules/mod_auth_sspi.so&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Choose one of the two methods below&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 1&#039;&#039;&#039;: This method is recommended for servers that will host a single Moodle instance. Configure NTLM from the main configuration file, add the following to httpd.conf (substitute &amp;quot;C:\moodle&amp;quot; with the path to your Moodle installation e.g. &amp;quot;C:\my-moodle&amp;quot;&lt;br /&gt;
    &amp;lt;Directory &amp;quot;C:\moodle\auth\ldap&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
            AuthType SSPI&lt;br /&gt;
            SSPIAuth On&lt;br /&gt;
            SSPIOfferBasic Off&lt;br /&gt;
            SSPIAuthoritative On&lt;br /&gt;
            SSPIDomain &amp;lt;YOUR AD DOMAIN&amp;gt;&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 2&#039;&#039;&#039;: The alternative method is to use a .htaccess file&lt;br /&gt;
:This method is recommended for servers that will host multiple Moodle instances. It allows additional Moodle instances to be configured without restarting apache, and also makes the solution a little more portable. We need to add a directive to the main httpd.conf to allow configuration of authentication within .htaccess files.&lt;br /&gt;
    &amp;lt;Directory C:\moodle&amp;gt;&lt;br /&gt;
        AllowOverride AuthConfig&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::Create a new text file named &#039;.htaccess&#039; in the directory &#039;C:\moodle\moodle\auth\ldap&#039; and add the following directives:&lt;br /&gt;
    &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
        AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
        AuthType SSPI&lt;br /&gt;
        SSPIAuth On&lt;br /&gt;
        SSPIOfferBasic Off&lt;br /&gt;
        SSPIAuthoritative On&lt;br /&gt;
        SSPIDomain mycollege.ac.uk&lt;br /&gt;
        require valid-user&lt;br /&gt;
    &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:This enables the Moodle folder to be moved to any apache webserver that is configured to allow authentication configuration through .htaccess&lt;br /&gt;
&lt;br /&gt;
Lastly for Internet Explorer 7 onwards you must also replace this line in your httpd-ssl.conf file: &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE.*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
with &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE [2-5]\..*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
For further help and discussion: http://moodle.org/mod/forum/discuss.php?d=56565&lt;br /&gt;
&lt;br /&gt;
====Using the Kerberos Auth Module for Apache on Linux/UNIX (mod_auth_kerb)====&lt;br /&gt;
*Install and configure http://modauthkerb.sourceforge.net/&lt;br /&gt;
*Configuration of mod_auth_kerb in a Microsoft Windows Active Directory environment (AD 2003 and above) (http://grolmsnet.de/kerbtut/)&lt;br /&gt;
&lt;br /&gt;
Environment details in this example:&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain:&#039;&#039;&#039; EXAMPLE.AC.UK&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain Controller:&#039;&#039;&#039; dc.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Linux/UNIX web server:&#039;&#039;&#039; moodle.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Active Directory user account for web server service principal:&#039;&#039;&#039; moodlekerb&lt;br /&gt;
&lt;br /&gt;
Install kerberos on moodle.example.ac.uk and enter the following in krb5.conf (by default: /etc/krb5.conf)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[libdefaults]&lt;br /&gt;
    default_realm = EXAMPLE.AC.UK&lt;br /&gt;
[domain_realm]&lt;br /&gt;
    example.ac.uk = EXAMPLE.AC.UK&lt;br /&gt;
[realms]&lt;br /&gt;
     EXAMPLE.AC.UK = {&lt;br /&gt;
                      admin_server = dc.example.ac.uk&lt;br /&gt;
                      kdc          = dc.example.ac.uk&lt;br /&gt;
                    }:&lt;br /&gt;
* Test kerberos&lt;br /&gt;
Issue the following command at the shell prompt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$&amp;gt; kinit user@EXAMPLE.AC.UK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &#039;user&#039; is an Active Directory account for which you know the password.&lt;br /&gt;
&lt;br /&gt;
Next, issue the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;$&amp;gt;klist&amp;lt;/pre&amp;gt;&lt;br /&gt;
If all is OK it will list the Kerberos ticket you were granted from the domain controller (KDC)&lt;br /&gt;
&lt;br /&gt;
* Create HTTP service principal for moodle.example.ac.uk&lt;br /&gt;
#Create the &#039;moodlekerb&#039; &#039;&#039;&#039;user&#039;&#039;&#039; account in Active Directory (NOT a machine account) to map to the web server service principal (HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK)&lt;br /&gt;
NOTE: moodle.example.ac.uk MUST be the canonical DNS name of the server i.e. an A record (NOT a CNAME). Additionally a valid PTR (reverse DNS) record must exist and match the corresponding A record.&lt;br /&gt;
&lt;br /&gt;
#Use the ktpass.exe utility to map the service principal and create a keytab file&lt;br /&gt;
Apache requires a keytab file, which is generated with ktpass.exe on the Windows Active Directory Domain Controller.&lt;br /&gt;
Unfortunately, this component of Windows Server 2003 SP1 does not function correctly so one must obtain a hot fix: http://support.microsoft.com/kb/919557&lt;br /&gt;
&lt;br /&gt;
Run the following command on the domain controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\path\to\hotfix\ktpass.exe -princ HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK -mapuser EXAMPLE\moodlekerb -crypto DES-CBC-MD5 +DesOnly +setPass +rndPass -ptype KRB5_NT_PRINCIPAL -out moodle.example.ac.uk.keytab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy C:\path\to\hotfix\moodle.example.ac.uk.keytab to the moodle web server and remember the location (/etc/httpd/moodle.example.ac.uk.keytab or similar)&lt;br /&gt;
&lt;br /&gt;
* Configure Apache / mod_auth_kerb&lt;br /&gt;
Edit the Apache configuration for the moodle host and add the following directives:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /path/to/moodle/docs/auth/ldap/&amp;gt;&lt;br /&gt;
                &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
                        AuthName &amp;quot;Moodle&amp;quot;&lt;br /&gt;
                        AuthType Kerberos&lt;br /&gt;
                        KrbAuthRealms EXAMPLE.AC.UK&lt;br /&gt;
                        KrbServiceName HTTP&lt;br /&gt;
                        Krb5Keytab /etc/httpd/moodle.example.ac.uk.keytab&lt;br /&gt;
                        KrbMethodNegotiate on&lt;br /&gt;
                        KrbMethodK5Passwd on&lt;br /&gt;
                        KrbAuthoritative on&lt;br /&gt;
                        require valid-user&lt;br /&gt;
                &amp;lt;/Files&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Configuring IP/Subnet Mask==&lt;br /&gt;
Subnet masks are based on binary patterns so need a bit of knowledge to understand. The best way to find out what IP/Subnet masks to use is to ask your Network Admin. &lt;br /&gt;
&lt;br /&gt;
* Just type them one after the other, separated by commas. You can use several syntaxes:&lt;br /&gt;
** Type the network-number/prefix-length combination. E.g. 192.168.1.0/24&lt;br /&gt;
** Type the network &#039;prefix&#039;, ending in a period character. E.g. 192.168.1.&lt;br /&gt;
** Type the network address range (&#039;&#039;&#039;this only works for the last address octect&#039;&#039;&#039;). E.g. 192.168.1.1-254&lt;br /&gt;
:All the three examples refer to the same subnetwork. So assuming you need to specify the following subnetworks:&lt;br /&gt;
::* 10.1.0/255.255.0.0&lt;br /&gt;
::* 10.2.0.0/255.255.0.0&lt;br /&gt;
::* 172.16.0.0/255.255.0.0&lt;br /&gt;
::* 192.168.100.0/255.255.255.240&lt;br /&gt;
:You can type:&lt;br /&gt;
 10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.0/28&lt;br /&gt;
: or:&lt;br /&gt;
  10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.240-255&lt;br /&gt;
:or even:&lt;br /&gt;
  10.1., 10.2., 172.16., 192.168.100.0/28&lt;br /&gt;
:(the last one cannot be expressed as a network &#039;prefix&#039; as the netmask does not fall on an octect boundary).&lt;br /&gt;
&lt;br /&gt;
==Configuring Domain user credentials format==&lt;br /&gt;
If you are using Moodle 2.4 and later there is a new setting that lets you configure the format of the domain user credentials, instead of using the old fixed format. The setting is called &amp;quot;Remote username format&amp;quot;. If you leave this seting empty, the default &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; format will be used. You can use the optional &#039;&#039;&#039;%domain%&#039;&#039;&#039; placeholder to specify where the domain name appears, and the mandatory &#039;&#039;&#039;%username%&#039;&#039;&#039; placeholder to specify where the username appears.&lt;br /&gt;
&lt;br /&gt;
Some widely used formats are:&lt;br /&gt;
* &#039;&#039;&#039;%domain%\%username%&#039;&#039;&#039; : MS Windows default, contains the domain name, followed by a backlash character, followed by the username.&lt;br /&gt;
* &#039;&#039;&#039;%username%@%domain%&#039;&#039;&#039; : This is the same format used by Kerberos (domain name followed by an at sign, followed by the username).&lt;br /&gt;
* &#039;&#039;&#039;%domain%/%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this format.&lt;br /&gt;
* &#039;&#039;&#039;%domain%+%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this other format.&lt;br /&gt;
* &#039;&#039;&#039;%username%&#039;&#039;&#039; : Only contains the username, with no domain part.&lt;br /&gt;
&lt;br /&gt;
==Notes/Tips==&lt;br /&gt;
&lt;br /&gt;
#If you are using Firefox, you will need to follow these steps:&lt;br /&gt;
:*Load Firefox and type about:config in the address box. The configuration settings page should be displayed.&lt;br /&gt;
:*In the Filter box, type the word &amp;quot;ntlm&amp;quot; to filter the NTLM strings. You should see three settings displayed.&lt;br /&gt;
:*Double-click on &amp;quot;network.automatic-ntlm-auth.trusted-uris&amp;quot;.&lt;br /&gt;
:*In the box, enter the full URL of your Moodle server. For example &amp;lt;pre&amp;gt;http://moodle.mydomain.com, (the comma is important)&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Close Firefox and restart.&lt;br /&gt;
# NTLM seems to not work at all when BASIC authentication is enabled. (this was using the Kerberos method, other ways may work)&lt;br /&gt;
# If the account in your AD management console shows like &amp;quot;First Last&amp;quot;, you better change the ldap settings parameter &#039;User Attribute&#039; from its default of {blank} / &#039;cn&#039; to &#039;sAMAccountName&#039; as indicated in [http://moodle.org/mod/forum/discuss.php?d=132364#p682173 this post]. The reason is that the cn name generally looks like &amp;quot;First Last&amp;quot;, once you done the ldap sync, the user name in moodle will be &amp;quot;first last&amp;quot;, but IE passes the account of &amp;quot;domain\first.last&amp;quot; to moodle which does not exist in moodle.&lt;br /&gt;
&lt;br /&gt;
== To get a domain name for Moodle working on IIS7.5 Windows 2008 R2 ==&lt;br /&gt;
Refer to http://support.microsoft.com/kb/896861. Key section listed below.&lt;br /&gt;
Click Start, click Run, type regedit, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Registry Editor, locate and then click the following registry key: &lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click MSV1_0, point to New, and then click Multi-String Value.&amp;lt;br /&amp;gt;&lt;br /&gt;
Type BackConnectionHostNames, and then press ENTER.&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click BackConnectionHostNames, and then click Modify.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
Quit Registry Editor, and then restart the IISAdmin service.&lt;br /&gt;
&lt;br /&gt;
==Compiling mod_auth_ntlm_winbind on Debian/Ubuntu==&lt;br /&gt;
You need to install the following packages (and all of their dependencies) by using aptitude, synaptic, etc.:&lt;br /&gt;
&lt;br /&gt;
  autoconf apache2-threaded-dev debian-builder&lt;br /&gt;
&lt;br /&gt;
Once you have them installed, open up a text console, go to the directory where you downloaded the mod_auth_ntlm_winbind files an execute the following commands (as a normal user):&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
  ./configure --with-apxs=/usr/bin/apxs2 --with-apache=/usr/sbin/apache2&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
That should compile it without errors. Then as a user that can run commands as root via sudo, execute the following command from the same directory:&lt;br /&gt;
&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
This will create the final mod_auth_ntlm_winbind.so file and install it under /usr/lib/apache2/modules, with the rest of the Apache 2 modules (the size of the file and last modification time shown below may differ from your install):&lt;br /&gt;
&lt;br /&gt;
  ls -l /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
  -rw-r--r-- 1 root root 20921 2009-02-17 04:27 /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/view.php?id=42 Using Moodle: User authentication] forum&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=45887 NTLM Authentication] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=80104 Merging AD NTLM SSO into auth/ldap] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=186661 Moodle in a DMZ with NTLM] forum discussion&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=314 Download the NTLM Authentication Module]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Authentification NTLM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114197</id>
		<title>NTLM authentication</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114197"/>
		<updated>2014-08-18T10:28:50Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Using the NTLM part of Samba for Apache on Linux */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Authentication}}This document describes how to set up &#039;&#039;&#039;NTLM/Windows Integrated Authentication&#039;&#039;&#039; in Moodle. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Integrated Windows Authentication uses the security features of Windows clients and servers. It does not prompt users for a user name and password. The current Windows user information on the client computer is supplied by the browser through a challenge/response authentication process with the Web server for the Moodle site. &lt;br /&gt;
&lt;br /&gt;
==Assumptions==&lt;br /&gt;
&lt;br /&gt;
#You are running MS [[Active Directory]] for Authentication.&lt;br /&gt;
#The Server hosting your website is a member of the Active Directory Domain that your users are also members of.&lt;br /&gt;
#You are able to define people inside your Network (and authenticated to the Domain) from an IP range of computers.&lt;br /&gt;
#You are familar with or have read the LDAP authentication documentation.&lt;br /&gt;
#The Active Directory domain credentials of your users are returned as &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; from your authentication service. If you are using the Winbind service from the Samba project, this can be untrue, depending on your Winbind configuration settings. If you are using Moodle 2.4 or later, you can specify the format of the domain credentials (see below). If you are using an older version and you can not modify your settings to satisfy this last assumption, then you will need to remove or comment out the line that reads:&lt;br /&gt;
    $username = substr(strrchr($username, &#039;\\&#039;), 1); //strip domain info&lt;br /&gt;
and add the relevant lines of code to extract the username part from the domain user credentials and store it in $username.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&#039;&#039;&#039;VERY IMPORTANT&#039;&#039;&#039;: NTLM authentication depends on [[LDAP authentication]], and NTLM configuration is specified in the LDAP authentication settings page (Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server). So before trying to configure NTLM, make sure you have LDAP_authentication properly setup and working.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
No installation needed. See Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server for the NTLM config options. You only have to&lt;br /&gt;
&lt;br /&gt;
*Enable NTLM SSO&lt;br /&gt;
*Set the IP/Subnet mask for the clients (see below)&lt;br /&gt;
*(Optionally) Set the &amp;quot;Remote username format&amp;quot; for your domain user credentials format (see below)&lt;br /&gt;
*On IIS: turn on Windows Authentication&lt;br /&gt;
*On Apache - use one of the 3 methods outlined below&lt;br /&gt;
*On the client pc&#039;s, you might need to set the moodle server ip/moodle url as being in &amp;quot;local intranet&amp;quot; (From IE, tools -&amp;gt; options -&amp;gt; security -&amp;gt; local intranet)&lt;br /&gt;
&lt;br /&gt;
It is important to note the following conditions must be satisfied to let NTLM SSO happens:&lt;br /&gt;
*you&#039;ve arrived to the login page with one GET request&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_enabled&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_subnet&lt;br /&gt;
*you aren&#039;t logged&lt;br /&gt;
*the IP of the client is in ntlmsso_subnet&lt;br /&gt;
&lt;br /&gt;
Thus it is needed to set the IP subnet.&lt;br /&gt;
&lt;br /&gt;
If you have used previous versions of NTLM (from 1.8 and below) in your Moodle database you will need to make two further changes. &lt;br /&gt;
&lt;br /&gt;
#The type of authentication held against each user now needs to be LDAP, as NTLM will not be recognised. To edit the fields open up a SQL query for your Moodle server and use the following query &amp;quot;update mdl_user set auth = &#039;ldap&#039; where auth = &#039;ntlm&#039; &amp;quot;&lt;br /&gt;
#If you had a previous .htaccess file in the auth/ntlm directory, you will need to move it to the auth/ldap directory. Regardless of whether it is in a .htaccess file of the httpd.conf, the &amp;lt;Files&amp;gt; line now needs to refer to ntlmsso_magic.php. If it is in the httpd.conf, the &amp;lt;Directory&amp;gt; will need to change too. This is covered later on for new installs, but is one of the fundamental changes that needs to be made for those upgrading.&lt;br /&gt;
&lt;br /&gt;
==How to Turn Integrated Authentication on==&lt;br /&gt;
The auth/ldap/ntlmsso_magic.php file MUST have NTLM/Integrated Authentication enabled on the server or the authentication will not work.&lt;br /&gt;
&lt;br /&gt;
===IIS Configuration===&lt;br /&gt;
Open the IIS Management Console and navigate to the auth/ldap/ntlmsso_magic.php file.&lt;br /&gt;
&lt;br /&gt;
====IIS 6.0====&lt;br /&gt;
#right click on the file, choose properties&lt;br /&gt;
#under the &amp;quot;file security&amp;quot; tab, click on the Authentication and Access control &amp;quot;edit&amp;quot; button&lt;br /&gt;
#untick &amp;quot;Enable Anonymous Access&amp;quot; and tick &amp;quot;Integrated Windows Authentication&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====IIS 7.x====&lt;br /&gt;
#After navigating to the &#039;auth/ldap&#039; folder, switch to Content View&lt;br /&gt;
#right click on the file, choose &amp;quot;Switch to Features View&amp;quot;&lt;br /&gt;
#click on the Authentication icon on the right&lt;br /&gt;
#select &#039;Anonymous Authentication&#039; and click the &#039;Disable&#039; button&lt;br /&gt;
#select &#039;Windows Authentication&#039; and click the &#039;Enable&#039; button&lt;br /&gt;
&lt;br /&gt;
*According to [http://moodle.org/mod/forum/discuss.php?d=145171#p634027 this post], if you are using IIS 7.5 (it comes with Windows Server 2008 R2), you have to select &#039;Windows Authentication&#039; and click on &#039;Providers&#039;. This shows a list of enabled providers (Negotiate and NTLM, by default). Change the order so that NTLM is at the top of the list.&lt;br /&gt;
*If &#039;Windows Authentication&#039; is not available, then you need to install it as a separate authentication provider (in Control Panel).&lt;br /&gt;
&lt;br /&gt;
===APACHE Configuration===&lt;br /&gt;
There are currently 3 possible methods for this:&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM part of Samba for Apache on Linux====&lt;br /&gt;
&lt;br /&gt;
* Get the plugin here: http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/ . You need to download all the files from the link, but not the &amp;lt;code&amp;gt;contrib&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debian&amp;lt;/code&amp;gt; directories. Then follow the instructions given inside the &amp;lt;code&amp;gt;README&amp;lt;/code&amp;gt; file. If you are using Debian/Ubuntu, you can follow these [[#Compiling_mod_auth_ntlm_winbind_on_Debian.2FUbuntu|compilation instructions]].&lt;br /&gt;
* Once you have compiled it, put it inside Apache&#039;s modules subdirectory (this location depends on a number of factors, like compiling Apache yourself, using different Linux distributions packages, an so on), and load and enable the module in Apache&#039;s configuration. For example, if your Apache modules are under &amp;lt;tt&amp;gt;/usr/lib/apache2/modules&amp;lt;/tt&amp;gt;, you&#039;ll need something like this in your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule !mod_auth_ntlm_winbind.c&amp;gt;&lt;br /&gt;
       LoadModule auth_ntlm_winbind_module /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install the Samba &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; daemon package. This packages relies on Samba&#039;s configuration file to get some important settings (like the Windows domain name, uid and gid range mappings, and so on). In addition to that, you&#039;ll need to make your Linux/Unix machine part of the domain. Otherwise winbind won&#039;t be able to pull user and groups informationi from the domain controllers. You should read the Samba documentation to perform this step, but the most important part is having something like the following lines in your &amp;lt;code&amp;gt;smb.conf&amp;lt;/code&amp;gt; file, inside the [global] section (in addition to what you already have there):&lt;br /&gt;
&lt;br /&gt;
  workgroup = DOMAINNAME&lt;br /&gt;
  password server = *&lt;br /&gt;
  security = domain&lt;br /&gt;
  encrypt passwords = true&lt;br /&gt;
  idmap uid = 10000-20000&lt;br /&gt;
  idmap gid = 10000-20000&lt;br /&gt;
&lt;br /&gt;
: and executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where &#039;&#039;&#039;DOMAINNAME&#039;&#039;&#039; is the NetBIOS windows domain name, and &#039;&#039;&#039;Administrator&#039;&#039;&#039; an account with enough privileges to add new machines to the domain.&amp;lt;br/&amp;gt; You&#039;ll need to type this account&#039;s password for the command to succeed.&lt;br /&gt;
&lt;br /&gt;
: In Windows environments you could also try executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -S DCSERVER -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where DCSERVER is the Domain Controller server&lt;br /&gt;
&lt;br /&gt;
: Also, make sure you have disabled &amp;quot;Microsoft Network Server: digitally sign communications (always)&amp;quot; in your Domain Controllers Security Policy, unless you are using a version of Samba that can sign SMB packets.&lt;br /&gt;
&lt;br /&gt;
* Restart the &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; service to apply the changes and test that it&#039;s running ok by executing:&lt;br /&gt;
&lt;br /&gt;
  $ wbinfo -u&lt;br /&gt;
&lt;br /&gt;
: You should get the full list of Windows domain users. If you use &#039;&#039;&#039;&amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt;&#039;&#039;&#039; instead, you&#039;ll get the domain groups list.&lt;br /&gt;
&lt;br /&gt;
* Check that your &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; package installed the authentication helper command &amp;lt;tt&amp;gt;ntlm_auth&amp;lt;/tt&amp;gt;, as we&#039;ll need it later. We&#039;ll assume the helper is located at &amp;lt;tt&amp;gt;/usr/bin/ntlm_auth&amp;lt;/tt&amp;gt;. If yours is at a different location, make sure you adjust the path in the example below.&lt;br /&gt;
&lt;br /&gt;
* Add something like this to your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;). We&#039;ll assume that your Moodle &amp;lt;tt&amp;gt;$CFG-&amp;gt;dirroot&amp;lt;/tt&amp;gt; directory is located at &amp;lt;tt&amp;gt;/var/www/moodle&amp;lt;/tt&amp;gt; in the example:&lt;br /&gt;
: &#039;&#039;&#039;For 1.9 or above use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/var/www/moodle/auth/ldap/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            NTLMAuth on&lt;br /&gt;
            AuthType NTLM&lt;br /&gt;
            AuthName &amp;quot;Moodle NTLM Authentication&amp;quot;&lt;br /&gt;
            NTLMAuthHelper &amp;quot;/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp&amp;quot;&lt;br /&gt;
            NTLMBasicAuthoritative on&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;For 1.8 or below use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/var/www/moodle/auth/ntlm/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files oncampuslogin.php&amp;gt;&lt;br /&gt;
            NTLMAuth on&lt;br /&gt;
            AuthType NTLM&lt;br /&gt;
            AuthName &amp;quot;Moodle NTLM Authentication&amp;quot;&lt;br /&gt;
            NTLMAuthHelper &amp;quot;/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp&amp;quot;&lt;br /&gt;
            NTLMBasicAuthoritative on&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
* Check the permissions of the Winbind pipe directory (Ubuntu places it under &amp;lt;tt&amp;gt;/var/run/samba/winbindd_privileged&amp;lt;/tt&amp;gt;, yours may be placed at a different location). Apache will need to be able to enter that directory, so we need to make sure it has the right permissions. So have a look at the permissions of that directory and note the name of the group assigned to it. The following example is from a Ubuntu 7.10 machine:&lt;br /&gt;
&lt;br /&gt;
  $ ls -ald /var/run/samba/winbindd_privileged&lt;br /&gt;
  drwxr-x--- 2 root winbindd_priv 60 2007-11-17 16:18 /var/run/samba/winbindd_privileged/&lt;br /&gt;
&lt;br /&gt;
:so we see the group is &amp;lt;tt&amp;gt;winbindd_priv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Instead of modifying the directory permissions (which could break other services that use winbind) we are going to make the Apache user (&amp;lt;tt&amp;gt;www-data&amp;lt;/tt&amp;gt; in our example, but could be &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;nobody&amp;lt;/tt&amp;gt;, etc.) is part of the appropiate group. Execute the following as root:&lt;br /&gt;
&lt;br /&gt;
  # adduser www-data winbindd_priv&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt; is available in Debian and Ubuntu at least. If your distribution doesn&#039;t have &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt;, you can edit &amp;lt;tt&amp;gt;/etc/group&amp;lt;/tt&amp;gt; manually to achive the same effect.&lt;br /&gt;
&lt;br /&gt;
* Stop and start the Apache service to apply the changes. Have a look at Apache&#039;s error log to see that everything is ok.&lt;br /&gt;
&lt;br /&gt;
* Couple of gotchas - in Fedora Core (and also in Redhat/Centos), keep alive is turned OFF by default in the httpd.conf - see this bug for further info: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188138&amp;lt;br /&amp;gt;&lt;br /&gt;
simply change the line to that was:&lt;br /&gt;
 KeepAlive Off&lt;br /&gt;
to:&lt;br /&gt;
 KeepAlive On&lt;br /&gt;
and restart apache (/etc/init.d/http restart)&lt;br /&gt;
* Here are some notes from people who have the samba winbind option working&lt;br /&gt;
::-- I made it work using Ubuntu 7.04. That&#039;s what I&#039;ve used to update the documentation. [[User:Iñaki Arenaza|Iñaki Arenaza]] 10:43, 30 September 2007 (CDT)&lt;br /&gt;
::-- I have this working on Ubuntu 8.04 LTS in an RM CC4 Active Directory Domain. [[User:munk3h|Ian]] 16:31 15 December 2009 (GMT)&lt;br /&gt;
::--  Running on Ubuntu 10.04 Lucid, Apache2 got this running in no time flat with AD v6. Worth noting that if Using Iñaki Arenaza&#039;s LDAP Clone plugin, you will need to add another copy of the Directory tag in &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; pointing at the new ldap plugin. --[[User:Christopher O&amp;amp;#39;Kelly|Christopher O&amp;amp;#39;Kelly]] 10:09, 16 April 2012 (WST)&lt;br /&gt;
::-- On Ubuntu 12.04 there is no need to compile anything, just do this. &lt;br /&gt;
 sudo apt-get install php5-ldap&lt;br /&gt;
 sudo apt-get install libapache2-mod-auth-ntlm-winbind &lt;br /&gt;
 sudo a2enmod auth_ntlm_winbind &lt;br /&gt;
 sudo apt-get install winbind smbfs smbclient samba&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM Auth Module for Apache on Linux====&lt;br /&gt;
The NTLM Auth module is a bit stale and even its authors suggest that you use the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]]&lt;br /&gt;
&lt;br /&gt;
Get it from here &lt;br /&gt;
# get the Module from: http://modntlm.sourceforge.net/&lt;br /&gt;
# follow the instructions given there and inside the README that comes with the package.&lt;br /&gt;
&lt;br /&gt;
I (Iñaki Arenaza) strongly recommend using the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]] over this module. It&#039;s better maintained, more robust and has more features.&lt;br /&gt;
&lt;br /&gt;
====Using the mod_auth_sspi Module for Apache 2 on Windows====&lt;br /&gt;
NOTE: This setup is currently being used in a live production environment, and is therefore suitable for such use provided it is correctly configured and tested.&lt;br /&gt;
&lt;br /&gt;
This is the recommended method for Apache 2 on Windows, however it will &#039;&#039;&#039;not&#039;&#039;&#039; work on Linux/UNIX systems.&lt;br /&gt;
It provides better stability and higher performance than other NTLM modules.&lt;br /&gt;
&lt;br /&gt;
* Download the mod_auth_sspi Module from: http://sourceforge.net/projects/mod-auth-sspi/. At the moment of writing this (2007.09.30), the current version is mod_auth_sspi 1.0.4, which has two different ZIP files to download:&lt;br /&gt;
&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.0.58.zip :   Use this file if you are using Apache 2.0.x.&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.2.2.zip :   Use this file if you are using Apache 2.2.x.&lt;br /&gt;
&lt;br /&gt;
If you are using an x64 version of Apache mod_auth_sspi x64 versions are available from https://www.apachehaus.net/modules/mod_auth_sspi/&lt;br /&gt;
&lt;br /&gt;
These files &#039;&#039;&#039;do not&#039;&#039;&#039; work with Apache versions 2.4.x.&lt;br /&gt;
&lt;br /&gt;
* Unzip the right file and copy mod_auth_sspi.so (it&#039;s inside &#039;&#039;&#039;bin&#039;&#039;&#039; subdirectory) to your Apache modules directory.&lt;br /&gt;
* Edit your Apache 2 configuration file (httpd.conf) to load the module.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;IfModule !mod_auth_sspi.c&amp;gt;&lt;br /&gt;
        LoadModule sspi_auth_module modules/mod_auth_sspi.so&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Choose one of the two methods below&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 1&#039;&#039;&#039;: This method is recommended for servers that will host a single Moodle instance. Configure NTLM from the main configuration file, add the following to httpd.conf (substitute &amp;quot;C:\moodle&amp;quot; with the path to your Moodle installation e.g. &amp;quot;C:\my-moodle&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: &#039;&#039;&#039;For 1.9 or above use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;C:\moodle\auth\ldap&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
            AuthType SSPI&lt;br /&gt;
            SSPIAuth On&lt;br /&gt;
            SSPIOfferBasic Off&lt;br /&gt;
            SSPIAuthoritative On&lt;br /&gt;
            SSPIDomain &amp;lt;YOUR AD DOMAIN&amp;gt;&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
:: &#039;&#039;&#039;For 1.8 or below use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;C:\moodle\auth\ntlm&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files oncampuslogin.php&amp;gt;&lt;br /&gt;
            AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
            AuthType SSPI&lt;br /&gt;
            SSPIAuth On&lt;br /&gt;
            SSPIOfferBasic Off&lt;br /&gt;
            SSPIAuthoritative On&lt;br /&gt;
            SSPIDomain &amp;lt;YOUR AD DOMAIN&amp;gt;&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 2&#039;&#039;&#039;: The alternative method is to use a .htaccess file&lt;br /&gt;
:This method is recommended for servers that will host multiple Moodle instances. It allows additional Moodle instances to be configured without restarting apache, and also makes the solution a little more portable. We need to add a directive to the main httpd.conf to allow configuration of authentication within .htaccess files.&lt;br /&gt;
    &amp;lt;Directory C:\moodle&amp;gt;&lt;br /&gt;
        AllowOverride AuthConfig&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::Create a new text file named &#039;.htaccess&#039; in the directory &#039;C:\moodle\moodle\auth\ldap&#039; and add the following directives:&lt;br /&gt;
    &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
        AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
        AuthType SSPI&lt;br /&gt;
        SSPIAuth On&lt;br /&gt;
        SSPIOfferBasic Off&lt;br /&gt;
        SSPIAuthoritative On&lt;br /&gt;
        SSPIDomain mycollege.ac.uk&lt;br /&gt;
        require valid-user&lt;br /&gt;
    &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:This enables the Moodle folder to be moved to any apache webserver that is configured to allow authentication configuration through .htaccess&lt;br /&gt;
&lt;br /&gt;
Lastly for Internet Explorer 7 onwards you must also replace this line in your httpd-ssl.conf file: &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE.*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
with &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE [2-5]\..*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
For further help and discussion: http://moodle.org/mod/forum/discuss.php?d=56565&lt;br /&gt;
&lt;br /&gt;
====Using the Kerberos Auth Module for Apache on Linux/UNIX (mod_auth_kerb)====&lt;br /&gt;
*Install and configure http://modauthkerb.sourceforge.net/&lt;br /&gt;
*Configuration of mod_auth_kerb in a Microsoft Windows Active Directory environment (AD 2003 and above) (http://grolmsnet.de/kerbtut/)&lt;br /&gt;
&lt;br /&gt;
Environment details in this example:&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain:&#039;&#039;&#039; EXAMPLE.AC.UK&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain Controller:&#039;&#039;&#039; dc.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Linux/UNIX web server:&#039;&#039;&#039; moodle.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Active Directory user account for web server service principal:&#039;&#039;&#039; moodlekerb&lt;br /&gt;
&lt;br /&gt;
Install kerberos on moodle.example.ac.uk and enter the following in krb5.conf (by default: /etc/krb5.conf)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[libdefaults]&lt;br /&gt;
    default_realm = EXAMPLE.AC.UK&lt;br /&gt;
[domain_realm]&lt;br /&gt;
    example.ac.uk = EXAMPLE.AC.UK&lt;br /&gt;
[realms]&lt;br /&gt;
     EXAMPLE.AC.UK = {&lt;br /&gt;
                      admin_server = dc.example.ac.uk&lt;br /&gt;
                      kdc          = dc.example.ac.uk&lt;br /&gt;
                    }:&lt;br /&gt;
* Test kerberos&lt;br /&gt;
Issue the following command at the shell prompt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$&amp;gt; kinit user@EXAMPLE.AC.UK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &#039;user&#039; is an Active Directory account for which you know the password.&lt;br /&gt;
&lt;br /&gt;
Next, issue the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;$&amp;gt;klist&amp;lt;/pre&amp;gt;&lt;br /&gt;
If all is OK it will list the Kerberos ticket you were granted from the domain controller (KDC)&lt;br /&gt;
&lt;br /&gt;
* Create HTTP service principal for moodle.example.ac.uk&lt;br /&gt;
#Create the &#039;moodlekerb&#039; &#039;&#039;&#039;user&#039;&#039;&#039; account in Active Directory (NOT a machine account) to map to the web server service principal (HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK)&lt;br /&gt;
NOTE: moodle.example.ac.uk MUST be the canonical DNS name of the server i.e. an A record (NOT a CNAME). Additionally a valid PTR (reverse DNS) record must exist and match the corresponding A record.&lt;br /&gt;
&lt;br /&gt;
#Use the ktpass.exe utility to map the service principal and create a keytab file&lt;br /&gt;
Apache requires a keytab file, which is generated with ktpass.exe on the Windows Active Directory Domain Controller.&lt;br /&gt;
Unfortunately, this component of Windows Server 2003 SP1 does not function correctly so one must obtain a hot fix: http://support.microsoft.com/kb/919557&lt;br /&gt;
&lt;br /&gt;
Run the following command on the domain controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\path\to\hotfix\ktpass.exe -princ HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK -mapuser EXAMPLE\moodlekerb -crypto DES-CBC-MD5 +DesOnly +setPass +rndPass -ptype KRB5_NT_PRINCIPAL -out moodle.example.ac.uk.keytab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy C:\path\to\hotfix\moodle.example.ac.uk.keytab to the moodle web server and remember the location (/etc/httpd/moodle.example.ac.uk.keytab or similar)&lt;br /&gt;
&lt;br /&gt;
* Configure Apache / mod_auth_kerb&lt;br /&gt;
Edit the Apache configuration for the moodle host and add the following directives:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /path/to/moodle/docs/auth/ldap/&amp;gt;&lt;br /&gt;
                &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
                        AuthName &amp;quot;Moodle&amp;quot;&lt;br /&gt;
                        AuthType Kerberos&lt;br /&gt;
                        KrbAuthRealms EXAMPLE.AC.UK&lt;br /&gt;
                        KrbServiceName HTTP&lt;br /&gt;
                        Krb5Keytab /etc/httpd/moodle.example.ac.uk.keytab&lt;br /&gt;
                        KrbMethodNegotiate on&lt;br /&gt;
                        KrbMethodK5Passwd on&lt;br /&gt;
                        KrbAuthoritative on&lt;br /&gt;
                        require valid-user&lt;br /&gt;
                &amp;lt;/Files&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Replace the &#039;&#039;&#039;ntlmsso_magic&#039;&#039;&#039; function in &#039;&#039;&#039;/auth/ldap/auth.php&#039;&#039;&#039; (1.9 only, as 2.x already support Kerberos format out of the box, just specify that format in the &amp;quot;Authentication type&amp;quot; setting) with the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    function ntlmsso_magic($sesskey) {&lt;br /&gt;
        if (isset($_SERVER[&#039;REMOTE_USER&#039;]) &amp;amp;&amp;amp; !empty($_SERVER[&#039;REMOTE_USER&#039;])) {&lt;br /&gt;
&lt;br /&gt;
            // HTTP __headers__ seem to be sent in ISO-8859-1 encoding&lt;br /&gt;
            // (according to my reading of RFC-1945, RFC-2616 and RFC-2617 and&lt;br /&gt;
            // my local tests), so we need to convert the REMOTE_USER value&lt;br /&gt;
            // (i.e., what we got from the HTTP WWW-Authenticate header) into UTF-8&lt;br /&gt;
            $textlib = textlib_get_instance();&lt;br /&gt;
            $username = $textlib-&amp;gt;convert($_SERVER[&#039;REMOTE_USER&#039;], &#039;iso-8859-1&#039;, &#039;utf-8&#039;);&lt;br /&gt;
            &lt;br /&gt;
            /**&lt;br /&gt;
             * begin kerberos - afhole@wortech.ac.uk 21-04-2009&lt;br /&gt;
             */&lt;br /&gt;
            if ($pos = strpos($username, &amp;quot;@&amp;quot;)) {&lt;br /&gt;
                $username = substr($username, 0, $pos);&lt;br /&gt;
            } else {&lt;br /&gt;
                $username = substr(strrchr($username, &#039;\\&#039;), 1); //strip domain info&lt;br /&gt;
            }&lt;br /&gt;
            /**&lt;br /&gt;
             * end kerberos&lt;br /&gt;
             */&lt;br /&gt;
&lt;br /&gt;
            $username = moodle_strtolower($username); //compatibility hack&lt;br /&gt;
            set_cache_flag(&#039;auth/ldap/ntlmsess&#039;, $sesskey, $username, AUTH_NTLMTIMEOUT);&lt;br /&gt;
            return true;&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above code change will account for the fact that Kerberos presents the username to REMOTE_USER in the format user@DOMAIN, rather than NTLM&#039;s DOMAIN\user&lt;br /&gt;
&lt;br /&gt;
==Configuring IP/Subnet Mask==&lt;br /&gt;
Subnet masks are based on binary patterns so need a bit of knowledge to understand. The best way to find out what IP/Subnet masks to use is to ask your Network Admin. &lt;br /&gt;
&lt;br /&gt;
* The new way of specifiying subnets is even easier/more flexible than before 1.9. Just type them one after the other, separated by commas. You can use several syntaxes:&lt;br /&gt;
** Type the network-number/prefix-length combination. E.g. 192.168.1.0/24&lt;br /&gt;
** Type the network &#039;prefix&#039;, ending in a period character. E.g. 192.168.1.&lt;br /&gt;
** Type the network address range (&#039;&#039;&#039;this only works for the last address octect&#039;&#039;&#039;). E.g. 192.168.1.1-254&lt;br /&gt;
:All the three examples refer to the same subnetwork. So assuming you need to specify the following subnetworks:&lt;br /&gt;
::* 10.1.0/255.255.0.0&lt;br /&gt;
::* 10.2.0.0/255.255.0.0&lt;br /&gt;
::* 172.16.0.0/255.255.0.0&lt;br /&gt;
::* 192.168.100.0/255.255.255.240&lt;br /&gt;
:You can type:&lt;br /&gt;
 10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.0/28&lt;br /&gt;
: or:&lt;br /&gt;
  10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.240-255&lt;br /&gt;
:or even:&lt;br /&gt;
  10.1., 10.2., 172.16., 192.168.100.0/28&lt;br /&gt;
:(the last one cannot be expressed as a network &#039;prefix&#039; as the netmask does not fall on an octect boundary).&lt;br /&gt;
&lt;br /&gt;
==Configuring Domain user credentials format==&lt;br /&gt;
If you are using Moodle 2.4 and later there is a new setting that lets you configure the format of the domain user credentials, instead of using the old fixed format. The setting is called &amp;quot;Remote username format&amp;quot;. If you leave this seting empty, the default &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; format will be used. You can use the optional &#039;&#039;&#039;%domain%&#039;&#039;&#039; placeholder to specify where the domain name appears, and the mandatory &#039;&#039;&#039;%username%&#039;&#039;&#039; placeholder to specify where the username appears.&lt;br /&gt;
&lt;br /&gt;
Some widely used formats are:&lt;br /&gt;
* &#039;&#039;&#039;%domain%\%username%&#039;&#039;&#039; : MS Windows default, contains the domain name, followed by a backlash character, followed by the username.&lt;br /&gt;
* &#039;&#039;&#039;%username%@%domain%&#039;&#039;&#039; : This is the same format used by Kerberos (domain name followed by an at sign, followed by the username).&lt;br /&gt;
* &#039;&#039;&#039;%domain%/%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this format.&lt;br /&gt;
* &#039;&#039;&#039;%domain%+%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this other format.&lt;br /&gt;
* &#039;&#039;&#039;%username%&#039;&#039;&#039; : Only contains the username, with no domain part.&lt;br /&gt;
&lt;br /&gt;
==Notes/Tips==&lt;br /&gt;
&lt;br /&gt;
#If you are using Firefox, you will need to follow these steps:&lt;br /&gt;
:*Load Firefox and type about:config in the address box. The configuration settings page should be displayed.&lt;br /&gt;
:*In the Filter box, type the word &amp;quot;ntlm&amp;quot; to filter the NTLM strings. You should see three settings displayed.&lt;br /&gt;
:*Double-click on &amp;quot;network.automatic-ntlm-auth.trusted-uris&amp;quot;.&lt;br /&gt;
:*In the box, enter the full URL of your Moodle server. For example &amp;lt;pre&amp;gt;http://moodle.mydomain.com, (the comma is important)&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Close Firefox and restart.&lt;br /&gt;
# NTLM seems to not work at all when BASIC authentication is enabled. (this was using the Kerberos method, other ways may work)&lt;br /&gt;
# If the account in your AD management console shows like &amp;quot;First Last&amp;quot;, you better change the ldap settings parameter &#039;User Attribute&#039; from its default of {blank} / &#039;cn&#039; to &#039;sAMAccountName&#039; as indicated in [http://moodle.org/mod/forum/discuss.php?d=132364#p682173 this post]. The reason is that the cn name generally looks like &amp;quot;First Last&amp;quot;, once you done the ldap sync, the user name in moodle will be &amp;quot;first last&amp;quot;, but IE passes the account of &amp;quot;domain\first.last&amp;quot; to moodle which does not exist in moodle.&lt;br /&gt;
&lt;br /&gt;
== To get a domain name for Moodle working on IIS7.5 Windows 2008 R2 ==&lt;br /&gt;
Refer to http://support.microsoft.com/kb/896861. Key section listed below.&lt;br /&gt;
Click Start, click Run, type regedit, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Registry Editor, locate and then click the following registry key: &lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click MSV1_0, point to New, and then click Multi-String Value.&amp;lt;br /&amp;gt;&lt;br /&gt;
Type BackConnectionHostNames, and then press ENTER.&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click BackConnectionHostNames, and then click Modify.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
Quit Registry Editor, and then restart the IISAdmin service.&lt;br /&gt;
&lt;br /&gt;
==Compiling mod_auth_ntlm_winbind on Debian/Ubuntu==&lt;br /&gt;
You need to install the following packages (and all of their dependencies) by using aptitude, synaptic, etc.:&lt;br /&gt;
&lt;br /&gt;
  autoconf apache2-threaded-dev debian-builder&lt;br /&gt;
&lt;br /&gt;
Once you have them installed, open up a text console, go to the directory where you downloaded the mod_auth_ntlm_winbind files an execute the following commands (as a normal user):&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
  ./configure --with-apxs=/usr/bin/apxs2 --with-apache=/usr/sbin/apache2&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
That should compile it without errors. Then as a user that can run commands as root via sudo, execute the following command from the same directory:&lt;br /&gt;
&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
This will create the final mod_auth_ntlm_winbind.so file and install it under /usr/lib/apache2/modules, with the rest of the Apache 2 modules (the size of the file and last modification time shown below may differ from your install):&lt;br /&gt;
&lt;br /&gt;
  ls -l /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
  -rw-r--r-- 1 root root 20921 2009-02-17 04:27 /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/view.php?id=42 Using Moodle: User authentication] forum&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=45887 NTLM Authentication] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=80104 Merging AD NTLM SSO into auth/ldap] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=186661 Moodle in a DMZ with NTLM] forum discussion&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=314 Download the NTLM Authentication Module]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Authentification NTLM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114196</id>
		<title>NTLM authentication</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/310/en/index.php?title=NTLM_authentication&amp;diff=114196"/>
		<updated>2014-08-18T10:26:02Z</updated>

		<summary type="html">&lt;p&gt;Danmarsden: /* Using the NTLM part of Samba for Apache on Linux */ remove specific reference to me... I&amp;#039;m sure this dates back to around Moodle 1.6!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Authentication}}This document describes how to set up &#039;&#039;&#039;NTLM/Windows Integrated Authentication&#039;&#039;&#039; in Moodle. &lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Integrated Windows Authentication uses the security features of Windows clients and servers. It does not prompt users for a user name and password. The current Windows user information on the client computer is supplied by the browser through a challenge/response authentication process with the Web server for the Moodle site. &lt;br /&gt;
&lt;br /&gt;
==Assumptions==&lt;br /&gt;
&lt;br /&gt;
#You are running MS [[Active Directory]] for Authentication.&lt;br /&gt;
#The Server hosting your website is a member of the Active Directory Domain that your users are also members of.&lt;br /&gt;
#You are able to define people inside your Network (and authenticated to the Domain) from an IP range of computers.&lt;br /&gt;
#You are familar with or have read the LDAP authentication documentation.&lt;br /&gt;
#The Active Directory domain credentials of your users are returned as &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; from your authentication service. If you are using the Winbind service from the Samba project, this can be untrue, depending on your Winbind configuration settings. If you are using Moodle 2.4 or later, you can specify the format of the domain credentials (see below). If you are using an older version and you can not modify your settings to satisfy this last assumption, then you will need to remove or comment out the line that reads:&lt;br /&gt;
    $username = substr(strrchr($username, &#039;\\&#039;), 1); //strip domain info&lt;br /&gt;
and add the relevant lines of code to extract the username part from the domain user credentials and store it in $username.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
::&#039;&#039;&#039;VERY IMPORTANT&#039;&#039;&#039;: NTLM authentication depends on [[LDAP authentication]], and NTLM configuration is specified in the LDAP authentication settings page (Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server). So before trying to configure NTLM, make sure you have LDAP_authentication properly setup and working.&lt;br /&gt;
&lt;br /&gt;
==Installation==&lt;br /&gt;
&lt;br /&gt;
No installation needed. See Site Administration &amp;gt;&amp;gt; Plugins &amp;gt;&amp;gt; Authentication &amp;gt;&amp;gt; LDAP Server for the NTLM config options. You only have to&lt;br /&gt;
&lt;br /&gt;
*Enable NTLM SSO&lt;br /&gt;
*Set the IP/Subnet mask for the clients (see below)&lt;br /&gt;
*(Optionally) Set the &amp;quot;Remote username format&amp;quot; for your domain user credentials format (see below)&lt;br /&gt;
*On IIS: turn on Windows Authentication&lt;br /&gt;
*On Apache - use one of the 3 methods outlined below&lt;br /&gt;
*On the client pc&#039;s, you might need to set the moodle server ip/moodle url as being in &amp;quot;local intranet&amp;quot; (From IE, tools -&amp;gt; options -&amp;gt; security -&amp;gt; local intranet)&lt;br /&gt;
&lt;br /&gt;
It is important to note the following conditions must be satisfied to let NTLM SSO happens:&lt;br /&gt;
*you&#039;ve arrived to the login page with one GET request&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_enabled&lt;br /&gt;
*you&#039;ve ldap-&amp;gt;ntlmsso_subnet&lt;br /&gt;
*you aren&#039;t logged&lt;br /&gt;
*the IP of the client is in ntlmsso_subnet&lt;br /&gt;
&lt;br /&gt;
Thus it is needed to set the IP subnet.&lt;br /&gt;
&lt;br /&gt;
If you have used previous versions of NTLM (from 1.8 and below) in your Moodle database you will need to make two further changes. &lt;br /&gt;
&lt;br /&gt;
#The type of authentication held against each user now needs to be LDAP, as NTLM will not be recognised. To edit the fields open up a SQL query for your Moodle server and use the following query &amp;quot;update mdl_user set auth = &#039;ldap&#039; where auth = &#039;ntlm&#039; &amp;quot;&lt;br /&gt;
#If you had a previous .htaccess file in the auth/ntlm directory, you will need to move it to the auth/ldap directory. Regardless of whether it is in a .htaccess file of the httpd.conf, the &amp;lt;Files&amp;gt; line now needs to refer to ntlmsso_magic.php. If it is in the httpd.conf, the &amp;lt;Directory&amp;gt; will need to change too. This is covered later on for new installs, but is one of the fundamental changes that needs to be made for those upgrading.&lt;br /&gt;
&lt;br /&gt;
==How to Turn Integrated Authentication on==&lt;br /&gt;
The auth/ldap/ntlmsso_magic.php file MUST have NTLM/Integrated Authentication enabled on the server or the authentication will not work.&lt;br /&gt;
&lt;br /&gt;
===IIS Configuration===&lt;br /&gt;
Open the IIS Management Console and navigate to the auth/ldap/ntlmsso_magic.php file.&lt;br /&gt;
&lt;br /&gt;
====IIS 6.0====&lt;br /&gt;
#right click on the file, choose properties&lt;br /&gt;
#under the &amp;quot;file security&amp;quot; tab, click on the Authentication and Access control &amp;quot;edit&amp;quot; button&lt;br /&gt;
#untick &amp;quot;Enable Anonymous Access&amp;quot; and tick &amp;quot;Integrated Windows Authentication&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====IIS 7.x====&lt;br /&gt;
#After navigating to the &#039;auth/ldap&#039; folder, switch to Content View&lt;br /&gt;
#right click on the file, choose &amp;quot;Switch to Features View&amp;quot;&lt;br /&gt;
#click on the Authentication icon on the right&lt;br /&gt;
#select &#039;Anonymous Authentication&#039; and click the &#039;Disable&#039; button&lt;br /&gt;
#select &#039;Windows Authentication&#039; and click the &#039;Enable&#039; button&lt;br /&gt;
&lt;br /&gt;
*According to [http://moodle.org/mod/forum/discuss.php?d=145171#p634027 this post], if you are using IIS 7.5 (it comes with Windows Server 2008 R2), you have to select &#039;Windows Authentication&#039; and click on &#039;Providers&#039;. This shows a list of enabled providers (Negotiate and NTLM, by default). Change the order so that NTLM is at the top of the list.&lt;br /&gt;
*If &#039;Windows Authentication&#039; is not available, then you need to install it as a separate authentication provider (in Control Panel).&lt;br /&gt;
&lt;br /&gt;
===APACHE Configuration===&lt;br /&gt;
There are currently 3 possible methods for this:&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM part of Samba for Apache on Linux====&lt;br /&gt;
&lt;br /&gt;
* Get the plugin here: http://samba.org/ftp/unpacked/lorikeet/mod_auth_ntlm_winbind/ . You need to download all the files from the link, but not the &amp;lt;code&amp;gt;contrib&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;debian&amp;lt;/code&amp;gt; directories. Then follow the instructions given inside the &amp;lt;code&amp;gt;README&amp;lt;/code&amp;gt; file. If you are using Debian/Ubuntu, you can follow these [[#Compiling_mod_auth_ntlm_winbind_on_Debian.2FUbuntu|compilation instructions]].&lt;br /&gt;
* Once you have compiled it, put it inside Apache&#039;s modules subdirectory (this location depends on a number of factors, like compiling Apache yourself, using different Linux distributions packages, an so on), and load and enable the module in Apache&#039;s configuration. For example, if your Apache modules are under &amp;lt;tt&amp;gt;/usr/lib/apache2/modules&amp;lt;/tt&amp;gt;, you&#039;ll need something like this in your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;IfModule !mod_auth_ntlm_winbind.c&amp;gt;&lt;br /&gt;
       LoadModule auth_ntlm_winbind_module /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
   &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Install the Samba &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; daemon package. This packages relies on Samba&#039;s configuration file to get some important settings (like the Windows domain name, uid and gid range mappings, and so on). In addition to that, you&#039;ll need to make your Linux/Unix machine part of the domain. Otherwise winbind won&#039;t be able to pull user and groups informationi from the domain controllers. You should read the Samba documentation to perform this step, but the most important part is having something like the following lines in your &amp;lt;code&amp;gt;smb.conf&amp;lt;/code&amp;gt; file, inside the [global] section (in addition to what you already have there):&lt;br /&gt;
&lt;br /&gt;
  workgroup = DOMAINNAME&lt;br /&gt;
  password server = *&lt;br /&gt;
  security = domain&lt;br /&gt;
  encrypt passwords = true&lt;br /&gt;
  idmap uid = 10000-20000&lt;br /&gt;
  idmap gid = 10000-20000&lt;br /&gt;
&lt;br /&gt;
: and executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where &#039;&#039;&#039;DOMAINNAME&#039;&#039;&#039; is the NetBIOS windows domain name, and &#039;&#039;&#039;Administrator&#039;&#039;&#039; an account with enough privileges to add new machines to the domain.&amp;lt;br/&amp;gt; You&#039;ll need to type this account&#039;s password for the command to succeed.&lt;br /&gt;
&lt;br /&gt;
: In Windows environments you could also try executing the command (as root):&lt;br /&gt;
&lt;br /&gt;
  # net join DOMAINNAME -S DCSERVER -U Administrator&lt;br /&gt;
&lt;br /&gt;
: where DCSERVER is the Domain Controller server&lt;br /&gt;
&lt;br /&gt;
: Also, make sure you have disabled &amp;quot;Microsoft Network Server: digitally sign communications (always)&amp;quot; in your Domain Controllers Security Policy, unless you are using a version of Samba that can sign SMB packets.&lt;br /&gt;
&lt;br /&gt;
* Restart the &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; service to apply the changes and test that it&#039;s running ok by executing:&lt;br /&gt;
&lt;br /&gt;
  $ wbinfo -u&lt;br /&gt;
&lt;br /&gt;
: You should get the full list of Windows domain users. If you use &#039;&#039;&#039;&amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt;&#039;&#039;&#039; instead, you&#039;ll get the domain groups list.&lt;br /&gt;
&lt;br /&gt;
* Check that your &amp;lt;tt&amp;gt;winbind&amp;lt;/tt&amp;gt; package installed the authentication helper command &amp;lt;tt&amp;gt;ntlm_auth&amp;lt;/tt&amp;gt;, as we&#039;ll need it later. We&#039;ll assume the helper is located at &amp;lt;tt&amp;gt;/usr/bin/ntlm_auth&amp;lt;/tt&amp;gt;. If yours is at a different location, make sure you adjust the path in the example below.&lt;br /&gt;
&lt;br /&gt;
* Add something like this to your Apache configuration file (usually called &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;http2.conf&amp;lt;/tt&amp;gt;). We&#039;ll assume that your Moodle &amp;lt;tt&amp;gt;$CFG-&amp;gt;dirroot&amp;lt;/tt&amp;gt; directory is located at &amp;lt;tt&amp;gt;/var/www/moodle&amp;lt;/tt&amp;gt; in the example:&lt;br /&gt;
: &#039;&#039;&#039;For 1.9 or above use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/var/www/moodle/auth/ldap/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            NTLMAuth on&lt;br /&gt;
            AuthType NTLM&lt;br /&gt;
            AuthName &amp;quot;Moodle NTLM Authentication&amp;quot;&lt;br /&gt;
            NTLMAuthHelper &amp;quot;/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp&amp;quot;&lt;br /&gt;
            NTLMBasicAuthoritative on&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;For 1.8 or below use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;/var/www/moodle/auth/ntlm/&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files oncampuslogin.php&amp;gt;&lt;br /&gt;
            NTLMAuth on&lt;br /&gt;
            AuthType NTLM&lt;br /&gt;
            AuthName &amp;quot;Moodle NTLM Authentication&amp;quot;&lt;br /&gt;
            NTLMAuthHelper &amp;quot;/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp&amp;quot;&lt;br /&gt;
            NTLMBasicAuthoritative on&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
* Check the permissions of the Winbind pipe directory (Ubuntu places it under &amp;lt;tt&amp;gt;/var/run/samba/winbindd_privileged&amp;lt;/tt&amp;gt;, yours may be placed at a different location). Apache will need to be able to enter that directory, so we need to make sure it has the right permissions. So have a look at the permissions of that directory and note the name of the group assigned to it. The following example is from a Ubuntu 7.10 machine:&lt;br /&gt;
&lt;br /&gt;
  $ ls -ald /var/run/samba/winbindd_privileged&lt;br /&gt;
  drwxr-x--- 2 root winbindd_priv 60 2007-11-17 16:18 /var/run/samba/winbindd_privileged/&lt;br /&gt;
&lt;br /&gt;
:so we see the group is &amp;lt;tt&amp;gt;winbindd_priv&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
* Instead of modifying the directory permissions (which could break other services that use winbind) we are going to make the Apache user (&amp;lt;tt&amp;gt;www-data&amp;lt;/tt&amp;gt; in our example, but could be &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;nobody&amp;lt;/tt&amp;gt;, etc.) is part of the appropiate group. Execute the following as root:&lt;br /&gt;
&lt;br /&gt;
  # adduser www-data winbindd_priv&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt; is available in Debian and Ubuntu at least. If your distribution doesn&#039;t have &amp;lt;tt&amp;gt;adduser&amp;lt;/tt&amp;gt;, you can edit &amp;lt;tt&amp;gt;/etc/group&amp;lt;/tt&amp;gt; manually to achive the same effect.&lt;br /&gt;
&lt;br /&gt;
* Stop and start the Apache service to apply the changes. Have a look at Apache&#039;s error log to see that everything is ok.&lt;br /&gt;
&lt;br /&gt;
* Couple of gotchas - in Fedora Core (and also in Redhat/Centos), keep alive is turned OFF by default in the httpd.conf - see this bug for further info: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=188138&amp;lt;br /&amp;gt;&lt;br /&gt;
simply change the line to that was:&lt;br /&gt;
 KeepAlive Off&lt;br /&gt;
to:&lt;br /&gt;
 KeepAlive On&lt;br /&gt;
and restart apache (/etc/init.d/http restart)&lt;br /&gt;
* Here are some notes from people who have the samba winbind option working&lt;br /&gt;
::-- I made it work using Ubuntu 7.04. That&#039;s what I&#039;ve used to update the documentation. [[User:Iñaki Arenaza|Iñaki Arenaza]] 10:43, 30 September 2007 (CDT)&lt;br /&gt;
::-- I have this working on Ubuntu 8.04 LTS in an RM CC4 Active Directory Domain. [[User:munk3h|Ian]] 16:31 15 December 2009 (GMT)&lt;br /&gt;
::--  Running on Ubuntu 10.04 Lucid, Apache2 got this running in no time flat with AD v6. Worth noting that if Using Iñaki Arenaza&#039;s LDAP Clone plugin, you will need to add another copy of the Directory tag in &amp;lt;tt&amp;gt;apache2.conf&amp;lt;/tt&amp;gt; pointing at the new ldap plugin. --[[User:Christopher O&amp;amp;#39;Kelly|Christopher O&amp;amp;#39;Kelly]] 10:09, 16 April 2012 (WST)&lt;br /&gt;
::-- On Ubuntu 12.04 there is no need to compile anything to do this. *sudo apt-get install php5-ldap&lt;br /&gt;
*sudo apt-get install libapache2-mod-auth-ntlm-winbind *sudo a2enmod auth_ntlm_winbind *sudo apt-get install winbind smbfs smbclient samba&lt;br /&gt;
&lt;br /&gt;
====Using the NTLM Auth Module for Apache on Linux====&lt;br /&gt;
The NTLM Auth module is a bit stale and even its authors suggest that you use the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]]&lt;br /&gt;
&lt;br /&gt;
Get it from here &lt;br /&gt;
# get the Module from: http://modntlm.sourceforge.net/&lt;br /&gt;
# follow the instructions given there and inside the README that comes with the package.&lt;br /&gt;
&lt;br /&gt;
I (Iñaki Arenaza) strongly recommend using the [[#Using_the_NTLM_part_of_Samba_for_Apache_on_Linux|NTLM part of Samba with Apache on Linux]] over this module. It&#039;s better maintained, more robust and has more features.&lt;br /&gt;
&lt;br /&gt;
====Using the mod_auth_sspi Module for Apache 2 on Windows====&lt;br /&gt;
NOTE: This setup is currently being used in a live production environment, and is therefore suitable for such use provided it is correctly configured and tested.&lt;br /&gt;
&lt;br /&gt;
This is the recommended method for Apache 2 on Windows, however it will &#039;&#039;&#039;not&#039;&#039;&#039; work on Linux/UNIX systems.&lt;br /&gt;
It provides better stability and higher performance than other NTLM modules.&lt;br /&gt;
&lt;br /&gt;
* Download the mod_auth_sspi Module from: http://sourceforge.net/projects/mod-auth-sspi/. At the moment of writing this (2007.09.30), the current version is mod_auth_sspi 1.0.4, which has two different ZIP files to download:&lt;br /&gt;
&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.0.58.zip :   Use this file if you are using Apache 2.0.x.&lt;br /&gt;
::* mod_auth_sspi-1.0.4-2.2.2.zip :   Use this file if you are using Apache 2.2.x.&lt;br /&gt;
&lt;br /&gt;
If you are using an x64 version of Apache mod_auth_sspi x64 versions are available from https://www.apachehaus.net/modules/mod_auth_sspi/&lt;br /&gt;
&lt;br /&gt;
These files &#039;&#039;&#039;do not&#039;&#039;&#039; work with Apache versions 2.4.x.&lt;br /&gt;
&lt;br /&gt;
* Unzip the right file and copy mod_auth_sspi.so (it&#039;s inside &#039;&#039;&#039;bin&#039;&#039;&#039; subdirectory) to your Apache modules directory.&lt;br /&gt;
* Edit your Apache 2 configuration file (httpd.conf) to load the module.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;IfModule !mod_auth_sspi.c&amp;gt;&lt;br /&gt;
        LoadModule sspi_auth_module modules/mod_auth_sspi.so&lt;br /&gt;
    &amp;lt;/IfModule&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Choose one of the two methods below&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 1&#039;&#039;&#039;: This method is recommended for servers that will host a single Moodle instance. Configure NTLM from the main configuration file, add the following to httpd.conf (substitute &amp;quot;C:\moodle&amp;quot; with the path to your Moodle installation e.g. &amp;quot;C:\my-moodle&amp;quot;&lt;br /&gt;
&lt;br /&gt;
:: &#039;&#039;&#039;For 1.9 or above use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;C:\moodle\auth\ldap&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
            AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
            AuthType SSPI&lt;br /&gt;
            SSPIAuth On&lt;br /&gt;
            SSPIOfferBasic Off&lt;br /&gt;
            SSPIAuthoritative On&lt;br /&gt;
            SSPIDomain &amp;lt;YOUR AD DOMAIN&amp;gt;&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
:: &#039;&#039;&#039;For 1.8 or below use&#039;&#039;&#039;:&lt;br /&gt;
    &amp;lt;Directory &amp;quot;C:\moodle\auth\ntlm&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Files oncampuslogin.php&amp;gt;&lt;br /&gt;
            AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
            AuthType SSPI&lt;br /&gt;
            SSPIAuth On&lt;br /&gt;
            SSPIOfferBasic Off&lt;br /&gt;
            SSPIAuthoritative On&lt;br /&gt;
            SSPIDomain &amp;lt;YOUR AD DOMAIN&amp;gt;&lt;br /&gt;
            require valid-user&lt;br /&gt;
        &amp;lt;/Files&amp;gt;&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&#039;Method 2&#039;&#039;&#039;: The alternative method is to use a .htaccess file&lt;br /&gt;
:This method is recommended for servers that will host multiple Moodle instances. It allows additional Moodle instances to be configured without restarting apache, and also makes the solution a little more portable. We need to add a directive to the main httpd.conf to allow configuration of authentication within .htaccess files.&lt;br /&gt;
    &amp;lt;Directory C:\moodle&amp;gt;&lt;br /&gt;
        AllowOverride AuthConfig&lt;br /&gt;
    &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:::Create a new text file named &#039;.htaccess&#039; in the directory &#039;C:\moodle\moodle\auth\ldap&#039; and add the following directives:&lt;br /&gt;
    &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
        AuthName &amp;quot;Moodle at My College&amp;quot;&lt;br /&gt;
        AuthType SSPI&lt;br /&gt;
        SSPIAuth On&lt;br /&gt;
        SSPIOfferBasic Off&lt;br /&gt;
        SSPIAuthoritative On&lt;br /&gt;
        SSPIDomain mycollege.ac.uk&lt;br /&gt;
        require valid-user&lt;br /&gt;
    &amp;lt;/Files&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:This enables the Moodle folder to be moved to any apache webserver that is configured to allow authentication configuration through .htaccess&lt;br /&gt;
&lt;br /&gt;
Lastly for Internet Explorer 7 onwards you must also replace this line in your httpd-ssl.conf file: &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE.*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
with &lt;br /&gt;
&lt;br /&gt;
  BrowserMatch &amp;quot;.*MSIE [2-5]\..*&amp;quot; \ &lt;br /&gt;
&lt;br /&gt;
For further help and discussion: http://moodle.org/mod/forum/discuss.php?d=56565&lt;br /&gt;
&lt;br /&gt;
====Using the Kerberos Auth Module for Apache on Linux/UNIX (mod_auth_kerb)====&lt;br /&gt;
*Install and configure http://modauthkerb.sourceforge.net/&lt;br /&gt;
*Configuration of mod_auth_kerb in a Microsoft Windows Active Directory environment (AD 2003 and above) (http://grolmsnet.de/kerbtut/)&lt;br /&gt;
&lt;br /&gt;
Environment details in this example:&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain:&#039;&#039;&#039; EXAMPLE.AC.UK&lt;br /&gt;
#&#039;&#039;&#039;Active Directory Domain Controller:&#039;&#039;&#039; dc.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Linux/UNIX web server:&#039;&#039;&#039; moodle.example.ac.uk&lt;br /&gt;
#&#039;&#039;&#039;Active Directory user account for web server service principal:&#039;&#039;&#039; moodlekerb&lt;br /&gt;
&lt;br /&gt;
Install kerberos on moodle.example.ac.uk and enter the following in krb5.conf (by default: /etc/krb5.conf)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[libdefaults]&lt;br /&gt;
    default_realm = EXAMPLE.AC.UK&lt;br /&gt;
[domain_realm]&lt;br /&gt;
    example.ac.uk = EXAMPLE.AC.UK&lt;br /&gt;
[realms]&lt;br /&gt;
     EXAMPLE.AC.UK = {&lt;br /&gt;
                      admin_server = dc.example.ac.uk&lt;br /&gt;
                      kdc          = dc.example.ac.uk&lt;br /&gt;
                    }:&lt;br /&gt;
* Test kerberos&lt;br /&gt;
Issue the following command at the shell prompt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$&amp;gt; kinit user@EXAMPLE.AC.UK&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where &#039;user&#039; is an Active Directory account for which you know the password.&lt;br /&gt;
&lt;br /&gt;
Next, issue the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;$&amp;gt;klist&amp;lt;/pre&amp;gt;&lt;br /&gt;
If all is OK it will list the Kerberos ticket you were granted from the domain controller (KDC)&lt;br /&gt;
&lt;br /&gt;
* Create HTTP service principal for moodle.example.ac.uk&lt;br /&gt;
#Create the &#039;moodlekerb&#039; &#039;&#039;&#039;user&#039;&#039;&#039; account in Active Directory (NOT a machine account) to map to the web server service principal (HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK)&lt;br /&gt;
NOTE: moodle.example.ac.uk MUST be the canonical DNS name of the server i.e. an A record (NOT a CNAME). Additionally a valid PTR (reverse DNS) record must exist and match the corresponding A record.&lt;br /&gt;
&lt;br /&gt;
#Use the ktpass.exe utility to map the service principal and create a keytab file&lt;br /&gt;
Apache requires a keytab file, which is generated with ktpass.exe on the Windows Active Directory Domain Controller.&lt;br /&gt;
Unfortunately, this component of Windows Server 2003 SP1 does not function correctly so one must obtain a hot fix: http://support.microsoft.com/kb/919557&lt;br /&gt;
&lt;br /&gt;
Run the following command on the domain controller:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
C:\path\to\hotfix\ktpass.exe -princ HTTP/moodle.example.ac.uk@EXAMPLE.AC.UK -mapuser EXAMPLE\moodlekerb -crypto DES-CBC-MD5 +DesOnly +setPass +rndPass -ptype KRB5_NT_PRINCIPAL -out moodle.example.ac.uk.keytab&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Copy C:\path\to\hotfix\moodle.example.ac.uk.keytab to the moodle web server and remember the location (/etc/httpd/moodle.example.ac.uk.keytab or similar)&lt;br /&gt;
&lt;br /&gt;
* Configure Apache / mod_auth_kerb&lt;br /&gt;
Edit the Apache configuration for the moodle host and add the following directives:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        &amp;lt;Directory /path/to/moodle/docs/auth/ldap/&amp;gt;&lt;br /&gt;
                &amp;lt;Files ntlmsso_magic.php&amp;gt;&lt;br /&gt;
                        AuthName &amp;quot;Moodle&amp;quot;&lt;br /&gt;
                        AuthType Kerberos&lt;br /&gt;
                        KrbAuthRealms EXAMPLE.AC.UK&lt;br /&gt;
                        KrbServiceName HTTP&lt;br /&gt;
                        Krb5Keytab /etc/httpd/moodle.example.ac.uk.keytab&lt;br /&gt;
                        KrbMethodNegotiate on&lt;br /&gt;
                        KrbMethodK5Passwd on&lt;br /&gt;
                        KrbAuthoritative on&lt;br /&gt;
                        require valid-user&lt;br /&gt;
                &amp;lt;/Files&amp;gt;&lt;br /&gt;
        &amp;lt;/Directory&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Replace the &#039;&#039;&#039;ntlmsso_magic&#039;&#039;&#039; function in &#039;&#039;&#039;/auth/ldap/auth.php&#039;&#039;&#039; (1.9 only, as 2.x already support Kerberos format out of the box, just specify that format in the &amp;quot;Authentication type&amp;quot; setting) with the following code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    function ntlmsso_magic($sesskey) {&lt;br /&gt;
        if (isset($_SERVER[&#039;REMOTE_USER&#039;]) &amp;amp;&amp;amp; !empty($_SERVER[&#039;REMOTE_USER&#039;])) {&lt;br /&gt;
&lt;br /&gt;
            // HTTP __headers__ seem to be sent in ISO-8859-1 encoding&lt;br /&gt;
            // (according to my reading of RFC-1945, RFC-2616 and RFC-2617 and&lt;br /&gt;
            // my local tests), so we need to convert the REMOTE_USER value&lt;br /&gt;
            // (i.e., what we got from the HTTP WWW-Authenticate header) into UTF-8&lt;br /&gt;
            $textlib = textlib_get_instance();&lt;br /&gt;
            $username = $textlib-&amp;gt;convert($_SERVER[&#039;REMOTE_USER&#039;], &#039;iso-8859-1&#039;, &#039;utf-8&#039;);&lt;br /&gt;
            &lt;br /&gt;
            /**&lt;br /&gt;
             * begin kerberos - afhole@wortech.ac.uk 21-04-2009&lt;br /&gt;
             */&lt;br /&gt;
            if ($pos = strpos($username, &amp;quot;@&amp;quot;)) {&lt;br /&gt;
                $username = substr($username, 0, $pos);&lt;br /&gt;
            } else {&lt;br /&gt;
                $username = substr(strrchr($username, &#039;\\&#039;), 1); //strip domain info&lt;br /&gt;
            }&lt;br /&gt;
            /**&lt;br /&gt;
             * end kerberos&lt;br /&gt;
             */&lt;br /&gt;
&lt;br /&gt;
            $username = moodle_strtolower($username); //compatibility hack&lt;br /&gt;
            set_cache_flag(&#039;auth/ldap/ntlmsess&#039;, $sesskey, $username, AUTH_NTLMTIMEOUT);&lt;br /&gt;
            return true;&lt;br /&gt;
        }&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The above code change will account for the fact that Kerberos presents the username to REMOTE_USER in the format user@DOMAIN, rather than NTLM&#039;s DOMAIN\user&lt;br /&gt;
&lt;br /&gt;
==Configuring IP/Subnet Mask==&lt;br /&gt;
Subnet masks are based on binary patterns so need a bit of knowledge to understand. The best way to find out what IP/Subnet masks to use is to ask your Network Admin. &lt;br /&gt;
&lt;br /&gt;
* The new way of specifiying subnets is even easier/more flexible than before 1.9. Just type them one after the other, separated by commas. You can use several syntaxes:&lt;br /&gt;
** Type the network-number/prefix-length combination. E.g. 192.168.1.0/24&lt;br /&gt;
** Type the network &#039;prefix&#039;, ending in a period character. E.g. 192.168.1.&lt;br /&gt;
** Type the network address range (&#039;&#039;&#039;this only works for the last address octect&#039;&#039;&#039;). E.g. 192.168.1.1-254&lt;br /&gt;
:All the three examples refer to the same subnetwork. So assuming you need to specify the following subnetworks:&lt;br /&gt;
::* 10.1.0/255.255.0.0&lt;br /&gt;
::* 10.2.0.0/255.255.0.0&lt;br /&gt;
::* 172.16.0.0/255.255.0.0&lt;br /&gt;
::* 192.168.100.0/255.255.255.240&lt;br /&gt;
:You can type:&lt;br /&gt;
 10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.0/28&lt;br /&gt;
: or:&lt;br /&gt;
  10.1.0.0/16, 10.2.0.0/16, 172.16.0.0/16, 192.168.100.240-255&lt;br /&gt;
:or even:&lt;br /&gt;
  10.1., 10.2., 172.16., 192.168.100.0/28&lt;br /&gt;
:(the last one cannot be expressed as a network &#039;prefix&#039; as the netmask does not fall on an octect boundary).&lt;br /&gt;
&lt;br /&gt;
==Configuring Domain user credentials format==&lt;br /&gt;
If you are using Moodle 2.4 and later there is a new setting that lets you configure the format of the domain user credentials, instead of using the old fixed format. The setting is called &amp;quot;Remote username format&amp;quot;. If you leave this seting empty, the default &#039;&#039;&#039;DOMAINNAME\username&#039;&#039;&#039; format will be used. You can use the optional &#039;&#039;&#039;%domain%&#039;&#039;&#039; placeholder to specify where the domain name appears, and the mandatory &#039;&#039;&#039;%username%&#039;&#039;&#039; placeholder to specify where the username appears.&lt;br /&gt;
&lt;br /&gt;
Some widely used formats are:&lt;br /&gt;
* &#039;&#039;&#039;%domain%\%username%&#039;&#039;&#039; : MS Windows default, contains the domain name, followed by a backlash character, followed by the username.&lt;br /&gt;
* &#039;&#039;&#039;%username%@%domain%&#039;&#039;&#039; : This is the same format used by Kerberos (domain name followed by an at sign, followed by the username).&lt;br /&gt;
* &#039;&#039;&#039;%domain%/%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this format.&lt;br /&gt;
* &#039;&#039;&#039;%domain%+%username%&#039;&#039;&#039; : Some people configure Samba+Winbind to use this other format.&lt;br /&gt;
* &#039;&#039;&#039;%username%&#039;&#039;&#039; : Only contains the username, with no domain part.&lt;br /&gt;
&lt;br /&gt;
==Notes/Tips==&lt;br /&gt;
&lt;br /&gt;
#If you are using Firefox, you will need to follow these steps:&lt;br /&gt;
:*Load Firefox and type about:config in the address box. The configuration settings page should be displayed.&lt;br /&gt;
:*In the Filter box, type the word &amp;quot;ntlm&amp;quot; to filter the NTLM strings. You should see three settings displayed.&lt;br /&gt;
:*Double-click on &amp;quot;network.automatic-ntlm-auth.trusted-uris&amp;quot;.&lt;br /&gt;
:*In the box, enter the full URL of your Moodle server. For example &amp;lt;pre&amp;gt;http://moodle.mydomain.com, (the comma is important)&amp;lt;/pre&amp;gt;&lt;br /&gt;
:*Close Firefox and restart.&lt;br /&gt;
# NTLM seems to not work at all when BASIC authentication is enabled. (this was using the Kerberos method, other ways may work)&lt;br /&gt;
# If the account in your AD management console shows like &amp;quot;First Last&amp;quot;, you better change the ldap settings parameter &#039;User Attribute&#039; from its default of {blank} / &#039;cn&#039; to &#039;sAMAccountName&#039; as indicated in [http://moodle.org/mod/forum/discuss.php?d=132364#p682173 this post]. The reason is that the cn name generally looks like &amp;quot;First Last&amp;quot;, once you done the ldap sync, the user name in moodle will be &amp;quot;first last&amp;quot;, but IE passes the account of &amp;quot;domain\first.last&amp;quot; to moodle which does not exist in moodle.&lt;br /&gt;
&lt;br /&gt;
== To get a domain name for Moodle working on IIS7.5 Windows 2008 R2 ==&lt;br /&gt;
Refer to http://support.microsoft.com/kb/896861. Key section listed below.&lt;br /&gt;
Click Start, click Run, type regedit, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
In Registry Editor, locate and then click the following registry key: &lt;br /&gt;
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click MSV1_0, point to New, and then click Multi-String Value.&amp;lt;br /&amp;gt;&lt;br /&gt;
Type BackConnectionHostNames, and then press ENTER.&amp;lt;br /&amp;gt;&lt;br /&gt;
Right-click BackConnectionHostNames, and then click Modify.&amp;lt;br /&amp;gt;&lt;br /&gt;
In the Value data box, type the host name or the host names for the sites that are on the local computer, and then click OK.&amp;lt;br /&amp;gt;&lt;br /&gt;
Quit Registry Editor, and then restart the IISAdmin service.&lt;br /&gt;
&lt;br /&gt;
==Compiling mod_auth_ntlm_winbind on Debian/Ubuntu==&lt;br /&gt;
You need to install the following packages (and all of their dependencies) by using aptitude, synaptic, etc.:&lt;br /&gt;
&lt;br /&gt;
  autoconf apache2-threaded-dev debian-builder&lt;br /&gt;
&lt;br /&gt;
Once you have them installed, open up a text console, go to the directory where you downloaded the mod_auth_ntlm_winbind files an execute the following commands (as a normal user):&lt;br /&gt;
&lt;br /&gt;
  autoconf&lt;br /&gt;
  ./configure --with-apxs=/usr/bin/apxs2 --with-apache=/usr/sbin/apache2&lt;br /&gt;
  make&lt;br /&gt;
&lt;br /&gt;
That should compile it without errors. Then as a user that can run commands as root via sudo, execute the following command from the same directory:&lt;br /&gt;
&lt;br /&gt;
  sudo make install&lt;br /&gt;
&lt;br /&gt;
This will create the final mod_auth_ntlm_winbind.so file and install it under /usr/lib/apache2/modules, with the rest of the Apache 2 modules (the size of the file and last modification time shown below may differ from your install):&lt;br /&gt;
&lt;br /&gt;
  ls -l /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
  -rw-r--r-- 1 root root 20921 2009-02-17 04:27 /usr/lib/apache2/modules/mod_auth_ntlm_winbind.so&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[http://moodle.org/mod/forum/view.php?id=42 Using Moodle: User authentication] forum&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=45887 NTLM Authentication] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=80104 Merging AD NTLM SSO into auth/ldap] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=186661 Moodle in a DMZ with NTLM] forum discussion&lt;br /&gt;
*[http://moodle.org/mod/data/view.php?d=13&amp;amp;rid=314 Download the NTLM Authentication Module]&lt;br /&gt;
&lt;br /&gt;
[[Category:Contributed code]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Authentification NTLM]]&lt;/div&gt;</summary>
		<author><name>Danmarsden</name></author>
	</entry>
</feed>