This article describes the steps that need to be followed to upgrade an existing installation of Enterprise Server to Studio Server 10.10 or higher.
Read this article in full before starting the upgrade so that you are fully aware of all the required steps.
Info: Performing the steps described in this article requires direct server access. Depending upon how your system is hosted and the level of access you have to that system, coordination may be required with your Partner or WoodWing Support team. For a full overview of the steps that need to be done by WoodWing and how to request them, see WoodWing Cloud - Change management.
Before you start
Before starting the installation, do the following:
- Check the Compatibility Matrix to see if 3rd-party software also need to be upgraded or updated.
- Closely follow the Release Notes for any important changes, deprecated features, and installation or configuration details.
InDesign and InCopy
When you are also upgrading to a new version of Adobe InDesign or InCopy, keep the following in mind:
- All InDesign and InCopy users should use the same Adobe version. This is because documents created in a newer version cannot be opened in a previous version.
- Convert any InDesign and InCopy templates to the new version of InDesign and InCopy. Do this by opening the file and re-saving it.
Upgrade path
Studio Server 10.10 is based on Enterprise Server 10.9 and is technically the same. The biggest difference between Enterprise Server and Studio Server is the new product name. You will come across this new name in many places such as file names and folder names but references to Enterprise still exist, especially in configuration files.
Depending on the version of Enterprise Server you are upgrading from, it might be required to first upgrade to an intermediate version. For upgrade paths, see Upgrade paths for Enterprise Server.
1. Creating a backup
Create a backup of your system to make sure that no files are lost should anything go wrong.
2. Reviewing required and optional steps (before upgrading)
Depending on the version of Studio Server that you are upgrading to, some additional steps may be need to be performed.
Review the following information and implement when necessary.
For all versions
Take note of the following sections, where applicable.
Web root folder
Note: This step only needs to be performed when the INETROOT option value is part of the server URL of your Studio Server installation and you have not customized this option.
The default INETROOT option can be found in the config/config.php file that may be overruled by a customized INETROOT option in the config/config_overrule.php file.
The default value of the INETROOT option has changed from 'Enterprise' to 'StudioServer'. Make sure that the INETROOT option has the same value as the web root folder of Studio Server.
As the INETROOT option value may be part of the server URL, this also may have changed. For example, the server URL may have been changed from:
https://my.company.com/Enterprise/index.php
to:
https://my.company.com/StudioServer/index.php
If that is the case, check the server URL configured in the WWSettings.xml files for all Studio clients and InDesign Server installations.
Automated installations
Note: This section is only applicable when scripts have been made to automatically update the Enterprise Server and Solr installation.
EnterpriseServer
- The package name has been renamed from EnterpriseServer_<version>.zip' to 'StudioServer_<version>.zip'.
- The web root folder (shown after extracting the package) has been renamed from 'Enterprise'to 'StudioServer'.
- The default value for the INETROOT option has been renamed from 'Enterprise' to 'StudioServer'.
SolrEnterprise
- The package has been renamed from 'SolrEnterprise_<version>.zip'to 'SolrStudioServer_<version>.zip'.
Integration with WoodWing Assets (formerly known as Elvis)
Note: This section is only applicable when your Enterprise Server is integrated with Assets Server.
- The default ELVIS_URL option can be found in the config/config_elvis.php file that may be overruled by a customized ELVIS_URL option in the config/config_overrule.php file.
- When the URL of Assets Server has been changed, adjust the ELVIS_URL option accordingly in the config/config_overule.php file.
- When the URL of the Studio Server has been changed, adjust the URLs of the registered Studio Servers that have been upgraded in the Assets Server Management Console > Studio Servers.
- After upgrading Studio Server, run the 'WoodWing Assets Content Source' test on the Health Check page of Studio Server.
Upgrading to Studio Server 10.11.0 or higher
Publish Forms
Support for Publish Forms has been discontinued in Studio Server 10.11.0.
Before migrating to Studio Server 10.11 (or higher), do the following:
- Remove all Publish Form and Publish Form Template objects from the workflow and Trash Can. Remove these objects by using the current Enterprise Server installation. Studio Server 10.11 (or higher) cannot be used to remove them.
- Remove the following options from your config_overrule.php file (when present):
- PROCESSED_IMAGE_PROPERTIES_PUBLISH_OPTIONS
- IMAGE_MAGICK_PUBLISH_OPTIONS
- WORDCHARS_RUSSIAN
- WORDCHARS_LATIN
- ENTERPRISE_SPELLING
InDesign Server integration
Changes to the InDesign Server integration have been made in Studio Server 10.11.0.
Before migrating to Studio Server 10.11 (or higher), do the following:
- Remove the WEBEDITDIRIDSERV option from your config_overrule.php file. The WebEdit folder is no longer shared between Studio Server and InDesign Server.
- There is no longer a need to share the WebEdit folder between InDesign Server and Studio Server. Volume mounts (that have been set up to enable sharing) can therefore be removed. Only Studio Server should be able to access this folder. In case the folder is set up on the InDesign Server machine (for performance reasons), it is now better to move it to a volume that is easily and directly accessible by Studio Server.
Customizations and integrations
The following overview shows the changes made to Studio Server 10.11 that may impact customizations and integrations. This includes custom server plug-ins (written in PHP) hooking into web services or calling existing PHP functions provided by Studio Server or directly accessing the database, and 3rd-party integrations calling web services provided by Studio Server.
- The built-in Named Query 'PublishFormTemplates' is no longer supported.
- The following PHP classes have been removed:
- BizAdmOutputDevice
- BizAutoSuggest
- BizImageConverter
- BizPublishForm
- BizSpelling
- DBOutputDevice
- DBPubPublishedPlacementsHistory
- ImageConverter_EnterpriseConnector
- ImageMagick_ImageConverter
- OutputDevice
- PreviewMetaPHP_ImageConverter
- PubPublishedPlacement
- ServerPluginCustomPropertyCleanupApp
- SuggestionProvider_EnterpriseConnector
- Widget
- WidgetExportPlugin
- WW_Utils_PublishingUtils
- WW_Utils_WidgetUtils
- The following PHP functions have been removed:
- BizAdmActionProperty::deleteAdmPropertyUsageByActionAndDocumentId
- BizAdmActionProperty::insertAdmPropertyUsage
- BizAdmPublication::getPubChannelInfosForPublishSystem
- BizAdmPublication::getPublishSystemIdForChannel
- BizAdmPublication::savePublishSystemIdForChannel
- BizAutocompleteBase::enrichNullPublishSystemId
- BizAutocompleteDispatcher::createNewTermsForPublishForm
- BizAutocompleteDispatcher::createNewTermsForPublishForm
- BizCustomField::getExcludedObjectFields
- BizDeletedObject::handlesInvalidPlacedRelationsOnPublishForm
- BizDeletedObject::preFlightObjectToDelete
- BizDeletedObject::removeInvalidPlacedArticleOnPublishForm
- BizDeletedObject::removeInvalidPlacedObjectOnPublishForm
- BizDeletedObject::validateBeforeRestoringPublishForm
- BizNamedQuery::enrichPublishTemplatesQueryParams
- BizNamedQuery::getMinimalPropsForPublishTemplates
- BizNamedQuery::queryPublishingTemplates
- BizNamedQuery::validatePublishingTemplatePubChannelId
- BizObject::containedNoPublishForm
- BizObject::copyNewForm
- BizObject::getInstanceOfRelationalParentId
- BizObject::getObjectIdByDocumentId
- BizObject::getObjectTargetsModified
- BizObject::getPublishFormSlugLine
- BizObject::getPublishSystemAndTemplateId
- BizObject::getSluglineForPublishForm
- BizObject::getSluglineForPublishFormId
- BizObject::handleParentRelations
- BizObject::modifyPublishFormOnSavingPlacements
- BizObject::needsDeepCopy
- BizObject::restorePublishFormName
- BizObject::retrieveSluglineFromPropertyValue
- BizObject::targetsCanBeCopied
- BizObject::transformIntoPublishForm
- BizObject::updateContainedObjects
- BizObject::updateRelationTargetsForCopiedObj
- BizObject::updateVersionOfParentObject
- BizObjectComposer::compose
- BizObjectComposer::determineBasicMetaData
- BizObjectComposer::determineContentMetaData
- BizObjectComposer::determineExtraMetaData
- BizObjectComposer::determineMetaData
- BizObjectComposer::determineObjectName
- BizObjectComposer::determineObjectType
- BizObjectComposer::determinePublicationId
- BizObjectComposer::determineRightsMetaData
- BizObjectComposer::determineSourceMetaData
- BizObjectComposer::determineWorkflowMetaData
- BizObjectComposer::getDossierCategoryForObject
- BizObjectComposer::getFirstIssueId
- BizObjectComposer::getPublishFormName
- BizObjectComposer::validatePublishFormRelations
- BizProperty::getAutocompleteTermEntityProperty
- BizProperty::getFullPropertyInfos
- BizProperty::getUnusedPublishFormProperties
- BizPublishing::allowRemovalDossier
- BizPublishing::createPublishingDialogsWhenMissing
- BizPublishing::createPublishingTemplatesWhenMissing
- BizPublishing::getDialogForSetPublishPropertiesAction
- BizPublishing::getExternalIdFromDocumentId
- BizRelation::collectRelationTargetIssue
- BizRelation::resolveContainedRelations
- BizRelation::validateDossierAndFormIssues
- BizRelation::validateDossierContainsForms
- BizRelation::validateFormContainedByDossier
- BizRelation::validatePublishFormContainedRelations
- BizServerPlugin::isChannelConnectorPluginInstalled
- BizTarget::canRemoveTargets
- BizTarget::removePublishForm
- BizWorkflow::enrichDialogWidgetsSuggestionProviders
- BizWorkflow::flushStatesCache
- BizWorkflow::getDefaultButtonBar
- BizWorkflow::getDefaultButtonBarForRefreshSuggestion
- BizWorkflow::getDefaultButtonBarForSetPublishPropertiesAction
- BizWorkflow::getDialogWidget
- BizWorkflow::getSetPublishPropertiesDialog
- BizWorkflow::isDossierPropertyDisabled
- DBActionproperty::getParentPropId
- DBActionproperty::getUnusedActionProperties
- DBActionproperty::listActionProperties
- DBAdmActionProperty::deleteAdmPropertyUsageByActionAndDocumentId
- DBAdmActionProperty::insertAdmPropertyUsage
- DBAdmAutocompleteTermEntity::getTermEntityByProviderAndPublishSystemId
- DBAdmPubChannel::modifyPubChannelsSuggestionProvider
- DBChannel::checkPubChannelbyPublishSystem
- DBChannel::getChannelIdForPublishSystemId
- DBChannel::getChannelsByPublishSystem
- DBChannel::getPublishSystemByChannelId
- DBChannel::getSuggestionProviderByChannelId
- DBConversion::changePublicationChannelTypes
- DBConversion::dropIndexOnIndesignServerJobs
- DBConversion::setObjectRelationParentType
- DBObject::getDocumentIdOfPublishFormTemplateUsedByProperty
- DBObject::getObjectIdByDocumentId
- DBProperty::getUnusedPublishFormProperties
- DBProperty::getWherePartForExcludedPropertyTypes
- DBWorkflow::flushStatesCache
- ExifTool_MetaData::copyMetaDataFromInputImageToOutputImageWhenNeeded
- PubPublishing_EnterpriseConnector::allowRemoveDossierWhenPublished
- PubPublishing_EnterpriseConnector::doesSupportCropping
- PubPublishing_EnterpriseConnector::doesSupportPublishForms
- PubPublishing_EnterpriseConnector::getButtonBarForSetPublishPropertiesAction
- PubPublishing_EnterpriseConnector::getDialogForSetPublishPropertiesAction
- PubPublishing_EnterpriseConnector::getDpiForOutputImage
- PubPublishing_EnterpriseConnector::getFileFormatsForOutputImage
- PubPublishing_EnterpriseConnector::getPublishFormTemplates
- TestMillionObjects::createOrGetTemplates
- TestMillionObjects::createPlacementRelationsForForm
- TestMillionObjects::createPublishForm
- TestMillionObjects::createPublishFormDossier
- TestMillionObjects::createPublishFormObjects
- TestMillionObjects::determinePublishFormDate
- TestMillionObjects::test_CreateDossiers
- TestMillionObjects::test_CreateDossiersWithPublishForms
- TestMillionObjects::updateObjectDate
- For the following PHP functions the $documentId and $wiwiwUsages parameters have been removed:
- DBActionproperty::getPropertyUsages
- BizProperty::getPropertyUsages
- For the following PHP functions the $publishSystem and $templateId parameters have been removed:
- BizQuery::queryObjectRow:
- DBProperty::getProperties
- DBProperty::getPropertyInfos
- BizProperty::getPropertiesForObject
- BizProperty::getProperties
- For the following PHP functions the $publishSystemId parameter has been removed:
- BizAutocompleteBase::composeBookshelf
- BizAutocompleteBase::searchAutocompleteTerms
- BizAutocompleteBase::autocomplete
- DBAdmAutocompleteTermEntity::getTermEntityId
- The following items in the workflow interface (SCEnterprise.wsdl file) have been marked as deprecated:
- Autocomplete → PublishSystemId
- CheckSpelling service
- CheckSpellingAndSuggest service
- GetSuggestions service
- GetDialog2 → Action: SetPublishProperties
- InstantiateWidget service
- ObjectType: PublishForm and PublishFormTemplate
- PropertyType: file, articlecomponent, fileselector and articlecomponentselector
- PubChannelInfo → SupportsForms
- PubChannelInfo → SupportsCropping
- PublicationInfo → Dictionaries
- Placement → FormWidgetId
- PropertyInfo → MinResolution
- PropertyInfo → MaxResolution
- PropertyInfo → Widgets
- PropertyInfo → PublishSystemId
- PropertyInfo → SuggestionEntity
- PropertyInfo → SuggestionProvider
- Suggestion service
- The following items in the workflow administration interface (SmartConnectionAdmin.wsdl file) have been marked as deprecated:
- PubChannel → SupportsForms
- PubChannel → SupportsCropping
- PubChannel → SuggestionProvider
- PubChannel → PublishSystemId
- TermEntity → PublishSystemId
- The following database items have been removed:
- smart_actionproperties → records having the action field set to SetPublishProperties
- smart_actionproperties → records having the type field set to PublishForm or PublishFormTemplate
- smart_channels → publishsystemid field
- smart_channels → suggestionprovider field
- smart_outputdevices → table dropped
- smart_placements → formwidgetid field, and records having this field set to a value
- smart_properties → records having the objtype field set to PublishForm or PublishFormTemplate
- smart_properties → records having the type field set to file, articlecomponent, fileselector or articlecomponentselector
- smart_properties → publishsystem field, and records having this field set to a value
- smart_properties → suggestionentity field
- smart_properties → templateid field, and records having this field set to a value
- smart_publishedplcmtshist → table dropped
- smart_termentities → publishsystemid field
3. Installing the new Studio Server
Note: In most production environments, the new server is initially installed next to the existing server so that the new setup can be tested before it is made live. For this explanation therefore, the current Enterprise Server will initially be left intact and a new Studio Server is installed separately.
Step 1. Download the Studio Server application from the software release page.
Note: The name of the file is StudioServer_10.x.x_Buildyy.zip, where "x" stands for the Server version number and "y" for the build number. For example: StudioServer_10.10.0_Build100.
Step 2. Unzip the file.
The unzipped folder contains a folder named 'StudioServer' containing files such as index.php, index.html, index.htm.
Step 3. Copy the complete StudioServer folder to the server machine’s Web root folder (such as webroot).
Step 4. Configure Studio Server by doing one of the following:
- When the overrule_config.php file is used, copy this file over to the new server.
- For all configuration files in the <Studio Server path>/config folder (such as config.php, configserver.php, config_solr.php), compare the settings in the files of the new installation with those of the old installation and update the new version where needed.
Caution: You must not just copy your old configuration files over the new ones, as important modifications may have been made which are necessary to run Studio Server.
4. (Optional) Installing Studio
When Studio is used, install it in Studio Server. When Studio is already installed you can optionally also copy the following folders from your current Enterprise Server installation:
- <Enterprise Server folder>/contentstation
- <Enterprise Server folder>/config/plugins/ContentStation
Note: Make sure that Studio is configured correctly so that it points to the correct URL of Studio Server.
5. Activating licenses
To complete the setup process of Studio Server, licenses need to be activated first.
6. Initializing Studio Server plug-ins
Initializing the Studio Server plug-ins is necessary because much of the functionality of Studio Server is based on the functionality of Server plug-ins. During the initialization process, the available Server plug-in folders are accessed and the plug-ins that are found are added to the database.
Step 1. (Optional) Copy any customized Server plug-ins from the current Server to the new upgraded Server. Location:
- For custom plug-ins: <server path>/config/plugins
Step 2. In Studio Server, click Server Plug-ins in the Maintenance menu or on the Home page.
The Server Plug-ins page appears and any installed plug-ins will be automatically registered.
Note: Because the plug-ins are registered while the page is opened, the process of opening the page can take a few moments.
Step 3. Make sure that the required plug-ins are enabled. If needed, resolve any conflicts.
Note: Normally, no conflicts should arise and no further action will be required after accessing the page.
7. Testing Studio Server
The setup is now ready to be tested.
Step 1. Open a Web browser and enter the URL for the installed server.
Example: http://localhost/StudioServer/
The log in screen appears.
Step 2. Log in using the following credentials:
- User Name: woodwing
- Password: ww
The main screen appears.
Troubleshooting: I am not able to log in When you are not able to log in, for instance because of an incorrect configuration, access the Health Check page by entering the following URL in your Web browser: http://<your server URL>/StudioServer/server/wwtest/testsuite.php Continue with Step 2. |
Step 1. Access the Health Check page by doing the following:
Step 1a. In Studio Server, click Advanced in the Maintenance menu or on the Home page. A page with all advanced Maintenance features appears.
Step 1b. Click Health Check. The Health Check page appears.
Step 2. (Optional) In case not all licenses are activated yet, clear the check box for Licenses.
Step 3. (Optional) For those systems or features which are not installed yet (such as LDAP), clear their check boxes.
Step 4. Click Test.
The test(s) are executed and the results are displayed next to each test. They should all display “OK”.
Note: If a test fails, an error is displayed together with instructions for solving it. Follow the instructions and then run the test once more.
8. Taking the new server into production
The new server was very likely installed next to the existing server so that it could be tested before it is ready to take into production.
As soon as everything is found to be in order, the new server will have to be made live at some stage. This can be done in one of the following ways:
- Replace the full folder content of the old (current production) Studio Server with the full folder content of the new Studio Server.
Note: Make sure that the INETROOT option in config.php is updated correctly.
- Remove the old (current production) Studio Server folder and rename the new Studio Server folder so that it matches the name of the old (current production) Studio Server folder.
- Keep the newly created folder and provide all administrators with the new URL and update the WWSettings.xml files for the client application users with the new path to the server. When Studio is used, make sure that it is configured correctly so that it points to the correct URL of Studio Server. Once the new server is taken into production, you might want to remove the old server installation.
Note: Switching from the “old” environment to the “new “environment should be done when no user is logged in. Furthermore it is preferable that the “old’ environment is cleaned (for example: see if there are any objects which can be removed, and subsequently empty the Trash Can. For more information about cleaning up the system, see Deleting an Issue and Permanently deleting files from Studio Server).
9. Reviewing required and optional steps (after upgrading)
Depending on the version of Studio Server that you are upgrading from or to, some additional steps may be need to be performed.
Review the following information and implement when necessary.
Upgrading from Enterprise Server 10.8 or higher with Elvis Server integrated
Since the introduction of archiving Digital articles in Enterprise Server 10.8.0 to Elvis Server, the archiving functionality has been expanded and improved in subsequent releases:
- Enterprise Server 10.9.0 introduced the archiving of layouts.
- Studio Server 10.11.0 made it possible to set the archiving options in more detail.
- Studio Server 10.11.1 introduced the archiving of Dossiers and changed the way the archiving settings can be set up.
- Studio Server 10.11.2 introduced archiving based on Workflow Status.
When making use of the archiving feature therefore, review the way the feature now works in the version of Studio Server that is being upgraded to:
- Archiving files from Studio Server 10.10.0 to Assets Server
- Archiving files from Studio Server 10.11.0 to Assets Server
- Archiving files from Studio Server 10.11.1 – 10.11.3 or higher to Assets Server
Upgrading to Studio Server 10.11.0 or higher
InDesign Server integration
Changes to the InDesign Server integration have been made in Studio Server 10.11.0.
After migrating to Studio Server 10.11 (or higher), do the following:
- Plan the periodic clean-up of the WebEdit folders. When installing a new InDesign Server host (or upgrading an existing InDesign Server host) to connect to Studio Server, the WebEdit folders should be cleaned periodically.
These folders are created by the InDesign Server preview script (provided by Studio Server) for each preview session.
When an InDesign Server host is busy, the WebEdit folder is created by another InDesign Server host.
To make maximum use of the InDesign Server capacity (and to not have the process delayed because of auto-cleaning operations) it is the responsibility of the system operator to periodically remove the WebEdit folders.
The more users are served, the more often this should happen. However, doing this too often can lead to inefficiencies. A good starting point is to clean the folder every 15 minutes and to remove all WebEdit folders in the InDesign Server Workspace folder that are older than one hour.
For Windows Server, two example scripts are provided: a clean-up script that does the actual cleaning and an installation script that makes it periodically run with help of the Windows Task Scheduler. The scripts can be found in the StudioServer/sdk/ids folder.
Further instructions can be found in the headers of the scripts.
Note: The scripts provided are a guideline for setting up the automated cleaning. Usage of it is at your own risk; support for these scripts is not provided by WoodWing.
The Workspace folder can be found in the following locations:
- Windows: %USERDATA%\WwIdsWorkSpace
- macOS: ~/Library/Application Support/WwIdsWorkSpace
Upgrading to Studio Server 10.11.1 or higher
When Studio Server is used in combination with WoodWing Assets, password restrictions as defined in the Password management configuration section in the configserver.php file were not validated. The advice is to have all users reset their passwords for logging in to Studio Server.
Note that this is only needed when all of the following is true:
- No third-party authentication providers such as LDAP/Active Directory, Okta, or AWS Cognito are used.
- The WoodWing Assets plug-in is enabled.
- Changes have been made to the default settings of the Password management configuration in the configserver.php or config_overrule.php file.
Upgrading to Studio Server 10.14.0 or higher
- Server logging: Support for JSON dropped as a configurable option for outputting log files. In Studio Server 10.14.0, support was dropped for outputting log files to disk in JSON format. In that version and higher, outputting log files in JSON format is only done when logging to a central location. When your system is configured to output log files in JSON format, set up centralized logging. For details, see the following articles:
- Logging server activity in Studio Server 10.14 or higher – Concept
- Logging server activity in Studio Server 10.14 or higher – Configuration
Comment
Do you have corrections or additional information about this article? Leave a comment! Do you have a question about what is described in this article? Please contact Support.
0 comments
Please sign in to leave a comment.