万本电子书0元读

万本电子书0元读

顶部广告

Moodle 3.x Developer's Guide电子书

售       价:¥

6人正在读 | 0人评论 9.8

作       者:Ian Wild

出  版  社:Packt Publishing

出版时间:2017-07-07

字       数:34.3万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Effortlessly ensure your application's code quality from day 1 About This Book ? Customize your Moodle 3.x app. ? Leverage the new features of Moodle 3.x by diving deep into the Moodle development eco-system. ? Cater to heavy user traffic, customize learning requirements and create custom third party plugins. Who This Book Is For This book is for Moodle developers who are familiar with the basic Moodle functionality and have an understanding of the types of scenarios in which the Moodle platform can be usefully employed. You must have medium-level PHP programming knowledge. You should be familiar with HTML and XML protocols. You do not need to have prior knowledge of Moodle-specific terminology What You Will Learn ? Work with the different types of custom modules that can be written for Moodle 3.x ? Understand how to author custom modules so they conform to the agreed Moodle 3.x development guidelines ? Get familiar with the Moodle 3.x architecture—its internal and external APIs ? Customize Moodle 3.x so it can integrate seamlessly with third-party applications of any kind ? Build a new course format to specify the layout of a course ? Implement third-party graphics libraries in your plugins ? Build plugins that can be themed easily ? Provide custom APIs that will provide the means to automate Moodle 3 in real time In Detail The new and revamped Moodle is the top choice for developers to create cutting edge e-learning apps that cater to different user’s segments and are visually appealing as well. This book explains how the Moodle 3.x platform provides a framework that allows developers to create a customized e-learning solution. It begins with an exploration of the different types of plugin.. We then continue with an investigation of creating new courses. You will create a custom plugin that pulls in resources from a third-party repository. Then you’ll learn how users can be assigned to courses and granted the necessary permissions. Furthermore, you will develop a custom user home. At the end of the book, we’ll discuss the Web Services API to fully automate Moodle 3.x in real time. Style and approach This book takes a step-by-step practical approach with every step explained in great detail using practical examples. You will create custom plugins from scratch with the examples shown and create new modules as well as extensions with the examples presented.
目录展开

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部