Developing plugins for IIQ - faster testing of code

Hi,

Today when developing plugins and exporting it as a ZIP-file to install it in the IIQ environment, it takes up a lot of time to remove/uninstall the old plugin and then to export the new plugin with the new code. Are there any ways to speed up this process when developing plugins?

Thanks

1 Like

You should not need to remove/uninstall the deploy new plugin. Deploying a plugin (plugin page → new → upload or drag and drop zip file) will update it assuming that the version in the manifest file (<Plugin version=xxxx) is higher than the currently installed version. For this reason, many of us just use a timestamp at of the build time as the version number.

This will also import any xml files you have in your import/upgrade directory (but not import/install) so if you need XML changes (say to capabilities definitions, task definitions, etc) they will need to be there.

2 Likes

Hello Anton,

Here are some approaches which I used in our Plugin Developement:

  1. Initialize Plugin Project Folder with IIQDA.
    image
  2. As Mark already mentioned, during each new update, if there is any changes regarding database or artifacts, place them in the corresponding upgrade/ folder.
  3. Using -dev version, instead of always update the release number (e.g. 0.1.0 > 0.1.1), we can simply put a -dev suffix to force upgrade (e.g. 0.1.0-dev)
  4. If we frequently changing our code during development phase, there might be too much drag and drop. To make our life easy, I suggest to use DevSAK Plugin, it provides the ability to run execute IIQ Console commands in PowerShell. Once the DevSAK is installed and setup under your workstation/laptop, then you may adjust your build.xml and build.properties as below:
    build.propertie
devsak.home=C:\\Users\\<USER>\\devsak
devsak.dsconsole=DSConsole -url http://<iiq_address>:8080/identityiq -u spadmin -p admin -ta

build.xml

<property name="devsak" location="C:\Program Files\devsak\devsak-client-<version>\devsak.bat"/>

<target name="installPlugin">
  	<exec executable="${devsak}">
  	  <arg value="DSConsole"/>
  	  <arg line="${devsak.dsconsole} -exe 'installPlugin -pluginFilename build/dist/${pluginname}.${version}.zip'"/>
  	</exec>
  </target>

Then you can directly install the plugin after each build:
image
image

Thanks and Regards,
Mike

6 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.