I worked with SugarCRM a lot. Actually, my first “real” dev job started with building a robust software solution based on SugarCRM. And so I learned a lot about enterprise software and developed a bunch of solutions using the platform I started with.
Not long ago I started consulting businesses from the US on SugarCRM and enterprise software. I even took over some dev work. Then I found myself managing more than one instance of the same web app. I soon started messing things up by making changes to the wrong application because they all looked and behaved the same!
I just had to find a solution that would prevent me from creating a complete mess and possibly some international scandal by playing with a live application instead of my local app. Naturally, I built a Google Chrome extension.
When you’re creating and/or maintaining software for enterprise clients you have to have at least 3 instances of the software solution:
- local (development) instance – your local machine, where you are developing the application and running automated tests
- staging (testing) instance – this is where your client is testing and reviewing the solution you built
- production (deployment) instance – this is the deployed (live) solution
And they all look exactly the same, have all the same features etc. More than often they display the same data (specially staging and production app).
What can happen?
Let’s say your application delivers automatic emails upon record creation or changes. In your local instance, you don’t have to worry about any unwanted emails being sent because you were smart enough to update all emails inside the app to your personal email address (if you didn’t, do it now!).
But what happens when you fail to notice that you’re working with a production instance for example and trigger some unwanted email? Consequence can range from a small inconvenience to a PR scandal for your client. And the latter can lead to a lawsuit or two! Not funny – right?
And this is just one example in an ocean of potential issues.
How to solve the problem?
You have to organize your apps. Each app instance must be clearly different than all the others and you have to be able to tag them somehow so that you don’t mess with the app’s UI and still get a clear information that you’re working with the right instance.
I solved the problem by creating an intuitive extension for Google Chrome and gave it the worst possible name in history – App Instance Tags. Although the name would be more catchy even if I called it “Wonder Poo”, it really does describe what you can do with it – tag your app instances:
The most important fact about this extension is that it just works! You cannot make the critical mistake of making changes in the wrong web app because you would have to be blind not to notice the colored tag icons L, S or P:
And it comes with whatever useful information you would like to attach to that tag – the name of the application for example:
Where to download?
Recommend to others
Feel free to share the love in the comment section below or by sharing this article to your friends or colleagues.