From time to time we need to cut back the bushes and trees to make them more manageable in our garden. This also helps ensure that they do not grow too big for their surroundings. Once done we can sit back on our deck and have a nice cold drink and just enjoy the view.
With Saleslogix 8 some changes to the way of the product got delivered made be think of this analogy. Within that timeframe a decision was made to include several localizations out of the box (French, Italian, Russian, and Danish I believe). The VFS (where all the customizations were stored) grew from approximately 200 MB all the way to a whopping 1GB when exported to the file system. Now though I think for the community as a whole this is a good thing to ensure that all localized versions are rolled out at the same time it does have a cost for organizations that really only need one targeted language.
Interesting enough a solution is fairly simple before you start your development/upgrade scenario. Lets just do some pruning. Basically I recommend after backing up your VFS for safe keeping going in and purging the non needed localizations
The easiest way to start is to export the VFS to a file based model (FLS) through the workspace manager.This allows us to work locally and use simple search/delete from windows explorer.
The main resource files are scattered throughout the model so I will start at the root and of the model and using the search look for all the files that end with *.[locale].resx
I complete this search for the following terms:
Each search should return approx 1522 files. After each search select all the files and [delete]. Once you delete all of the resource files you have removed about 40MB of extra assets.
The next step I do is visit each of the portals in the model. There are 2 sub folders in each portal that we need to be thinking of.
Each of these folders contain specific sub folders for each of the extra Lanages. In these folders select the \RU, \IT, \FR, \DE sub folders and delete them as well. Deleting the sub folders in the bin folder will save several MB however the real win is in deleting the localized help folders. In the SalesLogix client portal the help saves more then 350MB.
Ultimately once this is all done the size of the VFS goes down from 1.04GB to 448MB. Quite the savings and ultimately will aid in deployment times and storage backup needs. This should also lower the memory requirements in depoyment as your removing 6+ K of files that need to be inspected for changes.
As always good development means good practices.
The dreaded question, why should I renew my M&S – What do I get for it?
We all would like our businesses to run like well oiled machines. Software is built, and sold, M&S’s renewed, PSG group continues to grow as your name gets out is the dream but the path to the successful software business is paved with sleepless night, crunch times, mental exhaustion and exhilaration of seeing someone using your product and/or services and being so happy to recommend you to everyone you know. I have to say most days I love what I do, I get to work with lots of amazing people and to this day I actively develop tons of production code while growing BITtelligent.
For most of the history of the company we were and continue to be primarily services based. Having a long term relationship with Sage and more specifically the Saleslogix team I got to know and work with them with several of the Saleslogix technologies. I was asked to take over the Dynalink and ERPLink products and more then a year and half a go I acquired the IP rights to continue to move the products forward.
Its been a interesting year to say the least. During this time Saleslogix was acquired by Swiftpage and we have been lucky to be part of the NetSuite integration project and various other. I do really cherish not only the working relationship but the friendships I have made with the teams over the years. We have been moving forward Dynalink and ERPLink in a slow and pragmatic way. I followed this approach as we had yet to identify the market of users and there was no transition plan of current Sage customers over to BITtelligent.
As much as we took a slower approach we had made material investments in tooling (3rd party libraries, equipment, licensing solutions), rebranded the product. Spent hours, days, weeks reworking UI, fixing defects, testing customer scenarios and adding new versions to the compatible list.
When it came to Dynalink we not only changed up the UI but we completely reworked the services engine, updated the scheduler, fixed defects, added custom actions, removed crystal reports so that we no longer had to deal with version conflicts and brought MAS 500 one way sync back in.
ERPLink went a bit differently as it really has a smaller community. The problem with synchronization platforms that are tied to specific endpoints is that your customer pool is much smaller then if you have a generic sync engine. Initially we had build (me specifically) a completely new administrator to remove any requirement on the Saleslogix sales client. To this day it remains about 90% complete but after much deep thought It was difficult to continue on without seeing a growing community. The fact is about the same time I took over ERPLink Sage put MAS 500’s future in doubt. I loved the workbench and what it offered but I could not see it providing a ROI even close to break even and had to make the heartbreaking decision to shutter it.
Interestingly not all is lost. We have been on a bit of a journey behind the scenes for the last little while and still have a ways to go to consolidate our applications (Dynalink, ERPLink, + Custom Platforms) into a more common synchronization platform so the initial vision of the workbench and consolidating our efforts will come to light.
That being said back to the initial line (what do I get for my M&S), being that we are hitting anniversaries for our first customers on M&S, the question arose. The standard answer is that for the M&S dollars the company has access to the latest builds of the product and access to submit defects and within a reasonable time obtain a resolution. The more complex answer is that the M&S dollars contribute to ensuring that the product continues to move forward, newer versions are built and compatibility is addresses before it is needed.
The reality is that M&S is rarely enough to cover the yearly costs as we really do not charge that much but it does help a bit.
Part of developing software is determining the right feature mix for the broadest customer base. The features are there to make it easier for the users, the internal support team or sales to generate new business. Finding the right feature that drives adoption and delights the end customer is a hard task indeed. This is more difficult when you have a smaller customer base as you now need to make sure that you can accurately cost the feature as well. Any small company needs to determine if the cost of developing and supporting the feature will be paid for within their sales and support base. As you can imagine there are a ton of features that never bear any return on investment.
BITtelligent tries its best to determine the right mix for Dynalink, Erplink and our next generation Sync platform. Unfortunately time from time a Feature does not get into the product because the cost of the feature is to high for our team to implement and current M&S/Sales will not pay for the development effort. It’s the reality of business that software development works this way and as a product vendor its difficult continue to build if there ultimately no financial reason to do this.
These decisions ultimately effect customers that may have certain business cases, or extensibility needs that could benefit with the addition of these one-off features. I have been thinking for a while how to address these needs while ensuring that we (BITtelligent) can justify the development costs. To that end I believe we are going to introduce the ‘Integration’ customization program where we can offer custom builds of our integration products allowing businesses to build off of the base functionality and where it makes most sense extending into their custom business domain. I have yet to work out the details however I believe a 2 tier method depending on if the customizations are owned by the customer or BITtelligent where the second choice would be a discount to the project rate.
Ultimately we would like to be as flexible as possible while being fair to all parties.
What do you think?
As I prepare to leave the hotel to head home I am writing this. This week I attended the first Swiftpage run Saleslogix conference in Scottsdale, Arizona. I love the state, and the location always is a easy choice to host our group of Saleslogix partners, developers and Swiftpage employees.
For many of us in the community this was the first time to interact with the upper management, and hear the story behind the acquisition. The conference crossed a 2 1/2 day period and covered a myriad of topics. I was able to provide a talk on ‘.net extensions and SData’ . Although the time of my session was compressed as the earlier session ran on, I believe it was received positively. I hope to blog on the subject in the future.
I was happy to see a lot of old faces from the Saleslogix community past, and the story's were abound by the fire pit over drinks. A lot of laughs were had, new friends made and the goal of networking succeeded.
The fact that Swiftpage had the conference with the amount of work that each and every swifty has was incredible and should be commended. The primary importance this year was not content, or entertainment or any other indicator. The only importance here was for us, the most loyal of partners and those who invest their livelihood on the success of the platforms was to meet the team who is running the company and understand how this story that began in May will play out. I feel in that respect I am more enlightened and can start to steer my company in the right direction.
I am hoping that there is a conference next year, and we can all sit by the fire and talk about how successful we and Swiftpage have become as partners in this journey together.
I raise a beer to the Swiftpage nation