Parcel Service for NetIQ Designer 4.5 and later

1 Likes
NetIQ Designer for Identity Manager 4.5 includes a powerful concept called packages. If you're not familiar with all the details and features of packages, please read up on the documentation about Managing Packages and Developing Packages as well as Geoffrey's excessive series about packages.

Once you developed your own packages it quickly comes to distributing them to your customers or colleagues, which is a weak spot in the current Designer versions. As described in Releasing and Publishing Packages Designer can publish your packages to an online update site (aka online repository) for others to download them from. Unfortunately, Designer provides no interface to manage the content of online repositories at all. If you want to view its contents, delete a package or copy a package from one to another you have to do it manually outside of Designer – or use

Parcel Service


 

Parcel Service is a plugin for NetIQ Designer for Identity Manager 4.5 and later, adding advanced package management features for online update repositories and Designer itself by compiling the packages installed in the running Designer instance and those contained in all locally available online update repositories into a single table. Parcel Service lets you

  • view the contents of your package online repositories in detail

  • view the packages installed in the running Designer instance

  • copy and move published packages between online repositories

  • publish packages installed in Designer into online repositories without having to own those packages

  • resolve dependencies between packages and optionally publish them, too.

  • uninstall packages from Designer (Designer comes with several hundred packages preinstalled, you may not need all of them)

  • install packages from your online repositories directly into Designer

  • copy/paste the repository contents into Excel, LibreOffice etc. for analysis or documentation

  • add local online repositories to Designer via file system browser


Target audience


Parcel Service was developed with the needs of IDM consultants in mind that want to distribute standardized solutions to customers as IDM 4.x packages. But even if you do not publish packages to multiple repositories, Parcel Service can still be useful to browse installed packages, quickly inspect package dependencies and vendor details and remove unneeded packages to speed up Designer startup a bit.

Installing Parcel Service



  1. Download https://iam.is4it.de/public/designer_tools/plugins/com.brummelhook.dirxml.repomanager_0.8.8.201709301639.jar and copy it into your Designer's plugins folder

  • (Re-)start Designer


Viewing available packages


Open the Parcel Service view by typing “Parcel Service” into the Quick Launch field in Designer's tool bar or via the menu Window – Show view… - Other… Depending on the number of repos it may take a while until all packages have been read and the table contents is displayed.

Choose the columns you want to be shown from the header context menu and filter/sort the packages you are interested in. The search text is evaluated as substring regex against package names, short names, versions, vendors and containing repos. There's also an option to limit the number of versions displayed per each matching package.

Selected lines or the full table can be copied and pasted into Excel or LibreOffice for further processing.

If the repository contents has changed outside Parcel Service (e.g. by pulling updates from other team members through “svn update” to your working copy), hit the “Reload” button to refresh the table.

Updating Parcel Service


Parcel Service checks for updates once a week by default (when it's view is opened). You can disable update checking or change the check interval in Preferences - IS4IT - Parcel Service

You can also force a check for updates manually on the Preferences page or by selecting a row in the table and pressing Ctrl-Alt-U.

Setting up local online repositories


Local online repositories have to be configured in Designer's Preferences – NetIQ – Package Manager – Online Updates with a “file://” URL scheme so Parcel Service can find and access them. They do not have to be enabled, just adding them to the list of package update URLs is sufficient. A new online repository is just an empty folder on a local drive. In order to initialize it, either publish a package to it from the Package Catalog of a development project. This creates the necessary files and subfolders.

Alternatively, add new or existing online repositories via Parcel Service's “Add Online Repo” button, which will add them to the preferences dialog in the correct URL syntax for you and also initialize it with the required templates and subfolders, if required. Parcel Service will also update any online repo added this way to IDM 4.5 format, adding deprecations support.

Editing online repositories


In order to mark a package to be added or removed to/from a repository, simply double-click the table cell at the intersection between package (row) and repository (column). Hit the “Save” button once you're happy with your planned changes or “Cancel” to revert to the on-disk status.

Adding a package to a repository with Parcel Service leads to exactly the same changes in the repo as if you had published the package from the Designer project it was developed in - only you do not need to find, open or even own that project. You can even re-publish any package that's installed in Designer, which can be useful if you developed an Add-On to a NetIQ package and want to provide a single online repo to your customers that included your code together with all dependencies from other vendors.

(Un)installing packages into/from Designer


Parcel Service lists all packages installed into Designer in a virtual repo named “Installed”, which can be edited like any other online repo. You're changes only apply after restarting Designer, though.

Removing Parcel Service


To uninstall Parcel Service, delete the following files and folders and restart Designer:
<designer_install_dir>/features/com.brummelhook.dirxml.repomanager*
<designer_install_dir>/plugins/com.brummelhook.dirxml.repomanager*

Labels:

How To-Best Practice
New Release-Feature
Comment List
  • in reply to lhaeger
    Hi Lothar,
    I just used Parcel Service for the first time in production and it works like a charm.
    Thanks for your work.

    Daniel
  • Hi Daniel,

    yes, you need to publish the package to one of the package repos Parcel Service knows about. And since you can only publish released packages, Parcel Service will only deal with those and not with any new package still under development.

    Packages are stored in Designer in two places:
    a) as a set of objects in the Package Catalog of each project where you create and/or use them and
    b) as feature and plugin jar files in <Designer install folder>/packages/eclipse.

    When you import packages though Help - Check for package Updates... or by adding them in Parcel Service to the "Installed" virtual repo, they go as jars into <Designer install folder>/package/eclipse. After restarting Designer, it knows about them, and offers them for installation and updates inside projects opened with this Designer instance. Only when you first use a new package (or a new version of a package), it's jar will be extracted and the contents imported into the project.
    So basically this is a two-step import process where the second step is transparent to the user. This used to be a manual step in earlier Designer versions (I think the 4.0.x versions) that has been automated only afterwards (beginning with 4.5, iirc).
    It is also because of these two independent steps that you should regularly remove unused packages from the Package Catalog in all your projects.

    Parcel Service does NOT access any of your projects (stored in the workspace folder and possibly shared via version control with other Designer instances) but only the packages your local Designer instance has installed in <Designer install folder>/package/eclipse
  • in reply to lhaeger
    Hi Lothar,
    thank you for sharing this plugin.

    As Stefaan I think I haven't fully understood how new custom packages should be handled. After creating a new package which actions have to be taken to make it visible to the parcel service? Do I need to publish it once via Designer?

    Thanks in advance
    Daniel
  • in reply to stefaanv
    The virtual repo "Installed" lists all packages that have been installed into designer, either via "Help - Check for package updates..." or through Parcel Service directly. Basically it lists all feature-jars found in <designer-install-dir>/packages/eclipse/features (Parcel Service works with published packages only and does NOT look at any project's package catalog).
  • Hi Lothar,

    I tried out you parcel service, and have one question: custom packages I created do not always seem to be in the virtual repo "Installed". Is this because these are not build/released/published? At what point do custom packages show up in "installed"?

    Stefaan
Related
Recommended