diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/getting-started.md | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/docs/getting-started.md b/docs/getting-started.md new file mode 100644 index 0000000..ef6fa5d --- /dev/null +++ b/docs/getting-started.md @@ -0,0 +1,114 @@ +# Getting Started + +## Navigation + +* Installation + * Build +* User guide + * Guide to the manager + * Guide to the editor +* Request format + +## Installation + +Get the installation package in any of the available methods: + +* [GitHub Releases](https://github.com/valentineus/moodle-webhooks/releases). +* [Compilation from the source code](#build). + +### Build + +Self-assembly package is as follows: + +* Clone the repository: +```bash +git clone https://github.com/valentineus/moodle-webhooks.git moodle-webhooks +``` + +* Run the build script: +```bash +cd ./moodle-webhooks +/bin/sh build.sh +``` + +## User guide + +After you install the plug-in, the Service Manager appears on the `Server` tab in the administration panel. + +To open the page, go: +`Site administration` -> +`Server` -> +`WebHooks`. + +### Guide to the manager + +The main window looks like this: + +![Service Manager](screenshots/managerservice.jpg) + +On the main page you can see the list of services and manage each service separately. + +Column description +* "**Name**" shows the name of the service. +* "**URL**" indicates the address of the service to which notifications are received. +* "**Actions**" allows you to enable / disable the service, edit and delete. + +Description of control buttons: +* "**Add service**" opens a page for creating a new service. +* "**Backup**" loads the backup file of the service list. +* "**Restore**" redirects the data recovery page from the backup. + +### Guide to the editor + +During the editing and creation of the service, this page opens: + +![Service Editor](screenshots/editservice.jpg) + +The field "**Name**" stores an arbitrary name for the service + +The "**URL**" field stores the address of the service to which notifications will be sent as a POST request. + +The "**Token**" field allows you to specify an individual key that will allow an external service to identify requests. + +The "**Advanced**" field stores a large string passed to the service. +This can be useful for some services or users. + +The "**Content Type**" field allows you to configure the type of outbound requests if there are compatibility issues. + +The "**All events**" list contains a list of all events registered in the system. +The selected events will notify the service. + +## Request format + +Events come in +[JSON](https://en.wikipedia.org/wiki/JSON) +format. + +An example of an observed course event: + +```JSON +{ + "eventname": "\\core\\event\\course_viewed", + "component": "core", + "action": "viewed", + "target": "course", + "objecttable": null, + "objectid": null, + "crud": "r", + "edulevel": 2, + "contextid": 2, + "contextlevel": 50, + "contextinstanceid": "1", + "userid": "2", + "courseid": "1", + "relateduserid": null, + "anonymous": 0, + "other": null, + "timecreated": 1512961456, + "host": "localhost", + "token": "", + "extra": "" +} +``` + +[Detailed description of the fields](https://docs.moodle.org/dev/Event_2#Properties).
\ No newline at end of file |