Top

On-Premise Installation - Upgrading to ConceptShare V6

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

If you are not using New Relic, do not have a custom Integration, or don't want to disable the new feature feel free to disregard those sections below.

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

-- Recalculate Instance Permissions
EXEC [dbo].[usp_systemCalculateInstancePermissionTree]
-- Recalculate Account Permissions
EXEC [dbo].[usp_systemCalculateAccountPermissionTree] @intAccount = NULL, @bitIncludeCustomRoles = 1

ConceptShare V6 runs on .NET 4.6.1 or 4.6.2.  .NET 4.6.1 can be downloaded here. Install the .NET version on all your web servers and queues servers.

In order to activate the External Reviewers module on you instance, you will need to re-apply your ConceptShare license.


When you have launched the installer and are presented with Installation options:

  1. Select Manage Database and highlight the “Initialize Database” option
  2. Click “Initialize”. As this step completes successfully it should return with a message stating that everything was successfully initialized.
Run the below 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)
Configuration of the agent is required to ignore certain business related errors that are not operation level errors.  The section below needs to be included in your New Relic Agent config file located at C:\ProgramData\New Relic\.NET Agent\newrelic.config.  It may be that some of the elements are already in the file, in which case just 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>

Aside from the standard procedures when there are updates to the API (such as updating your WSDL), for this update, you will have to modify your code existing for an API call in order to keep use 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 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 );

 

Reset localizations prior to deployment using 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
)

Then reapply the customization based on the new format (if applicable) to email templates.

API: The callback USER_FORGOT_PASSWORD has changed. The parameter USERLASTNAME has been changed to USER_LASTNAME (with an underscore)


Congratulations!

You have successfully established V6 for your On-Premise deployment.


 

Further Reading

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request