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.
  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:


Thanks and Regards,
Mike

6 Likes

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