I've just started out developing some small modules and I was wondering if there were any recommendations about when I need to use SQL to create a new table for the module for it's content, and when it is ok to just use the module settings fields.
The organisation I work for has lots of different departments that would need to be involved with any SQL database manipulation and it'll be quite a long process to get any modules we create onto the live site.
So it's tempting to use the module settings functions to store some data.
As an example, my next project is a small module which displays different content depending on various conditions on the page.
As far as I can see there are 3 implementation options:
1) Hard-code the HTML for content options A and B into the module and allow the user to set the display conditions in the module settings panel - This doesn't seem right as any minor tweaks to the content HTML would mean needing to re-release the entire module.
2) Create an edit page for the module which has 2 text areas, A and B, and a settings page which allows the user to set the conditions - This makes sense to me but would require SQL and database changes to create the edit functions.
3) Put the editing boxes from point 2 into the settings page and allow the user to set the HTML as global or specific to this instance of the module, and add the display conditions - This is my preferred option but I don't know if it's wrong to put chunks of HTML into the module settings table, I've not seen any other modules that do this.
Does anyone have any thoughts on this?
Or maybe there's a totally different way to do it?