Things to set when you install Designer

geoffc

By: geoffc

January 25, 2012 2:01 pm

Reads:1,177

Comments:3

Score:Unrated

One of NetIQ’s (Novell’s) Identity Manager product major strengths is the tool used to manage the solutions. Designer for Identity Manager.

If you are using IDM and are not familiar with Designer, stop, go get it, and start using it. There is a lot you can do in iManager, but almost all of it can be done better in Designer.

Designer has some amazing features. For example, it can do most everything that iManager can do, such as:

  • Manage DirXML Script Policy objects
  • Manage Jobs
  • Manage Entitlements
  • Manage Provisioning stuff. This includes:
    • Managing the Directory Abstraction Layer (DAL)
    • Managing the Provisioning Request Definitions (PRD)

New with Identity Manager 4 is Packages, which are only really supported in Designer, so if you want to use them to make a new driver, you have to use Designer, as iManager will not let you create a driver from Packages.

You can read more about Packages in this series:

Designer has a couple of great features on top of what iManager provides, like:

Simulator, which allows you to test code offline, and is hugely useful. You can read more about that in this article: Using Simulator in Designer

The eDirectory Browser lets you stay in Designer, and look at objects in your tree. You can read more about this in the article: Using the eDirectory Browser in Designer

There is an XPATH expression builder, that is basically useless as a builder, but great as a validator, built into Designer, and once you understand how to set the context node, it is a great tool. Read the following article for a discussion of the single most important thing to know about XPATH in IDM, which explains all this: Another attempt at explaining the XPATH Context Node

The way changes are pushed from Designer to the tree is both a benefit and a detriment. In iManager all you changes go live, which is nice and more efficient in terms of working. Thus Designers need to push (via a Compare or Deploy) the changes to eDirectory can be tedious at times. I cannot recount the number of times I have made a change, tested and it failed, only to realize I forgot to push the change, or else forgot to restart the driver.

Of course, be careful using Deploy versus using Compare, as described in this article: Designer 3.5 Compare-Deploy Issue

But along the way, you get shown a great display of exactly what has changed, so that you know exactly what you are changing in eDirectory. This also means you can discover what has changed in eDirectory since you last compared to see if anyone has been mucking about in your stuff while you were away.

As you can see there is a ton of great stuff available in Designer and you should really consider using it, if you are not already. For those you already using Designer, I have some tips for getting started with it.

When I get started with a new install of Designer, there are a number of settings I change to configure it the way I like. I have yet to figure out where these settings are stored so I can copy and reuse them. (Which would probably not work when moving between versions as new config options would probably be lost in the process).

I like to minorly customize some of the settings to make it faster and more efficient. So far I have nine changes I make, and I would love to know if you have any personal preferences you change as well, since I am sure people out there know more about Eclipse’isms than I do. For example I know of two really nice Eclipse plugins that help out. One fixes the tab ordering issue, where once you start exceeding the available screen real estate for all the tabs, Eclipse by default uses MRU to display them. Most Recently Used (MRU) is a nice idea, but since I remember the order I left the tabs open in, usually when I have multiple project open, I like to group them together so this MRU reordering actually drives me nuts. I have to remove this when I work on memory or bug issues, but I quite like it. Someone else recently wrote an Eclipse plugin to make it possible to reopen a Package that you do not own, which is helpful (officially when you loose the original Package project that made it, any other use would be an abuse…)

If you have any preferences of plugins, please comment on this article, so we all can share the tips. I will edit and add interesting ones if you would like to keep it all together.

Eclipse is such a big product, used for so many different things (Its the GUI EMACS!) that there are tons of helpful settings just waiting to be tweaked!

I will group these into Eclipse specific settings, as opposed to Designer plugin specific settings.

Eclipse settings:

These settings are really Eclipse related settings, and any Eclipse application might use or benefit from them.

Enable line numbers

This is an Eclipse setting for text views of data to add a column along the left hand side showing line numbers. This is most helpful because some of the errors you get running DirXML Script will often include a line number reference. For example this error shown in Dstrace:

Message:  Code(-9083) Error submitting event to subscriber: 
	Code(-9188) Error in vnd.nds.stream://IAM-DEV/SYSTEM/RESOURCES/DriverSet/SAP+User+Management+CMP+JCO3+Designer+3_5/Subscriber/sub-etp-Fanout#XmlData:142:
	Invalid variable name: 'AQ1CLNT200-ctype'.*
	

Here the Policy object that the error occurs in is named, as:

IAM-DEV/SYSTEM/RESOURCES/DriverSet/SAP+User+Management+CMP+JCO3+Designer+3_5/Subscriber/sub-etp-Fanout

Then the attribute the error is stored in XmlData is basically always the same. (Though for PRD’s or User App related things, it could be stored in other attributes like srvPrvProcessXML but probably not in this kind of error).

But the next number, the 142, means on line 142 of that rule. Counting lines stinks, and I have often had policy objects with 4000 or more lines of code, so having the editor show line numbers is a huge help for troubleshooting.

To set it, like all these settings, in Designer, select the Windows menu, and at the bottom select the Preferences item.

General, Editors, Text Editors, and midway down the page, enable Show Line Numbers.

Disable Build workspace automatically

I was told this setting by one of the folks in Novell support passed on by engineering as an attempt to boost performance. I am not entirely clear, but if you are eagle eyed, in the bottom left of the screen in Designer, you might see a Building workspace… with a percentage indicator go by once in a while. If you disable this setting, it stops trying to do it in the background, potentially avoiding some slow downs. I have no idea if this really makes a difference, but since they usually expect it set for troubleshooting, I just leave it disabled.

That is, turn OFF Build Automatically on the Workspace preferences pane.

Designer, Windows, Preferences, General, Workspace, untick Build Automatically

Designer specific:

These are settings specific to Novell’s plugins that make up Designer itself.

Show version, author, last changed

In iManager and in Designer, when you make a new rule in a Policy object, using Policy Builder there is a Comments field at the top that I use quite heavily. I try really hard to document what I am doing, but more importantly, why I am doing it, in the Comments section.

Someone pointed out that if you use a Trace token inline in your policy, and disable it, it is functionally a comment token. Once I heard that I started doing that as well.

Regardless, by default, there are actually three more information fields not enabled in the Policy Builder and thus I always turn them on, since I use them heavily.

Show Author, Version, and Last Changed information are the three and I personally think they are quite useful. This lets me sign my handiwork. Alas there is no automated way to click and bump the revision number, so I have to manually manage these. But if I come back a year later and see that I left this as version 17, then I get an instant hint that this is a very tricky rule. I usually write in the comments what I changed in each revision, signed with date stamp and my name so I know when I made the change. This came up recently as I understood in a meeting a requirement that no one else did. But I wrote down the info in the Comments, so I had the date I did it, based on a meeting the day before.

I entered an enhancement request to add a preference to let us select a date format, a version counting method (whole numbers, 1.1, 1.1.1 perhaps), and a name to sign it with, so I could just click increment and let Designer handle that. But alas, this might be considered low priority to product management.

The problem with this default setting is that with it disabled out of the box, people do not use it. I would prefer it be used out of the box.

Designer, Windows, Preferences, Novell, Identity Manager, Policy Builder, enabled three options at the bottom.

SVN polling interval

Version control is a great concept, that allows you to track the changes you made, when, and by whom. However the implementation in Designer has some odd performance and memory issues. The Auto Update 2 for Designer 4.01 has some memory leak fixes, but one of the things you can do to attempt to better performance is drop the polling interval from the default of every minute to every hour. Alas, if you are really using it, you will need to manually poll to see if someone else checked in before you, but it does eliminate these odd pauses in the background.

Designer, Windows, Preferences, Novell, Designer, Version Control, set the polling interval to 3600 seconds.

eDir Cert settings

This is an important one for me, since often clients have certificates generated for the default of two years, and then we get a call every two years to help them renew their certificates. To heck with that! Set your default to ten years, Always overwrite existing certs will help make it easier for you.

Designer, Windows, Preferences, Novell, Identity Manager, set 10 years to validity, Always overwrite certs.

Hide passwords in compares

Passwords when stored in eDirectory can be pushed by the Designer where they were entered. But if you import the project from an Identity Vault, you do not actually get the encrypted value of the password (or at least not the identical one) and therefore every compare you do after that will always show the passwords as different.

Thus I turn them off from the display with this setting. Also on the same tab is Copy Cross driver policy references into exported configuration files which is useful if you use libraries, or share policies across drivers.

Designer, Windows, Preferences, Novell, Identity Manager, Import/Deploy, near the bottom, Filter passwords out of summary and compare dialogs.

set paths for Packages (new to 4)

With the release of Identity Manager 4, Packages became available and there are a couple of Package related preferences that are quite useful to set.

These are more useful if you are building packages than necessarily just using them.

This preference page lets me define where to write the JAR files that is the Package output as I develop, and test new packages for clients.

There are four directories. Build is where the initial build goes. Import is if you want a default to look for packages in the file system. Localization is for adding support for other languages. Publish is where finished packages that perhaps you wish to write straight to a web server to make available to other customers. I am not sure if you use WebDAV or the like to publish there, or if you are expected to have the operating system manage the export to the web server.

Designer, Windows, Preferences, Novell, Package Manager, Location Defaults, and set the Build and Publish directory paths.

Vendor defaults for packages

When I build a package, I want my name, my companies name, and so on stored on the package. It takes a bit of effort to retype this every time, so being able to set it by default for any package I build is great.

Designer, Windows, Preferences, Novell, Package Manager, Vendor Defaults

Package sources

This is interesting, as Designer ships with two paths, Novell Public, and Novell Beta. But the beta ships disabled. A number of packages have actually wandered through the beta to public path already so it is useful to enable Beta to see what is going on.

Also, if you are getting Packages from somewhere else then you can enter a URL here. As you can see in my screen shot I have Lothar Haeger’s package source added, since he has been rebuilding the Password Notifier driver to use Packages.

Designer, Windows, Preferences, Novell, Package Manager, Online Updates, enable Beta, and add additional URLs.

As you can see there are a few simple settings you can change that can help your day to day usage of Designer.

Please let me know if you can think of any more, since I would love to learn new Designer or Eclipse tricks.

0 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 50 votes, average: 0.00 out of 5 (0 votes, average: 0.00 out of 5)
You need to be a registered member to rate this post.
Loading ... Loading ...

Tags:
Categories: Identity Manager, IDM Designer, Technical Solutions

Disclaimer: As with everything else at NetIQ Cool Solutions, this content is definitely not supported by NetIQ, so Customer Support will not be able to help you if it has any adverse effect on your environment.  It just worked for at least one person, and perhaps it will be useful for you too.  Be sure to test in a non-production environment.

3 Comments

  1. By:weaver

    Hi Geoffrey,

    One other item that gets to be an issue is the local history of a workspace.

    Designer getting slower and slower?

    Can’t find your disk space anymore?

    Poke your nose in the Designer workspace(es) and see if you, like me, have an outrageously full history directory.

    The path you should examine is relative to the workspace location. So, if your workspace is c:\Users\Weaver\workspace, for an arbitrary example right off the top of my head, the history that I’m referring to will be:

    C:\Users\Weaver\workspace\.metadata\.plugins\org.eclipse.core.resources\.history

    Substitute the path to your workspace above.

    This folder contains a set of folders named with two hexadecimal digits, such as 1f, 23, etc.

    The purpose of this area is to store file revision changes from your project to act as a failsafe backup. It’s a core eclipse function, not a Designer one.

    The problem is manifold:

    Eclipse doesn’t always clean it up properly, so files accumulate over time and don’t go away. Ever.
    Cleanup is only done on proper Eclipse exit. Crashes don’t count. Force close also doesn’t count. Also, see 1.
    IDM projects use a metric ton of files, seriously, a huge freaking amount of them. Many of them change all the time. Loads of tiny files, some big ones, all of them changing all of the time for seemingly simple changes to the project. This causes the history to fill up rapidly.

    Basically, you should clear out this folder from time to time. Mine had around a gigabyte of storage in it spread across over 150k files. It took an hour to delete. This made a huge difference in performance and stopped a hang that I was getting in Designer.

    There is a setting that you can change in Designer prefs to reduce the impact of this history and, perhaps, reduce it’s terrible growth.

    From Designer, Window menu -> Preferences. Expand “General -> Workspace -> Local History”. Change the values to smaller values. I went with 1 in all cases.

  2. By:jwilleke

    Geoff, as always, more good information.

    Weaver, also, thanks for the tips!

    -jim

  3. By:grodaz

    Hi Everyone:

    There is more things to do that can help improve designer:

    1. Designer use a 32 Bit Java machine and is preconfigured to use 1 GB of RAM max, but it can Use at least 1536 MB , in the designer folder you will find a file called: Designer.ini with the java memory configuration, user this setting:
    -vm
    C:\Tools\Novell\Designer\jre\bin\javaw.exe
    -clean
    -vmargs
    -Xms1024m
    -Xmx1536m
    -XX:MaxPermSize=128m
    -Dfile.encoding=UTF-8

    The java in desginer 4.0.1 can’t use more than this memory.
    If you are using Roles and Entitlements, belive me this extra memory will help you

    2. If you have more than 1 proyect, remember always disable the proyects you dont use:
    Project TAB -> (Right clic on the project) Disable Project

    3. Remember the more tabs you have opened, the more resources need for Designer, I found that there is a tab called: Provisioning, that try to maintains a lot of things in memory, if you don´t use close it, and restart designer, try to use insted (if you can) the Tab called OUTLINE.

    4. If you have more than a server per driverset, always set a preferred server:
    Right click on the Driver Set -> Server List -> Preferred Server, and set the one you chose, this will improve and will correct an issue on drivers creation that consist in the following: When the project is too large and you create a driver, the driver does not store the configuration you gave it through the proces, all the XML configurations stay in blank.

    I hope this help

Comment