<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>https://docs.moodle.org/2x/pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stephenla</id>
	<title>MoodleDocs - Wkład użytkownika [pl]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.moodle.org/2x/pl/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Stephenla"/>
	<link rel="alternate" type="text/html" href="https://docs.moodle.org/2x/pl/Specjalna:Wk%C5%82ad/Stephenla"/>
	<updated>2026-04-18T08:33:42Z</updated>
	<subtitle>Wkład użytkownika</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://docs.moodle.org/2x/pl/index.php?title=Metacourse&amp;diff=99155</id>
		<title>Metacourse</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/2x/pl/index.php?title=Metacourse&amp;diff=99155"/>
		<updated>2012-07-15T02:14:34Z</updated>

		<summary type="html">&lt;p&gt;Stephenla: Corrected spelling of &amp;quot;techer&amp;quot; to &amp;quot;teacher&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==What is a metacourse?==&lt;br /&gt;
&lt;br /&gt;
A &#039;&#039;&#039;meta course&#039;&#039;&#039; is a course that is &amp;quot;with&amp;quot; or linked to one or more courses for its student [[Enrolment|enrolment]] (enrollment to some). Adding or subtracting participants in a metacourse can only be done from the courses it is linked to. The linked courses push enrolment information to the metacourse(s) every time [[Cron|cron]] is run. There are [[Metacourse examples of use|many uses for a metacourse]].&lt;br /&gt;
&lt;br /&gt;
The course meta link option must be turned on by the site adminstrator.&lt;br /&gt;
&#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Enrolments &amp;gt; Manage enrol plugins &amp;gt; Course meta link&#039;&#039;.  The standard package default is to hide this feature.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Concept note:&#039;&#039; When using a meta course, Moodle calls the courses it is linked to &#039;&#039;&#039;child&#039;&#039;&#039; courses. Some people like to think of them as parent courses.  In any case a meta course has a kinship with one or more non-meta courses when it comes to enrolment.&lt;br /&gt;
&lt;br /&gt;
In the simplest form, a linked course only needs to contain just the Students who are to be enrolled in a meta course. There do not need to be resources,  assignments,  or wikis, etc., just the Students in the linked course.  In the simplest form, a meta course &#039;&#039;&#039;cannot&#039;&#039;&#039; enroll Students, but will have resources and activities for students in the linked courses. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
![[Image:simplemetacourse0.png|thumb|left|200px|Created - a child course and a meta course.]] &lt;br /&gt;
![[Image:simplemetacourse1.png|thumb|left|200px|Associating one child course and one meta course.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Examples: one &amp;quot;child&amp;quot; course (a course linked to a meta course) can be associated with many meta courses. Or one meta course can have many child courses associated with it. Both the child courses (non-meta courses) and the meta courses are independent and can be recycled many times, that is, each can be associated with many of the other. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
![[Image:simplemetacourse2.png|thumb|left|200px|2 child courses and a meta course.]] &lt;br /&gt;
![[Image:simplemetacourse3.png|thumb|left|200px|1 child course and 2 meta courses.]]&lt;br /&gt;
![[Image:simplemetacourse4a.png|thumb|left|200px|3 child courses and 2 meta courses.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Creating a meta course==&lt;br /&gt;
For information on how to create a metacourse, see [https://docs.moodle.org/20/en/admin/setting/enrolsettingsmeta Course meta link plugin] and see this screencast [http://www.youtube.com/watch?v=hA5QcTb13no&amp;amp;feature=player_embedded| How to make a metacourse in Moodle 2.0]&lt;br /&gt;
&lt;br /&gt;
==Tips and Tricks==&lt;br /&gt;
 &lt;br /&gt;
===For Administrators===&lt;br /&gt;
You must change permissions and capabilities for Teachers to allow them to link Meta courses. To do this go to: &lt;br /&gt;
 Site Administration &amp;gt; Users &amp;gt; Permissions &amp;gt; Define Roles &lt;br /&gt;
Select the Teacher Role and click on the Edit button. Scroll down to Course Meta Link as shown in the images below:&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:metacoursepermissionset00.png|Permission block for allowing Teachers to link Meta courses.]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;| The default setting is &amp;quot;Not Set&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[Image:metacoursepermissionset01.png|Permission changes for editing.]] &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;| When the Edit button is clicked, the panel changes to &amp;quot;Allow&amp;quot; and a checkbox&lt;br /&gt;
|- &lt;br /&gt;
|[[Image:metacoursepermissionset02.png|Setting permission to allow Teachers to link Meta courses.]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot;| Change to &amp;quot;Allow&amp;quot; by a click on the checkbox.  &lt;br /&gt;
|}&lt;br /&gt;
Scroll to the bottom of the page to &#039;&#039;&#039;Save&#039;&#039;&#039; your changes.&lt;br /&gt;
&lt;br /&gt;
=== Example Procedure for Experimenting with Metacourses ===&lt;br /&gt;
In this example, there are 2 sections of students in the &amp;quot;Parent&amp;quot; course: &amp;quot;Section 001&amp;quot; and &amp;quot;Section 002&amp;quot;.  Students are enrolled in the section courses.&lt;br /&gt;
&lt;br /&gt;
# Turn Metacourses on by going to Site administration -&amp;gt; Plugins -&amp;gt; Enrolments -&amp;gt; Manage enrol plugins and enabled Course meta link.&lt;br /&gt;
# Created the following courses:&lt;br /&gt;
## Parent&lt;br /&gt;
## Section 001&lt;br /&gt;
## Section 002&lt;br /&gt;
# Enroll users into Section 001 and Section 002. Leave Parent enrollment empty.&lt;br /&gt;
# Go to Parent course. Go to Settings -&amp;gt; Course admin -&amp;gt; Users -&amp;gt; Enrolment methods. On that screen, add method &amp;quot;Course Meta link&amp;quot; and choose Section 001. Repeat steps for Section 002. If you look at participants for the parent course, you will see the users from Section 001 and 002.&lt;br /&gt;
# If you log-in as a student from section 001, you will see section 001 and parent in your course listings. If you want only students to see the parent course, then go to:&lt;br /&gt;
## Site Administration -&amp;gt; Courses -&amp;gt; Add/edit courses. Choose the category for the section 001 course. Find the course section 001. Click the eye icon to hide the course.&lt;br /&gt;
## &#039;&#039;&#039;OR&#039;&#039;&#039; search for the course from the home page logged in as site admin. Click the eye icon to hide the appropriate courses.&lt;br /&gt;
# Repeat above for section 002. If you log in as a student, you can&#039;t see/search for section 001. However, an admin can still see/search for these now hidden child courses. The will be grayed out to indicate that they are hidden.&lt;br /&gt;
&lt;br /&gt;
===Draw a map of your courses===&lt;br /&gt;
Get an oversized piece of paper (A3 or 11&amp;quot;x17&#039;), draw boxes for courses and give them names. Add lines to connect the boxes to show relationships. Label the meta courses (alternatively, color the meta course boxes). Add arrows to the lines so you will know where enrolments come from.   This is a great tip from the Business Uses forum.&lt;br /&gt;
&lt;br /&gt;
===Groups do not transfer===&lt;br /&gt;
Meta course enrolments do not transfer groups from the and enrolment does not happen immediately, but occurs next time the [[Cron|cronjob]] runs.&lt;br /&gt;
&lt;br /&gt;
===Transfer of roles===&lt;br /&gt;
By default all role assignments from child courses are synchronised to meta courses. However, the &amp;quot;Roles that are not synchronised to metacourses&amp;quot; setting in &#039;&#039;Site administration &amp;gt; Plugins &amp;gt; Enrolments &amp;gt; Manage enrol plugins &amp;gt; Course meta link &amp;gt; Settings&#039;&#039; enables administrators to exclude particular roles.&lt;br /&gt;
&lt;br /&gt;
===Restoring a meta course=== &lt;br /&gt;
When restoring a meta course with the option &amp;quot;deleting the course first&amp;quot;, you will notice that the enrolments that were used by the course previously are now gone.  In order to re-link the course, navigate to the new course and select the link &amp;quot;Child Courses&amp;quot; from the &amp;quot;Administration&amp;quot; block on the main course page and re-link the course to its parent.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[https://docs.moodle.org/24/en/admin/setting/enrolsettingsmeta Enroll Settings for meta courses in 2.x]&lt;br /&gt;
*[[Metacourse examples of use]] -  Why use a metacourse? here are many examples&lt;br /&gt;
*[[Related courses block]] - contributed code that shows meta or child course relationships&lt;br /&gt;
&lt;br /&gt;
Using Moodle forum discussions:&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=48901 Metacourses?]  Forum discussion&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=39438 Best reference for describing a metacourse] Forum discussion&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=89741 Assign student in course] Forum discussion&lt;br /&gt;
*[http://moodle.org/mod/forum/discuss.php?d=156900#p686857 Confusion over meta-courses] Forum discussion&lt;br /&gt;
&lt;br /&gt;
[[cs:Metakurzy]]&lt;br /&gt;
[[de:Metakurs]]&lt;br /&gt;
[[es:Metacourses]]&lt;br /&gt;
[[fr:Méta-cours]]&lt;br /&gt;
[[ja:メタコース]]&lt;br /&gt;
[[ru:Метакурсы]]&lt;/div&gt;</summary>
		<author><name>Stephenla</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/2x/pl/index.php?title=Mahara_portfolio&amp;diff=94523</id>
		<title>Mahara portfolio</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/2x/pl/index.php?title=Mahara_portfolio&amp;diff=94523"/>
		<updated>2011-12-12T16:11:57Z</updated>

		<summary type="html">&lt;p&gt;Stephenla: Just added a conjunction for clarity.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Portfolios}}&lt;br /&gt;
According to the [http://www.mahara.org/ Mahara web site] &amp;quot;Mahara is an open source e-portfolio, weblog, résumé builder and social networking system, connecting users and creating online learner communities. Mahara is designed to provide users with the tools to demonstrate their life-long learning, skills and development over time to selected audiences.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Mahara has close links with Moodle. There is a built in single sign on facility called [[Mahoodle]].&lt;br /&gt;
 &lt;br /&gt;
Mahara can serve as a Portfolio into which users can &amp;quot;push&amp;quot; files they want to keep  and it is hoped soon that it will also serve as a Repository from which users can &amp;quot;pull&amp;quot; files they need for their course.  Both options need to be enabled by the administrator before they are available for teachers and students&lt;br /&gt;
&lt;br /&gt;
==Enabling the Mahara portfolio==&lt;br /&gt;
* In order to enable and export items to Mahara you first need an installation of Mahara linked to your Moodle. See here [[Mahoodle]] for instructions.&lt;br /&gt;
* Go to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Advanced features&#039;&#039; and ensure &amp;quot;Enable portfolios&amp;quot; is checked/ticked&lt;br /&gt;
* Go to &#039;&#039;Settings &amp;gt; Site administration &amp;gt; Plugins &amp;gt; Portfolios &amp;gt; Manage Portfolios&#039;&#039;&lt;br /&gt;
* Select from the drop down next to Mahara ePortfolio &amp;quot;Enabled and visible&amp;quot;&lt;br /&gt;
* If desired,click on &amp;quot;Settings&amp;quot; and give Mahara a customised name (not essential)&lt;br /&gt;
[[File:Maharaportfolio.png]]&lt;br /&gt;
&lt;br /&gt;
==Sending or &amp;quot;pushing&amp;quot; your files to Mahara==&lt;br /&gt;
*You can export items such as assignments, chat and forum posts to enabled portfolios. Here is an example with a forum post:&lt;br /&gt;
*At the bottom of your completed forum post are the words &amp;quot;export to portfolio&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
[[File:Brigitteforum.png]]&lt;br /&gt;
&lt;br /&gt;
*Click the words &amp;quot;export to portfolio&amp;quot; and then select from the dropdown Mahara. (If it is the only portfolio enabled, it wil be the only choice!)&lt;br /&gt;
&lt;br /&gt;
[[File:Maharaexport.png]]&lt;br /&gt;
&lt;br /&gt;
* Click &amp;quot;Next&amp;quot;&lt;br /&gt;
* Choose the export type you want. Mahara offers HTML or LEAP 2A format. Then click &amp;quot;Next&amp;quot; again.&lt;br /&gt;
* On the next screen, click &amp;quot;continue &amp;quot; to confirm your export.&lt;br /&gt;
&lt;br /&gt;
[[File:Maharaformat.png]]&lt;br /&gt;
&lt;br /&gt;
* The &amp;quot;export complete&amp;quot; message will appear. Clicking &amp;quot;continue&amp;quot; will take you to Mahara.&lt;br /&gt;
&lt;br /&gt;
[[File:Maharaexportcomplete2.png]]&lt;br /&gt;
&lt;br /&gt;
== Mahara as a repository ==&lt;br /&gt;
* Progress on the Mahara repository plug in can be followed in the tracker: MDL-16909&lt;br /&gt;
&lt;br /&gt;
[[Category:Site administration]]&lt;br /&gt;
&lt;br /&gt;
[[eu:Mahara]]&lt;/div&gt;</summary>
		<author><name>Stephenla</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/2x/pl/index.php?title=Building_Lesson&amp;diff=94080</id>
		<title>Building Lesson</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/2x/pl/index.php?title=Building_Lesson&amp;diff=94080"/>
		<updated>2011-11-26T02:12:40Z</updated>

		<summary type="html">&lt;p&gt;Stephenla: minor grammar fix (changed &amp;quot;effects&amp;quot; to &amp;quot;affects&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Improve}}&lt;br /&gt;
&lt;br /&gt;
{{Lesson}}&lt;br /&gt;
In planning out a lesson module, it is important to remember each lesson page can be about the student making a choice that is scored or not scored. The choice a student makes affects the way the lesson appears to that student.  The teacher will determine what happens with each choice  that is offered to the student.   &lt;br /&gt;
&lt;br /&gt;
The lesson can be a series of pages presented in a linear fashion, like a slide show, or presented in a non-linear, branching manner, or a combination of the two.  For example, a particular question&#039;s answer might send the student back in the lesson for a review of content pages, while another answer will advance the student to a new page. Sometimes the student will only be given the choice to &amp;quot;continue&amp;quot;, or may see a series of labeled buttons below the content that will take them to different pages.&lt;br /&gt;
&lt;br /&gt;
== Presentation Lesson ==&lt;br /&gt;
The Lesson activity uses the standard Moodle [[HTML editor]] tool to make any [[Page content|page&#039;s content]] interesting. This tool can assist the teacher with pictures, links, fonts, tables and other graphics to engage the student&#039;s attention.  Lesson settings also can keep students from straying from the overall teacher&#039;s plan with various settings including password protection, time limits and dependency on a previous lesson&#039;s activity. &lt;br /&gt;
&lt;br /&gt;
Navigation pages are only seen by the teacher but will affect the order of the pages the student views. For example, a [[Clusters|cluster]] is a series of pages bracketed by a navigational pages called a &amp;quot;start cluster&amp;quot; and a &amp;quot;end of cluster&amp;quot; page.   Navigation pages are an advanced feature and are best added after the teacher has laid out their lesson with the pages that will be seen by the student.  &lt;br /&gt;
&lt;br /&gt;
===Pages, questions, answers and responses===&lt;br /&gt;
A [[Lesson_Pages|lesson is made up of pages]]. For the teacher there are two basic types of Lesson pages: choice and navigation. The student sees choice pages that are called [[Adding a content page|Content]] and [[Adding a question page|Question pages]]. Content pages can provide links to one or more other pages in the lesson. Each question page can do the same but also can give an individual response and an individual score for each choice (the student&#039;s answer).  The teacher decides upon the page type and how to best use its flexibility to achieve the educational goals of the specific Lesson or course.&lt;br /&gt;
&lt;br /&gt;
:For example, the default lesson question is a multiple choice page. The teacher might place content on the page and ask a question about it.  The teacher can provide 1 to 20 answers. In a simple use of the multiple choice question, the teacher might decided to send the student back to the question again after a student selects a wrong answer, but with a correct answer move the student to the next page.  On some answers, the teacher may decide to provide some explanation before sending the student along.  Unlike a piece of paper, the answers are going to re arrange themselves every time the student enters the question page.   &lt;br /&gt;
&lt;br /&gt;
:Of course the teacher can decide a more complex approach in constructing Lesson or a page. Using our multiple choice example,the teacher may give each answer a different score.  And/or depending upon the answer, send the student to a different page for an appropriate review.   The teacher may decide that a specific Lesson is a series of pages filled with information and only one choice (the continue button) that always sends the student to the next page, perhaps saving the question pages for the end. &lt;br /&gt;
&lt;br /&gt;
===Edit order and navigation order===&lt;br /&gt;
&lt;br /&gt;
The teacher sees the pages in what is called the &#039;&#039;[[Edit page order (Lesson)|edit order]]&#039;&#039; when they edit a lesson. Teachers can move pages in the edit order. &lt;br /&gt;
&lt;br /&gt;
The students see the lesson pages in the &#039;&#039;[[Navigation Page Order|navigation order]]&#039;&#039;, which can depend upon Jumps. The teacher can see this order using the [[Viewing_a_lesson#When_the_lesson_already_has_content:|Preview tab]] or switching roles in the course to that of a student. &lt;br /&gt;
&lt;br /&gt;
===Jumps===&lt;br /&gt;
&lt;br /&gt;
Jumps are the primary tool the teacher will use to determine a student&#039;s navigation. For example, each different answer to a question, might send the student to a different page. &lt;br /&gt;
Thus jumps allow the teacher to design a lesson for the students with &amp;quot;branches&amp;quot;, loops and a non-linear structure.&lt;br /&gt;
&lt;br /&gt;
There are two types of jumps, &#039;&#039;relative&#039;&#039; and &#039;&#039;absolute&#039;&#039;. The default jumps used by most pages are the &#039;&#039;relative&#039;&#039; jumps &amp;quot;Next page&amp;quot;, &amp;quot;This page&amp;quot; and &amp;quot;Previous page&amp;quot;.  For example, the destination of the Next Page jump is always the next page in the edit order of the lesson. An &#039;&#039;absolute&#039;&#039; jump sends the student to a specific page, usually identified by the page title.  A pull down list will show all available possible jumps. &lt;br /&gt;
&lt;br /&gt;
===Answers===&lt;br /&gt;
&lt;br /&gt;
Typically each question within a lesson will have one correct [[Answers|answer]] and several wrong answers. For example, in a multiple choice question, each answer can receive an individual response from the teacher before sending the student (with a jump setting) to view the question again or to another page.&lt;br /&gt;
&lt;br /&gt;
As will be seen later, there are two ways to score an answer. In one method, the direction students are sent in the edit order of pages determines if the answer was correct or wrong for scoring purposes. Usually a correct answer advances the student in the edit order and wrong answers send the students back to the question page or back in the edit order. The other method uses custom scoring and an answer is given a score to calculate the grade. &lt;br /&gt;
&lt;br /&gt;
When a question page is added, the jumps with each answer have a default setting. The jump for the first answer is the &amp;quot;Next page&amp;quot; and it is a good practice to keep this as a right answer. The jumps for the other answers are set to &amp;quot;This page&amp;quot;. These settings can be changed by editing the question. Remember the order of the answers is going to be random each time a student enters the question page.&lt;br /&gt;
&lt;br /&gt;
When Custom Scoring is turned on in the Lesson settings, then each answer has a point value associated with it. Usually a correct answer receives a score of 1 and a wrong answer receive a score 0. It is possible to give a negative score or partial credit (say 3 for the best answer and 1 for a marginal answer) in some question types.&lt;br /&gt;
&lt;br /&gt;
===Grading===&lt;br /&gt;
A students answers to questions can be graded. The [[Lesson score|lesson scores]] and grades can be viewed on the [[Lesson reports|&amp;quot;Reports&amp;quot; tab]] in edit mode and become part of the [[Grades|gradebook]]. A relatively simple formula is used to [[Lesson score|score]] the lesson. It is the number of correct answers divided by the number of question pages seen. This number score can be use by the [[Scales|grade scale]].&lt;br /&gt;
&lt;br /&gt;
When [[Adding/editing_a_lesson#Custom_Scoring|Custom Scoring]] is selected in the Lesson settings, then the grading method changes.  With this option, the grade is based on earned points by the user, which is divided by the total points possible. When this option is turned on, the teacher can assign a score for each answer, this can be a negative or 0 (zero) or a positive number.  Usually the score is 0 for a wrong answer and 1 for a correct answer.  The point values associated with each of the user&#039;s answers are added up. That is then divided by the total of the maximum points that the user could have earned for each page answered. This number is then scaled by the grade parameter of the lesson.&lt;br /&gt;
&lt;br /&gt;
The overall score is computed when the Lesson is completed by the student.   A completed lesson usually means the student has viewed every page, or answered every question or is directed by a jump to the &amp;quot;[[Lesson_Pages#End_of_Lesson_Page|end of lesson]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;TIP:&#039;&#039; Grading can be continued when student leaves the lesson for some reason before completing it. The student does not have to go through all of the lesson in one &amp;quot;[[Adding/editing_a_lesson#User_can_re-take|sitting]]&amp;quot;. For example, if a student goes through some pages and then breaks off, the next time they view the lesson they are asked whether they want to start at the beginning of the lesson or at the point where they left off. The latter point is actually the page they reached with their last correct answer. The previous &amp;quot;attempts&amp;quot; are recorded and the grade for &amp;quot;broken&amp;quot; sessions will include pages seen and questions answered in the previous viewings.&lt;br /&gt;
&lt;br /&gt;
*The main focus of a lesson should be the transfer of knowledge in a reasonably interesting way. Giving a grade may well turn the lesson into a kind of quiz where giving the correct answer is the sole goal instead of exploring different ways of thinking about an idea. On the other hand, students like to get a perfect &amp;quot;score&amp;quot; and giving grades may well be the carrot needed to get the student to repeat the lesson until they get the magic 100%.&lt;br /&gt;
&lt;br /&gt;
*Some instructors use Lessons as Formative Assignments where the grades, although some measure of activity, are not generally counted in the final mark for the course. If lessons are used in a formal way then it is probably best to use their grades in thresholds.  &lt;br /&gt;
*Many instructors use lessons to get across chunks of knowledge. The grading options enable instructors to utilize the [http://www.wcln.org/Flow_Documentation.htm#The_Practice_Principle &amp;quot;Practice Principle&amp;quot;] of eLearning, in which immediate practice in answering questions about content leads to improved retention and understanding of the material. &lt;br /&gt;
&lt;br /&gt;
With that in mind, a lesson has a Retake option.&lt;br /&gt;
&lt;br /&gt;
===Teacher review of students answers===&lt;br /&gt;
The teacher has several options to review students answers in a lesson.  The [[Lesson reports|report tab]] provides both an overview of each student&#039;s attempt of a lesson, and a detailed summary of the class&#039;s answers to each question. It is also possible to see the same report via [[Grades|gradebook]] in the course administration block.&lt;br /&gt;
&lt;br /&gt;
===Student Review===&lt;br /&gt;
&lt;br /&gt;
Enabling student review will override custom feedback for questions. [http://moodle.org/mod/forum/discuss.php?d=70798 Forum discussion]&lt;br /&gt;
&lt;br /&gt;
===Re-takes===  &lt;br /&gt;
Allowing a student to re take a lesson is the default lesson setting under [[Adding/editing_a_lesson#User_can_re-take|grade options]]. Each attempt at a lesson is normally recorded and the student can see a record of their performance by viewing their [[Student_tutorials#Settings|activity page]]. The teacher when creating a lesson has the option of showing the &amp;quot;final&amp;quot; grade as either the mean of all the attempts or the best (maximum score) of their attempts. This &amp;quot;final&amp;quot; grade is the one shown on the [[Grades]] page and the &amp;quot;Lessons&amp;quot; page. By default the mean of the grades is used.&lt;br /&gt;
&lt;br /&gt;
In some learning environments, the teacher may not wish the students to have more than one attempt at a lesson. A particular lesson may be being used in an exam-like situation. Here the Lesson parameter for re-take is set to &amp;quot;No. Once completed the lesson will then not allow students to re-take the lesson. If, however, the lesson is not completed in one &amp;quot;sitting&amp;quot;, students are still allowed to restart the lesson at the beginning or the page after the last question they answered.&lt;br /&gt;
&lt;br /&gt;
*As mentioned earlier a lesson can be used as a formative assignment, imparting some knowledge while at the same time making some demands on the students. It seems natural that students should be allowed to re-visit lessons and because they are given a grade many will want to achieve a good grade. This promotes re-takes.&lt;br /&gt;
&lt;br /&gt;
*Remember that even if a student has achieved the maximum possible grade in a lesson, allowing them to revisit the lesson to explore the various &amp;quot;wrong&amp;quot; paths in the lesson, may provide the student, you and your class additional insights.&lt;br /&gt;
&lt;br /&gt;
===Building lessons===&lt;br /&gt;
&lt;br /&gt;
When creating a lesson the teacher must put some content using the [[HTML editor]] tool into the first page. Once the first page is in place the teacher has the option of adding more pages in front or after that page.  Once a question or content page has been created, the pages can be edited by the teacher at any time.  When the lesson contains more than one page the teacher also has the option of moving pages, that is, changing the order of the pages. &lt;br /&gt;
&lt;br /&gt;
*A lesson will normally cover a limited amount of material. A topic or week might contain many lessons. Lessons are shown to the student in the home page for the course within &amp;quot;weeks&amp;quot; or &amp;quot;topics&amp;quot;, and/or in the activity block when it is part of the course home page. &lt;br /&gt;
&lt;br /&gt;
*As with any lesson, it is a good idea to have a plan before starting the presentation.   Simple lessons that basically go from the start to the end in a straight line path, one page after the other, can be created from an outline. More complicated lessons require more planning.  The good news is that a teacher can create a simple lesson and then based upon feedback and performance,  can add refinements or complexity.&lt;br /&gt;
&lt;br /&gt;
[[Adding_a_question_page]]- more help on adding question pages &amp;lt;br&amp;gt;&lt;br /&gt;
[[Adding_a_content_page]] - more help on adding Content (Branch Table) pages&lt;br /&gt;
&lt;br /&gt;
== Types of questions available within a lesson ==&lt;br /&gt;
Questions types in the Lesson module are similar to those in the Quiz module.  However, the two modules are very different and questions may act different for both the student and teacher.&lt;br /&gt;
&lt;br /&gt;
See [[Lesson questions]] for more information about using specific question types with this module.  Remember that the powerful HTML tool bar will allow the teacher to add pictures to content and to question answers.&lt;br /&gt;
&lt;br /&gt;
===Multiple choice ===&lt;br /&gt;
In a multiple choice question, the student is given a question and a list of answers.  In a Lesson, the answer list will be shuffled every time the question is view by a student. In a multiple choice question, the student selects one answer.  &lt;br /&gt;
&lt;br /&gt;
====With multianswer box checked====&lt;br /&gt;
A check in the multianswer box allows the teacher to determine that more than 1 answer is required for the student to receive credit for the question. There is no partial credit and the student must select just correct answers from a list. &lt;br /&gt;
&lt;br /&gt;
See also [[Multiple_Choice_question_type]] which is a quiz question and works differently.&lt;br /&gt;
&lt;br /&gt;
===Short answer===&lt;br /&gt;
In a short answer question the student is expected to answer with one word or a few words. [[Short-Answer question type]] gives more information about this kind of question &lt;br /&gt;
&lt;br /&gt;
There are two different &#039;&#039;student answer&#039;&#039; analysis systems available for the Short Answer type of question in the Lesson Module: the &#039;&#039;&#039;simple system &#039;&#039;&#039; and the  new  &#039;&#039;&#039;regular expressions system&#039;&#039;&#039;.  The simple system is the default and is the same used by the Quiz Module.  There is a &amp;quot;Use Regular Expressions&amp;quot; option box on the Edit Question Page screen in the Lesson Module.  &lt;br /&gt;
&lt;br /&gt;
We suggest first reading about the  [[Short-Answer question type|Short answer question page]] with the examples of the &amp;quot;simple analysis&amp;quot;, and then read the [[Short answer analysis]] page that gives more information about &amp;quot;Regular Expression analysis&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===True / false===&lt;br /&gt;
&lt;br /&gt;
The True/False question type is a special case of the multiple choice question. The student is prompted to choose which is the correct option. See [[Lesson_module#Multiple_choice|multiple choice question]] above for details.&lt;br /&gt;
&lt;br /&gt;
===Matching questions===&lt;br /&gt;
[[Image:Question Matching pulldown 1.JPG||thumb|80px|right|Matching]]&lt;br /&gt;
Matching questions consist of a list of names or statements, or pictures which must be correctly matched against another list. For example &amp;quot;Match the letter with its position in the alphabet.   One list would have A, B, C, D, Z and the other in a pull down menu next to each item would have 2, 4, 3, 1, 26 .   &lt;br /&gt;
&lt;br /&gt;
See [[Matching question type]] for more information.&lt;br /&gt;
&lt;br /&gt;
===Numerical Question===&lt;br /&gt;
This type of question requires a number as the answer. In it&#039;s simplest form it requires just one answer to be specified. For example &amp;quot;What is 2 plus 2?&amp;quot;, where 4 is the correct answer. A numerical question will also accept a number in a range as being correct.  The answers are similar to short answer, where the order that the teacher lists the answers is important.&lt;br /&gt;
&lt;br /&gt;
See [[Numerical question type]] for more information about a Quiz question. &lt;br /&gt;
&lt;br /&gt;
The lesson numerical question differs from the numerical quiz question and the numerical embedded question (Cloze)when it evaluates answers. For example there is no wild card.&lt;br /&gt;
&lt;br /&gt;
===Essay Questions===&lt;br /&gt;
Short essay questions were introduced in Moodle version 1.5. These are meant for short, paragraph or two type of essays one often finds on exams. Thus we did not use the html editor, preferring a simple text field. For longer essays, the assignment module is a better choice.&lt;br /&gt;
&lt;br /&gt;
The student simply enters their essay in the box provided. The teacher sees ungraded essay questions when opening the lesson.  After grading, the teacher can email their responses to the student.&lt;br /&gt;
&lt;br /&gt;
[[Essay question type]] page has more information.&lt;br /&gt;
&lt;br /&gt;
== Branches and content pages ==&lt;br /&gt;
If your lesson delivers quite a lot of information, you can divide it into sections that are called &amp;quot;branches&amp;quot;. One way of moving between these branches is by adding a content page. &lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; You can also move between branches with a question page.  For example: a poor answer choice might send the student to a branch for some additional information.&lt;br /&gt;
&lt;br /&gt;
Content pages are pages which have a set of [[Jumps|jumps/links]] to other pages in the lesson.  The student sees labeled buttons under the page content to provide their choices. Content pages are similar to many question page types.   They have a title, [[Page content|content]] section, student choices (called descriptions) and [[Jumps|jumps]] associated with each choice. Content pages are grade neutral, so there are no scores.  Content pages also can be put to special uses by a teacher.  To help understand these concepts we are going to call one use a &amp;quot;ordered branch&amp;quot; and the other a &amp;quot;classic branch&amp;quot;.  &lt;br /&gt;
&lt;br /&gt;
===Ordered branches===&lt;br /&gt;
A table of contents is an example of a use of ordered branches. Typically a lesson may start with a Content page with the title &amp;quot;Table of Contents&amp;quot;.  The student selects a Description button and jumps to a page in the edit order that starts a series of pages about that subject.  At the end of an ordered branch, the student is given several options by a question or a content page, such as: &amp;quot;Go to the next page&amp;quot;, &amp;quot;Start of the series again&amp;quot;,  &amp;quot;End the lesson&amp;quot;, or &amp;quot;Return to the Table of Contents. [[Image:Lesson visual order graphic1.png|thumb|100px|center|TOC that leads to 3 ordered branches]]&lt;br /&gt;
&lt;br /&gt;
===Classic branches===&lt;br /&gt;
The classic branch is an advanced navigational feature.  It introduces random movement within a series of pages that the teacher determines.  A classic branch needs a Branch Table at the start of the series and a special navigation page called &amp;quot;End of Branch&amp;quot; at the end of the series.  &lt;br /&gt;
&lt;br /&gt;
The default jump in an &amp;quot;End of Branch&amp;quot; page is the preceding content page as an absolute jump.  After a classic branch has been created, the teacher will see 3 new relative jump options: &amp;quot;Unseen question within a branch&amp;quot;, &amp;quot;Random question within a branch&amp;quot; and &amp;quot;Random branch page&amp;quot;.  The classic branch with its &amp;quot;end of branch&amp;quot; navigation page is similar to a [[Clusters|cluster]].&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;Tip:&#039;&#039; As with any advanced navigational feature, it is best to add it after the basic question and content pages have been created.  Checking the Lesson&#039;s behavior in a student role is another best practice with highly adaptive lesson formats.&lt;br /&gt;
&lt;br /&gt;
===Tips when using branches===&lt;br /&gt;
*The number of links shown when setting up or editing a content or a question page is set by the [[Lesson settings]]. This parameter can be changed on the fly by clicking on the Settings block &amp;gt;Lesson administration &amp;gt;edit settings link.&lt;br /&gt;
*When a lesson includes one or more ordered or classic branches, teachers need to decide if their students must visit every branch.  By adding a question or two in each branch, the teacher can set the &amp;quot;Edit settings&amp;quot; Minimum number of Questions]]&amp;quot; parameter to some reasonable number of questions that must be answered.  Without this parameter a student might visit a single branch in the lesson, answer all its questions correctly and leave the lesson with the maximum grade based upon their attempts, not the total number of available questions.&lt;br /&gt;
&lt;br /&gt;
*Remember that using branches may encourage a student to revisit a question page more than once.  This can impact scoring.  Since scores can not be displayed for a teacher, it is a good practice for a new Moodling Teacher to log in as a student to check how the score is kept in their Lesson.&lt;br /&gt;
&lt;br /&gt;
*[[Lesson_Pages#Branch_.28Branch_Table.29-_Choice_Pages|Choice pages gives]] detailed help about editing a branch . [[Adding_a_content_page|Adding a content page (branch table)]] reviews process.&lt;br /&gt;
&lt;br /&gt;
== Lesson dependencies and linking ==&lt;br /&gt;
===Dependency===&lt;br /&gt;
Lesson has dependency setting similar to [[Conditional activities]].  It allows the current lesson to be dependent upon a student&#039;s performance in one specific lesson that is in the same course. If the conditions(s) is not met, then the student will not be able to access  the current lesson. This feature is independent of [[Restrict access settings]] which only will appear if [[Conditional access} has been enabled on the site.&lt;br /&gt;
&lt;br /&gt;
These &amp;quot;Dependent on&amp;quot; conditions include: time spent, completed or receive a better than grade one specific lesson.   Any  combination of the conditions can be used. Please note, a Lesson must include one question for the dependent &amp;quot;completed&amp;quot; condition to be met.&lt;br /&gt;
&lt;br /&gt;
*A typical use of this feature is to &amp;quot;daisy chain&amp;quot; a series of Lessons to make sure the students take the lessons in order.   This might be useful in a training type of course which has no open or close dates because it can be started and finished at any time.&lt;br /&gt;
&lt;br /&gt;
===Links to other places===&lt;br /&gt;
Use the &amp;quot;Link to&amp;quot; in the [[Lesson settings]] to offer the student a direct link button to another activity in the course when they complete the lesson.&lt;br /&gt;
&lt;br /&gt;
Another handy Lesson setting &amp;quot;Pop-Up to file or web page&amp;quot; will create a window the student can view while in the lesson.&lt;br /&gt;
&lt;br /&gt;
:&#039;&#039;&#039;Tip:&#039;&#039;&#039;More advanced Moodlers can figure out how to place HTML links on a lesson page. Thus it is possible to create a link to another lesson/activity, a lesson/activity in another course, or even to a specific page in a lesson.  While this method can be useful, the student may not be able to find their way back to the page with the link.   In general, the links can be created by copying the location of the desired link from the browser&#039;s address bar, then pasting it as a link.&lt;/div&gt;</summary>
		<author><name>Stephenla</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/2x/pl/index.php?title=Wiki_permissions&amp;diff=76987</id>
		<title>Wiki permissions</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/2x/pl/index.php?title=Wiki_permissions&amp;diff=76987"/>
		<updated>2010-10-23T03:22:40Z</updated>

		<summary type="html">&lt;p&gt;Stephenla: I deleted an off-topic link to a private business. *[http://customwritingservices.org/index.php writing services]&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Wiki}}&lt;br /&gt;
{{Moodle 1.7}}&lt;br /&gt;
Roles and capabilities in Moodle 1.7 onwards enable possibilities such as students being given permission to manage wikis. The following capabilities are related to wikis:&lt;br /&gt;
&lt;br /&gt;
*[[Capabilities/mod/wiki:participate|mod/wiki:participate]]&lt;br /&gt;
*[[Capabilities/mod/wiki:manage|mod/wiki:manage]]&lt;br /&gt;
*[[Capabilities/mod/wiki:overridelock|mod/wiki:overridelock]] &lt;br /&gt;
&lt;br /&gt;
[[Category:Wiki]]&lt;br /&gt;
[[Category:Roles]]&lt;br /&gt;
[[eu:Wikiaren_baimenak]]&lt;br /&gt;
[[fr:Permissions des wikis]]&lt;br /&gt;
[[de:Wiki-Rechte]]&lt;br /&gt;
[[ja:Wikiパーミッション]]&lt;/div&gt;</summary>
		<author><name>Stephenla</name></author>
	</entry>
	<entry>
		<id>https://docs.moodle.org/2x/pl/index.php?title=Themes_2.0&amp;diff=73036</id>
		<title>Themes 2.0</title>
		<link rel="alternate" type="text/html" href="https://docs.moodle.org/2x/pl/index.php?title=Themes_2.0&amp;diff=73036"/>
		<updated>2010-06-15T01:38:35Z</updated>

		<summary type="html">&lt;p&gt;Stephenla: /* Layouts */  just fixed minor punctuation in text&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:Themes}}{{Moodle 2.0}}Welcome to the new world of themes within Moodle 2.0!&lt;br /&gt;
&lt;br /&gt;
This document explains how themes work in Moodle and is intended to help you create or modify most themes for Moodle 2.0.&lt;br /&gt;
&lt;br /&gt;
==Introduction==&lt;br /&gt;
&lt;br /&gt;
Moodle themes are responsible for much of the &amp;quot;look&amp;quot; of a Moodle site.  They provide the CSS for colours, layouts, fonts and so on, and can also change the structural XHTML code below that.  &lt;br /&gt;
&lt;br /&gt;
A theme can either contain all the definitions (completely stand alone) or it can extend an existing theme with one or more customizations. &lt;br /&gt;
&lt;br /&gt;
Most theme developers use the second method and simply add a few new CSS or layout definitions to their new theme. If a definition or element is not found in the new theme, it looks to the &amp;quot;parent&amp;quot; (or up the hierarchy of themes) to find one.  It an easy way to achieve just about any look you want for a theme.&lt;br /&gt;
&lt;br /&gt;
==What&#039;s new in 2.0==&lt;br /&gt;
&lt;br /&gt;
The theme system was completely redesigned in Moodle 2.0.  Known issues have been addressed and new features have been added to meet community requests.&lt;br /&gt;
&lt;br /&gt;
Unfortunately it was not possible to maintain backward compatibility, so all Moodle 1.x themes need to be recreated for Moodle 2.0.&lt;br /&gt;
&lt;br /&gt;
Major changes include:&lt;br /&gt;
* Clearer and more consistent CSS classes and IDs throughout all pages in Moodle&lt;br /&gt;
* Introduction of layout files (templates) describing overall layout HTML for many different types of pages in Moodle.&lt;br /&gt;
* Introduction of renderers, which produce the smaller &amp;quot;parts&amp;quot; of a HTML page.  Advanced themes can choose to override these too if they choose.&lt;br /&gt;
* Introduction of standard methods for adding Javascript to themes.&lt;br /&gt;
* Easier control over icons and images in Moodle.&lt;br /&gt;
* The old &amp;quot;standard&amp;quot; theme has been split into two themes:&lt;br /&gt;
**&#039;&#039;&#039;base&#039;&#039;&#039; - contains absolutely basic layout, and&lt;br /&gt;
**&#039;&#039;&#039;standard&#039;&#039;&#039; - which adds CSS to the base theme to make it look like the old standard theme.&lt;br /&gt;
* Performance tuning: In normal production mode CSS files are combined into a single optimised file, and both CSS and JavaScript files are minimised to ensure there are no wasted connections or traffic.  Files are heavily cached, but also versioned, so that users never need to clear their caches.&lt;br /&gt;
&lt;br /&gt;
==The structure of a theme==&lt;br /&gt;
&lt;br /&gt;
Some important things to know when building good themes:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;config.php&#039;&#039;&#039; - this file is required in every theme.  It defines configuration settings and definitions required to make the theme work in Moodle. These include theme, file, region, default region and options. &lt;br /&gt;
# &#039;&#039;&#039;Layouts and layout files&#039;&#039;&#039; -  in config.php there is one definition for each page type (see [[#theme_layouts_table|Appendix A: Theme layouts]] for a list of over 12 types).  Each page type definition tells Moodle which layout file will be used, what block regions this page type should display and so on.  The layout file contains the HTML and the minimum PHP required to display basic structure of pages. (If you know Moodle 1.9, it&#039;s like a combination of header.html and footer.html).&lt;br /&gt;
# &#039;&#039;&#039;The base theme&#039;&#039;&#039; - is not intended to be used for production sites.  It sets up the simplest possible generic layout and includes only CSS essential to that layout &#039;&#039;or&#039;&#039; to Moodle as a whole.  It tries not to make any unnecessary rules and makes as few assumptions as possible.  It&#039;s the perfect base on which to start designing a theme, as there are very few colours, borders, margins, and alignments to override.  You can just start adding what you need.&lt;br /&gt;
&lt;br /&gt;
===Files and folders===&lt;br /&gt;
A theme&#039;s files are placed in a folder with under moodle/theme folder and have subfolders. They are laid out like this:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Directory&lt;br /&gt;
! File&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| /config.php&lt;br /&gt;
| Contains all of the configuration and definitions for each theme&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| /lib.php &lt;br /&gt;
| Contains speciality classes and functions that are used by theme&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| /renderers.php &lt;br /&gt;
| Contains any custom renderers for the theme.&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
| /settings.php &lt;br /&gt;
| Contains custom theme settings. These local settings are defined by the theme allowing the theme user to easily alter something about the way it looks or operates. (eg a background colour, or a header image)&lt;br /&gt;
|-&lt;br /&gt;
| /javascript/ &lt;br /&gt;
| &lt;br /&gt;
| All speciality JavaScript files the theme requires should be located in here.&lt;br /&gt;
|-&lt;br /&gt;
| /lang/ &lt;br /&gt;
| &lt;br /&gt;
| Any special language files the theme requires should be located in here.&lt;br /&gt;
|-&lt;br /&gt;
| /layout/ &lt;br /&gt;
| &lt;br /&gt;
| Contains the layout files for the theme.&lt;br /&gt;
|-&lt;br /&gt;
| /pix/ &lt;br /&gt;
| &lt;br /&gt;
| Contains any images the theme makes use of either in CSS or in the layout files.&lt;br /&gt;
|-&lt;br /&gt;
|  /pix&lt;br /&gt;
| /favicon.ico &lt;br /&gt;
| The favicon to display for this theme.&lt;br /&gt;
|-&lt;br /&gt;
| /pix&lt;br /&gt;
| /screenshot.jpg &lt;br /&gt;
| A screenshot of the theme to be displayed in on the theme selection screen.&lt;br /&gt;
|-&lt;br /&gt;
| /style &lt;br /&gt;
| &lt;br /&gt;
| Default location for CSS files.&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|/*.css&lt;br /&gt;
|CSS files the theme requires&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
There are also several other places that stylesheets can be included from (see the CSS how and why section below).&lt;br /&gt;
&lt;br /&gt;
==Theme options==&lt;br /&gt;
All theme options are set within the config.php file for the theme.  The settings that are most used are: parents, sheets, layouts, and javascripts. Have a look at the &#039;&#039;&#039;[[#theme_options_table|theme options table]]&#039;&#039;&#039; for a complete list of theme options which include lesser used specialised or advanced settings.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Basic theme config example===&lt;br /&gt;
Lets have a look at a basic theme configuration file and the different bits that make it up:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$THEME-&amp;gt;name = &#039;newtheme&#039;;&lt;br /&gt;
&lt;br /&gt;
$THEME-&amp;gt;parents = array(&lt;br /&gt;
    &#039;base&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$THEME-&amp;gt;sheets = array(&lt;br /&gt;
    &#039;admin&#039;,&lt;br /&gt;
    &#039;blocks&#039;,&lt;br /&gt;
    &#039;calendar&#039;,&lt;br /&gt;
    &#039;course&#039;,&lt;br /&gt;
    &#039;grade&#039;,&lt;br /&gt;
    &#039;message&#039;,&lt;br /&gt;
    &#039;question&#039;,&lt;br /&gt;
    &#039;user&#039;&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$THEME-&amp;gt;layouts = array(&lt;br /&gt;
    &#039;base&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;theme&#039; =&amp;gt; &#039;newtheme&#039;,&lt;br /&gt;
        &#039;file&#039; =&amp;gt; &#039;general.php&#039;,&lt;br /&gt;
        &#039;regions&#039; =&amp;gt; array(),&lt;br /&gt;
    ),&lt;br /&gt;
    &#039;standard&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;theme&#039; =&amp;gt; &#039;newtheme&#039;,&lt;br /&gt;
        &#039;file&#039; =&amp;gt; &#039;general.php&#039;,&lt;br /&gt;
        &#039;regions&#039; =&amp;gt; array(&#039;side-pre&#039;, &#039;side-post&#039;),&lt;br /&gt;
        &#039;defaultregion&#039; =&amp;gt; &#039;side-post&#039;,&lt;br /&gt;
    )&lt;br /&gt;
    //.......&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
$THEME-&amp;gt;javascripts_footer = array(&lt;br /&gt;
    &#039;navigation&#039;&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Basic theme example settings explained===&lt;br /&gt;
First up you will notice everything is added to $THEME. This is the theme&#039;s configuration object, it is created by Moodle using default settings and is then updated by whatever settings you add to it.&lt;br /&gt;
&lt;br /&gt;
The first setting, $THEME-&amp;gt;name is the theme&#039;s name. This should simply be whatever your theme&#039;s name is, most likely whatever you named your theme directory.&lt;br /&gt;
&lt;br /&gt;
$THEME-&amp;gt;parents defines the themes that the theme will extend. In this case it is extending only the base theme.&lt;br /&gt;
&lt;br /&gt;
After this is the $THEME-&amp;gt;sheets array containing the names of the CSS stylesheets to include for this theme. Note that it is just the name of the stylesheet and does not contain the directory or the file extension. Moodle assumes that the theme&#039;s stylesheets will be located in the styles directory of the theme and have .css as an extension.&lt;br /&gt;
&lt;br /&gt;
Next we see the $THEME-&amp;gt;layouts definition. In this example, two layouts have been defined to override the layouts from the base theme. For more information see the [[#Layouts|layouts]] section below.&lt;br /&gt;
&lt;br /&gt;
The final setting is to include a JavaScript file, as $THEME-&amp;gt;javascripts_footer. Much like stylesheets, you only need to provide the files name. Moodle will assume it is in your themes JavaScript directory and be a .js file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note&#039;&#039;&#039;&#039;&#039;: When you start out theming, make sure you take a look at the configuration files of the other themes that get shipped with Moodle. You will get a good picture of how everything works, and what is going on in a theme, simply by reading it and taking notice of what it is including or excluding.&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
===Locations of CSS files===&lt;br /&gt;
First lets look at where CSS can be included from within Moodle:&lt;br /&gt;
; \theme\themename\styles\*.css : This is the default location for all of the stylesheets that are used by a theme and the place which should be used by a theme designer.&lt;br /&gt;
&lt;br /&gt;
New theme developers should note that the order in which CSS files are found and included creates a hierarchy.  This order ensures that the rules, within a theme&#039;s style sheets, take precedence over identical rules in other files that may have been introduced before.  This can both extend another files definitions (see parent array in the config file) and also ensures that the current theme&#039;s CSS rules/definitions have the last say.&lt;br /&gt;
&lt;br /&gt;
There are other locations that can be used (although very rarely) to include CSS in a page. A developer of a php file can manually specify a stylesheet from anywhere within Moodle, like the database. Usually, if code is doing this, it is because there is a non-theme config or plugin setting that contains information requires special CSS information.  As a theme designer you should aware of but not have to worry about these locations of CSS files.  Here are some examples:&lt;br /&gt;
&lt;br /&gt;
; {pluginpath}\styles.css e.g. \block\blockname\styles.css or \mod\modname\styles.css : Every plugin can have its own styles.css file. This file should only contain the required CSS rules for the module and should not add anything to the look of the plugin such as colours, font sizes, or margins other than those that are truly required.&amp;lt;br /&amp;gt;Theme specific styles for a plugin should be located within the themes styles directory.&lt;br /&gt;
; {pluginpath}\styles_themename.css : This should only ever be used by plugin developers. It allows them to write CSS that is designed for a specific theme without having to make changes to that theme. You will notice that this is never used within Moodle and is designed to be used only by contributed code.&lt;br /&gt;
&lt;br /&gt;
As theme designers, we will only use the first method of introducing CSS: adding rules to a stylesheet file located in the themes styles directory.&lt;br /&gt;
&lt;br /&gt;
===Moodle&#039;s core CSS organisation===&lt;br /&gt;
The next thing to look at is the organisation of CSS and rules within a theme. Although as a theme designer it is entirely up to you as to how you create and organise your CSS. Please note that within the themes provided in the standard install by Moodle there is a very clear organisation of CSS.&lt;br /&gt;
&lt;br /&gt;
First is the  pagelayout.css file. This contains the CSS required to give the layouts their look and feel.  It doesn&#039;t contain any rules that affect the content generated by Moodle.&lt;br /&gt;
&lt;br /&gt;
Next is the core.css file. If you open up core you will notice that it contains all manner of general (usually simple) rules that don&#039;t relate to a specific section of Moodle but to Moodle as a whole.&lt;br /&gt;
&lt;br /&gt;
There can also be rules that relate to specific sections.  However, this is done only when there are only a handful of rules for that section. These small clusters of rules are grouped together and separated by comments identifying for which section each relates.&lt;br /&gt;
&lt;br /&gt;
Finally there are all the other CSS files, you will notice that there is a file for each section of Moodle that has a significant collection of rules.&lt;br /&gt;
&lt;br /&gt;
:For those who are familiar with Moodle 1.9 theme&#039;s, this organisation will be a big change. In 1.9, CSS was organised by its nature (for example: colours, layout, other).&lt;br /&gt;
&lt;br /&gt;
===How to write effective CSS rules within Moodle===&lt;br /&gt;
In Moodle 2.0, writing good CSS rules is an incredibly important.&lt;br /&gt;
&lt;br /&gt;
Due to performance requirements and browser limitations, all of the CSS files are combined into a single CSS file that gets included every time. This means that rules need to be written in such a way as to minimise the chances of a collision leading to unwanted styles being applied. Whilst writing good CSS is something most designers strive for we have implemented several new body classes and put more emphasis on developers for using classes more appropriately.&lt;br /&gt;
&lt;br /&gt;
====The body tag====&lt;br /&gt;
As of Moodle 2.0 the ID tag that gets applied to the body will always be a representation of the URI. For example if you are looking at a forum posting and the URI is &#039;/mod/forum/view.php&#039; then the body tags ID will be &#039;#page-mod-forum-view&#039;.&lt;br /&gt;
&lt;br /&gt;
As well as the body&#039;s ID attribute the URI is also exploded to form several CSS classes that get added to the body tag, so in the above example &#039;/mod/forum/view&#039; you would end up with the following classes being added to the body tag &#039;.path-mod&#039;, &#039;.path-mod-forum&#039;. Note that &#039;.path-mod-forum-view&#039; is not added as a class, this is intentionally left out to lessen confusion and duplication as rules can relate directly to the page by using the ID and do not require the final class.&lt;br /&gt;
&lt;br /&gt;
The body ID and body classes described above will form the bread and butter for many of the CSS rules you will need to write for your theme, however there are also several other very handy classes that get added to the body tag that will be beneficial to you once you start your journey down the rabbit hole that is themeing. Some of the more interesting classes are listed below.&lt;br /&gt;
&lt;br /&gt;
* If JavaScript is enabled then &#039;jsenabled&#039; will be added as a class to the body tag allowing you to style based on JavaScript being enabled or not.&lt;br /&gt;
* Either &#039;dir-rtl&#039; or &#039;dir-ltr&#039; will be added to the body as a class depending on the direction of the language pack: rtl = right to left, ltr = left to right. This allows you to determine your text-alignment based on language if required.&lt;br /&gt;
* A class will be added to represent the language pack currently in use, by default en_utf8 is used by Moodle and will result in the class &#039;lang-en_utf8&#039; being added to the body tag.&lt;br /&gt;
* The wwwroot for Moodle will also be converted to a class and added to the body tag allowing you to stylise your theme based on the URL through which it was reached. e.g. http://sam.moodle.local/moodle/ will become &#039;.sam-moodle-local—moodle&#039;&lt;br /&gt;
* If the current user is not logged then &#039;.notloggedin&#039; will be added to the body tag.&lt;br /&gt;
&lt;br /&gt;
What does all of this look like in practise? Well using the above example /mod/forum/view.php you would get at least the following body tag:&lt;br /&gt;
&amp;lt;code html4strict&amp;gt;&amp;lt;body id=”page-mod-forum-view” class=”path-mod path-mod-forum” /&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Writing your rules====&lt;br /&gt;
The best use of body ids and classes and writing selectors will reduce problems.&lt;br /&gt;
&lt;br /&gt;
There are many specific classes used within Moodle. We try to put them everywhere where anyone may want to apply their own styles. It is important to recognise that no one developer can be aware of the all of the class names that have been used all throughout Moodle, let alone within all of the different contributed bits and pieces available for Moodle.  It is up to the theme developer to write good rules and minimise the chances of a collision between rules because in this case good CSS is FAR more effective.&lt;br /&gt;
&lt;br /&gt;
When starting to write rules make sure that you have a good understanding of where you want those rules to be applied, it is a good idea to make the most of the body classes mentioned above.&lt;br /&gt;
If you want to write a rule for a specific page make use of the body tag&#039;s ID, e.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code css&amp;gt;#page-mod-forum-view .forumpost {border:1px solid orange;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you want to write a rule that will be applied all throughout the forum.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code css&amp;gt;.path-mod-forum .forumpost {border:1px solid orange;}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The other very important thing to take into consideration is the structure leading up to the tag you want to style. Browsers apply conflicting styles with priority on the more specific selectors. It can be very beneficial to keep this in mind and write full selectors that rely on the structure of the tags leading to the tag you wish to style.&lt;br /&gt;
&lt;br /&gt;
By making use of body id&#039;s and classes and writing selectors to take into account the leading structure you can greatly minimise the chance of a collision both with Moodle now and in the future.&lt;br /&gt;
&lt;br /&gt;
==Layouts==&lt;br /&gt;
All themes are required to define the layouts they wish to be responsible for as well as create; however, many layout files are required by those layouts. If the theme is overriding another theme then it is a case of deciding which layouts this new theme should override. If the theme is a completely fresh start then you will need to define a layout for each of the different possibilities. For both situations these layouts should be defined within config.php.&lt;br /&gt;
&lt;br /&gt;
It is also important to note that a new theme that will base itself on another theme (overriding it) does not need to define any layouts or use any layout files if there are no changes that it wishes to make to the layouts of the existing theme. The standard theme in Moodle is a good example of this as it extends the base theme simply adding CSS to achieve its look and feel.&lt;br /&gt;
&lt;br /&gt;
So layouts... as mentioned earlier layouts are defined in config.php within $THEME-&amp;gt;layouts. The following is an example of one such layout definition:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
$THEME-&amp;gt;layouts = array(&lt;br /&gt;
    // Standard layout with blocks, this is recommended for most pages with general information&lt;br /&gt;
    &#039;standard&#039; =&amp;gt; array(&lt;br /&gt;
        &#039;theme&#039; =&amp;gt; &#039;base&#039;,&lt;br /&gt;
        &#039;file&#039; =&amp;gt; &#039;general.php&#039;,&lt;br /&gt;
        &#039;regions&#039; =&amp;gt; array(&#039;side-pre&#039;, &#039;side-post&#039;),&lt;br /&gt;
        &#039;defaultregion&#039; =&amp;gt; &#039;side-post&#039;&lt;br /&gt;
    )&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
The first thing Moodle looks at is the name of the layout, in this case it is `standard` (the array key in PHP), it then looks at the settings for the layout, this is the theme, file, regions, and default region. There are also a couple of other options that can be set by a layout.&lt;br /&gt;
&lt;br /&gt;
; theme : is the theme the layout file exists in. That&#039;s right you can make use of layouts from other installed themes.&lt;br /&gt;
; file : is the name of the layout file this layout wants to use.&lt;br /&gt;
; regions : is the different block regions (places you can put blocks) within the theme.&lt;br /&gt;
; defaultregion : is the default location when adding new blocks.&lt;br /&gt;
; options : an array of layout specific options described in detail below.&lt;br /&gt;
&lt;br /&gt;
The first four settings are required by each layout definition however the final setting `options` is a special case that only needs to be set if you want to make use of it. This setting allows the theme designer to specify special options that they would like to create that can be later accessed within the layout file. This allows the theme to make design decisions during the definition and react upon those decisions in what ever layout file is being used.&lt;br /&gt;
&lt;br /&gt;
One such place this has been used is infact within the base theme. If you take a look first at theme/base/config.php you will notice that several layouts specify options &#039;&#039;&#039;nonavbar&#039;&#039;&#039; and &#039;&#039;&#039;nofooter&#039;&#039;&#039; which can both be set to either true or false. Then if we take a look at theme/base/layout/general.php you will spot lines like the following:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
$hasnavbar = (empty($PAGE-&amp;gt;layout_options[&#039;nonavbar&#039;]) &amp;amp;&amp;amp; $PAGE-&amp;gt;has_navbar());&lt;br /&gt;
$hasfooter = (empty($PAGE-&amp;gt;layout_options[&#039;nofooter&#039;]));&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
............&lt;br /&gt;
&amp;lt;?php if ($hasnavbar) { ?&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;navbar clearfix&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;breadcrumb&amp;quot;&amp;gt;&amp;lt;?php echo $OUTPUT-&amp;gt;navbar(); ?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;div class=&amp;quot;navbutton&amp;quot;&amp;gt; &amp;lt;?php echo $PAGE-&amp;gt;button; ?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;?php } ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
What you are seeing here is the use of those settings from the layout within the layout file. In this case it is being used to toggle the display of the navigation bar and page footer.&lt;br /&gt;
&lt;br /&gt;
==Layout files==&lt;br /&gt;
A layout file is a file that contains the core HTML structure for a layout including the header, footer, content and block regions.&lt;br /&gt;
For those of you who are familiar with themes in Moodle 1.9 this is simply header.html and footer.html combined.&lt;br /&gt;
Of course it is not all HTML, there is bits of HTML and content that Moodle needs to put into the page, within each layout file this will be done by a couple of VERY simple PHP calls to get bits and pieces including content.&lt;br /&gt;
&lt;br /&gt;
The following is a very simple layout file to illustrate the different bits that make it up:&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $OUTPUT-&amp;gt;doctype() ?&amp;gt;&lt;br /&gt;
&amp;lt;html &amp;lt;?php echo $OUTPUT-&amp;gt;htmlattributes() ?&amp;gt;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;&amp;lt;?php echo $PAGE-&amp;gt;title ?&amp;gt;&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;?php echo $OUTPUT-&amp;gt;standard_head_html() ?&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body id=&amp;quot;&amp;lt;?php echo $PAGE-&amp;gt;bodyid ?&amp;gt;&amp;quot; class=&amp;quot;&amp;lt;?php echo $PAGE-&amp;gt;bodyclasses; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $OUTPUT-&amp;gt;standard_top_of_body_html() ?&amp;gt;&lt;br /&gt;
&amp;lt;table id=&amp;quot;page&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;h1 class=&amp;quot;headermain&amp;quot;&amp;gt;&amp;lt;?php echo $PAGE-&amp;gt;heading ?&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
            &amp;lt;div class=&amp;quot;headermenu&amp;quot;&amp;gt;&amp;lt;?php echo $OUTPUT-&amp;gt;login_info(); echo $PAGE-&amp;gt;headingmenu; ?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;?php echo $OUTPUT-&amp;gt;blocks_for_region(&#039;side-pre&#039;) ?&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;?php echo core_renderer::MAIN_CONTENT_TOKEN ?&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
        &amp;lt;td&amp;gt;&lt;br /&gt;
            &amp;lt;?php echo $OUTPUT-&amp;gt;blocks_for_region(&#039;side-post&#039;) ?&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
        &amp;lt;td colspan=&amp;quot;3&amp;quot;&amp;gt;&lt;br /&gt;
            &amp;lt;p class=&amp;quot;helplink&amp;quot;&amp;gt;&amp;lt;?php echo page_doc_link(get_string(&#039;moodledocslink&#039;)) ?&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
            &amp;lt;?php&lt;br /&gt;
            echo $OUTPUT-&amp;gt;login_info();&lt;br /&gt;
            echo $OUTPUT-&amp;gt;home_link();&lt;br /&gt;
            echo $OUTPUT-&amp;gt;standard_footer_html();&lt;br /&gt;
            ?&amp;gt;&lt;br /&gt;
        &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $OUTPUT-&amp;gt;standard_end_of_body_html() ?&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Lets assume you know a enough HTML to understand the basic structure above, what you probably don&#039;t understand are the PHP calls so lets look at them.&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $OUTPUT-&amp;gt;doctype() ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This occurs at the VERY top of the page, it must be the first bit of output and is responsible for adding the (X)HTML document type definition to the page. This of course is determined by the settings of the site and is one of the things that the themer has no control over.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;html &amp;lt;?php echo $OUTPUT-&amp;gt;htmlattributes() ?&amp;gt;&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Here we have started writing the opening html tag and have asked Moodle to give us the HTML attributes that should be applied to it. This again is determined by several settings within the actual HTML install.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $PAGE-&amp;gt;title ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This gets us the title for the page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $OUTPUT-&amp;gt;standard_head_html() ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This very important call gets us the standard head HTML that needs to be within the HEAD tag of the page. This is where CSS and JavaScript requirements for the top of the page will be output as well as any special script or style tags.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;body id=&amp;quot;&amp;lt;?php echo $PAGE-&amp;gt;bodyid; ?&amp;gt;&amp;quot; class=&amp;quot;&amp;lt;?php echo $PAGE-&amp;gt;bodyclasses; ?&amp;gt;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Much like the html tag above we have started writing the body tag and have asked for Moodle to get us the desired ID and classes that should be applied to it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;h1 class=&amp;quot;headermain&amp;quot;&amp;gt;&amp;lt;?php echo $PAGE-&amp;gt;heading; ?&amp;gt;&amp;lt;/h1&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;headermenu&amp;quot;&amp;gt;&amp;lt;?php echo $OUTPUT-&amp;gt;login_info(); echo $PAGE-&amp;gt;headingmenu; ?&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Here we are creating the header for the page. In this case we want the heading for the page, we want to display the login information which will be the current users username or a link to log in if they are not logged in, and we want the heading menu if there is one.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $OUTPUT-&amp;gt;blocks_for_region(&#039;side-pre&#039;) ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Here we get the HTML to display the blocks that have been added to the page. In this case we have asked for all blocks that have been added to the area labelled &#039;&#039;side-pre&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php echo core_renderer::MAIN_CONTENT_TOKEN ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This is one of the most important calls within the file, it determines where the actual content for the page gets inserted.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php echo $OUTPUT-&amp;gt;blocks_for_region(&#039;side-post&#039;) ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Here we get the HTML to display the blocks that have been added to the page. In this case we have asked for all blocks that have been added to the area labelled &#039;&#039;side-post&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
echo $OUTPUT-&amp;gt;login_info();&lt;br /&gt;
echo $OUTPUT-&amp;gt;home_link();&lt;br /&gt;
echo $OUTPUT-&amp;gt;standard_footer_html();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
This final bit of code gets the content for the footer of the page. It gets the login information which is the same as in the header, a home link, and the standard footer HTML which like the standard head HTML contains all of the script and style tags required by the page and requested to go in the footer.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;Note&#039;&#039;&#039;&#039;&#039;: Within Moodle 2.0 most of the JavaScript for the page will be included in the footer. This greatly helps reduce the loading time of the page.&lt;br /&gt;
&lt;br /&gt;
When writing layout files think about the different layouts and how the HTML that each makes use of will differ. You will most likely find you do not need a different layout file for each layout, most likely you will be able to reuse the layout files you create across several layouts. You can of course make use of layout options as well to further reduce the number of layout files you need to produce.&lt;br /&gt;
&lt;br /&gt;
Of course as mentioned above if you are customising an existing theme then you may not need to create any layouts or layout files at all.&lt;br /&gt;
&lt;br /&gt;
==Making use of images==&lt;br /&gt;
Right at the start when listing the features of the new themes system one of the features mentioned was the ability to override any of the standard images within Moodle from within your theme. At this point we will look at both how to make use of your own images within your theme, and secondly how to override the images being used by Moodle.&lt;br /&gt;
So first up a bit about images within Moodle,&lt;br /&gt;
&lt;br /&gt;
# Images you want to use within your theme &#039;&#039;&#039;need&#039;&#039;&#039; to be located within your theme&#039;s pix directory.&lt;br /&gt;
# You can use sub directories within the pix directory of your theme.&lt;br /&gt;
# Images used by Moodle&#039;s core are located within the pix directory of Moodle.&lt;br /&gt;
# Modules, blocks and other plugins should also store there images within a pix directory.&lt;br /&gt;
&lt;br /&gt;
So making use of your own images first up. Lets assume you have added two image files to the pix directory of your theme.&lt;br /&gt;
&lt;br /&gt;
* /theme/yourthemename/pix/imageone.jpg&lt;br /&gt;
* /theme/yourthemename/pix/subdir/imagetwo.png&lt;br /&gt;
&lt;br /&gt;
Notice that one image is a JPEG image, and the second is a PNG. Also the second image is in a subdirectory.&lt;br /&gt;
&lt;br /&gt;
The following code snippet illustrates how to make use of your images within HTML, such as if you wanted to use them within a layout file.&lt;br /&gt;
&amp;lt;code php&amp;gt;&lt;br /&gt;
&amp;lt;img src=&amp;quot;&amp;lt;?php echo $OUTPUT-&amp;gt;pix_url(&#039;imageone&#039;, &#039;theme&#039;);?&amp;gt;&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt; &lt;br /&gt;
&amp;lt;img src=&amp;quot;&amp;lt;?php echo $OUTPUT-&amp;gt;pix_url(&#039;subdir/imagetwo&#039;, &#039;theme&#039;);?&amp;gt;&amp;quot; alt=&amp;quot;&amp;quot; /&amp;gt; &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
In this case rather than writing out the URL to the image we use a method of Moodle&#039;s output library. Its not too important how that functions works but it is important that we use it as it is what allows images within Moodle to be over-rideable.&lt;br /&gt;
&lt;br /&gt;
The following is how you would use the images from within CSS as background images.&lt;br /&gt;
&amp;lt;code css&amp;gt;&lt;br /&gt;
.divone {background-image:url([[pix:theme|imageone]]);}&lt;br /&gt;
.divtwo {background-image:url([[pix:theme|subdir/imagetwo]]);}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
If this case we have to use some special notations that Moodle looks for. Whenever Moodle hands out a CSS file it first searches for all &#039;&#039;[[something]]&#039;&#039; tags and replaces them with what is required.&lt;br /&gt;
&lt;br /&gt;
The final thing to notice with both of the cases above is that at no point do we include the images file extension. &lt;br /&gt;
The reason for this leads us into the next topic, how to override images.&lt;br /&gt;
&lt;br /&gt;
From within a theme you can VERY easily override any standard image within Moodle by simply adding the replacement image to the theme&#039;s pix directory in the same sub directory structure as it is in Moodle.&lt;br /&gt;
So for instance we wanted to override the following two images:&lt;br /&gt;
# /pix/moodlelogo.gif&lt;br /&gt;
# /pix/i/user.gif&lt;br /&gt;
We would simply need to add our replacement images to the theme in the following locations&lt;br /&gt;
# /theme/themename/pix/moodlelogo.gif&lt;br /&gt;
# /theme/themename/pix/i/user.gif&lt;br /&gt;
How easy is that!&lt;br /&gt;
&lt;br /&gt;
Now the other very cool thing to mention is that Moodle looks for not just replacements of the same image type (jpg, gif, etc...) but also replacements in any image format. This is why above when working with our images we never specified the images file extension.&lt;br /&gt;
This means that the following would also work:&lt;br /&gt;
# /theme/themename/pix/moodlelogo.png&lt;br /&gt;
# /theme/themename/pix/i/user.bmp&lt;br /&gt;
&lt;br /&gt;
For a more detailed description of how this all works see the page on [[Development:Themes_2.0_How_to_use_images_within_your_theme|using images within your theme]]&lt;br /&gt;
&lt;br /&gt;
==Appendix A==&lt;br /&gt;
===Theme options as of April 28th, 2010===&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; id=&amp;quot;theme_options_table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Setting&lt;br /&gt;
! Effect&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;csspostprocess&#039;&#039;&#039;&lt;br /&gt;
|  Allows the user to provide the name of a function that all CSS should be passed to before being delivered.&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;editor_sheets&#039;&#039;&#039;&lt;br /&gt;
|  An array of stylesheets to include within the body of the editor.&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;enable_dock&#039;&#039;&#039;&lt;br /&gt;
|  If set to true the side dock is enabled for blocks&lt;br /&gt;
|-&lt;br /&gt;
| $THEME-&amp;gt;&#039;&#039;&#039;hidefromselector&#039;&#039;&#039;&lt;br /&gt;
| Used to hide a theme from the theme selector (unless theme designer mode is on). Accepts true or false.&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;filter_mediaplugin_colors&#039;&#039;&#039;&lt;br /&gt;
|  Used to control the colours used in the small media player for the filters&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;javascripts&#039;&#039;&#039;&lt;br /&gt;
|  An array containing the names of JavaScript files located in /javascript/ to include in the theme. (gets included in the head)&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;javascripts_footer&#039;&#039;&#039;&lt;br /&gt;
|  As above but will be included in the page footer.&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;larrow&#039;&#039;&#039;&lt;br /&gt;
|  Overrides the left arrow image used throughout Moodle&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;layouts&#039;&#039;&#039;&lt;br /&gt;
|  An array setting the layouts for the theme&lt;br /&gt;
|-&lt;br /&gt;
| $THEME-&amp;gt;&#039;&#039;&#039;name&#039;&#039;&#039;&lt;br /&gt;
| Name of the theme. Most likely the name of the directory in which this file resides.&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;parents&#039;&#039;&#039;&lt;br /&gt;
|  An array of themes to inherit from&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;parents_exclude_javascripts&#039;&#039;&#039;&lt;br /&gt;
|  An array of JavaScript files NOT to inherit from the themes parents&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;parents_exclude_sheets&#039;&#039;&#039;&lt;br /&gt;
|  An array of stylesheets not to inherit from the themes parents&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;plugins_exclude_sheets&#039;&#039;&#039;&lt;br /&gt;
|  An array of plugin sheets to ignore and not include.&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;rarrow&#039;&#039;&#039;&lt;br /&gt;
|  Overrides the right arrow image used throughout Moodle&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;renderfactory&#039;&#039;&#039;&lt;br /&gt;
|  Sets a custom render factory to use with the theme, used when working with custom renderers.&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;resource_mp3player_colors&#039;&#039;&#039;&lt;br /&gt;
|  Controls the colours for the MP3 player&lt;br /&gt;
|-&lt;br /&gt;
|  $THEME-&amp;gt;&#039;&#039;&#039;sheets&#039;&#039;&#039;&lt;br /&gt;
|  An array of stylesheets to include for this theme. Should be located in the theme&#039;s style directory.&lt;br /&gt;
|}&lt;br /&gt;
===The different layouts as of March 29th, 2010===&lt;br /&gt;
{| class=&amp;quot;nicetable&amp;quot; id=&amp;quot;theme_layouts_table&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Layout&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| base&lt;br /&gt;
| Most backwards compatible layout without the blocks - this is the layout used by default.&lt;br /&gt;
|- &lt;br /&gt;
| standard&lt;br /&gt;
| Standard layout with blocks, this is recommended for most pages with general information.&lt;br /&gt;
|- &lt;br /&gt;
| course&lt;br /&gt;
| Main course page.&lt;br /&gt;
|- &lt;br /&gt;
| coursecategory&lt;br /&gt;
| Use for browsing through course categories.&lt;br /&gt;
|- &lt;br /&gt;
| incourse&lt;br /&gt;
| Default layout while browsing a course, typical for modules.&lt;br /&gt;
|- &lt;br /&gt;
| frontpage&lt;br /&gt;
| The site home page.&lt;br /&gt;
|- &lt;br /&gt;
| admin&lt;br /&gt;
| Administration pages and scripts.&lt;br /&gt;
|- &lt;br /&gt;
| mydashboard&lt;br /&gt;
| My dashboard page.&lt;br /&gt;
|- &lt;br /&gt;
| mypublic&lt;br /&gt;
| My public page.&lt;br /&gt;
|- &lt;br /&gt;
| login&lt;br /&gt;
| The login page.&lt;br /&gt;
|-&lt;br /&gt;
| popup&lt;br /&gt;
| Pages that appear in pop-up windows - no navigation, no blocks, no header.&lt;br /&gt;
|-&lt;br /&gt;
| frametop&lt;br /&gt;
| Used for legacy frame layouts only. No blocks and minimal footer.&lt;br /&gt;
|-&lt;br /&gt;
| embedded&lt;br /&gt;
| Embeded pages, like iframe/object embedded in moodleform - it needs as much space as possible&lt;br /&gt;
|-&lt;br /&gt;
| maintenance&lt;br /&gt;
| Used during upgrade and install. This must not have any blocks, and it is good idea if it does not have links to other places - for example there should not be a home link in the footer.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[Development:Themes 2.0 creating your first theme]] - A quick step by step guide to creating your first theme.&lt;br /&gt;
* [[Development:Themes 2.0 overriding a renderer]] - A tutorial on creating a custom renderer and changing the HTML Moodle produces.&lt;br /&gt;
* [[Development:Themes 2.0 How to use images within your theme]] - Explains how to use and override images within your theme.&lt;br /&gt;
* [[Development:Themes 2.0 adding a settings page]] - Looks at how to add a setting page making your theme easily customisable.&lt;br /&gt;
* [[Development:Styling_and_customising_the_dock]] - How to style and customise the dock.&lt;br /&gt;
* [[Development:Theme changes in 2.0]]&lt;br /&gt;
* [[Development:Using jQuery with Moodle 2.0]]&lt;/div&gt;</summary>
		<author><name>Stephenla</name></author>
	</entry>
</feed>