It has always been possible to extend Moodle via code (PHP and Javascript). Due to Moodle's open source code base, there has been no limit to the amount of code a developer is able to modify or extend. For you as an administrator, this is not a satisfactory situation, as you have no control over what parts of Moodle are being changed and, equally important, what data is being accessed.
Moodle 2 has a number of APIs that provide an abstract layer to certain functionalities. Examples of these APIs are Portfolio API, Repository API
, and File API
. These are great for programmers as they reduce the amount of code that has to be (re-)written. In addition to these interfaces, Moodle 2 also introduced web services.
Why would we want web services? Well, there are three main scenarios we can think of. They are as follows:
Other systems in your organization; for instance, the HR system, has to trigger...