Intention
This tip lists different best practices how we are managing certain administrative use cases within Integrity LM. All of them are in production since some years, and very stable.
Status
The list below is a working list. Feel free to comment or even add more. I will update the main tip section accordingly.
Best Practices with Use Cases
Topic #1
Environment specific images for the Presentation Layout.
Use Case
As a user or administrator, I want to see easily in which environment I am working.
Best Practice
Add an Image to the presentation layout, which has always the same name, such as environment.png
The link is pointing to a file on that specific server.
The image itself presents the Environment, such as TEST or PROD.
This solution also works in a stage environment.
Example
Topic #2
Stageable Gateway Configurations
Use Case
As a system administrator, I want to stage all files, including the XML files in gateway + gateway/mappings.
Best Practice
see HowTo-Stage-Gateway-Configuration-Files
Topic #3
Versioning of Customizations
Use Case
As an Integrity Administrator I want to version any customized file of my Integrity Server
Best Practice
Create a folder structure in Source which matches exactly the sever structure of your Integrity. Put all files that you want to version into this folder structure.
Create also a folder structure under public_html/gateway to serve the Best Practice #2.
Create another folder structure that matches the local folder structure for your client. Put any file into this structure which you need to deploy to your clients.
In addition, create a separate folder structure for any custom development, such as local customized Java Classes.
This approach will finally version any file that is needed to manage your Integrity Installation.
Topic #4
Easy recognizable Item Images
Use Case
As an user, I want to easily identify the item type I am working with.
Best Practice
We have seen very different ideas of how a type image is used by our PTC customers. Our suggestion is that you use different images for different types, like it is defined in the ALM solution.
If you add more types, our suggestion is to reuse the small image and use it also for the main image.
You can use MS PowerPoint to create such images ('save as image' functionality)
All images should have the same height.
The color itself shall rather be bright, and never bold. Because the user focus shall remain on the data, not on the image 🙂
Example
It may look like this:
Topic #5
Use Stage Configuration for IM
Use Case
As a System Administrator, I want to get as much as possible process support for administrative changes.
Best Practice
If you have not considered yet, take a look at the Stage Configuration for Integrity IM. The Stage configuration allows you to utilize a transportation wizard helping you to move configuration changes along your environment chain.
It is described in the Administration Guide from Integrity LM.
Topic #6
Keep the Database small with File Vaulting
Use Case
As an administrator, I want to utilize system possibilities to keep the database size small.
Best Practice
Enable File Vaulting for the Integrity Database
This technique will move binary data out of the Source area into the file system, but the data files itself stay accessible.
Finally, such files are no more part of the database, therefor the database size stays longer small.
You may also consider this feature when you are life and you want to reduce the database size again.
Hint: usually the data size stored in Integrity is caused by such binaries (usually ~ 70% of the total DB size).
Topic #7
See the Configuration from a different perspective
Use Case
As an administrator, I want a documentation of the Integrity configuration, to check specific elements without the need to open the Administration Client.
Best Practice
Use IntegrityDocs
Topic #8
Item Level Restriction
Use Case
As a user, I want to get more guidance into which project level I shall store Items and Documents. In other words, Integrity shall prevent me from putting any item into any project (level).
Best Practice
We have implemented a trigger preventing the user to put items and documents into projects which are not allowed.
This trigger handles explicit item and document allowances, but also item and document restrictions on the project level only.
For example, the trigger raises an error saying: "You are not allowed to store item of type XYZ into the project level 2. Such items can be stored in project level 1 or 3 only".
This helps us to keep a good data project quality.
Topic #9
Dedicated Training and Development Environments
Use Case
As a Training Coordinator or as a Developer, I need a dedicated Environment where I can prepare my data and run my own tests and/or prepare Training Material.
Best Practice
Use "im createsolution" to create a "configuration copy" of your environment.
Install this "configuration copy" into a dedicated Integrity Server (or VM).
From that minute on you can work completely disconnected, prepare the demo or test data you need, or execute certain development tasks.
Later on you bring your results back into the production environment.
The "configuration copy" will be very fast and is very small, because it won't contain any production data.
Exporting with "im createsolution" is a matter of some minutes, installing it might take a bit longer.
Alternative approach: Stage-To-Empty
Topic #10
Functional Testing with Integrity STeF
Use Case
As a system responsible, I want to automate functional testing, to reduce regression test durations for configuration changes
Best Practice
If you are interested in a thorough testing approach for Workflow & Document changes, such as Trigger, Field or State configurations, consider the use of the framework "Integrity STeF".
STeF stands for Setup Testing Framework and helps you in definining and automating any tests that you would usually perform manually.
The Framework is Wiki based, test cases are defined in so called Fitnesse tables.
You can run each test separately, or combined in test suites, or all tests for the whole application at once.
Also a command line execution method is supported, for nightly tests 🙂
Integrity STeF is also an excellent tool to generate test data for tip #9.
The next set of Best Practices is here
View full tip