Dependent Configurable Options
When you're offering dedicated servers, you are more than likely to have an endless list of configurable options for the customer to build his server upon. In order not to have an endless list that specifies each combination of every disk size of secondary disk that hasn't even been selected, or RAID-5, RAID-10 options that haven't been selected and so on, websites that offer this service would normally create dependencies between configurable options.
Creating dependent configurable options allows you to specify exactly which child configurable options would be displayed when a parent option is selected and which would be hidden if a certain option is not selected.
For some odd reason WHMCS doesn't offer this, as if it's not that important feature for a hosting business. The reality is that if any type of online business requires dependent configurable options it is a hosting business.
It's not just an issue of endless list when you have too many options to be displayed all at once.
You're offering a selection of CPUs to choose from. But not all of them you can offer with 128GB RAM, so what are you supposed to do? Display the 128GB under the option "Memory" for the customer to choose even if he had chosen a CPU that you can't provide it with?
So the solution is to create conditional configurable options and specify which options are not being displayed when certain options are selected.
Also, if a customer's selection means that no options were displayed for him at all under a certain option name ('RAID Controller' for example), there's no need to pass each unselected option name to the summary and to the cart. If the list is too long, you don't always want to say for each unselected option that hasn't even been displayed for example: 'RAID Controller: none' in the cart. The list would be too long and irrelevant. In that regards, there's already a problem with the existing functionality of WHMCS, because it doesn't allow you to display a configurable option without having one of the options pre-selected by default, and that's not always what you want to have.