I might have mentioned this before but I thought I would reiterate it.
I have done a few projects where the customer wants an optionset of software products e.g. CRM 2011. if you then want to store the rollup version, suddenly the optionset needs to be updated regularly.
Also if you want to include all the dynamic products then the optionset is starting to get very big and need someone with Administrator rights to keep amending the optionset.
In this situation I have found it’s better to create a simple new entity with Name and description and make sure the ownership is Organisation (so no one can own it, assign it, share it etc) then you can just create a new Dyanmic product record when a new rollup/version is released.
This way anyone with the correct privilege can add in new products and you can search for them in a lookup.
just a little thought for you
Spooky – just come to the same conclusion myself
I use this quite a lot for things which are simply too long for a sensible picklist, such as industry sectors.
It also has the advantage you can easily show the ‘child’ records under the parent to see immediately which customer has that product (in your example), or works in a given industry.
You can also add extra fields such as a longer description to help users make the right choice eg “Don’t include CRM Online customers under CRM 2011”.
You can of course control through security roles who can use the lookup and who can create new records for new options (maybe not everyone should do this ‘on the fly’).
You can also deactivate records which are no longer valid. Existing child records keep the old lookup values, but no new child records can be linked to the out of date parents. So when a product is obsolete and won’t be sold to a customer any more, make it inactive.
This does not work 100% with your example if you are recording which product the customer already has, but would work if the lookup was on a Project record to say which version is going to be implemented – presumably CRM 1.2, 3 and 4 are no longer valid for new projects but when you look back at old projects you want to see what you did back then. Option sets don’t allow you to do this other than clucnkily relabelling options as “CRM 4 – DO NOT CHOOSE” or somesuch.