Note: You are currently viewing documentation for Moodle 2.0. Up-to-date documentation for the latest stable version is available here: Student projects/Customisable theme.

Student projects/Customisable theme: Difference between revisions

From MoodleDocs
(Shifted to dev docs)
 
(42 intermediate revisions by one other user not shown)
Line 1: Line 1:
<p class="note">'''Note''': This page outlines ideas for the Customisable theme project. It's a ''specification under construction''! If you have any comments or suggestions, please add them to the [[Talk:Student projects/Customisable theme|page comments]].''</p>
{{Moved_to_dev_docs}}
 
 
==Summary of Tasks==
 
The objective of this project is creation of a new customizable theme, which gives the Moodle user various options like selecting a logo from the site files and/or uploads their own favicon, customize various CSS elements, selecting a parent theme etc. The main aim of the theme is to simplify the tasks of users who are still not ready to delve into CSS and HTML editing and yet give them the ability to customize the look and feel of Moodle.
 
The challenge in the project will be to optimize the balance between the simplicity of the theme interface and the customizability of the theme. Unlike the Chameleon theme, the aim would not be to provide with the opportunity to edit each and every element of the page by editing CSS, but to provide the easy editing of the elements of the page that effect the user the most (like background color, text color and size etc.) through a graphical interface.
 
==Architecture Design==
 
Like most of the existing Moodle themes, our theme shall also be based on at most three stylesheets utilizing the cascading character of CSS. The first level is that of the existing "Standard" Moodle theme which will keep the theme up to date with the Moodle updates. The second level is that of a parent theme which the user might specify. For the third level, the user may provide his own stylesheets or set values for the CSS elements so that a style sheet is automatically generated.
 
To implement it, we shall select some of the CSS elements that we wish to make customizable by the user. For every user, we will create and store the CSS elements in the database and the theme shall use the values for each user along with the CSS sheets of the parent themes specified (if any).
 
For backend support we will use a MySQL database.
 
== Milestones in the Project ==
 
*''PHASE 1'' - Go through the Moodle Code. Identifying CSS elements in the appearance. Analyze other popular customizable pages like blogger, wordpress and analyze the Moodle themes structure in more detail to select some the the most important CSS elements that will have the most prominent effect in deciding the look of the page. At the end, I shall have clear understanding of the Moodle Code (esp. the theme part).
 
 
* ''PHASE 2'' - Develop a block with the following features (customtheme block):-
** Provide the only means of access to the page to customize theme. The user is presented with the link to the page that allows to customize the theme.
** Creation of database tables. The database has a field for each of the CSS element that the user wishes to customize and the corresponging id of the user who customized it.
** Support for a capability to show or hide the block. This capability along with the has_capability() is used to limit who has the access to modify the theme and who does not.
 
 
* ''PHASE 3'' - Build a basic prototype that gives the user the option to enter values of various CSS elements which are stored in the database (which is created by the custom theme block). The values from the database are then used to style the look of Moodle. It doesnt support the following features yet :-
** Option of user to provide his/her own CSS file.
** Option of user to provide parent theme.
** Option of user to choose his own favicon.
 
 
* ''PHASE 4'' - Modify the prototype to allow the user to provide his/her own CSS, parent theme and choose a favicon.
 
 
* ''PHASE 5'' - Provide a GUI (like a pallette) that makes it really easy for the users to choose colors.
 
 
* ''PHASE 6'' - Documentation of project. Expected duration - 5 days.
 
== Progress ==
 
Currently I am going through the Moodle Theme CSS and the configuration scripts before I lay out the final plans for the implementation.
 
==See also==
 
*[[GSOC/2008]]
 
[[Category:Project]]
[[Category:Themes]]

Latest revision as of 05:30, 15 September 2011

This development related page is now located in the Dev docs.

See the Student projects/Customisable theme page in the Dev docs.