Note:

If you want to create a new page for developers, you should create it on the Moodle Developer Resource site.

Messaging custom components: Difference between revisions

From MoodleDocs
No edit summary
Line 14: Line 14:
=Message processor=
=Message processor=


work in progress...
Your message processor lives at /message/output/mymessageprocessor. The directory structure of a message processor is below.
 
/message/output/mymessageprocessor
                                  /message_output_mymessageprocessor.php
                                  /version.php
                                  /lib.php (optional)
                                  /lang/
                                      /en/ (en for English)
                                          /message_mymessageprocessor.php
                                  /db/
                                    /install.php
                                    /upgrade.php
 
It should contain a class that extends message_output. message_output can be found in /message/output/lib.php In the above example the class is called message_output_mymessageprocessor and is defined in message_output_mymessageprocessor.php.
 
Set the version number for your message processor. This is a number formatted like 201106210.00 Reading this from the left this is 2011, june 21st with several extra digits to allow for multiple versions to be produced on the same day. That sometimes happen with core Moodle components but these numbers will usually be zeros. Your version number appears once in mymessageprocessor/version.php and twice in mymessageprocessor/db/upgrade.php
 
You will see this in mymessageprocessor/version.php
{code}
$plugin->requires = 2011060200.00;
{code}
This is the Moodle version that your processor requires. Go to Moodle's own version.php in the top level directory of your Moodle install, copy Moodle's version number and copy it over the value currently in $plugin->requires. This means that any Moodle installation using your message processor must be at least the same Moodle version as you are currently using.
 
When you log in as administrator and you should be prompted to upgrade. The upgrade process will install your new message processor. The upgrade code can be found in /message/output/mymessageprocessor/db/upgrade.php. At a minimum it should insert a row into the message_processors table.

Revision as of 02:16, 15 July 2011

Note: This page is a work-in-progress. Feedback and suggested improvements are welcome. Please join the discussion on moodle.org or use the page comments.

Intro

Since Moodle 2.0 it has been possible to easily integrate your own custom components into the Moodle messaging system. There are two types of components you may wish to implement.

  • message providers - These create new messages and send them via the messaging system.
  • message processors - These are optionally used by message recipients and receive and process messages sent to that user.

Instructions on how to build a message provider or message processor as well as sample implementations of each are below.

Message provider

work in progress...

Message processor

Your message processor lives at /message/output/mymessageprocessor. The directory structure of a message processor is below.

/message/output/mymessageprocessor

                                 /message_output_mymessageprocessor.php
                                 /version.php
                                 /lib.php (optional)
                                 /lang/
                                      /en/ (en for English)
                                         /message_mymessageprocessor.php
                                 /db/
                                    /install.php
                                    /upgrade.php

It should contain a class that extends message_output. message_output can be found in /message/output/lib.php In the above example the class is called message_output_mymessageprocessor and is defined in message_output_mymessageprocessor.php.

Set the version number for your message processor. This is a number formatted like 201106210.00 Reading this from the left this is 2011, june 21st with several extra digits to allow for multiple versions to be produced on the same day. That sometimes happen with core Moodle components but these numbers will usually be zeros. Your version number appears once in mymessageprocessor/version.php and twice in mymessageprocessor/db/upgrade.php

You will see this in mymessageprocessor/version.php {code} $plugin->requires = 2011060200.00; {code} This is the Moodle version that your processor requires. Go to Moodle's own version.php in the top level directory of your Moodle install, copy Moodle's version number and copy it over the value currently in $plugin->requires. This means that any Moodle installation using your message processor must be at least the same Moodle version as you are currently using.

When you log in as administrator and you should be prompted to upgrade. The upgrade process will install your new message processor. The upgrade code can be found in /message/output/mymessageprocessor/db/upgrade.php. At a minimum it should insert a row into the message_processors table.