Login Converter – Utility for mass updating Login IDs

Updating a Remedy system when a Login ID has to changed can be a long and slow process if you want to keep the integrity of the data after changing the Login ID.  BMC provides the Data Wizard tool to do this however it has many limitations such as:

  • Only being able to update one LoginID at a time
  • Requires customization to target custom forms/fields
  • Is generally slow and doesn’t search within all fields (only target fields important to ITSM workings)

There are also other third party tools developed for the same goal such as the RRR|LoginConv ( build which utilize arsPerl and since arsPerl has fallen a bit behind from a support perspective, an more up-to-date alternative is something that has been asked for on the ARSList.

Building upon some previous work I’ve done, I’ve put together a utility based upon the Java API that will perform the following tasks:

  • High performance updates from an old LoginID to a new LoginID utilizing merge action that bypasses workflow
    • Updates all Character Fields (regardless of size)
      • Match exact
      • (optional) Match surrounded by single/double quotes
      • (optional) Match surrounded by separators such as white-space, comma, period, pipe, semi-colon or colon
    • (optional) Updates all Status History entries
    • (optional) Updates all Diary Field entries

Here is a peak at what it looks like running through a multiple Login ID update:


Some key features of this utility include:

  • Ability to load in list of conversions from file when doing multiple updates per run
  • Pre-loaded list of all data forms from your connected AR System into the Specific Form field (with auto-fill capabilities)
  • Ability to specify a list of specific forms to update or all forms
  • Ability to specify a semi-colon delimited list of specific fields to update or all matching character/diary/status history fields
  • Two progress bars show displaying progress by the currently processing form and the overall end to end process.
  • Ability to control the speed by way of a delay slider that will slow down or speed up the processing dynamically
  • Ability to pause / resume the processing
  • Ability to cancel in-flight updates (doesn’t not roll back, just stops wherever it happens to be)
  • Ability to toggle on/off the scope/matching capabilities
  • Ability to specify all forms to be checked or a specific form only
  • Ability to ‘simulate’ the run without actually make any changes
  • Detailed output provided on forms processed and matches found

Recommend you test this in a non-production environment and gauge the results prior to running this against a production system.  I also recommend using JRE 1.7 (64-bit) while directly on the AR System server you are connecting to to execute this program for optimum performance.  It will run just fine from any host that can connect to the AR System via API but due to the type of work being done, running this utility on the server itself will increase the throughput considerably and take the network layer out of the equation.

NOTICE:  If you have a very large system (10s or 100s of millions of rows), the initial time to get the entry totals may take awhile before you see the program start to process forms.

NOTICE:  If you begin to see too much performance degradation on your AR System and want to lessen the impact, simply move up the slider bar to introduce delay between processing which will elongate the processing but reduce the load on the system greatly.  You can even pause it during prime business hours to resume it later when there are less users on the system.

If any issues arise, please let me know and I will make adjustments.   You can download the program below


Version 1.1 Released – October 28

  • Added ability to pre-load list of Login IDs to update via file import

Version 1.2 Released – October 28

  • Fixed some visual anomalies
  • Added more detailed output to found matches, you’ll now see all the fields that matched and will be updated

Version 2.0 Released – October 28

  • Reworked the UI to be more efficient and consistent
  • Changed specific form field into menu with pre-loaded remedy forms with auto-fill support
  • Improved how detailed output is generated and provided more consistent information on how many updates per form and what field specifically are update

Version 2.1 Released – October 30

  • Added ability to specify multiple specific forms rather then just one or all
  • Added ability to specify multiple field IDs in a semi-colon (;) delimited list instead of always running against all character/diary/status history fields
  • Added ability to show/collapse Options section while job is running in order to give more real-estate to the detailed output window when needed.
  • Added additional error checking for bad input from user in various sections
  • Small re-factoring and UI fixes

Version 2.2 Released – Nov 18

  • Switched to H2 database for login profiles and lay groundwork for eventual capability of saving configuration profiles for repeatable updates
  • Don’t stop when a form throws an error in the pre-processing phase

Version 2.5

  • Returned to SQLite DB
  • Added ability to specify forms via import file
  • Added debugging capabilities with the -debug option flag
  • Updated User Interface and Libraries

Version 2.6 (yanked – do not use)

  • Faster processing
  • Attempt to fix a bug with some versions of AR System / Customer environment terminating after the first match

Version 2.7

  • Reduced number of API calls to the system considerably for better speed-ups compared to v2.6
  • FIx some outputting errors / ommissions in the display panel
  • Fix corner case where status history was not being updated correctly