Greetings to all!
To introduce myself, I am a wife of a programmer. Husband is a salaried coder/corporate fire extinguisher/password retriever by day and a freelance coder/domestic fire extinguisher/objects on high shelves retriever at night. I'm a wife that knows enough about the "other side" to be dangerous but not enough to be an effective addition to a struggling, "side job" family business.
With that being said, I am seeking advise on a little problem that I believe that we have, but he probably doesn't think of it as much of a problem but more of an inconvenience. However, it's driving me bonkers. It's probably easier for me to ask a random question in a forum than to ask him and actually get my point across!
So, here it goes. Husband has developed an extremely awesome and intricate custom application for a client of ours. It uses two seperate forms (individual modules) to collect several different categories of information. Then there are an additional two modules that are used on the "back end" (security roles allowing only employees to use these modules) that allow for the editing of the information collected and for the matching of one set to the other.
Due to the complexity of this custom (multi-moduled) application, there are several (lots and lots and lots) of custom built tables with about a bazillion columns in each. As it stand currently, the only good production environment for this application is on my husband's computer. This is because, in order for me to get the production environment working on my computer, I wouldn't have to go and manually create every one of these tables in the database. You know what! I really don't want to do that. I really don't think that I NEED to do that. There must, MUST be a way that a script can be included in the packaging of the module that would AUTOMATICALLY create the tables upon installation of the module definition. Now, the part that would appear to me (the novice here) as complicated is that there are multiple modules that use the same tables. I would think there would have to be an if/then statement that would look to see if the table existed and obviously created it only if it didn't already exist.
Now, this brings me to the next part of the question. If we are working on the application and need to make changes to the database structure (add a table, add or change a column name, etc.), I would imagine that the only way to make that update would be through "updating" the module through versioning. I'm sure there are resources available that would explain that in simple enough terms that would prove worthwile to do it.
My biggest disadvantage here is that I'm not a coder myself and I can't just go in and do it. I have to convince the husband to do it. He doesn't think it's worth it, but I believe that this appilcation can be expanded upon greatly and could eventually produce enough revenue for me to spend real money in exchange for virutual money in online games or even pay some real life bills. Either way, I think there is some real potential but I'd at least like to be able to have this application packaged neatly and properly.
ANY advice on how to make this happen easily and efficiently would be soooooo greatly appreciated. I have looked for the DNN Module Developer's documentation, but much to my dismay, I don't see it on the downloads page any more. However, if you could give me some "customized" advice as opposed to referring me to external documentation, I would be thrilled. I look forward to your responses.
Chrissi - the coder's "dangerous" wife