On-Premises Installation: Upgrading to ConceptShare V6

The most recent release includes changes that you need to be aware of as you update your installation.

Note: If you are not using New Relic, do not have a custom integration, or do not want to disable the new feature, you can disregard the following sections.

Upgrade Checklist

Step Description
A Recalculate Permissions (Required from moving from V5 to V6).
B Upgrade to .NET 4.6.1 or Higher.
C Enable the Guest Reviewers Module for Your Instance.
D Disable the Guest Reviewers Module for an Account.
E Configure the New Relic Agent for the Web Application.
F Integration: Update AddUpdateReviewFull Code.
G 6.2.0 Apply the Email Template Updates.
H 6.3.2 Apply the Forgot Password Update for USERLASTNAME.
I 6.10.0 On-Premises Installers Updated Beyond This Point.

A. Recalculate Permissions (Required from moving from V5 to V6)

You must run the following after fully upgrading from ConceptShare 5.x to 6.x.

  1. Run the following script:
    -- Recalculate Instance Permissions
    EXEC [dbo].[usp_systemCalculateInstancePermissionTree]
    -- Recalculate Account Permissions
    EXEC [dbo].[usp_systemCalculateAccountPermissionTree] @intAccount = NULL, @bitIncludeCustomRoles = 1

B. Upgrade to .NET 4.6.1 or Higher

ConceptShare V6 runs on .NET 4.6.1 or higher. You must download and install .NET version on all your web servers and queues servers.

  1. Download .NET 4.6.1 from this link.

    To download higher versions, go to this link.

  2. Install the downloaded version on all your web servers and queues servers.

C. Enable the Guest Reviewers Module for Your Instance

To activate the Guest Reviewers module on your instance, you must re-apply your ConceptShare license.

  1. Launch the installer and follow the options.
  2. In the installation wizard, select Manage Database, and then select Initialize Database.
  3. Click Initialize.

A message that the module was successfully initialized will be displayed.

D. Disable the Guest Reviewers Module for an Account

You can disable the guest reviewers module for a specific ConceptShare account.

  1. Run the following script:
    --System Admins: Change the value bellow to the ID of the account that you wish to disable the module on
    DECLARE @AccountId int = 0
    
    --DO NOT MODIFY BELOW THIS LINE
    
    --Get the module Id
    DECLARE @intExternalReviewerModuleId int;
    SELECT @intExternalReviewerModuleId =  intModule from tblModule where txtName = 'EXTERNALREVIEWERS'
    
    --Disable the module
    INSERT INTO [dbo].[tblAccountModule]([intAccount],[intModule],[bitEnabled],[dteCreated],[dteModified],[dteRemoved])
    VALUES (@AccountId, @intExternalReviewerModuleId, 0, GETDATE(), GETDATE(), null)

E. Configure the New Relic Agent for the Web Application

Configure the agent to ignore business-related errors that are not operation-level errors.

  1. Browse to the C:\ProgramData\New Relic\.NET Agent\newrelic.config folder.
  2. Add the bold text where appropriate:
    <errorCollector enabled="true">
        <ignoreErrors>
          <exception>ConceptShare.V4.API.CsSoapException</exception>
          <exception>System.IO.FileNotFoundException</exception>
          <exception>System.Threading.ThreadAbortException</exception>
        </ignoreErrors>
        <ignoreStatusCodes>
          <code>401</code>
          <code>404</code>
        </ignoreStatusCodes>
      </errorCollector> 
    Note: Some of the elements may already be in the file. In which case, just add the boldfaced text where appropriate.

F. Integration: Update AddUpdateReviewFull Code

For this update, aside from the standard procedures needed to update the API (such as updating your WSDL), you must also modify your existing code for an API call so you can keep using your existing integration.

An array of ExternalReviewer objects was added at the end of the AddUpdateReviewFull method signature. If you are using this call in your POC integration, you now need to pass in null to maintain the existing functionality with ConceptShare 6.0 and later versions.

Example

  • Current
    api.AddUpdateReviewFull(apiContext, null,
        review.ProjectId, review.ReferenceId, review.ReferenceType, review.ReviewType, review.StatusId, 
    review.IsHighPriority ? 1 : 0,
        review.AutoApproveMethod, review.ReviewCommentsOnly, review.AllowFeedback, review.AllowNotes, 
    review.AllowMembersToView,
        review.Title, review.Description, review.Code, null, review.DueDate, null, null, 
    review.RequireResourceOnDeferral,
        review.AllowDeferralResponses, review.ElectronicSignatureRequired);
  • Version 6.0+
    api.AddUpdateReviewFull(apiContext, null,
       review.ProjectId, review.ReferenceId, review.ReferenceType, review.ReviewType, 
    review.StatusId, review.IsHighPriority ? 1 : 0,
       review.AutoApproveMethod, review.ReviewCommentsOnly, review.AllowFeedback, 
    review.AllowNotes, review.AllowMembersToView,
       review.Title, review.Description, review.Code, null, review.DueDate, null, null, 
    review.RequireResourceOnDeferral,
       review.AllowDeferralResponses, review.ElectronicSignatureRequired, null );

G. 6.2.0 Apply the Email Template Updates

You must reset localizations prior to deployment using the following script.

  1. Run the following script:
    DELETE FROM tblLocalizationOverride
    WHERE intLocalizationOverride IN (
    SELECT intLocalizationOverride
    FROM tblLocalization AS [L]
    INNER JOIN tblLocalizationEntry AS [LE]
    ON [L].intLocalization = [LE].intLocalization
    AND [L].txtKey LIKE 'email_%'
    AND [L].intType = 2
    INNER JOIN tblLocalizationOverride AS [LO]
    ON [LE].intLocalizationEntry = [LO].intLocalizationEntry
    )
  2. Reapply the customization based on the new format (if applicable) to the email templates.

H. 6.3.2 Apply the Forgot Password Update for USERLASTNAME

You must apply the update for USERLASTNAME.

  1. In the API, update the callback related to USER_FORGOT_PASSWORD:
    • FROM USERLASTNAME
    • TO USER_LASTNAME (with an underscore)

I. 6.10.0 On-Premises Installers Updated Beyond This Point

Following 6.10.0, on-premises installers will no longer perform sequential updates. An installer for a particular version will update your instance of ConceptShare to that particular version only, with no intermediate stops allowed.
Attention: To update your instance to a version that is more recent than 6.10.0, you must first run the 6.10.0 installer. For more information, see On-Premises Installation: Installers Post-6.10.0.