Fixing the missing List Icon (Members) in the Dynamics CRM 2015 Marketing List (on-premise).

Problem Statement
I’ve a marketing list created in Dynamics CRM 2015 On-Premise.This was working as expected up until I made changes to the screen layout of the Marketing List form.I will come to the exact changes made later, the symptoms of the problem were peculiar to start with.

Prior to the changes made in the form, the marketing list form looked like the snapshot below.


After the changes, more specifically done to the Members section, the LIST ICON was not visible. Also the ADD ICON (+) responded in an unpredictable manner. For certain contacts, when I tried to add them directly through the ADD (+) icon, the contacts would not be displayed on the list below, but for certain contacts it would be displayed in the member list.

However, if I went through the marketing list members option from the menu list, I could view all the contacts (including contacts which did not show up in the Members list above) displayed in the Contact Associated View.


As mentioned earlier, this problem started when I made changes to the format in the marketing list form. Typically, an untouched marketing list form looks like the one below.

And more importantly, the “Formatting” of the “Contacts” looked something like the snapshot below.NOTICE that the “Two Columns” option is selected but disabled.


After proceeding to make some changes to the “Formatting” of the “Contacts” in the “Members” section, I ended having the following Set Properties.


Since only the first option was enabled, I could not select “Two Columns” from the options given. I believe this could be the reason why the LIST Icon would not render on the Members Section and also the ADD (+) button behaving erratically.
I did try manipulating the FORM through the UI customisation, but every attempt leads me to an error which said “An error has occurred. Please return to the home page and try again.”



Since I had more than one CRM orgs, I had an instance which wasn’t impacted with this problem. After multiple failed attempts I finally found a solution to this problem.

Step 1. I created an unmanaged solution with only the Marketing List Entity in it. The solutions were created in the affected CRM org and the unaffected CRM org.

Step 2. Export the solution from both these instance, in short, I had two zip files.

Step 3. The customization.xml file from each of these solution needs to extracted and given appropriate names.

Step 4. Using any text file comparison tool (I used notepad ++) find the difference in the XML definition.

Step 5. I Focused on the XML nodes for “members” and Controls for “contacts”, “accounts” and “leads”.

Step 6.  What worked for me was replicating the customisation from the unaffected organisation in the customisation.xml of the affected organisation.

Step 7.  Save and Create a new zip file (unmanaged solution).

Step 8. Import this new solution in the affected org and publish the same.

Note: While creating the unmanaged solution, I only focussed on the marketing list, I did not import any dependent entities in order to avoid a large customization.xml file.




Technical Debt & Strategic Design

Debt is something that has always been associated with the financial world. However, it has also made its presence felt in the information technology realm.
The easiest way to understand technical debt is to view it from the financial paradigm. Let’s start with ‘What is Financial Debt?
Definition: An amount owed to a person or organization for funds borrowed.
Debt Components:  Principal + Interest
Debt Recovery: EMI (Part Principal + Part Interest)

What are the different Types of Debt?
Prudent Debt: If the Principal + Interest is lower than the yield of Investment, then it would be called a prudent debt. For e.g.  Housing Loan, Education Loan.
Reckless Debt: It is exactly the opposite of a Prudent Debt. For e.g. debt accrued on credit card bills.

Keeping the above principles in mind, Technical Debt for an IT project can be defined in the exactly same style.
Definition: When CODE is looked at as a Financial Burden, then the code lacking good quality & design and having zero test coverage gets classified as Technical Debt. This is a type of debt that incurs INTEREST for the future.
Debt Components:  Principal + Interest
Principal:  The cost of refactoring the code-base to a Good Quality & Design.
Interest: The extra cost to be paid for specialist teams to work with the existing code base.
The general symptoms of your code carrying technical debt are
1. —Reduced SCRUM velocity.
2. —General Chatter like “Only X can fix it”
—3. “CTRL +C”  “CTRL + V” of code everywhere.

The reasons for carrying technical debt could be as varied as using old libraries which are no longer supported (legacy code) to sacrificing quality to be “First on the Market” . The latter is actually the right thing to do in some cases.
Just like Financial Debt, Technical Debt too can be classified as Prudent & Reckless.
Prudent Debt: Taking on this Debt is a conscious decision to adopt a design strategy that isn’t sustainable in the long term , but will yield short term benefits. This type of debt will yield value sooner, but it needs to be paid off as soon as possible.
Reckless Debt:  Messy Code is Reckless Debt. Reckless debt results in crippling interest payments or long period of paying off principal.

Debt as a noun carries a very negative inference, but carrying technical debt need not always have a negative undertone. In fact, in today’s agile world it is part of the business strategy to carry some amount of technical debt in order to launch a product/service early in the market and capture a major chunk of the market. This strategy is very successful as long as there is conscious decision made to carry a prudent debt and an even more deliberate decision to repay the debt in the subsequent sprint cycles. However, there are cases where these decision are made inadvertently, plainly said, bad design & code. This kind of reckless and inadvertent technical debt will always lead to the failure or chronic pain to the business. The quadrants in the matrix below lists out the impact of deliberate/inadvertent approach to a prudent/reckless technical debt.

How to repay a Technical Debt?
Interestingly, unlike financial debt, technical debt need not be repaid in full. This difference between financial debt and technical debt is due to the fact that technical debt is used more as a metaphor than a metric. The table below lists out a few more differences.

Strategies for Repayment
The following three strategies of technical debt repayment should be based Cost, Risk & Urgency of the business need.
—Debt Repayment: Refactor or replace the code/framework/platform that is considered to be a technical debt.
—Debt Conversion: Replace the current solution with a “Good, but not Perfect” solution. This is a good option, if the perfect solution is prohibitively expensive to build. The new solution will have a lower interest rate.
—Just Pay the Interest: Live with the code because refactoring is more expensive than working with the not-so-quite-right code.

Best Practices
The following practices can help reduce your technical debt during the construction phase of your software.
1.— Create Technical Backlog, maintain a list of things to be done.
—2. Include cost for technical debt in requirement estimation.
—3. Create one buffer task per release for debt repayment.
—4. Have one Clean-up Release from time-to-time which are just Technical releases.

In closing, an organisation will accumulate technical debt over time because of the nature of the IT systems as we know it today. However, by simply being aware of the nature of the technical debt your organisation carries and having an enterprise strategy to mitigate the same goes a long way in ensuring that the organisation has a sustainable model to deliver its promised services to its customers.

Sources: InfoQ – Managing Technical Debt

Martin Fowler – Technical Debt Quadrant

How Digital Insight Can Improve Your Sales Strategy?

We are living in the age of the customer and not the seller, where the customer controls the majority of the front end sales process. This is a paradigm shift in the process, as the seller is no longer conducting a sales process. Rather, he facilitates a buying process. By incorporating a digital technology strategy that includes a compelling customer relationship management plan, businesses can achieve insights that promote a robust sales strategy.

Engaging in the Information Age
Moreover, the advance of internet searches, social networks and professional community’s enable today’s ‘super’ buyers to access virtually any information, easily compare options and validate them with a touch of the screen. Which is why, sales teams today must sell to this new breed of self-empowered, highly informed buyers. These buyers are resourceful when it comes to tracking down information about possible vendors and solutions. Put it simply, sourcing information about companies and products has become easier through internet searches, social networks and professional communities.

With the advent of the digital realm, we have witnessed a principle shift in the sales process where the modern sales professional will have to uses his digital presence to earn visibility and buyer credibility. Surveys have demonstrated that buyers today are already 57% of the way in the buying cycle before they reach out to sales. For complex purchases, that number is as high as 70%. Compare this to another study which demonstrates how the complexity and pressures in today’s market have led to sales people spending only 22% of their time actually selling. So, even if a sales person closed all his deals, he has done so in less than a quarter of his time.

Get Higher Conversions with Social Selling
A conventional marketing campaign provides only a 3% conversion rate, compared to social selling which delivers a much higher conversion rate of 15%. This has led to an increased spend in sales training for social selling. 79 % of sales representatives now achieve their targets using social selling techniques, compared to only 15% of those who didn’t use social selling to achieve their quota. As of now, social selling tops the lead to closure conversion rate amongst all prospecting methodologies.

A sales person is well aware that a cold call is only 3% effective (according to an IBM preference study) compared to reaching out via a LinkedIn in-mail, where recipients are likely to respond to those outreaches 67% of the time. The digital brand of the sales person should demonstrate subject matter expertise. Paying greater attention to signals being given off by buyers in the digital realm will provide an opportunity for the sales person to connect and engage the buyer/buying committee whilst amplifying their sphere of influence.

Make the Digital and Business Connection
Once you have a solid business strategy in place, you can improve sales productivity by identifying the right digital platforms to provide seamless customer service across various communication channels. Whether it is mobile wallets, geo-location tools or social media strategy, there are numerous ways to deliver a seamless customer relationship management experience. These can include:

  • Identifying a mobile strategy that offers multiple capabilities including browsing and buying of products, to interactions with customer service
  • Doing away with data silos by providing a 360 degree customer view that covers every interaction, whether it is by phone, online or over text
  • Delivering a social strategy customised to your goals, which offers customers direct access to you, and also to other customers if it forms part of your plans
  • Exploiting geo-location technology to personalise and deliver geo-aware customer interactions that serve up targeted offerings
  • Offering mobile wallet, mobile payment and cashless transaction systems that do away with transactional friction from the customer experience
  • Assessing the types of customer insights that can boost business, instead of being stuck with big data and analytics technologies

As no two customers have the same needs, desires and motivations for engaging with you, not all of them will contribute in the same way to your intended outcomes. Which is why, it makes sense to have a business-to-person model that accurately captures the relationships with customers. In my previous organisation, we had identified early on that customer relationship matters as a core principle in our growth journey. This was manifested in the fact that repeat business accounts for 80% of our revenue. We enabled customers to develop an effective digital strategy that served as a reference for their expected business outcomes. We did this with customer journey maps and data insight that helps identify the appropriate technology fit for existing architecture and strategy.


** Sources:

  1. The Multi-Channel Mandate ( e-publication)
  2. Always Be Closing, the ABC’s of Sales in the Modern Era (Microsoft Publications)

How I fixed my laptops battery problem ?


Over the past week i had the pleasure of watching the not-so-grotesque internals of my Laptop. It was a pleasant sight to watch all the hardware cramped together in a tiny box, I guess if there is a laptop with transparent exteriors, there would be buyers.

The reason for my laptops open heart surgery was a faulty motherboard, I had it changed twice, but now I’m guessing the second change wasn’t necessary. the reason why i asked the Motherboard to be changed for the second time was because my battery wouldn’t charge, for that matter, the only power source my laptop recognized was from the adapter. This, in spite the fact that the Operating System recognized the battery and showed it current capacity.

After some incessant calls made to my TIS group and our DELL supplier, it was a call center executive that fixed this problem. The Prognosis was Simple.

1. Shutdown the laptop.
2. Disconnect the Adapter from the laptop.
3. Remove the Battery from the Battery Slot.
4. Press Down the Power-On Switch for over 20 seconds. ( This helps remove any static charge from the Device).
5. Reconnect the Battery and the Adapter .
6. Switch on the Laptop.

Voila, the Battery has started charging again 🙂

What is SSD ?


OCZ Vertex 3

SSD stands for Solid State Drives. USB sticks and SD cards have been around for a while now, A SSD is multiple SD chips working in parallel with a controller to offer you higher speed. In the very near future it could succeed the traditional HDD (Hard Disk Drives).  HDD are electro-mechanical devices, Speed for HDD’s are measured in milliseconds.  In contrast SSD are pure electrical devices, speeds for which are measured in nanoseconds. The juice in terms of speed and lower latencies which are available traditionally only for RAM’s is now available for your Hard Disks. This paradigm shift has caused a relook  at many a caching algorithms written to bridge the gap between the electro-mechanical and the pure electrical devices in a computer. The only hurdle right now for SSD from being mainstream is the cost. This will surely move south.

What can SSDs offer you?

  • Much faster OS boot times.
  • Much faster program and game level loading.
  • Faster data transfers and copies.
  • Zero noise as there are no moving parts.
  • Less heat emission compared to hard drives.
  • Longer battery life for laptops due to low power consumption
  • Much more resistant to shock and vibration.
  • Much lower latency (in the 0.07ms compared to 7-9ms).
  • Higher transfer rates for reading (Up to 330 MB/s+) and writing files.


Does SSD slows down over time ?

Partly True !! SSD follows the same principle as HDD while deleting files. They DON”T delete files, they simply FLAG them as deleted. For HDD this works fine as the hard drive simply overwrites the previous file which has been marked for deletion, but SSD needs to erase the prior file before writing again. This cause the SSD’s write operation to slow down as your SSD gets filled up over time.

As I said, this is partly true. Introducing TRIM !!!


TRIM erases the file right away, allowing you to write at full speed, without having to waiting for the erase operation to conclude. Almost all SSDs support TRIM by default now.

Now, to use TRIM, you need a OS that supports it, such as Windows 7, Mac OS X and some variants of Linux. You would also need a SSD that supports TRIM .
OCZ, Intel and a few other SSD manufacturers offer a utility that mimics what TRIM does, for OS’s that don’t support TRIM.

-Ben Salins

** This article was compiled with the help from Vikrant Yagnick and the following URL Best SSD & HDD April 2011 | Hardware Revolution

Windows 7 Shortcuts

Windows 7 comes with an interesting list of shortcuts, an exhaustive list is available at the following URL

I’ve just filtered this list to only the Picture of Windows logo key button based shortcuts.

Picture of Windows logo key +U

Open the Ease of Access Center.

Picture of Windows logo key +Tab

Each  TAB press allows you to flip through the Programs on the taskbar.

Ctrl+ Picture of Windows logo key +Tab

After pressing this shortcut, Use the arrow keys to flip through programs on the taskbar.

Picture of Windows logo key+Pause

Display the System Properties dialog box.

Picture of Windows logo key+M

Minimize all windows.

Picture of Windows logo key+Shift+M

Restore minimized windows to the desktop.

Picture of Windows logo key+E

Open Computer.

Picture of Windows logo key+T

Cycle through programs on the taskbar.

Picture of Windows logo key+number

Start the program pinned to the taskbar in the position indicated by the number. If the program is already running, switch to that program.

Shift+ Picture of Windows logo key+number

Start a new instance of the program pinned to the taskbar in the position indicated by the number.

Ctrl+Picture of Windows logo key+number

Switch to the last active window of the program pinned to the taskbar in the position indicated by the number.

Alt+Picture of Windows logo key+number

Open the Jump List for the program pinned to the taskbar in the position indicated by the number.

Ctrl+Picture of Windows logo key +B

Switch to the program that displayed a message in the notification area.

Picture of Windows logo key+Spacebar

Preview the desktop.

Picture of Windows logo key+Up Arrow

Maximize the window.

Picture of Windows logo key+Left Arrow

Maximize the window to the left side of the screen.

Picture of Windows logo key+Right Arrow

Maximize the window to the right side of the screen.

Picture of Windows logo key+Down Arrow

Minimize the window.

Picture of Windows logo key+Home

Minimize all but the active window.

Picture of Windows logo key+Shift+Up Arrow

Stretch the window to the top and bottom of the screen.

Picture of Windows logo key+Shift+Left Arrow or Right Arrow

Move a window from one monitor to another.

Picture of Windows logo key+P

Choose a presentation display mode.

Picture of Windows logo key+G

Cycle through gadgets.

Picture of Windows logo key+X

Open Windows Mobility Center.

Picture of Windows logo key+ Plus Sign (+) or Minus Sign (-)

Zoom in or out.

Picture of Windows logo key+ Esc

Exit Magnifier.

From the above mentioned list , the one I’ve found useful were for conducting presentations were Picture of Windows logo key+ P, Picture of Windows logo key + ( Plus-Minus Sign) ,Picture of Windows logo key+Esc,  Picture of Windows logo key +X.


Ben Salins

Disassociating MPP or a XLS(X) from a TFS Team Project

TFS 2010 provides an intuitive association between a MS Project Plan (MPP) or an Excel workbook with a TFS Team Project.

But this UI intuitiveness is totally absent while trying to disassociate the same. In fact, i’am pretty confident that MS never meant to have a dis-associate feature in the first.

However, Thanks to the following two blogs, there is a way to disassociate a MPP/Excel from a TFS team project.

While the above two blogs have steps of their own, i would like to document the steps that one of our pilot projects had followed for a successful disassociation of a MPP from TFS.

  1. Open your project from Project server
  2. Choose Properties from the File menu
  3. Choose the Custom tab in the Properties window.
  4. Choose any Property listed there named “VS  Team System Data Do Not Edit” and click Remove.
  5. Click Apply or Ok.
  6. Close MS Project
  7. Re-open your project from Project server and it is now unassociated from TFS.

The above mentioned blogs do talk about disabling the TFS Add-in by going to HKLM\Software\Microsoft\Office\Excel\Addins\TfcOfficeShim.Connect and change the ‘LoadBehavior’ from ‘3’ to ‘0’. This wasn’t necessary in our case.

To disassociate an Excel workbook from TFS Team Project, the following steps will have to be followed.

  1. Close Excel.
  2. Disable the TFS addin by going to HKLM\Software\Microsoft\Office\Excel\Addins\TfcOfficeShim.Connect and change the ‘LoadBehavior’ from ‘3’ to ‘0’.
  3. Open the .xls file.
  4. Wipe out the contents of the custom document properties (File -> Properties -> Custom).
  5. Save the file and exit Excel.
  6. Re-enable the TFS addin.

Note: I need the validate the steps provided for the Excel disassociation, will update you with the same very soon.