<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.moodle.org/35/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Demsley</id>
	<title>MoodleDocs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/35/en/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Demsley"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/Special:Contributions/Demsley"/>
	<updated>2026-05-16T08:14:41Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=Privacy_officer_role&amp;diff=132093</id>
		<title>Privacy officer role</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=Privacy_officer_role&amp;diff=132093"/>
		<updated>2018-10-22T11:25:25Z</updated>

		<summary type="html">&lt;p&gt;Demsley: /* Role assignment */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Privacy}}&lt;br /&gt;
A Privacy officer can respond to data requests and manage the data registry.&lt;br /&gt;
&lt;br /&gt;
==Role set-up==&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Define roles&#039; in the Site administration.  ( Users --&amp;gt; Permissions --&amp;gt; Define Roles)&lt;br /&gt;
# Click the button &amp;quot;Add a new role&amp;quot;.&lt;br /&gt;
# Leave &#039;Use role or archetype&#039; set to &#039;No role&#039; and click the continue button.&lt;br /&gt;
# Give the role a name such as &#039;Privacy officer&#039;, short name and description.&lt;br /&gt;
# For context types where this role may be assigned, tick system.&lt;br /&gt;
# Enter dataprivacy in the filter box, then allow the capabilities [[Capabilities/tool/dataprivacy:managedataregistry|tool/dataprivacy:managedataregistry]] and [[Capabilities/tool/dataprivacy:managedatarequests|tool/dataprivacy:managedatarequests]], and if necessary [[Capabilities/tool/dataprivacy:makedatarequestsforchildren|tool/dataprivacy:makedatarequestsforchildren]].&lt;br /&gt;
# Allow more capabilities as follows: [[Capabilities/moodle/site:configview|moodle/site:configview]], [[Capabilities/moodle/category:viewhiddencategories|moodle/category:viewhiddencategories]], [[Capabilities/moodle/course:viewhiddencourses|moodle/course:viewhiddencourses]], [[Capabilities/moodle/course:viewhiddenactivities|moodle/course:viewhiddenactivities]], [[Capabilities/moodle/course:view|moodle/course:view]].&lt;br /&gt;
# Optionally, add capabilities to allow Privacy officers to view and agree to policies on behalf of minors (after receiving permission from guardians): [[Capabilities/tool/policy:acceptbehalf|tool/policy:acceptbehalf]] and [[Capabilities/tool/policy:viewacceptances|tool/policy:viewacceptances]]&lt;br /&gt;
# Click the button &amp;quot;Create this role&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Privacy settings&#039; in the Site administration.  (Users --&amp;gt; Privacy and policies --&amp;gt; Privacy settings)&lt;br /&gt;
# Click to select the Privacy officer in the Privacy officer role mapping setting.&lt;br /&gt;
# Save changes.&lt;br /&gt;
&lt;br /&gt;
==Role assignment==&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Assign system roles&#039; in the Site administration.  (Users --&amp;gt; Permissions --&amp;gt; Assign system roles)&lt;br /&gt;
# Choose the Privacy officer role to assign.&lt;br /&gt;
# Select the user in the Potential users list, and use the left-facing arrow button to add them to the Existing users list. &lt;br /&gt;
&lt;br /&gt;
[[Category: Privacy]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Délégué à la Protection des Données]]&lt;br /&gt;
[[es:Rol de oficial de privacidad]]&lt;br /&gt;
[[de:Datenschutzbeauftragter-Rolle]]&lt;br /&gt;
[[ja:プライバシー責任者ロール]]&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=Privacy_officer_role&amp;diff=132092</id>
		<title>Privacy officer role</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=Privacy_officer_role&amp;diff=132092"/>
		<updated>2018-10-22T11:24:36Z</updated>

		<summary type="html">&lt;p&gt;Demsley: /* Role set-up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Privacy}}&lt;br /&gt;
A Privacy officer can respond to data requests and manage the data registry.&lt;br /&gt;
&lt;br /&gt;
==Role set-up==&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Define roles&#039; in the Site administration.  ( Users --&amp;gt; Permissions --&amp;gt; Define Roles)&lt;br /&gt;
# Click the button &amp;quot;Add a new role&amp;quot;.&lt;br /&gt;
# Leave &#039;Use role or archetype&#039; set to &#039;No role&#039; and click the continue button.&lt;br /&gt;
# Give the role a name such as &#039;Privacy officer&#039;, short name and description.&lt;br /&gt;
# For context types where this role may be assigned, tick system.&lt;br /&gt;
# Enter dataprivacy in the filter box, then allow the capabilities [[Capabilities/tool/dataprivacy:managedataregistry|tool/dataprivacy:managedataregistry]] and [[Capabilities/tool/dataprivacy:managedatarequests|tool/dataprivacy:managedatarequests]], and if necessary [[Capabilities/tool/dataprivacy:makedatarequestsforchildren|tool/dataprivacy:makedatarequestsforchildren]].&lt;br /&gt;
# Allow more capabilities as follows: [[Capabilities/moodle/site:configview|moodle/site:configview]], [[Capabilities/moodle/category:viewhiddencategories|moodle/category:viewhiddencategories]], [[Capabilities/moodle/course:viewhiddencourses|moodle/course:viewhiddencourses]], [[Capabilities/moodle/course:viewhiddenactivities|moodle/course:viewhiddenactivities]], [[Capabilities/moodle/course:view|moodle/course:view]].&lt;br /&gt;
# Optionally, add capabilities to allow Privacy officers to view and agree to policies on behalf of minors (after receiving permission from guardians): [[Capabilities/tool/policy:acceptbehalf|tool/policy:acceptbehalf]] and [[Capabilities/tool/policy:viewacceptances|tool/policy:viewacceptances]]&lt;br /&gt;
# Click the button &amp;quot;Create this role&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Privacy settings&#039; in the Site administration.  (Users --&amp;gt; Privacy and policies --&amp;gt; Privacy settings)&lt;br /&gt;
# Click to select the Privacy officer in the Privacy officer role mapping setting.&lt;br /&gt;
# Save changes.&lt;br /&gt;
&lt;br /&gt;
==Role assignment==&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Assign system roles&#039; in the Site administration.&lt;br /&gt;
# Choose the Privacy officer role to assign.&lt;br /&gt;
# Select the user in the Potential users list, and use the left-facing arrow button to add them to the Existing users list. &lt;br /&gt;
&lt;br /&gt;
[[Category: Privacy]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Délégué à la Protection des Données]]&lt;br /&gt;
[[es:Rol de oficial de privacidad]]&lt;br /&gt;
[[de:Datenschutzbeauftragter-Rolle]]&lt;br /&gt;
[[ja:プライバシー責任者ロール]]&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=Privacy_officer_role&amp;diff=132091</id>
		<title>Privacy officer role</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=Privacy_officer_role&amp;diff=132091"/>
		<updated>2018-10-22T11:16:21Z</updated>

		<summary type="html">&lt;p&gt;Demsley: /* Role set-up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Privacy}}&lt;br /&gt;
A Privacy officer can respond to data requests and manage the data registry.&lt;br /&gt;
&lt;br /&gt;
==Role set-up==&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Define roles&#039; in the Site administration.  ( Users --&amp;gt; Permissions --&amp;gt; Define Roles)&lt;br /&gt;
# Click the button &amp;quot;Add a new role&amp;quot;.&lt;br /&gt;
# Leave &#039;Use role or archetype&#039; set to &#039;No role&#039; and click the continue button.&lt;br /&gt;
# Give the role a name such as &#039;Privacy officer&#039;, short name and description.&lt;br /&gt;
# For context types where this role may be assigned, tick system.&lt;br /&gt;
# Enter dataprivacy in the filter box, then allow the capabilities [[Capabilities/tool/dataprivacy:managedataregistry|tool/dataprivacy:managedataregistry]] and [[Capabilities/tool/dataprivacy:managedatarequests|tool/dataprivacy:managedatarequests]], and if necessary [[Capabilities/tool/dataprivacy:makedatarequestsforchildren|tool/dataprivacy:makedatarequestsforchildren]].&lt;br /&gt;
# Allow more capabilities as follows: [[Capabilities/moodle/site:configview|moodle/site:configview]], [[Capabilities/moodle/category:viewhiddencategories|moodle/category:viewhiddencategories]], [[Capabilities/moodle/course:viewhiddencourses|moodle/course:viewhiddencourses]], [[Capabilities/moodle/course:viewhiddenactivities|moodle/course:viewhiddenactivities]], [[Capabilities/moodle/course:view|moodle/course:view]].&lt;br /&gt;
# Optionally, add capabilities to allow Privacy officers to view and agree to policies on behalf of minors (after receiving permission from guardians): [[Capabilities/tool/policy:acceptbehalf|tool/policy:acceptbehalf]] and [[Capabilities/tool/policy:viewacceptances|tool/policy:viewacceptances]]&lt;br /&gt;
# Click the button &amp;quot;Create this role&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Next&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Privacy settings&#039; in the Site administration.&lt;br /&gt;
# Click to select the Privacy officer in the Privacy officer role mapping setting.&lt;br /&gt;
# Save changes.&lt;br /&gt;
&lt;br /&gt;
==Role assignment==&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Assign system roles&#039; in the Site administration.&lt;br /&gt;
# Choose the Privacy officer role to assign.&lt;br /&gt;
# Select the user in the Potential users list, and use the left-facing arrow button to add them to the Existing users list. &lt;br /&gt;
&lt;br /&gt;
[[Category: Privacy]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Délégué à la Protection des Données]]&lt;br /&gt;
[[es:Rol de oficial de privacidad]]&lt;br /&gt;
[[de:Datenschutzbeauftragter-Rolle]]&lt;br /&gt;
[[ja:プライバシー責任者ロール]]&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=Policies&amp;diff=131838</id>
		<title>Policies</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=Policies&amp;diff=131838"/>
		<updated>2018-09-03T12:38:07Z</updated>

		<summary type="html">&lt;p&gt;Demsley: /* Enabling the policies plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{GDPR}}{{New features}}&lt;br /&gt;
The Policies plugin provides a new user sign-on process, with ability to define multiple policies (site, privacy, third party), track user consents, and manage updates and versioning of the policies.&lt;br /&gt;
&lt;br /&gt;
The Policies plugin forms part of Moodle’s privacy feature set assisting sites to become GDPR compliant.&lt;br /&gt;
&lt;br /&gt;
==Enabling the policies plugin==&lt;br /&gt;
&lt;br /&gt;
To enable the policies plugin&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Policy settings&#039; in the Site administration.&lt;br /&gt;
# Set the Site policy handler to &#039;Policies (tool_policy)&#039;.&lt;br /&gt;
# Save changes.&lt;br /&gt;
&lt;br /&gt;
Two new pages will then appear in the Site administration - &#039;Manage policies&#039; and &#039;User agreements&#039;.&lt;br /&gt;
&lt;br /&gt;
(Note: In my setup these are in Site Admininstration &amp;gt; Users &amp;gt; Privacy and Policies but I did not feel confident editing the above out)&lt;br /&gt;
&lt;br /&gt;
Note that when Policies is set as the site policy handler, the settings &#039;Site policy&#039; and &#039;Site policy for guests&#039; are ignored.&lt;br /&gt;
&lt;br /&gt;
==Adding and managing policies==&lt;br /&gt;
[[File:policies and agreements.png|thumb|Policies and agreements]]&lt;br /&gt;
An admin or any user with the [[Capabilities/tool/policy:managedocs|Manage policies]] capability (by default manager) can access the page  &#039;Manage policies&#039; in the Site administration and:&lt;br /&gt;
&lt;br /&gt;
* Add a new site / privacy / third parties / other policy for all users, authenticated users or guests&lt;br /&gt;
* Change the active / inactive status of each policy&lt;br /&gt;
* View the number and percentage of users who have agreed to each policy&lt;br /&gt;
* Edit a policy and specify whether it is a minor change (not requiring users to reconfirm their consent) or not&lt;br /&gt;
* View the current version of each policy and also previous versions&lt;br /&gt;
* Change the order in which policies are shown to users&lt;br /&gt;
&lt;br /&gt;
To add a new policy:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Manage policies&#039; in the Site administration.&lt;br /&gt;
# Click the button &#039;New policy&#039;&lt;br /&gt;
# Complete the form and save changes.&lt;br /&gt;
&lt;br /&gt;
Note that once created, a policy can be edited, or set to inactive, but if users have agreed to it, it can&#039;t be deleted.&lt;br /&gt;
&lt;br /&gt;
The policy type (site / privacy / third parties) is only displayed at the &#039;Policies&#039; page linked on the footer and the behaviour is the same for all the policy types.&lt;br /&gt;
&lt;br /&gt;
==Giving consent to policies==&lt;br /&gt;
[[File:Agreeing to policies.png|thumb|Giving consent to policies]]&lt;br /&gt;
All users (with the exception of admins) will be required to give their consent to all policies defined either for “Authenticated users” or for “All users” before proceeding further on the site.&lt;br /&gt;
&lt;br /&gt;
If a new policy is added, all users will be required to give their consent when they next log in. Similarly, if an existing policy is edited and is not marked as a minor change, all users will be required to give their consent when they next log in.&lt;br /&gt;
&lt;br /&gt;
If self-registration is enabled on the site, new users will be required to give their consent to all policies before proceeding to the sign-up form. If digital age of consent verification (a new setting in Moodle 3.4.2 onwards) is enabled in &#039;[[Privacy|Privacy settings]]&#039; in the Site administration, when a new user clicks the &#039;Create new account&#039; button, they will be prompted to enter their age and country. If the user&#039;s age is lower than the age of consent for their country, they will see a message prompting them to ask their parent/guardian to contact the support contact (as specified in &#039;Support contact&#039; in the Site administration).&lt;br /&gt;
&lt;br /&gt;
==Policies for guests==&lt;br /&gt;
[[File:policies modal window.png|thumb|Policies for guests modal window]]&lt;br /&gt;
If a user logs in as a [[Guest access|guest]], a modal window will be shown at the bottom of the user&#039;s browser window with links to all policies defined either for guests or for all users.&lt;br /&gt;
&lt;br /&gt;
==Minors==&lt;br /&gt;
[[File:No permission to agree to policies.png|thumb|Minor prevented from proceeding further on the site]]&lt;br /&gt;
Users who are younger than the age of digital consent, called &#039;minors&#039;, may be prevented from giving their consent by prohibiting the capability [[Capabilities/tool/policy:accept|Agree to policies]]. They will then be prevented from proceeding further on the site until someone can give consent on their behalf.&lt;br /&gt;
&lt;br /&gt;
===Sites with minors as the majority of users===&lt;br /&gt;
&lt;br /&gt;
To prohibit users from agreeing to policies because they are a minor:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Define roles&#039; in the Site administration.&lt;br /&gt;
# Edit the role of authenticated user and set [[Capabilities/tool/policy:accept|Agree to policies]] to prohibit.&lt;br /&gt;
# Save changes.&lt;br /&gt;
&lt;br /&gt;
To enable teachers and other users who are not minors to agree to policies:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Define roles&#039; in the Site administration.&lt;br /&gt;
# Click the button &#039;Add a new role&#039;.&lt;br /&gt;
# Give the role a name such as &#039;Able to give consent&#039;, short name and description.&lt;br /&gt;
# For context types where this role may be assigned, tick system.&lt;br /&gt;
# Enter policy in the filter box, then allow the capability Agree to policies.&lt;br /&gt;
# Click the button &#039;Create this role&#039;.&lt;br /&gt;
# Go to &#039;Assign system roles&#039; in the Site administration.&lt;br /&gt;
# Choose the &#039;Able to give consent&#039; role to assign.&lt;br /&gt;
# Select teachers and other users in the Potential users list, and use the left-facing arrow button to add them to the Existing users list. &lt;br /&gt;
&lt;br /&gt;
===Sites with only a few minors===&lt;br /&gt;
&lt;br /&gt;
To prohibit users from agreeing to policies because they are a minor:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;Define roles&#039; in the Site administration.&lt;br /&gt;
# Click the button &#039;Add a new role&#039;.&lt;br /&gt;
# Give the role a name such as &#039;Digital minor&#039;, short name and description.&lt;br /&gt;
# For context types where this role may be assigned, tick system.&lt;br /&gt;
# Enter policy in the filter box, then prohibit the capability Agree to policies.&lt;br /&gt;
# Click the button &#039;Create this role&#039;.&lt;br /&gt;
# Go to &#039;Assign system roles&#039; in the Site administration.&lt;br /&gt;
# Choose the &#039;Digital minor&#039; role to assign.&lt;br /&gt;
# Select minors in the Potential users list, and use the left-facing arrow button to add them to the Existing users list.&lt;br /&gt;
&lt;br /&gt;
==User agreements==&lt;br /&gt;
[[File:user agreements.png|thumb|User agreements filtered to show minors]]&lt;br /&gt;
An admin or any user with the [[Capabilities/tool/policy:viewacceptances|View user agreements reports]] capability (by default manager) can access the page &#039;User agreements&#039; in the Site administration and:&lt;br /&gt;
&lt;br /&gt;
* View user consents &lt;br /&gt;
* Filter by policy, permission, status or role&lt;br /&gt;
* Give consent on behalf of minors&lt;br /&gt;
* Download table data&lt;br /&gt;
&lt;br /&gt;
User agreements for a particular policy may also be viewed via the &#039;Manage policies&#039; page by clicking the link in the Agreements column.&lt;br /&gt;
&lt;br /&gt;
==Giving consent on behalf of other users==&lt;br /&gt;
&lt;br /&gt;
An admin or any user with the capability [[Capabilities/tool/policy:acceptbehalf|Agree to the policies on someone else&#039;s behalf]] can give consent on behalf of minors or when a written consent was obtained offline.&lt;br /&gt;
&lt;br /&gt;
===Giving consent on behalf of multiple users===&lt;br /&gt;
[[File:Record of consents.png|thumb|Record of consents with remarks]]&lt;br /&gt;
Users with capability [[Capabilities/tool/policy:acceptbehalf|Agree to the policies on someone else&#039;s behalf]] in the system context, such as managers, can give consent on behalf of multiple users as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to &#039;User agreements&#039; in the Site administration.&lt;br /&gt;
# If necessary, filter by &#039;Permission: Can not agree&#039;.&lt;br /&gt;
# To give consent for multiple policies, tick the box next to selected users&#039; names then click the consent button.&lt;br /&gt;
# To give consent for a single policy, click the red cross next to the user&#039;s name.&lt;br /&gt;
&lt;br /&gt;
When giving consent on behalf of other users, there is an opportunity to add some remarks. Clicking on the link in the Overall column gives an overview with details of who gave consent and when, together with any remarks.&lt;br /&gt;
&lt;br /&gt;
It&#039;s not yet possible to give consent in bulk, however a workaround would be to install and use a browser extension for checking all checkboxes on the page.&lt;br /&gt;
&lt;br /&gt;
===Giving consent on behalf of a child===&lt;br /&gt;
&lt;br /&gt;
A parent or guardian may be allowed to give consent on behalf of their child by giving them the capability [[Capabilities/tool/policy:acceptbehalf|Agree to the policies on someone else&#039;s behalf]] in the user context. See the [[Parent role]] for details of how to create the role and assign a parent to a student. The parent or guardian will then be able to give consent as follows:&lt;br /&gt;
&lt;br /&gt;
# Go to the child&#039;s profile page.&lt;br /&gt;
# Click the link &#039;Policies and agreements&#039;. &lt;br /&gt;
# Click the red cross next to the policy name.&lt;br /&gt;
&lt;br /&gt;
==Capabilities==&lt;br /&gt;
&lt;br /&gt;
* [[Capabilities/tool/policy:accept|Agree to policies]] - allowed for authenticated user role&lt;br /&gt;
* [[Capabilities/tool/policy:managedocs|Manage policies]] - allowed for default role of manager only&lt;br /&gt;
* [[Capabilities/tool/policy:viewacceptances|View user agreements reports]] - allowed for default role of manager only&lt;br /&gt;
* [[Capabilities/tool/policy:acceptbehalf|Agree to policies on someone else&#039;s behalf]] - allowed for default role of manager only&lt;br /&gt;
&lt;br /&gt;
[[Category:Privacy]]&lt;br /&gt;
&lt;br /&gt;
[[es:Plugin de políticas]]&lt;br /&gt;
[[de:Richtlinien-Plugin]]&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=bootstrap-Theme&amp;diff=128983</id>
		<title>bootstrap-Theme</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=bootstrap-Theme&amp;diff=128983"/>
		<updated>2017-10-24T10:35:09Z</updated>

		<summary type="html">&lt;p&gt;Demsley: Speelling error corrected.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Twitter Bootstrap Theme==&lt;br /&gt;
This page aims to bring together discussions from the themes forum related to the development of a moodle &#039;base&#039; theme that conforms to the [http://twitter.github.com/bootstrap/ Twitter Bootstrap] coding conventions. There has already been a great deal of work done by individuals within the Moodle community and it&#039;s hoped that by formulating this work we may be able to collaborate and build on this.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Technical Approach ==&lt;br /&gt;
There are 5 major categories of development for this theme family:&lt;br /&gt;
&lt;br /&gt;
* Layouts&lt;br /&gt;
* Renderers&lt;br /&gt;
* Stylesheets&lt;br /&gt;
* Javascripts&lt;br /&gt;
* Settings (child themes)&lt;br /&gt;
&lt;br /&gt;
=== Layout ===&lt;br /&gt;
The General layout will be a 2 column layout based on the [http://twitter.github.com/bootstrap/examples/fluid.html &amp;quot;Fluid&amp;quot; example] providing an &amp;quot;out of the box&amp;quot; responsive grid.&lt;br /&gt;
&lt;br /&gt;
=== Renderers ===&lt;br /&gt;
Multiple renderers will be developed to make Moodle output more bootstrap friendly by 1) outputting classes defined in bootstrap.css and 2) outputting semantic HTML exemplified in the bootstrap documentation&lt;br /&gt;
&lt;br /&gt;
=== Stylesheets ===&lt;br /&gt;
Bootstrap.css will be the core CSS sheet with adjustments made to reduce re-duplication (like &#039;reset&#039;) and to define Moodle core classes that can&#039;t be matched to bootstrap via a renderer&lt;br /&gt;
&lt;br /&gt;
=== Javascripts ===&lt;br /&gt;
[http://jshirley.github.com/bootstrap/javascript.html YUI Bootstrap plugins] will be dropped in to the theme in place of the jQuery version(s).&lt;br /&gt;
&lt;br /&gt;
=== Settings ===&lt;br /&gt;
On the roadmap: create a child theme (or themes) to provide end users with custom settings, possibly including:&lt;br /&gt;
&lt;br /&gt;
* static or fixed navbar&lt;br /&gt;
* light or dark color&lt;br /&gt;
* 2 or 3 column layout&lt;br /&gt;
* custom logo&lt;br /&gt;
* [http://bootswatch.com/ bootswatches]&lt;br /&gt;
&lt;br /&gt;
== Success criteria ==&lt;br /&gt;
To have developed a theme that can be used as a base theme, that looks and feels like the default bootsrap interface. (see: [http://twitter.github.com/bootstrap/getting-started.html#examples examples].&lt;br /&gt;
&lt;br /&gt;
==Future developments ==&lt;br /&gt;
&lt;br /&gt;
* To make a responsive version&lt;br /&gt;
* Create a library of custom renderers that can be used in themes to make UI changes&lt;br /&gt;
* Add theme settings that allow administrators to change the layout of templates through the theme interface.&lt;br /&gt;
&lt;br /&gt;
== Potential projects ==&lt;br /&gt;
&lt;br /&gt;
Some projects that don&#039;t require knowledge of PHP to help with:&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap for Educational Content ===&lt;br /&gt;
&lt;br /&gt;
Take some of your existing content, or freely available courses and use Bootstrap styles to format it. Maybe write a document, that uses Bootstrap styles to explain how to apply Bootstrap styles to educational content. Look at the Bootstrap documentation for inspiration, it not only tells you what is possible, it demonstrates many of them in its own presentation:&lt;br /&gt;
&lt;br /&gt;
* http://twitter.github.com/bootstrap/base-css.html#typography&lt;br /&gt;
* http://twitter.github.com/bootstrap/base-css.html#code&lt;br /&gt;
* http://twitter.github.com/bootstrap/base-css.html#tables&lt;br /&gt;
* http://twitter.github.com/bootstrap/base-css.html#images&lt;br /&gt;
* http://twitter.github.com/bootstrap/base-css.html#icons&lt;br /&gt;
* http://twitter.github.com/bootstrap/components.html#labels-badges&lt;br /&gt;
* http://twitter.github.com/bootstrap/components.html#typography&lt;br /&gt;
* http://twitter.github.com/bootstrap/components.html#thumbnails&lt;br /&gt;
* http://twitter.github.com/bootstrap/components.html#alerts&lt;br /&gt;
* http://twitter.github.com/bootstrap/components.html#misc&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap in Moodle content ===&lt;br /&gt;
&lt;br /&gt;
There&#039;s plenty of places in Moodle that accept HTML and so can be spruced up with Bootstrap. For example, if you have a public access course, you could add a big green &amp;quot;start learning now&amp;quot; button with a white tick icon to the course description (or many other places on your site) just by using the following html:&lt;br /&gt;
&lt;br /&gt;
    &amp;amp;lt;a href=&amp;quot;#&amp;quot; class=&amp;quot;btn btn-success btn-large&amp;quot;&amp;gt;&amp;amp;lt;i class=&amp;quot;icon-white icon-ok&amp;quot;&amp;gt;&amp;amp;lt;/i&amp;gt; Start Learning Now&amp;amp;lt;/a&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and the href is simply pointing to the course like any normal link, yet the presentation is transformed. There&#039;s probably a million other examples, try coming up with some and sharing them. For experimenting with what&#039;s possible with buttons, try: http://www.plugolabs.com/twitter-bootstrap-button-generator/&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap editor ===&lt;br /&gt;
&lt;br /&gt;
Of course, to do the above currently takes HTML coding. But it would be nice if you could just press buttons on a gui. Moodle allows plugin editors, maybe we could use this: http://jhollingworth.github.com/bootstrap-wysihtml5/&lt;br /&gt;
&lt;br /&gt;
=== Bootstrap for TinyMCE ===&lt;br /&gt;
&lt;br /&gt;
The current editor is actually incredibly flexible. It is themeable (http://www.tinymce.com/wiki.php/Creating_a_theme) and Bootstrap comes with a range of editor icons. It should also be able to pick up and use classes from an editor.css file you feed it (http://www.tinymce.com/wiki.php/Configuration:content_css). It should be possible to create a better Bootstrap editor using this flexibility&lt;br /&gt;
&lt;br /&gt;
=== Checkout the competition ===&lt;br /&gt;
&lt;br /&gt;
There&#039;s all sorts of Bootstrap projects for various blog engines and content management systems. If you already use say Wordpress you could install some of them an report back anything useful, or just nice looking, that they do and you think would transfer across to Moodle. The new version of Joomla ([http://www.joomla.org/3/]) also uses Bootstrap throughout the user and admin interface and can probably provide some inspiration.&lt;br /&gt;
&lt;br /&gt;
=== Create alternate icon sprites ===&lt;br /&gt;
&lt;br /&gt;
All the Bootstrap icons are merged into one single image to make things download faster. If you want to use a different set of icons you&#039;ll need to do the same. Instructions here: http://favbulous.com/post/1006/create-custom-icons-for-twitter-bootstrap-easily&lt;br /&gt;
&lt;br /&gt;
== Links to Discussions in Forums ==&lt;br /&gt;
&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=212222 (re-)bootstrap: work in progress]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=212341 Amelia and Cyborg Bootswatches for Moodle]&lt;br /&gt;
* [http://moodle.org/mod/forum/discuss.php?d=208162 Bootstrap for Moodle project]&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://twitter.github.com/bootstrap/ Twitter Bootstrap Home]&lt;br /&gt;
* [http://jshirley.github.com/bootstrap/javascript.html Bootstrap YUI Plugins]&lt;br /&gt;
* [http://bootswatch.com/ Bootswatch]&lt;br /&gt;
* [http://bootsnipp.com/ Bootsnipp]&lt;br /&gt;
* [http://fortawesome.github.com/Font-Awesome/ Font Awesome] (icon font for Bootstrap)&lt;br /&gt;
* [http://www.alistapart.com/articles/building-twitter-bootstrap/ A List Apart: Building Twitter Bootstrap] (the story behind and philosophy of Bootstrap)&lt;br /&gt;
* [http://www.w3schools.com/bootstrap/bootstrap_popover.asp Bootstrap popover window] - The Popover plugin is similar to tooltips; it is a pop-up box that appears when the user clicks on an element. The difference is that the popover can contain much more content.&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=MySQL&amp;diff=128973</id>
		<title>MySQL</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=MySQL&amp;diff=128973"/>
		<updated>2017-10-16T10:00:10Z</updated>

		<summary type="html">&lt;p&gt;Demsley: /* Command line */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
MySQL is one of the supported databases that underpins a Moodle installation. &lt;br /&gt;
&lt;br /&gt;
== Installing MySQL ==&lt;br /&gt;
&lt;br /&gt;
* If you are running Linux your preference should be to install using your distributions package manager. This ensures you will get any available updates.  However, you can also use apt-get or yum depending on the distribution that you are running.&lt;br /&gt;
* There are installers available for most popular operating systems at http://www.mysql.com/downloads/mysql/.&lt;br /&gt;
* It is possible and reasonably straightforward to build mysql from source but it is not recommended (the pre-built binaries are supposedly better optimised).&lt;br /&gt;
* Make sure you set a password for the &#039;root&#039; user (see http://dev.mysql.com/doc/refman/5.0/en/default-privileges.html).&lt;br /&gt;
* Consider installing and configuring my.cnf (the MySQL settings file) to suit your needs. The default configuration is usually very conservative in respect of memory usage versus performance. Increase the &#039;max_allowed_packet&#039; setting to at least 4 megabytes. Also make sure that your collation and character set is using full UTF-8 support. Please view [[MySQL_full_unicode_support#Steps_to_upgrade]].&lt;br /&gt;
* If you are going to use Master/Slave replication, you must add binlog_format = &#039;ROW&#039; into your my.cnf within [mysqld]. Otherwise, Moodle will not be able to write to the database.&lt;br /&gt;
&lt;br /&gt;
== Creating Moodle database ==&lt;br /&gt;
&lt;br /&gt;
These are the steps to create an empty Moodle database. Substitute your own database name, user name and password as appropriate.&lt;br /&gt;
&lt;br /&gt;
The instructions assume that the web server and MySQL server are on the same machine. In this case the &#039;dbhost&#039; is &#039;localhost&#039;. If they are on different machines substitute the name of the web server for &#039;localhost&#039; in the following instructions and the &#039;dbhost&#039; setting will be the name of the database server. &lt;br /&gt;
Databases have a &amp;quot;Character set&amp;quot; and a &amp;quot;Collation&amp;quot;. For Moodle, we recommend the Character Set be set to &#039;&#039;&#039;utf8mb4&#039;&#039;&#039; and the Collation &#039;&#039;&#039;utf8mb4_unicode_ci&#039;&#039;&#039;. You may get the option to set these values when you create the database. If you are not given a choice, the default options are probably good. An install on an old server may have the wrong settings.&lt;br /&gt;
&lt;br /&gt;
=== Command line === &lt;br /&gt;
&lt;br /&gt;
* To create a database using the &#039;mysql&#039; command line client, first log into MySQL&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
Enter password: &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Enter the password you previously set - or been given - for the MySQL &#039;root&#039; user). After some pre-amble this should take you to the &#039;&#039;mysql&amp;gt;&#039;&#039; prompt.&lt;br /&gt;
* Create a new database (called &#039;moodle&#039; - substitute your own name if required).  We recommend you use &#039;&#039;&#039;utf8mb4_unicode_ci&#039;&#039;&#039; for Collation.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Add a user/password with the minimum needed permissions:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY &#039;yourpassword&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
...which creates a user called &#039;moodleuser&#039; with a password &#039;yourpassword&#039;. Make sure you invent a strong password and resist the temptation to &#039;GRANT ALL&#039;.&lt;br /&gt;
* Exit from mysql:&lt;br /&gt;
&amp;lt;pre&amp;gt;mysql&amp;gt; quit&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== phpMyAdmin ===&lt;br /&gt;
&lt;br /&gt;
[http://www.phpmyadmin.net/ phpMyAdmin] is a web based administration tool for MySQL. If this is available you can use it to create a new database. Make sure that you select &#039;UTF8&#039; as the default character set.&lt;br /&gt;
&lt;br /&gt;
==Which database belongs to which Moodle==&lt;br /&gt;
If you have installed several Moodle installations on the same server, there will be several databases in your MySQL server. The names might be quite poor reflections of the content like  _mdl1 _mdl2 _mdl3 . So how do I see which database goes with which Moodle installation? You can go in with phpMyAdmin and in the various databases check for the table &amp;quot;mdl_course&amp;quot;. There you will easily see the name of that Moodle Installation. In table mdl_config you can see the Moodle version. The main URL for the site is not in the database except where there are absolute links.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[MariaDB]]&lt;br /&gt;
* [[MySQL full unicode support]]&lt;br /&gt;
* [http://www.mysql.com/ The MySQL homepage]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/MySQL Wikipedia article about &#039;&#039;MySQL&#039;&#039;]&lt;br /&gt;
* [http://forums.mysql.com/read.php?24,92131,92131 List of articles on MySQL performance tuning]&lt;br /&gt;
&lt;br /&gt;
[[Category:SQL databases]]&lt;br /&gt;
&lt;br /&gt;
[[ja:MySQL]]&lt;br /&gt;
[[de:MySQL]]&lt;br /&gt;
[[es:MySQL]]&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=External_database_authentication&amp;diff=128955</id>
		<title>External database authentication</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=External_database_authentication&amp;diff=128955"/>
		<updated>2017-10-12T13:09:20Z</updated>

		<summary type="html">&lt;p&gt;Demsley: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Authentication}}&lt;br /&gt;
Location: &#039;&#039; Site administration &amp;gt; Plugins &amp;gt; Authentication &amp;gt; External database&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This method uses an external database table to check whether a given username and password is valid. If the user does not currently exist in Moodle a new account will be created and their information copied from the external database. &lt;br /&gt;
&lt;br /&gt;
== Field mappings ==&lt;br /&gt;
&lt;br /&gt;
This is done by mapping fields at the bottom of the database authentication page. Each data field in the user profile has a text field next to it. Enter the name of the column in the external database that maps to the profile data field.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update Local&#039;&#039;&#039; - Specifies that the external data will be entered into the local field in question&lt;br /&gt;
* On Creation - specifies that this will only happen on the original login when the account is created for the first time.&lt;br /&gt;
* On Every Login - specifies that changes in the external data will be updated on the local Moodle field in question the next time the user logs in again.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Update External&#039;&#039;&#039; - Specifies just the opposite, meaning changes in the local Moodle field in question will update the corresponding field in the external database&lt;br /&gt;
* Never - Specifies this is disabled&lt;br /&gt;
* On Update - Enables this to happen if a change is made locally (additional configuration is probably required)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lock Value&#039;&#039;&#039; - Only determines whether the local user can make a change in the Moodle field and does not affect the two settings above.&lt;br /&gt;
* Unlocked - A user can make changes locally in the Moodle field (assumably even if it contradicts the external database the next login would change it again if Update Local is set&lt;br /&gt;
* Locked - A user can never make changes&lt;br /&gt;
* Unlocked if empty - A user can only make changes if the field is not populated already from the external database (this would seem to indicate a user could only enter something into this field once and could not change it after saving)&lt;br /&gt;
&lt;br /&gt;
== Automatic Synchronisation ==&lt;br /&gt;
&lt;br /&gt;
The above method adds new users only when they log in. If you want user accounts to be created in Moodle independent of actual logins, the db authentication plugin offers a script you can run regularly via &#039;cron&#039;. A typical cron entry will be as follows...&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0 * * * *    /usr/bin/php /path/to/moodle/auth/db/cli/sync_users.php &amp;gt;dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This runs every hour (adjust as required). It reads the entire table updating and creating local Moodle users. &lt;br /&gt;
&lt;br /&gt;
NB when you run this you get the error &amp;quot;[AUTH DB] The sync users cron has been depricated.  Please use the scheduled task instead.&amp;quot;&lt;br /&gt;
Information on scheduled tasks can be found here: [https://docs.moodle.org/35/en/Scheduled_tasks]&lt;br /&gt;
&lt;br /&gt;
If you have custom profile fields on your site, these can be synced with External database authentication (syncing custom profile fields from the external database to Moodle does not currently work, see [https://tracker.moodle.org/browse/MDL-56093]).&lt;br /&gt;
&lt;br /&gt;
==Additional Notes==&lt;br /&gt;
&lt;br /&gt;
It is now possible to  use Salted Crypt passwords for the password format with external database authentication from the Password format setting:&lt;br /&gt;
[[File:dbsaltedcrypt.png|thumb|300px|center]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Plain text password matching is now always case sensitive&lt;br /&gt;
* sha1/md5 hash comparisons are now enforced case insensitive (as underlying they are hexadecimal values)&lt;br /&gt;
&lt;br /&gt;
* Some of the things that apply to [[Upload users]] apply to the External database, but not all of the fields in the [[Upload users]] are available for the External Database authentication. The only available fields are the fields listed in the data mapping section of the admin page for the External Database connection.&lt;br /&gt;
* Note that for MySQL databases moodle will store date custom profile fields in a bigint field (as a unix timestamp). Using a timestamp or datetime field will not work&lt;br /&gt;
==See also==&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=45444 Special and characters con tilde (accute accent) when connected to external database] forum discussion&lt;br /&gt;
*Using Moodle [http://moodle.org/mod/forum/discuss.php?d=75519 HELP!--User Authentication problem] forum discussion&lt;br /&gt;
*[[External database enrolment]]&lt;br /&gt;
*change password in external DB authentication plugin  [https://moodle.org/mod/forum/discuss.php?d=269311#p1162046] &lt;br /&gt;
&lt;br /&gt;
[[de:Externe Datenbank]]&lt;br /&gt;
[[fr:Authentification par base de données externe]]&lt;br /&gt;
[[ja:外部データベース認証]]&lt;br /&gt;
[[es:Autenticación con BasedeDatos externa]]&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/35/en/index.php?title=Apache&amp;diff=124943</id>
		<title>Apache</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/35/en/index.php?title=Apache&amp;diff=124943"/>
		<updated>2016-08-18T08:49:02Z</updated>

		<summary type="html">&lt;p&gt;Demsley: /* Slasharguments */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Installing Moodle}}&lt;br /&gt;
&#039;&#039;&#039;This article refers to the &#039;Apache HTTP server&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The Apache HTTP server is the software that (along with the PHP scripting language) &#039;runs&#039; Moodle. Note that there are alternatives (e.g. IIS on Windows) but the Apache HTTP Server is very popular on all platforms. &lt;br /&gt;
&lt;br /&gt;
== Installing Apache ==&lt;br /&gt;
Installers are available for most platforms from http://httpd.apache.org/download.cgi. The official installation instructions are here: http://httpd.apache.org/docs/2.0/install.html. If you are running Linux then you are recommended to use the packaged version if you can. For example in Debian/Ubuntu it is simply:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo apt-get install apache2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
See the documentation for your particular platform for the instructions. Apache is straightforward to build from source if you have to and the PHP documentation contains an article on building both Apache and PHP together - although you should rarely need to do that.&lt;br /&gt;
&lt;br /&gt;
==Performance==&lt;br /&gt;
&lt;br /&gt;
See [[Performance recommendations]]&lt;br /&gt;
&lt;br /&gt;
==Slasharguments==&lt;br /&gt;
&lt;br /&gt;
The function &#039;&#039;slash arguments&#039;&#039; is required for various features in Moodle to work correctly, as described in [[Using slash arguments]].&lt;br /&gt;
&lt;br /&gt;
To turn it on, add this line to your &#039;&#039;httpd.conf&#039;&#039;, or to a &#039;&#039;.htaccess&#039;&#039; file in your local directory:&lt;br /&gt;
&lt;br /&gt;
 AcceptPathInfo On&lt;br /&gt;
&lt;br /&gt;
Note: When using &amp;quot;.htaccess&amp;quot; in your local Moodle install folder, you should include/enable &amp;quot;AllowOverride Directive&amp;quot; in &amp;quot;httpd.conf&amp;quot;, first.&lt;br /&gt;
Also! please note that using .htaccess file will cause performance hit on your server!&lt;br /&gt;
&lt;br /&gt;
If you are using 1and1 as a hosting company the above does not work.  The solution is to create a php.ini file in the moodle directory with this content:&lt;br /&gt;
&lt;br /&gt;
cgi.fix_pathinfo = 0&lt;br /&gt;
&lt;br /&gt;
It was a know bug when using PHP as CGI.&lt;br /&gt;
&lt;br /&gt;
==SSL==&lt;br /&gt;
&lt;br /&gt;
Moodle has an option to enable HTTPS for the whole site or for just the login pages; either option requires that your web server is configured for SSL.&lt;br /&gt;
&lt;br /&gt;
* Whole site HTTPS is enabled by changing http://&amp;lt;url&amp;gt; to https:// &amp;lt;url&amp;gt; in your config.php &#039;wwwroot&#039; parameter.&lt;br /&gt;
* Login only HTTPS is enabled by setting the &#039;loginhttps&#039; parameter, where the wwwroot schema should remain as http://&lt;br /&gt;
&lt;br /&gt;
Login only https is available in the admin interface via Administration&amp;gt;Security&amp;gt;HTTP Security and checking the button. (Note the warning and see ssl section below)&lt;br /&gt;
&lt;br /&gt;
Prior to Moodle 2.3 It was not advised to run the whole site over HTTPS due to legacy restrictions with client-side caching. This is no longer the case assuming client browsers support the &#039;Cache-Control: public&#039; method, which all supported browsers for this version of Moodle do.&lt;br /&gt;
&lt;br /&gt;
To use HTTPS you will need to obtain an SSL certificate, you have two options:&lt;br /&gt;
&lt;br /&gt;
* Generate a self-signed certificate. This is fine on (say) an Intranet but unsuitable for the public internet, but users will we warned the certificated is untrusted when used publicly.&lt;br /&gt;
* Purchase a certificate from a vendor. There is a surprising range of prices and value-added services available. Some hosting companies even provide free certificates. &lt;br /&gt;
&lt;br /&gt;
Debian provides instructions for installing a self-signed certificate [https://wiki.debian.org/Self-Signed_Certificate on their wiki] and includes general information on configuring Apache for SSL.&lt;br /&gt;
If you purchase a vendor certificate you will normally receive instructions for installing it.&lt;br /&gt;
&lt;br /&gt;
A basic Apache SSL configuration can be summarised as:&lt;br /&gt;
&lt;br /&gt;
 Listen 443&lt;br /&gt;
 NameVirtualHost *:443&lt;br /&gt;
 &amp;lt;VirtualHost *:443&amp;gt;&lt;br /&gt;
     SSLEngine On&lt;br /&gt;
     SSLCertificateFile /path/to/your/certificate.crt&lt;br /&gt;
     SSLCertificateKeyFile /path/to/your/certificate.key&lt;br /&gt;
     ...&lt;br /&gt;
 &amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [http://httpd.apache.org/ The Apache HTTP Server Project homepage]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Apache_HTTP_Server Wikipedia article on the Apache HTTP Server]&lt;br /&gt;
* [http://httpd.apache.org/docs/2.0/misc/perf-tuning.html Apache Performance Tuning article at the official homepage]&lt;br /&gt;
* [https://els.earlham.edu/cayaraa/weblog/1468.html Making Moodle work with SSL]&lt;br /&gt;
* [http://www.krufix.de/ Using the same Moodle twice in local network and Internet via SSL-Proxy] (in German)&lt;br /&gt;
&lt;br /&gt;
[[pl:Apache]]&lt;br /&gt;
[[ja:Apache]]&lt;br /&gt;
[[de:Apache]]&lt;br /&gt;
[[es:Apache]]&lt;/div&gt;</summary>
		<author><name>Demsley</name></author>
	</entry>
</feed>