Show/Hide menu

Advanced ZipAttachments plug-in

Introduction

Advanced ZipAttachments is a Java AR Filter API plug-in for BMC Remedy AR System. It allows to pack any files (from attachment fields) into .zip archives from any forms according to any qualification. Plug-in has many settings, it handles any errors due to incorrect data and returns not only created .zip file but also a result code. You can use my plugin to replace an out-the-box ZipAttachments plug-in that contains many bugs or you can use it in your own custom BMC Remedy AR System applications.

Key Features

  • Packing any files from any forms into .zip archive according to any qualification.
  • Supporting multi-language file names.
  • Renaming files with equal names (for example: file.doc, file(1).doc, file(2).doc etc).
  • Removing zero size files.
  • Handling all exceptions by plug-in. Properly configured plug-in does not generate any ARException (ARError).
  • Having a configurable compression level.
  • Returning a status code that can be used in any workflow.
  • Having a lot of settings: maximum input file size, maximum output file size, maximum number of files, exclusion of files by name or extension, output file name.
  • Having a detailed debug mode.
  • Requirements

  • BMC Remedy AR Server 8.1 or newer version.
  • Windows/RHEL/MacOS/HP-UX.
  • Java 8 or newer version.

  • If you need a build for Java 7 or AR System 7.6.04/8.0 please contact me.

    How to install

    1. Download the latest version of Advanced ZipAttachments plug-in.
    2. Copy AdvancedZipAttachments.jar into your pluginsvr directory.
    3. Add an entry in the pluginsvr_config.xml file:

      <plugin>
      <name>NET.RAZUVAEV.ARSYS.ZIPATTACHMENTS</name>
      <classname>net.razuvaev.arsys.zipattachments.AdvancedZipAttachments</classname>
      <pathelement type="location">C:/Program Files/BMC Software/ARSystem/pluginsvr/AdvancedZipAttachments.jar</pathelement>
      <userDefined>
      <tempFolder>c:\Temp</tempFolder>
      <maxSizeOfSingleFile>20971520</maxSizeOfSingleFile>
      <maxSizeOfOutputFile>52428800</maxSizeOfOutputFile>
      <maxNumberOfFiles>100</maxNumberOfFiles>
      <outputFileName>Attachments.zip</outputFileName>
      <discardFileNames>winmail.dat logo.png</discardFileNames>
      <discardFileTypes>exe msi jar</discardFileTypes>
      </userDefined>
      </plugin>
      

    4. Modify highlighted text for your system:
      • tempFolder - must be writable.
      • maxSizeOfSingleFile - maximum size of each input file.
      • maxSizeOfOutputFile - maximum size of output .zip file.
      • maxNumberOfFiles - maximum number of input files (all subsequent files will be ignored).
      • outputFileName - a name of output .zip file.
      • discardFileNames - files with these names are ignored by plug-in. Use " " (space) as a separator.
      • discardFileTypes - files with these extensions are ignored by plug-in. Use " " (space) as a separator.

      You can also set serverName and serverPort params but by default plug-in uses values from ARSystem config file.

    5. Add an entry in the ar.conf file:
      Server-Plugin-Alias: NET.RAZUVAEV.ARSYS.ZIPATTACHMENTS NET.RAZUVAEV.ARSYS.ZIPATTACHMENTS WIN-B4QRTL7DLPL:9999
    6. Restart your AR System server application.

    Usage

    1. Build a qualification in a temporary field:
      Build a qualification in a temporary field

      Example: 'TaskOrTaskGroupID' = $TaskOrTaskGroupID$

    2. Add "Set Fields" action into a filter and call a plug-in:
      Add Set Fields action and call a filter

      Add Set Fields action and call a filter

      Plug-in name: NET.RAZUVAEV.ARSYS.ZIPATTACHMENT

      Input fields:
      Position 1: schema name.
      Position 2: qualification.
      Position 3: field ids (Use " " (space) as a separator).

      Output fields:
      $1$ - an attachment field for output .zip file.
      $2$ - a character field for status code.

      Available status codes:
      0 - Success, .zip file has been returned.
      1 - Success, no files have been found according qualification.
      2 - Failure, the returned file is too large.
      3 - Failure, I/O error.

    Download

    Latest version: 1.14
    Last update date: 10/18/2018
    Click to download (Downloaded 347 times)

    Version history:
    10/18/2018
    Version 1.14 was released: Some bugs were fixed.
    07/23/2018
    Version 1.13 was released: Some bugs were fixed.
    03/9/2018
    Version 1.12 was released: Some bugs were fixed.
    01/11/2018
    Version 1.11 was released: Some bugs were fixed.
    12/13/2017
    Version 1.10 was released: Multi-language file names support was added, file renaming feature was added.

    Support

    If you have any further concerns, please do not hesitate to contact me.

    Dmitry Razuvaev
    E-mail: dmitry@razuvaev.net
    Skype: Dmitry.Razuvaev
    Top