Page tree
Skip to end of metadata
Go to start of metadata

On This Page:

Development Tips.

Tips to make the development of plugins for Revive Adserver easier.



Update the Version Number

Don't forget that when you change the functionality in a plugin, the version number of the plugin must be updated, both in the top level XML file, and in all group level XML files

If the version number is not changed, the users will not be able to upgrade the plugin.

Extending Plugins

When extending the functionality of an existing plugin, although the version number of the plugin will need to be updated before final release, it is not necessary to update the version number for each development iteration that you want to test, because, instead of performing a upgrade of the plugin, you can instead package the plugin as a zip file, and then use the "Import (code only)" option on the Plugins tab to simply import the plugin code.

If you are adding new files to the plugin as part of the extension work, then it is recommended that you first:

  • add placeholder files for the new files being added (but with correct class names, etc.);
  • add the new files to the XML files as required;
  • package the plugin as a zip; and
  • update the plugin in your development environment using the "Import (code only)" method.

This will check that you have correctly included the new files in your XML files, and import the new files into your development environment's plugins directory.

However, at this point, having to package and import the plugin code every time you make a change would become tedious - so instead, replace the newly imported files (and any existing files you plan on changing in the plugin) with symbolic links / shortcuts to the development files.

You can now update the files/functionality, and immediately see the changes in your development environment.

Just remember to remove the links / shortcuts when you have finished development, and ensure that you test the complete install/upgrade process of your plugin before releasing.

  • No labels