Cover image for Moodle 1.9 Extension Development.
Moodle 1.9 Extension Development.
Title:
Moodle 1.9 Extension Development.
Author:
Moore, Jonathan.
ISBN:
9781847194251
Personal Author:
Edition:
1st ed.
Physical Description:
1 online resource (356 pages)
Contents:
Moodle 1.9 Extension Development -- Table of Contents -- Moodle 1.9 Extension Development -- Credits -- About the Authors -- About the Reviewer -- Preface -- Approach -- What this book covers -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Errata -- Piracy -- Questions -- 1. Moodle Architecture -- Understanding the stack -- Database -- Operating system -- Web server -- Directory and system structure -- Moodle code -- Moodle database -- Moodle data -- Installing Moodle -- Moodle program execution -- Executing config.php -- Including Moodle libraries -- Getting our data -- Displaying in Moodle -- Configuring Moodle -- Setting configuration variables -- Moodle's API -- Other important libraries -- PEAR -- ADOdb -- YUI -- XMLDB -- Access control, logins, and roles -- Moodle permission contexts -- Capabilities -- Moodle roles -- Assigning roles -- Summary -- 2. Creating and Modifying Blocks -- Creating a block from scratch -- Assigning content to our block -- Adding a language file -- Working with capabilities -- Testing for built-in capabilities -- Hiding a block based on capabilities -- Adding your own capability -- Checking for our new capability -- Adding instance configuration -- Capturing your configuration content -- Displaying your content -- Adding scheduled actions to our block -- Reviewing a real world block -- Reviewing block_instructor_contact.php -- Configuring the instructor contact block -- Using a block as a code container -- Creating a block stub for our container -- Creating capabilities for our container -- Summary -- 3. Creating and Modifying Filters -- How a filter works -- Building a filter -- Getting started -- Creating the language file -- Creating the filter code -- Activating the filter -- Adding configuration settings -- Using our settings -- Summary.

4. Creating and Modifying Activity Modules -- The scope of creating an activity module -- Our module-activity Foo! -- Getting started with the NEWMODULE template -- Completing mod_form.php -- Defining input values -- Using common form elements -- Making version.php -- Setting icon.gif -- Generating install.xml -- Using the XMLDB editor -- Defining our activity database -- Defining the foo_responses table -- Defining log types -- Creating access.php -- Updating index.php -- Adding clean language strings -- Looking up response data -- Displaying our table of activities -- Displaying course sections -- Committing output -- Finishing view.php -- Including submit_form.php -- Your code goes here -- Context control -- Developing a form -- Cancel option -- Submitted data -- Setting grades -- Displaying submission form -- Displaying submissions -- Group support -- Coding lib.php -- Function add_instance -- Function foo_delete_instance -- Function foo_user_outline -- Function foo_user_complete -- Function foo_get_participants -- Function reset_course_form_definition -- Function foo_reset_course_form_defaults -- Function foo_reset_userdata -- Inserting grades into the gradebook -- Using grade_update -- Setting the grade type -- Upgrading our activity database -- Using the XMLDB editor for database upgrades -- Updating upgrade.php -- Creating backup and restore support -- Exploring backuplib.php functions -- Common backup functions -- Internal backup functions -- Exploring restorelib.php functions -- Common restore functions -- Internal restore functions -- Summary -- 5. Customizing the Look and Feel -- Themes -- How themes work -- Headers and footers -- header.html -- footer.html -- Project 1: Changing the navigation breadcrumbs -- Creating our own theme -- Adding the category link -- The navigation string -- Project 2: Adding a standard footer with site links.

Creating the code -- Running the code -- Course formats -- How course formats work -- Creating our own course format -- Creating the course format language file -- Modifying our course format function -- Changing the forum display -- Summary -- 6. Developer's Guide to the Database -- The database structure -- Maintaining Moodle tables -- install.xml -- upgrade.php -- Maintaining local database customization -- The XMLDB editor -- Using the Moodle database in your code -- Retrieving data -- Query by parameters -- Query by "where" string -- Query by full SQL -- Storing data -- set_field and set_field_select -- insert_record and update_record -- Common tables and relationships -- Course and module relationships -- Programming best practices -- Take only what you need -- Limiting your returned data -- Using recordsets -- Optimizing carefully with joins -- Testing on more than one database engine -- Summary -- 7. Developing Pluggable Core Modules -- Assignment types -- What is an assignment type -- Identifying assignment types -- Assignment type basics -- Building our own assignment type -- Getting started -- Planning our data -- Adding custom settings -- Making it do something useful -- Viewing the journal -- Getting the submission -- Adding an entry -- Viewing a submission -- Reviewing students' entries -- Backup and restore functions -- Finishing up -- Resource types -- What is a resource type? -- Identifying resource types -- Resource type basics -- Question types -- What is a question type? -- Identifying question types -- Question type basics -- The main class -- The editing form -- The main language file -- Other important question constructs -- Grading -- Backup and restore functions -- Import and export function support -- CSS and JavaScript support -- Where to get more help -- Summary -- 8. Creating Moodle Reports -- Creating course reports.

Defining the non-participants report -- Getting started -- Updating mod.php -- Controlling access -- Language strings -- Changes to Moodle's API -- Exploring the People block -- Setting select -- Setting from -- Setting where -- Making the query call -- Modifying index.php -- Making text substitutions -- Changing the logical structure -- Tracking active users using a hash array -- Displaying the report -- Cleaning up the final display -- Using flexible_table -- An exercise for you -- Creating gradebook reports -- Required components -- Creating our report folder -- Creating access.php -- Assigning language strings -- index.php requirements -- Using version.php -- Using the grade_report class -- Fixing the outcomes report -- Digging into the code -- Reviewing our new report -- Creating administrator reports -- Generating the Hello World administrator report -- Tweaking index.php -- Viewing our administrator report -- An exercise for you -- Other output formats -- Summary -- 9. Integrating Moodle with Other Systems -- Built-in services and plugins -- Batch upload -- Built-in authentication plugins -- Manual/Internal authentication -- LDAP/Active directory authentication -- External database authentication -- E-mail account based authentication plugins -- Built-in enrollment plugins -- LDAP enrollment plugin -- External database enrollment plugin -- E-commerce based enrollment plugins -- Web services -- Activity plugin as an integration bridge -- Creating user authentication plugins -- Exploring authentication requirements -- Looking at auth.php -- Making the language file -- Testing simple authentication -- Adding optional functionality to authentication -- Creating the RLLDAP authentication plugin -- Coding RLLDAP -- Changing LDAP string to RLLDAP -- Mass change auth/ldap to auth/rlldap -- Mass change 'ldap' to 'rlldap'.

Mass change role assignment -- Updating and renaming the auth_plugin class -- Creating our language file -- Modifying config.html -- Storing administrator group -- Implementing Single Sign On -- Creating a URL-based SSO -- Digging into the code -- Finding the user's account -- Confirming that the login criteria have been met -- Completing login -- Redirecting the user to the correct location -- Testing the URL SSO -- Creating user enrollment plugins -- Reviewing plugin requirements -- Creating enrol.php -- Creating the setup_enrolments function -- Making the language file -- Other requirements -- Making the 'simple' enrollment plugin -- Using optional enrollment functions -- Assigning enrollment plugins to courses -- Grade or completion passing -- Working with the built-in import/export plugins -- Creating grade import/export plugins -- An exercise for you -- Summary -- 10. Writing Secure Code -- User access issues -- Making sure that a user has logged in -- Making sure that the user's session is the current one -- Making sure that the user has appropriate capabilities -- SQL issues -- Taking a look at vulnerable code -- Quote protection -- Database API -- Use of addslashes -- Form issues -- The Moodle formslib library -- Specifying a type -- Validation rules -- 'param' functions -- File system issues -- Course file areas -- User file areas -- Other file areas -- Getting a file URL -- Screen output issues -- The p() and s() functions -- The format_text() and format_string() functions -- Logging your actions -- Summary -- 11. Sending Notifications to Users -- Requirements -- Setup -- Using e-mail -- Send e-mail API -- Creating the subject text -- Creating the message text -- Sending the e-mail -- Using Moodle messaging -- Moodle messaging internals -- Creating the message -- Sending the message -- Using RSS feeds -- Setup -- Creating the RSS XML file.

Viewing the RSS feed.
Abstract:
Customize and extend Moodle using its robust plug-in systems.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Added Author:
Electronic Access:
Click to View
Holds: Copies: