售 价:¥
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
Title Page
Copyright
Moodle 3.x Developer's Guide
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Downloading the color images of this book
Errata
Piracy
Questions
Getting to Grips with the Moodle 3 Architecture
Understanding Moodle
More on Moodle plugins
Running a local Moodle
Moodle architecture - the LAMP/WAMP stack
Installing WampServer
WampServer and Skype
Setting up an Integrated Development Environment (IDE)
Configuring the Eclipse IDE
Configuring remote debugging
Installing and configuring Moodle
Introducing the project
Planning is everything
Agile software development
Version control
Moodle Internals - Application Programming Interfaces (APIs)
An object-oriented philosophy
Types of APIs
Our first plugin - a custom string manager
The user story
The development process
Step 1: Understanding the problem
Step 2: Researching potential solutions
Moodle plugin directory
Moodle community forums
Moodle Tracker
String API
Step 3: Implementing the solution
Standard plugin features
Summary
Moodle Plugins - What Can I Plug In?
Managing users
Authentication
Enrolment
Learner competencies
Managing courses
Course layout
Course content
Resources
Activities
Quiz plugins
Assignment plugins
Where to find course interaction plugins
Other important course plugin types
Blocks
Editor plugins
Text filters
Reporting and analytics
Look and feel
Other major plugin types
What cannot be done with plugins?
Summary
Internal Interfaces
Adding configuration settings
Wireframing
Moodle application layers
Storing configuration data
Creating an admin settings page
Updating the get_string() function
Plugin language strings
System APIs
Events API
Plugin data and services
Form API
File Storage API
Cache API
Output renderers
Summary
Course Management
Course formats
GPS location - background to the project
Obtaining device location
Device location - security issues
Configuring SSL on WampServer
Understanding renderers
Finding a user's location with the Geolocation API
Including JavaScript
Specifying location settings
Displaying sections based on location
Try it yourself
Course blocks
Configuring the QR Code block
Including the QR Code library
Manipulating files with the File API
Serving files from the file store
Try it yourself
Text filters
Subscribing to a text changed event
Try it yourself
Summary
Creative Teaching - Developing Custom Resources and Activities
Teaching interactions
Developing a Resource plugin
Rendering a three-dimensional model
Module configuration
More on file handling
Plugin library callbacks
Rendering the Model
More on JavaScript
Asynchronous Module Definition (AMD) API
Reporting events
Other files
Installation scripts
XMLDB editor
Allowing user comments
More on file handling
Styling
Backup and Restore API
Backup API
Restore API
Roles and permissions
Preparing for release
Minimising JavaScript
Taking things further
Activities
Enhanced choice
Editing choices
Summary
Managing Users - Letting in the Crowds
Authentication
Authentication - general principles
Getting logged in
Single sign on
WordPress to Moodle - SSO options
Calling WordPress code directly
Cookie authentication
Links from WordPress to Moodle
External Web Services APIs
OAuth overview
Installing the WordPress OAuth 1.0a server
Creating a new Moodle auth plugin
Configuration
Handling OAuth calls
Handling the Moodle login event
Taking things further
Course Enrolment
A WordPress course enrolment plugin
Taking things further
Management of Competencies
Creating a new admin tool plugin
Synchronisation settings
Connecting to external databases
Taking things further - Moodle CLI scripts
Summary
Creating a Dashboard - Developing a Learner Homepage
The client's requirement
Addicted to learning
Course progress block
Including graphics libraries
JavaScript Object Notation (JSON)
Converting progress data to JSON
Constructing a progress chart
Creating a chart
Making the chart clickable
Taking things further
Dashboard progress overview
Taking things further
Encouraging learners to start a course
Implementing a new course availability block
Determining progress
Creating the Description page
Taking things further
Summary
Creating a New Skin
Theme plugin structure
Page layout
Theme library functions
Taking things further - updating the theme screen grab
Renderers
Creating a plugin renderer
Overriding a component renderer
Custom styling
Including images in CSS
Taking things further - styling button icons
Page layouts
Taking things further - doing more with page layouts
Templates
Mustache
Overriding templates in a theme
Theme responsiveness
Summary
Moodle Analytics
Reporting
Report plugin structure
Grabbing data
Reporting learner success
Determining certificates issued
EXPLAIN a query
Saving data
Creating spreadsheets
Taking things further
Displaying activity data - a bubble chart example
Accessing the report
Building the block
Extracting the data
Including D3.js libraries
Rendering a bubble chart
Further improvements
Web Services
Developing a new external API
A hello world API
Building a new API
Encrypting data
Decrypting data in PHP
Decrypting data in C#
Summary
Appendix
Testing
PHPUnit
Behat
Describing a scenario
Step definitions
Moodle guidelines
General guidelines
Describing functions and methods
Whitespaces and indentation
Configuring Eclipse indentation
SQL query coding style
The code checking tool
C# client
Installing Visual Studio
Creating a new project
Creating a test harness
Connecting to an XML-RPC API
Decrypting data
Decompressing data
Final testing
Source control with GitHub
Installing Git
Configuring SSH
Committing changes
Atomised commits
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜