This article describes the steps that need to be followed to upgrade an existing installation of Studio Server. For example, from Studio Server version 10.10.0 to version 10.11.0 or 10.11.1, from version 10.11.0 to version 10.11.1, and so on.
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. This is especially relevant when upgrading from Studio Server version 10.10 to version 10.11.
- 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 all files that have been created with the current version to make them compatible with the newer version. Doing so prevents users running into unforeseen issues, ensures a smooth transition and maintains the integrity of the content throughout the workflow. This involves converting layouts, layout templates, articles, article templates, and libraries. To do this, follow the steps as outlined in Converting files to a higher version of Adobe InDesign and InCopy.
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 from or to, some additional steps may be need to be performed.
Review the following information and implement when necessary.
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 Studio 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
Upgrading to Studio Server 10.23.0 or higher
PHP
|
ionCubeStudio Server 10.23.0 in combination with either PHP 7.4 or PHP 8.1 requires ionCube Loader 12.0.4. If ionCube Loader 12.0.4 is not loaded by PHP, the Health Check page shows the ionCube Loader Wizard with instructions about how to solve the problem, including a link for downloading this version. If your current Studio Server installation is running on PHP 7.4 and you plan to upgrade to Studio Server 10.23 without upgrading PHP, the ionCube Loader must still be upgraded. |
MS SQL Server driversWhen planning to upgrade Windows Server, SQL Server, or PHP, you may need to upgrade the PHP driver version and / or ODBC driver version as explained in the Microsoft documentation. Keep in mind that these two drivers have dependencies with each other and with Windows Server, SQL Server and PHP. Of these products, only pick versions that are supported by Studio Server. |
Upgrading to Studio Server 10.24.0 or higher
- Deprecated functions have been removed and replaced. The following deprecated functions have been removed and replaced by a new method. Customizations and integrations that make use of these functions should be updated accordingly.
Deprecated method | New method |
---|---|
BizSession::formatClientVersion | BizSession::getClientApplication |
BizSession::getClientName | BizSession::getClientApplication |
BizSession::getClientVersion | BizSession::getClientApplication |
BizSession::isAppInTicket | BizSession::getClientApplication |
BizSession::isSmartMover | WW_Utils_ClientApplication::isSmartMover |
Upgrading to Studio Server 10.26.0 or higher
- Code has been deprecated or removed. Global functions, class methods, and classes in the code are regularly marked as deprecated and eventually removed from the code. Customizations and integrations that make use of these functions should be updated accordingly.
Refer to Code that has been deprecated or removed in Studio Server to see if and how this impacts your customizations and integrations.
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 Studio 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 Studio Server installation:
- <Studio Server folder>/contentstation
- <Studio 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.
Notes:
When upgrading from Studio Server 10.26 or lower in which certain connectors were enabled or disabled for the preview generation and metadata extraction, then the following plug-ins should now be enabled to make sure that all the supported images are covered for the preview generation and metadata extraction in Studio Server 10.27.0 and higher:
|
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 tests 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. See also the next section for possible solutions.
8. 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 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.
Integration with Assets Server
When Assets Server is integrated and Digital articles are being archived, take note of the following:
- Re-setting Workflow Status fields. When Digital articles are restored, a Workflow Status is assigned to the article and any images it contains. Which status this is can be defined on the Brand Maintenance page as part of the configuration for archiving Digital articles. This is done in the following fields:
- Default Status Restored Digital Article
- Default Status Restored Image
When Studio Server is upgraded, these fields are reset to their default status. When a different status was used, this needs to be reset.
- Changes to the process and settings. The process of archiving files from Studio Server to Assets Server has been expanded and improved in various releases of Studio Server:
- 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.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.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
Upgrading to Studio Server 10.21.0 or higher
- Removal of the Laminas Console and Laminas CLI libraries. As part of preparing Studio Server for upcoming versions of PHP, the following has been removed from the server/vendor folder:
- The Laminas Console. This console is deprecated (and discontinued in PHP 8) and usages in Studio Server are replaced by the Symfony Console library.
- The Laminas CLI libraries. These libraries are no longer used by Studio Server.
Custom server plug-ins that rely on the presence of any PHP classes defined in these libraries must be updated to remain compatible with Studio Server.
Upgrading to Studio Server 10.27.0 or higher
- The AWS SDK for PHP has been added to the release package. When a custom server plug-in already ships with the very same SDK, class name conflicts may occur. The SDK in the custom plug-in needs to be replaced by the one shipped with Studio Server.
Notes:
|
- The 'datatables/datatables' javascript library has been updated. The third-party datatables/datatables javascript library package has been updated to the latest version. This package is used for generating the tables on the Maintenance pages such as the Brand Maintenance page and the User Maintenance page.
This has resulted in the following changes:
- The Javascript file has been moved to a new location:
- Old location: server/vendor/datatables/datatables/media/js/jquery.dataTables.js
- New location: server/jquery/datatables/datatables-1.13.4.min.js
- The CSS file has been moved to a new location:
- Old location: server/vendor/datatables/datatables/media/css/jquery.dataTables.css
- New location: config/templates/datatables.css
- The datatables.js file has been moved to a new location:
- Old location: server/jquery/datatables.js
- New location: server/jquery/datatables/datatables.js
When using this library in your integrations, update the references to this library.
Upgrading to Studio Server 10.30.0 or higher
- Integration with Studio: various default configuration values for communicating with Studio have changed. When using Studio Server in combination with Studio, configuration steps are required to make both applications work seamlessly together. The default values of various options have changed, as shown below.
When the old values were used in the previous production system and need to be maintained, these values need to be defined in the config_overrule.php file of Studio Server.
Options in the configserver.php file of Studio Server:
|
|
|
|
|
|
Options in the config.php file of Studio:
|
Upgrading to Studio Server 10.33.0 or higher
- Using RHEL 9 in combination with PHP 8.1: When using RHEL 9, PHP version 8.1 needs to be used, or vice versa (see the Compatibility Matrix). In this setup, the php-mod module for Apache cannot be used anymore and PHP-FPM should be used instead.
When using PHP-FPM, some third-party client applications using a specific HTTP protocol1 to upload files may silently fail. On such failure, the files uploaded in the Transfer Server folder will contain a zero-byte file.
To resolve this, enable the following option in the Apache configuration:
<IfModule mod_proxy_http.c>
SetEnv proxy-sendcl 1
</IfModule>
1 This HTTP protocol is about file uploads using the chunked transfer encoding without specifying the content length HTTP header.
Upgrading to Studio Server 10.34.0 or higher
- The coding style for PHP modules has been changed into PSR-12. This style is automatically applied to the entire code base of Studio Server using the PHP CS Fixer tool. The tool itself is shipped with Studio Server and can be found in the server/vendor/bin folder.
For consistency and readability reasons you may want to apply the PSR-12 code style to your custom server plug-ins as well. For details, see Managing Server plug-ins in Studio Server.
- The .csv file format is now supported by default. The .csv format has been added to the configserver.php file > EXTENSIONMAP list and is therefore now supported by default by Studio Server.
Should you have added this extension to the config_overrule.php file, no action is required. However, should you have added this .csv extension to the EXTENSIONMAP list only, you can decide to remove this from the config_overrule.php file and just rely on the default configuration.
Upgrading to Studio Server 10.36.0 or higher
-
The Axaio MadeToPrint parameter '$layEdition' within the 'outputProcessingFilesBegin' method can now be updated from within the method. The method AxaioMadeToPrintDispatcher_EnterpriseConnector::
outputProcessingFilesBegin has changed its signature from:
public function outputProcessingFilesBegin(string $layoutId, string $layStatusId, array &$fullRow, ?Edition $layEdition, string $publId, bool &$break): void
to:
public function outputProcessingFilesBegin(string $layoutId, string $layStatusId, array &$fullRow, ?Edition &$layEdition, string $publId, bool &$break): void
The $layEdition
parameter is now passed by reference which makes it possible to update this variable within the method.
This change affects all customers who are implementing this method on any existing customization. Customers who are upgrading from a previous version of Studio Server should therefore check if the layEdition variable is modified within the same method. If that is the case, this change could create breaking customizations: if the $layEdition is changed within this function, the behavior can change from the caller perspective.
Upgrading to Studio Server 10.38.0 or higher
- Files in .xml format are now treated as objects of type 'Article'. When uploading a file in .xml format (for example by using Studio), the file is now treated as an article. In previous versions, no object type was assigned to files in this format and the upload would fail with an unclear message in Studio: 'Some files could not be added. Please try again. Invalid status (S1017)'. To make the upload work, the object type had to be manually configured in Studio Server. This configuration is now included by default.
The configuration was changed in the EXTENSIONMAP section of the configserver.php file, where 'Article' has been added as the object type for .xml files.
|
When upgrading from a previous version and this change has already been made in the config_overrule.php file, no steps are needed as the mapping in this file takes precedence over the configserver.php file. The configuration can optionally be removed from the config_overrule.php file now that it is set by default in the configserver.php file.
Upgrading to Studio Server 10.39.0 or higher
- A change has been made to the properties that are inherited when creating a file based on a template. When an article, Dossier, or layout is instantiated from a template in Studio or in Studio for InDesign and InCopy, it inherits some of the properties of the template. A change has been made to which properties are inherited compared to previous versions of Studio Server: some properties have been dropped and some properties have been added.
Dropped | Added |
---|---|
Description | Urgency |
DescriptionAuthor | RouteTo |
For a full overview, see Properties that are inherited when creating a file from a template in Studio or in Studio for InDesign and InCopy.
Check any templates you may have to see if this affects your workflow.
Upgrading to Studio Server 10.40.0 or higher
- Changes have been made to the compatibility between Studio Server and ionCube and PHP. The following changes to the compatibility of Studio Server with other systems have been made:
PHP |
Integrators providing their own custom server plug-ins should strive to make them compatible with PHP 8.2 (and preferably keep them backwards compatible with PHP 8.1). |
ionCube |
The above applies to both PHP 8.1 and 8.2. In other words, even for PHP 8.1 an upgrade of ionCube Loader is required. |
Upgrading to Studio Server 10.42.0 or higher
- A recurrent server job named RepairRabbitMQVirtualHost has been introduced to automatically manage the creation of RabbitMQ virtual hosts. In scenarios in which RabbitMQ connections are lost, the RabbitMQ virtual host can now automatically be restored by the use of the newly introduced RepairRabbitMQVirtualHost Server Job.
To make use of this server job, activate and configure it, and set up a recurring job for it. See Working with Studio Server Jobs in Studio Server.
Upgrading to Studio Server 10.43.0 or higher
- Passwords to authenticate via LDAP are no longer stored in Studio Server. In previous versions, the password of the LDAP system is synchronized with Studio Server. Storing this password is now not done anymore because it is superfluous and it should only be stored in LDAP. Also, the configuration of passwords in Studio Server has become more restrictive (see below) and therefore will probably not match any current passwords in LDAP anymore.
When upgrading from a previous installation of Studio Server in which LDAP is integrated, it is recommended to let LDAP users change their password so that it does not correspond with the stored password in Studio Server. Passwords previously synchronized to Studio Server remain in the server but will be ignored.
- The configuration of passwords has become more strict by increasing the number of minimum required characters. In the Studio Server configuration, the required number of minimum characters has been increased:
Version 10.43.0 and higher | Earlier versions | |
---|---|---|
Minimum characters | 8 | 1 |
Special characters | 1 | 0 |
Characters in upper case | 1 | 0 |
Characters in lower case | 1 | 0 |
This configuration can be found in the configserver.php file:
|
When upgrading from an earlier version of Studio Server, take note of the following:
- When a custom configuration has been added to the config_overrule.php file and these settings need to be kept, no action is required: the currently used passwords are in line with the configuration.
- When the option ‘User Cannot Change Password’ is not enabled on the User Maintenance page for users and the default password configuration is not overruled, users will be prompted to update their password after the upgrade of Studio Server. This is because their password is not in line anymore with the new configuration.
- When the option ‘User Cannot Change Password’ is enabled on the User Maintenance page for users and the default password configuration is not overruled, users will not be able to log in and are advised to contact their system administrator. To prevent this, the configuration used in the previous Studio Server version can be added to the config_overrule.php file so that the passwords are again in line with the configuration.
- When you do not want to make use of the new configuration, the configuration used in the previous Studio Server version can be added to the config_overrule.php file.
9. 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).
Revisions
- 22 August 2024: Updated section 8 'Reviewing required and optional steps (after upgrading)' with steps for Studio Server 10.43.0.
- 24 July 2024: Updated section 8 'Reviewing required and optional steps (after upgrading)' with steps for Studio Server 10.42.0.
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.