Archive
Monthly
Go
|
|
DNN Blog
Mar
11
Posted by:
Michael Washington
3/11/2009
 I just posted a early prototype of the Survey module on my site: http://www.adefwebserver.com/DotNetNukeHELP/SimpleSurvey/Default.htm This is not the Survey module, it is only a code example to figure out how we can possibly handle allowing multiple form types. Now is the time to provide feedback because we are still months away. Please provide feedback on this thread. An example of ASP.NET 3.5sp1 The module uses the latest ASP.NET controls and techniques. Controls like the ListView control and the FileUpload control did not exist when the original Survey module was created. This module allows an administrator to create a form that can capture all the standard HTML form types including file upload. While it can provide basic form input functionality, it is designed to tabulate responses. The module also provides an example of using Linq to Objects, and Linq to SQL to greatly reduce the amount of code that would be otherwise required. Originally I intended to replace the Linq to SQL wit DAL+ methods, but looking at it now, it would feel like replacing a building made of steel with wood. More to come Currently the module prototype is not even 50% feature complete. charts, conditional logic and other features still need to be tested. When all the prototyping is complete and feedback considered, the Survey module will be re-built from the ground up.
2 comment(s) so far...
Re: A Simple Survey
Hi Michael,
Regarding the data model, I have never been a fan of using a common data type to store data that could be something else.
For example, the database table "SurveyDataAnswer" stores the answer in the "Value" column which is presumably a varchar field. Having just one column to store all data types is asking for trouble in my opinion, not to mention violating all sorts of database design theory.
One of the worst would be the storage of date data into a string (varchar) data type. Once a date has been saved into a database as a string, it makes reporting very difficult. How would you account for different locales? What would the date 6/7/2009 mean as a text field? July, June perhaps?
You can also throw referential integrity out the door, because you'll never be able to validate a legitimate drop-down box value with the list of available (legitimate) choices. ie. RI constraint between SurveyDataAnswer.Value with SurveyChoice.SurveyDataItemID
Data models like this cause problems in the long run. They violate database design principles, cannot be indexed well and compromise data integrity very quickly.
Hope this helps.
Given in the spirit of product improvement.
Best regards,
Rod
By Rod Weir on
3/12/2009
|
Re: A Simple Survey
Rod Wier: Thank you for yoru feedback, I responded to your comments in the Forum thread at: www.dotnetnuke.com/Community/Forums/tabid/795/forumid/51/postid/294413/scope/posts/Default.aspx
By Michael Washington on
3/12/2009
|
|