DNN Forums

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

DNN.Survey 09.00.01 released

Sort:
You are not authorized to post a reply.





Veteran Member





    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

    dnnWerk Austria
    DNN Connect





    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





        which DNN version are you running?

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






        Veteran Member





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






          Veteran Member





            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

            dnnWerk Austria
            DNN Connect





            Advanced Member





              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





                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

                dnnWerk Austria
                DNN Connect





                Advanced Member





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

                  You are not authorized to post a reply.

                  These Forums are dedicated to the discussion of DNN Platform.

                  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