I'm working on a feature for a client that automates sitefinity's campaigns so that automated daily notification emails are generated using the feature to give my client's users a heads up on new products that they are subscribed to.
Due to this bug: http://feedback.telerik.com/Project/153/Feedback/Details/155581-email-campaigns-custom-properties-are-not-persisted-when-subscribing-users I had to work around this by updating the database directly since once a new subscriber field is populated, it is never updated. I'm using a custom subscriber field to hold a small block of HTML that will be injected into each user's email.
I've had to increase the length of one of the backend database fields for Sitefinity. I realize that this is a issue since sitefinity tries to automatically adjust the size of fields on certain events when it determines that a database upgrade might have happened. The field I changed was "val" on sf_ntf_sbscrbrs_cstm_prperties so that my custom property could contain a short block of HTML that was unique for each person receiving an email.
My question is twofold: 1) Is there a recommended practice to attach some custom logic to the actual email process so that I could generate my HTML there instead of using a custom property? I'm already doing customizations to the message body before it sends (but of course these are received by all users and aren't specific). I'm looking for a way to inject some logic on a per subscriber basis.
2) If that isn't possible, is it possible to disable sitefinity's auto migration and schema validation? I realize I would then have to be mindful of future upgrades.
That said, the client is currently on 7.1, but we plan to move to 8.0 very soon, so if there isn't a solution for 7.1, I'm still interested in a solution that might work on 8.