DNN Forums

Ask questions about your website to get help learning DNN and help resolve issues.

DNN.Survey 09.00.01 released

 7 Replies
 2 Subscribed to this topic
 29 Subscribed to this forum
Sort:
Author
Messages
Veteran Member
Posts: 1182
Veteran Member
MVP
MVP
You're an MVP!

Just released DNN.Survey 09.00.01 - a survey and quiz module for the DNN CMS. Download here: https://github.com/DNNCommunity/DNN.Survey

Happy DNNing!
Michael

Michael Tobisch
DNN★MVP

DNN Connect
New Around Here
Posts: 12
New Around Here

First of all thanks for the release of DNN. Survey 09.00.01.
I have the extension installed in our test environment but unfortunately I get an error message below.
What to do? Thanks for your answers!


Info Start uitvoer Sql: 09.00.00.SqlDataProvider bestand
Failure SQL uitvoer leverde de volgende uitzonderingen op: System.Data.SqlClient.SqlException (0x80131904): Invalid column name 'CreatedByUser'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:207,State:1,Class:16 /* Create a new Surveys table - if there is one, create a Surveys_Temp table, copy the data from the Surveys table, delete the Surveys table and rename Surveys_Temp to Surveys. */ IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'dbo.Surveys') AND type = N'U') BEGIN CREATE TABLE dbo.Surveys_Temp( SurveyID int IDENTITY(1,1) NOT NULL, ModuleID int NOT NULL, Question nvarchar(max) NOT NULL, ViewOrder int NOT NULL, OptionType int NOT NULL, IsStatistical bit NULL, RepeatDirection int NOT NULL, RepeatColumns int NULL, NumberOfRows int NULL, ChartType int NOT NULL, CreatedDate datetime NOT NULL, CreatedByUserID int NOT NULL, LastModifiedDate datetime NULL, LastModifiedByUserID int NULL ) SET IDENTITY_INSERT dbo.Surveys_Temp ON INSERT INTO dbo.Surveys_Temp(SurveyID, ModuleID, Question, ViewOrder, OptionType, RepeatDirection, ChartType, CreatedDate, CreatedByUserID) SELECT SurveyID, ModuleID, Question, ROW_NUMBER() OVER (PARTITION BY ModuleID ORDER BY ViewOrder, SurveyID) AS [ViewOrder], /* The field option type changes from a character to an integer. Reason: In the program an Enum is used to be more flexible. 'R' (Single Selection) => 0 (QuestionType.RadioButtons) 'C' (Multiple Selection) => 1 (QuestionType.CheckBoxes) */ CASE WHEN OptionType = 'R' THEN 0 ELSE 1 END AS OptionType, /* RepeatDirection is new and defines the RepeatDirection of the RadioButtonsList or CheckBoxList */ 0 AS RepeatDirection, /* ChartType is new, and does not allow NULL values. Use 0 as default. Here as well, an Enum is used in the program. 0 = ChartType.Bar 1 = ChartType.HorizontalBar 2 = ChartType.Pie 3 = ChartType.Doughnut */ 0 AS ChartType, CreatedDate, CreatedByUser FROM dbo.Surveys WHERE ModuleID IN (SELECT ModuleID FROM dbo.Modules) SET IDENTITY_INSERT dbo.Surveys_Temp OFF IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'FK_Surveys_Modules') AND type = N'F') ALTER TABLE dbo.Surveys DROP CONSTRAINT FK_Surveys_Modules IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'FK_SurveyOptions_Surveys') AND type = N'F') ALTER TABLE dbo.SurveyOptions DROP CONSTRAINT FK_SurveyOptions_Surveys DROP TABLE dbo.Surveys EXEC sp_rename 'dbo.Surveys_Temp', 'Surveys' END ELSE BEGIN CREATE TABLE dbo.Surveys( SurveyID int IDENTITY(1,1) NOT NULL, ModuleID int NOT NULL, Question nvarchar(max) NOT NULL, ViewOrder int NOT NULL, OptionType int NOT NULL, IsStatistical bit NULL, RepeatDirection int NULL, RepeatColumns int NULL, NumberOfRows int NULL, ChartType int NOT NULL, CreatedDate datetime NOT NULL, CreatedByUserID int NOT NULL, LastModifiedDate datetime NULL, LastModifiedByUserID int NULL ) END System.Data.SqlClient.SqlException (0x80131904): Table 'Surveys' already has a primary key defined on it. Could not create constraint. See previous errors. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:1779,State:0,Class:16 ALTER TABLE dbo.Surveys ADD CONSTRAINT PK_Surveys PRIMARY KEY CLUSTERED (SurveyID ASC) System.Data.SqlClient.SqlException (0x80131904): The operation failed because an index or statistics with name 'IX_Surveys_ModuleID' already exists on table 'dbo.Surveys'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:1913,State:1,Class:16 CREATE NONCLUSTERED INDEX IX_Surveys_ModuleID ON dbo.Surveys (ModuleID) System.Data.SqlClient.SqlException (0x80131904): The operation failed because an index or statistics with name 'IX_Surveys_ModuleID_ViewOrder' already exists on table 'dbo.Surveys'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:1913,State:1,Class:16 CREATE NONCLUSTERED INDEX IX_Surveys_ModuleID_ViewOrder ON dbo.Surveys (ModuleID, ViewOrder) System.Data.SqlClient.SqlException (0x80131904): There is already an object named 'FK_Surveys_Modules' in the database. Could not create constraint. See previous errors. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:2714,State:5,Class:16 ALTER TABLE dbo.Surveys WITH CHECK ADD CONSTRAINT FK_Surveys_Modules FOREIGN KEY (ModuleID) REFERENCES dbo.Modules (ModuleID) ON DELETE CASCADE System.Data.SqlClient.SqlException (0x80131904): Column already has a DEFAULT bound to it. Could not create constraint. See previous errors. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:1781,State:1,Class:16 ALTER TABLE dbo.Surveys ADD CONSTRAINT DF_Surveys_CreatedDate DEFAULT GETDATE() FOR CreatedDate System.Data.SqlClient.SqlException (0x80131904): Column already has a DEFAULT bound to it. Could not create constraint. See previous errors. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:1781,State:1,Class:16 ALTER TABLE dbo.Surveys ADD CONSTRAINT DF_Surveys_RepeatDirection DEFAULT 0 FOR RepeatDirection System.Data.SqlClient.SqlException (0x80131904): The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_SurveyResults_SurveyOptions". The conflict occurred in database "DOTNETNUKE", table "dbo.SurveyOptions", column 'SurveyOptionID'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:547,State:0,Class:16 ALTER TABLE dbo.SurveyResults WITH CHECK ADD CONSTRAINT FK_SurveyResults_SurveyOptions FOREIGN KEY (SurveyOptionID) REFERENCES dbo.SurveyOptions (SurveyOptionID) ON DELETE CASCADE System.Data.SqlClient.SqlException (0x80131904): The ALTER TABLE statement conflicted with the FOREIGN KEY constraint "FK_SurveyResults_Users". The conflict occurred in database "DOTNETNUKE", table "dbo.Users", column 'UserID'. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:547,State:0,Class:16 ALTER TABLE dbo.SurveyResults WITH CHECK ADD CONSTRAINT FK_SurveyResults_Users FOREIGN KEY (UserID) REFERENCES dbo.Users (UserID) ON DELETE SET NULL System.Data.SqlClient.SqlException (0x80131904): There is already an object named 'Surveys_CsvExport' in the database. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at DotNetNuke.Data.SqlDataProvider.ExecuteScriptInternal(String connectionString, String script, Int32 timeoutSec) ClientConnectionId:9d935661-fa0d-4eac-9054-6f31f47ca0c7 Error Number:2714,State:3,Class:16 /* This creates a big dataset including most of the columns from all Survey tables (the ones that are needed to create customized reports) It uses the VIEW from below to filter by ModuleID. */ CREATE PROCEDURE dbo.Surveys_CsvExport @ModuleId int AS BEGIN SELECT SurveyID, Question, OptionType, IsStatistical, OptionName, Votes, IsCorrect, UserID, IPAddress, TextAnswer, ResultUserID, CreatedDate FROM vSurveys_CsvExport WHERE ModuleID = @ModuleID ORDER BY SurveyViewOrder, SurveyOptionViewOrder END

Info Einde Sql uitvoer: 09.00.00.SqlDataProvider gereed
Info Sql uitvoer gereed
Failure Installatie mislukt - Script
Info Component installatie wordt ongedaan gemaakt - Config
Info Aanpassingen in configuratie bestand succesvol ongedaan gemaakt - web.config
Info Component installatie succesvol ongedaan gemaakt - Config
Info Component installatie wordt ongedaan gemaakt - Cleanup
Info Backup van vorige versie teruggezet - DesktopModules\Survey\EditSurvey.ascx
Info Component installatie succesvol ongedaan gemaakt - Cleanup
Info Installatie mislukt - DNN_Survey
Info Tijdelijke installatie map verwijderd
EndJob Installatie mislukt

 

Veteran Member
Posts: 546
Veteran Member
MVP
MVP
You're an MVP!

which DNN version are you running?

Did you have survey module installed before, and if, which version?

Senior Member
Posts: 1607
Senior Member
MVP
MVP
You're an MVP!
New Poster
New Poster
Congrats on posting!

Hmmm... I don't see it reported by anyone else yet either.  :(

Veteran Member
Posts: 1182
Veteran Member
MVP
MVP
You're an MVP!
I have just tried to run all the SQL scripts, and upgrade from other (lower) versions - I could not reproduce this. As the module version 09.00.00 has been released two months ago (and 09.00.01 is just a bugfix with no changes in the database and the installation scripts), I wonder that no one has reported that so far, and be assured that we tested quite any upgrade scenario with this (in fact, I never tested so much upgrade scenarios ever before), and never run into this issue,

Have you had another Survey module installed, that by any chance has a "Survey" table? Maybe that is the reason for the conflict, and in this case, your other module will propably not work anymore as well.

Please try to uninstall and re-install the module, let's see what happens...

Happy DNNing!
Michael

Michael Tobisch
DNN★MVP

DNN Connect
Advanced Member
Posts: 228
Advanced Member
New Poster
New Poster
Congrats on posting!
Hi - I'm running DNN 9.1.1 and Survey 4.60.00

I need to upgrade DNN to version 9.3.2 (first to 9.2, and then to 9.3.2)

Should I upgrade the Survey module before upgrading DNN?

It looks like I need to be at DNN 9.02.02 before upgrading to Survey 9.00.01.
Can you advise the best order to do the upgrades of DNN and the Survey module?

Thanks

Tom
Veteran Member
Posts: 1182
Veteran Member
MVP
MVP
You're an MVP!
Tom,

you can upgrade the module _while_ upgrading DNN. After unzipping the upgrade package, copy the Survey install package to the /install/modules folder and run the DNN upgrade. This will automatically upgrade the module as well.

On the other hand, you can upgrade the module before or after upgrading DNN. If you do it before, the pages will display immediately, otherwise there will be errors on pages with the Survey module until you upgrade the module.

In all cases: create a backup (files and database) before any upgrade step (DNN or module)...

Happy DNNing!
Michael

Michael Tobisch
DNN★MVP

DNN Connect
Advanced Member
Posts: 228
Advanced Member
New Poster
New Poster
Congrats on posting!

Thanks Michael - I will try that ( on a test site first)

These Forums are for the discussion of the open source CMS DNN platform and ecosystem.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. If you have (suspected) security issues, please DO NOT post them in the forums but instead follow the official DNN security policy
  2. No Advertising. This includes the promotion of commercial and non-commercial products or services which are not directly related to DNN.
  3. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  4. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  5. No Flaming or Trolling.
  6. No Profanity, Racism, or Prejudice.
  7. Site Moderators have the final word on approving / removing a thread or post or comment.
  8. English language posting only, please.

Would you like to help us?

Awesome! Simply post in the forums using the link below and we'll get you started.

Get Involved