Open Source e-Learning
3 General PHP Coding Conventions
Development Guide
Software Development
docu.ilias.de
Language
Deutsch
English
Español
Français
magyar
Italiano
Japanese
Nederlands
Polski
Search
Login
0
0
Show More
Tools
Get Started
Using ILIAS
Development
Community
Repository
More
Content
Glossary
Media
FAQ
Get Started
About ILIAS
ILIAS : Solution for Schools
ILIAS : Solutions for Universities
ILIAS : Solutions for Business
ILIAS : Solutions for Public Service and Administration
Download ILIAS
Help and Support for ILIAS
Professional Support
ILIAS Society
Join the ILIAS Society!
Using ILIAS
Download & Releases
Installation & Maintenance
Online Help
User Documentation
Barrierefreiheit
Datenschutz
Forums
Reporting Bugs
Demo Installation
German ILIAS Blog
International ILIAS Blog
Didactic Templates
Plug-ins & Add-ons
Donations
Crowdfunding
Software Development
Feature Wiki
Releases
ILIAS Community FAQ
Feature Workshops
Reporting Bugs
Development Guide
Test Installations
Crowdfunding
Community
Onboarding
ILIAS Society
List of Members
Board
Technical Board
ILIAS Conference
ILIAS Development Conference
User Groups
Special Interest Groups (SIG)
ILIAS@Discord
Donations
Crowdfunding
docu.ilias.de - Home
Tree View
...
Development Guide
1 Introduction
About this Document
The Development Process
Component Maintainers and Testers
Getting Involved as Developer
Getting Involved as Tester
2 Architecture
Basic Architecture
3 General PHP Coding Conventions
Code Style
Naming
Constants
Usability and Accessibility
Capitalization in User Interface
4 Template Engine
Styles and Templates
5 Request Control Flow - $ilCtrl
How $ilCtrl works
6 Services
Creating a Service
7 CSS/Less Guidelines
System Styles
8 Special Features for Developers
Developer Mode
XHTML and Accessibility Validation
Language Logging
9 Unit Tests
Writing Unit Tests
10 Database Access and Database Schema
Data Retrieval and Manipulation
11 Active Records
Active Records
12 Advanced Data Types (ADT)
Advanced Data Types (ADT)
13 Using Exceptions
Using Exceptions
14 Internationalization
$lng language object
15 Access Control
Permission Handling
Preconditions
Web Access Checker
16 User Data
Access Data and Name Presentation
17 User Interface Components
Kitchen Sink / UI Components
Tabs
Data Tables
17.1 Deprecated (Moved to Kitchen Sink / UI Components)
Toolbar
Buttons: Preventing double submission
Modal
Panel
Forms and Object Data
Locator
Explorer, Tree Explorer
Success / Failure / ... Messages
18 Dates and Time Zones
How to handle dates in different time zones
19 Repository
Repository Item Lists
20 Plugins
General: Plugins and Plugin Slots
General: Implementing Plugins
Repository Object Plugins
Global Screen Extensions
User Interface Plugins
Cloud-Module Plugins
Page Component Plugins
Test Question Plugins
Test-Export Plugins
Test-Signature Plugins
Cron Plugins
Field-Type Plugins
OrgUnit Extension Plugin
PDF Renderer Plugin
21 SOAP Interface
SOAP API Documentation
22 Import/Export
Import/Export of Components, esp. Repository Resources
23 Event Handling
Listening To Events
Raising Events
24 Cron
Implementing and Configuring a Cron-Job
25 Context
Context-related possibilities
26 Learning Progress
Learning Progress
27 Taxonomies
Using Taxonomies
28 Notifications
System Notifications
Notifications Service
29 Logging
Using the Logging Service
30 Competences
Skill Service
31 Continuous Integration
Setting up Jenkins CI
Setting up a build-job
Checkstyle
Mess Detector
Copy-Paste-Detector
Plots
Clover
Unit Tests
PHP Lint
Code Browser
Violations
Conclusion
31.1 Software Metrics Explained
Cyclomatic Complexity & CRAP
32 Online Help
Online Help Support
33 Email Text Templates
Implementing an Email Text Template Context
Close
docu.ilias.de
Software Development
Development Guide
3 General PHP Coding Conventions
Actions
Info
Development Guide
Functions
Naming
1 Introduction
About this Document
The Development Process
Component Maintainers and Testers
Getting Involved as Developer
Getting Involved as Tester
2 Architecture
Basic Architecture
3 General PHP Coding Conventions
Code Style
» Naming
Constants
Usability and Accessibility
Capitalization in User Interface
4 Template Engine
Styles and Templates
5 Request Control Flow - $ilCtrl
How $ilCtrl works
6 Services
Creating a Service
7 CSS/Less Guidelines
System Styles
8 Special Features for Developers
Developer Mode
XHTML and Accessibility Validation
Language Logging
9 Unit Tests
Writing Unit Tests
10 Database Access and Database Schema
Data Retrieval and Manipulation
11 Active Records
Active Records
12 Advanced Data Types (ADT)
Advanced Data Types (ADT)
13 Using Exceptions
Using Exceptions
14 Internationalization
$lng language object
15 Access Control
Permission Handling
Preconditions
Web Access Checker
16 User Data
Access Data and Name Presentation
17 User Interface Components
Kitchen Sink / UI Components
Tabs
Data Tables
17.1 Deprecated (Moved to Kitchen Sink / UI Components)
Toolbar
Buttons: Preventing double submission
Modal
Panel
Forms and Object Data
Locator
Explorer, Tree Explorer
Success / Failure / ... Messages
18 Dates and Time Zones
How to handle dates in different time zones
19 Repository
Repository Item Lists
20 Plugins
General: Plugins and Plugin Slots
General: Implementing Plugins
Repository Object Plugins
Global Screen Extensions
User Interface Plugins
Cloud-Module Plugins
Page Component Plugins
Test Question Plugins
Test-Export Plugins
Test-Signature Plugins
Cron Plugins
Field-Type Plugins
OrgUnit Extension Plugin
PDF Renderer Plugin
21 SOAP Interface
SOAP API Documentation
22 Import/Export
Import/Export of Components, esp. Repository Resources
23 Event Handling
Listening To Events
Raising Events
24 Cron
Implementing and Configuring a Cron-Job
25 Context
Context-related possibilities
26 Learning Progress
Learning Progress
27 Taxonomies
Using Taxonomies
28 Notifications
System Notifications
Notifications Service
29 Logging
Using the Logging Service
30 Competences
Skill Service
31 Continuous Integration
Setting up Jenkins CI
Setting up a build-job
Checkstyle
Mess Detector
Copy-Paste-Detector
Plots
Clover
Unit Tests
PHP Lint
Code Browser
Violations
Conclusion
31.1 Software Metrics Explained
Cyclomatic Complexity & CRAP
32 Online Help
Online Help Support
33 Email Text Templates
Implementing an Email Text Template Context
34 Archive
34.1 Object Oriented Programming
34.2 Code Repository
34.3 Hello World
34.4 Hello World as a Service
34.5 Javascript Guidelines
34.6 Using Code Templates
34.7 PDF Generation
Info
Print View
ILIAS API
ILIAS Repo on GitHub
Formatting
Sorry, but this page is currently deactivated.