you can have a lot of text options, to be assigned with product, and
set different options enabled for different products, using checkboxes, when
so, for example, you sell mugs with imprinting, then you can assign fields
'name' and 'date of birth' to mug_1 product, 'date' and 'phrase' with mug_2, so
customer will fill this fields and it will be stored into db.
ps: BACKUP BEFORE INSTALLING! :)