I'm finding the attribute system could gain a large degree of functionality by providing a "Custom Value" field along with name, price adjustment and weight adjustment in the ProductVariantAttributeValue table.

Currently, I'm using the attributes as a way to select a length of license when adding items to the cart. This would allow me to set up the name of the AttributeValue as "1 Year" and set the value as "365". I could then convert that to an integer and do a whole bunch of fun stuff when I read off the OrderProductVariant table.

Also, it would be nice to use the same database model for the attributes values that productvariants uses in relation to the shoppingcartitems and the orderproductvariants (i.e. table with AttributeValueIDs instead of just delimiting them by commas or adding HTML for display like in OrderProductVariants).

Liking nopCommerce, btw...