Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Hardware
- Інше
- Moodle 1.9 Extension Development. By writing Moodle plugins, you can make this open source learning platform fit your needs precisely, and this book shows you how with a step-by-step approach that takes you from the basics to advanced techniques
Деталі електронної книги
Увійти, Якщо вас цікавить зміст видання.
Moodle 1.9 Extension Development. By writing Moodle plugins, you can make this open source learning platform fit your needs precisely, and this book shows you how with a step-by-step approach that takes you from the basics to advanced techniques
Michael Churchward, Jonathan Moore
Eлектронна книга
Moodle gives you the power to create and customize feature-rich plug-ins. If you can write Moodle plug-ins, you can make it do just about anything. From making the site easier to administer, to new features, to completely changing the way it looks; plug-ins are the method Moodle offers to customize and extend its functionality. This book will show you how to build all sorts of Moodle plug-ins: admin plug-ins, Blocks, Activities, Grading components, Reports, Fliters that change the way your site works and looks. You will develop standard Moodle plug-ins such as Activities, Filters, and Blocks by creating functioning code that you can execute in your own Moodle installation. Writing modular plug-ins for Moodle will be a large focus of this book.This book will take you inside Moodle and provide you with the ability to develop code the “Moodle way”.This book will expose you to all of the core code functions in Moodle, in a progressive, understandable way. You will learn what libraries are available, what the API calls are, how it is structured and how it can be expanded beyond the plug-in system.You will begin by getting an understanding of the basic architecture that Moodle uses to operate in. Next you will build your first plug-in; a block. You will carry on building other Moodle plug-ins, gaining knowledge of the “Moodle way” of coding, before plunging deeper into the API and inner libraries. Lastly, you will learn how to integrate Moodle with other systems using a variety of methods.When you have completed, you will have a solid understanding of Moodle programming and knowledge of how to extend its functionality in whatever way you want.
- 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
- Moodles API
- Other important libraries
- PEAR
- ADOdb
- YUI
- XMLDB
- Access control, logins, and roles
- Moodle permission contexts
- Capabilities
- Moodle roles
- Assigning roles
- Summary
- Understanding the stack
- 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
- Creating a block from scratch
- 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 moduleactivity Foo!
- Getting started with the NEWMODULE template
- Completing mod_form.php
- Defining input values
- Using common form elements
- Completing mod_form.php
- 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
- Using grade_update
- 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
- Exploring backuplib.php 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
- Themes
- 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
- Retrieving data
- 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
- Assignment types
- 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
- Required components
- Creating administrator reports
- Generating the Hello World administrator report
- Tweaking index.php
- Viewing our administrator report
- An exercise for you
- Other output formats
- Summary
- Creating course reports
- 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
- Changing LDAP string to RLLDAP
- Coding RLLDAP
- Exploring authentication requirements
- 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 a URL-based 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
- Reviewing plugin requirements
- Grade or completion passing
- Working with the built-in import/export plugins
- Creating grade import/export plugins
- An exercise for you
- Summary
- Built-in services and plugins
- 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
- The Moodle formslib library
- 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
- User access issues
- 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
- Summary
- 12. Constructing and Displaying Pages by Using the pagelib Library
- Introduction to pagelib
- Class page_base
- Class page_course
- Class page_generic_activity
- Core modules that use pagelib
- Using pagelib factory functions
- page_import_types
- page_create_instance
- page_create_object
- page_map_class
- page_base member functions
- page_base() and construct()
- get_id()
- get_body_class()
- get_body_id()
- edit_always()
- init_quick()
- init_full()
- user_allowed_editing()
- user_is_editing()
- print_header()
- get_type()
- get_format_name()
- url_get_path()
- url_get_parameters()
- blocks_get_positions()
- blocks_default_position()
- blocks_get_default()
- blocks_move_position()
- Meeting pagelib requirements
- Looking at page setup
- Examining requirements by reviewing quiz's view.php
- Working with quiz blocks
- Investigating quiz page display
- Converting activity Foo! to pagelib
- Creating a local pagelib.php
- Updating view.php
- Initializing $PAGE
- Outputting blocks
- Outputting the middle column
- Viewing the results
- Related libraries
- weblib
- blocklib
- graphlib
- Summary
- Introduction to pagelib
- 13. Building Forms with formslib
- Using formslib
- Form definition and elements
- addElement and createElement
- Buttons
- Button function
- Submit, reset, and cancel functions
- add_action_buttons function
- Checkboxes
- Checkbox function:
- Advanced checkbox and checkbox controller
- Uploading and/or choosing a file
- choosecoursefile function
- Date and time
- date_selector function
- date_time_selector function
- htmleditor, textarea, and text
- htmleditor function
- text function
- modgrade
- password and passwordunmask
- radio
- select, multi-select, and selectyesno
- hidden, html, and static text
- Groups
- Buttons
- addElement and createElement
- Rules and validation
- Rules
- addRule
- registerRule
- Validation
- Rules
- Summary
- 14. Development for the Adventuresome: Web Services
- Using Remote-Learner Web Services
- Advantages
- Disadvantages
- Installation
- Server-side setup
- Client setup
- Testing with ppdemo_trace.php
- Setting up your Web Services connection
- Debugging setup
- Managing users
- Creating users
- Processing arguments
- Connecting to Web Services
- Using edit_user() to create a new account
- Updating users
- Deleting users
- Creating users
- Creating a Web Services based Single Sign On
- Creating our HTML wrapper
- Web service connection setup
- Processing SSO parameters
- Using authenticate_user()
- Closing wrapper
- Enrollment management
- Creating enrollstudent.php
- Using enrol_students()
- Creating unenrollstudent.php
- Grade passing
- Creating the CSV grade script
- Generating the header line
- Course loop
- Creating the CSV grade script
- Using Moodle Networking
- Advantages
- Disadvantages
- What is XML-RPC?
- MNet XML-RPC supported service types
- MNet XML-RPC security model
- Using MNet in activity modules
- Using MNet in auth/enrol plugins
- MNet SSO model
- Summary
- Using Remote-Learner Web Services
- Index
- Назва: Moodle 1.9 Extension Development. By writing Moodle plugins, you can make this open source learning platform fit your needs precisely, and this book shows you how with a step-by-step approach that takes you from the basics to advanced techniques
- Автор: Michael Churchward, Jonathan Moore
- Оригінальна назва: Moodle 1.9 Extension Development. By writing Moodle plugins, you can make this open source learning platform fit your needs precisely, and this book shows you how with a step-by-step approach that takes you from the basics to advanced techniques.
- ISBN: 9781847194251, 9781847194251
- Дата видання: 2010-04-29
- Формат: Eлектронна книга
- Ідентифікатор видання: e_3cjg
- Видавець: Packt Publishing