Upgrading FocusOPEN 3.4.3.x to 3.4.4

Introduction

IMPORTANT: DO NOT ATTEMPT AN UPGRADE DIRECTLY TO A LIVE SERVER WITHOUT PRIOR TESTING ON A STAGING INSTANCE FIRST

The upgrade from FocusOPEN 3.4.3 to 3.4.4 needs to be planned in advance and should be tested at least once before proceeding with a production instance. Windows system administration and SQL Server knowledge are required. If you do not have these, you are advised to request priority support assistance from the My Account area. You must have a Commercial licence to be able to access our support plans, alternatively, use the forum to request assistance from the FocusOPEN community.

Note 1: This upgrade procedure is for 3.4.3.x users only, do not attempt a direct upgrade from an older version to 3.4.4.

To check your current version, enable engineer user mode for your account and view the utilities/settings page in the admin area. The FocusOPEN version will be at the bottom of the page.

Backups & Preparation

Backup your FocusOPEN installation.

You are recommended to use the sandbox deployment guide to make a backup of your current FocusOPEN installation (with all assets and users), upgrade that and then take your old 3.4.3 edition off-line and re-point the domain to the new 3.4.4 deployment.

A backup of the whole FocusOPEN application folder is advised with at least the webroot being the minimum. It is especially important you make a copy of your configuration settings and original database.

Database

The upgrade from 3.4.3 to 3.4.4 is a two phase process. It will convert any document assets stored within FocusOPEN to raw text and extract them as files. To carry this out, a text extraction step must be carried out if you need the text content of any assets to continue to be searchable. This individual step can be skipped if you do not have any document assets or require searchable data about them to be retained - but please note, both phases must be completed

Phase 1

Open the upgrade.cmd batch file and check the connection parameters to your FocusOPEN database and then run the upgrade.cmd script. You need to change three different areas:

set FocusOPENDB_SQLSERVER=(LOCAL)

Swap (LOCAL) for the instance of your local SQL Server. Swap 'FocusOPEN' for the name of the FocusOPEN database.

echo osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "344_updates"
osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "344_updates"

echo osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "TextExtraction-phase1-add-text-holding-columns.sql"
osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "TextExtraction-phase1-add-text-holding-columns.sql"

If you installed FocusOPEN previously without changing the database name you may only need to change the database connection instance (at the top of the script).

Once everything has been checked, execute upgrade.cmd

= Text Extraction = After executing upgrade.cmd, you may run the text extractor application. You can ignore this step but any searchable data in document assets will be lost and any attachments will be discarded also (of any type).

  • Open the TextExtractorConsole console application folder in CommandLineApps
  • Edit FocusOPEN.TextExtractorConsole.exe.config with a text editor
  • Specify the location of your database
  • Specify a temporary folder in the TempFolder key
  • Start the FocusOPEN.TextExtractorConsole.exe application

This should now convert all your attachments back to binary files to be stored in the file system and index all text and store that also. Depending on the number of assets in your FocusOPEN instance, this process may take anything from less than a minute up to several hours to complete.

Once complete, proceed to phase 2.

Phase 2

IMPORTANT: even if you did not follow the text extraction step, you must run Phase 2 or the upgrade will not be successful.

Open the upgrade_2.cmd file and (as with Phase 1) check the database settings are correct and modify them as needed.

set FocusOPENDB_SQLSERVER=(LOCAL)
echo osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "TextExtraction-phase2-remove-filecontent-columns.sql"
osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "TextExtraction-phase2-remove-filecontent-columns.sql"
echo osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "344b_updates.sql"
osql -n -E -d FocusOPEN -S %FocusOPENDB_SQLSERVER% -i "344b_updates.sql"
Using SSMS To Upgrade The Database

To run the upgrade manually via SQL Server Management Studio, run the following in the same order:

  • 344_updates.sql
  • TextExtraction-phase1-add-text-holding-columns.sql
  • Now run the text extraction command line application - this cannot be launched from SSMS
  • TextExtraction-phase2-remove-filecontent-columns
  • 344b_updates.sql

Upgrade Application Webroot and Change Config Settings

  1. Make a backup copy of your App_Data folder
  2. Make a backup copy of your AuthPlugins folder
  3. Make a backup copy of your Config folder
  4. Make a backup of your web.config file
  5. Make a backup copy of your Brands folder
  6. Copy the webroot folder from the 3.4.3.1 deployment package over the top of your existing webroot to replace and update your files.
  7. Delete the App_Data and Brands folders
  8. Move the Config, AuthPlugins and web.config folders/files over to a location away from the Webroot - you will need these later
  9. Copy your Config folder back to to the webroot to replace the one from the deployment package.
  10. Copy your Brands folder back to to the webroot to replace the one from the deployment package.
  11. Copy your web.config file back and make the changes described below.
Web.config

Remove this key:

<add key="AssetFinder.LoosePermissionModeEnabled" value="true" />

Add the following keys to the end of: the appSettings node. In 3.4.3.x the last node will usually be:

<add key="SwapCommasForNewlinesInKeywordsEmbeddedMetadata" value="true"/>
<add key="ResultThumbnailHyperlinkIdentifier" value="[Title]"  />
<add key="ResultThumbnailAdditionalInfoIdentifier" value="[AssetTypeName]:[AssetId]"  />
<add key="SlideShowVisible" value="true"/>
<add key="MetadataSearchLinks" value=""/>
<add key="WatermarkByDefault" value="false"/>
<add key="ShowExcludeShortDescriptionFilter" value="true" />
<add key="ShowExcludeGroupNameFilter" value="true" />
<add key="ShowCropOptions" value= "false"/>
<add key="DefaultPrimaryGroup" value = "12"/>
<add key="GroupPluralSuffix" value = "s"/>
<add key="ChooseCompanyFromDropDown" value = "InternalUsers"/>
<add key="EnableCompanyNameTextBox" value = "AllUsers"/>
<add key="HideCompanyNameTextBoxIfDisabled" value = "false"/>
<add key="PublishToWorkspaceCopy" value = "Publish To My Workspace"/>
<add key="KeepForPersonalUseCopy" value = "Keep this asset for my own personal use"/>
<add key="ShowAllGroupsForAssetModifications" value="false"/>
<add key="AdminPersonalLinkCopy" value = "Personal"/>
<add key="SSOLinksOnUserProfile" value = "false"/>
<add key="DisablePDFContactSheets" value = "false"/>
<add key="ContactLink" value = ""/>
<add key="NumericSearchTermsMatchAssetIDsOnly" value="false"/>
<add key="UseFreetext" value="false"/>
<add key="FilterSearchPunctuation" value="false"/>
<add key="ApprovedSearchCharacters" value="" />
<add key="FilterAdminSearchForAssetUploaders" value="false"/>
<add key="AllowPreviewsForContactSheets" value="true"/>
<add key="LinkLightboxTerm" value="Link"/>
<add key="ShowGeoLocLink" value="false"/>
<add key="AssetFinder.AutoExpandSingleWordQueries" value="true" />
<add key="AssetsGroupsCollapseNodeLevel" value="1"/>
<add key="UsersGroupsCollapseNodeLevel" value="1"/>
<add key="DeleteImportJobDataAfterDaysNumber" value="7"/>

Also, copy the entire controls and httpHandlers sections over the top of your current web.config file. These settings are new:

Controls

<add tagPrefix="app" src="~/Controls/Admin/Categories.ascx" tagName="Categories" />
<add tagPrefix="app" src="~/Controls/MetadataSearchLink.ascx" tagName="MetadataSearchLink" />

httphandlers

<add verb="*" path="GetImportJobSettings.ashx" type="FocusOPEN.Website.Components.Handlers.ImportJobSettingsHandler, FocusOPEN.Website"/>
!--Zip Downloads-->
<add verb="*" path="GetZippedOrder.*.ashx" type="FocusOPEN.Website.Components.Handlers.OfflineZipOrderHandler, FocusOPEN.Website" />
<add verb="*" path="GetZippedAssets.*.ashx" type="FocusOPEN.Website.Components.Handlers.OfflineZipAssetsHandler, FocusOPEN.Website" />
<add verb="*" path="GetZipDownload.ashx" type="FocusOPEN.Website.Components.Handlers.ZipDownloadHandler, FocusOPEN.Website" />

These settings are only applicable for Commercial users who have the SSO feature enabled

<!-- SSO -->
<add verb="*" path="SSOLogin.ashx" type="FocusOPEN.Website.Handlers.SSOLoginHandler, FocusOPEN.Website"/>

You are recommended to use a diff or file comparison tool such as Beyond Compare to verify that you have incorporated all the revised settings

You can normally use the web.config file from the deployment package and copy it over the top of your old one - although you may lose any settings modifications you have made. Consult the deployment guide for a full explanation of the new settings.

Appsettigns.config

The maximum storage capacity key can be used to adjust asset storage disk quotas.

<add key="MaximumStorageCapacityMB" value="1000"/>
AdminNavigation.config

Copy the updated AdminNavigation.config file from the backup of the 3.4.4 deployment package config files made earlier over the top of your current one. If you have made amendments to this to add/remove roles for certain features, you may also need to re-apply these and/or copy the updates over from the new file.

Finishing Up and Testing

Once you have completed the upgrade procedure, you are recommended to restart IIS and ensure basic functions still work like logging in, uploading and cataloguing.

If you have difficulties with the upgrade, try a fresh deployment of 3.4.4 first to verify that works as you expect.

 
upgrading-focusopen-3.4.3-to-3.4.4/start.txt · Last modified: 2013/03/19 14:30 by admin