Nuxeo Server

Upgrade from LTS 2017 to FT 10.2

Updated: July 26, 2018 Page Information Edit on GitHub

Installation and Configuration

New Parameters

Parameter Modification Reference
nuxeo.server.hsts.enabled New Default Value to false NXP-24030

Requirements

  • Elasticsearch >= 6.x is required.
  • Kafka >= 1.1.0 is required.

Code Changes

Replace json-lib with jackson

You should now use com.fasterxml.jackson.core:jackson-*, instead of net.sf.json-lib:json-lib.

See NXP-24093.

CSRF Protection

CSRF protection is activated by default and based on the CORS configuration, along with its allowOrigin and supportedMethods parameters, which by default doesn't allow any cross origin.

See NXP-24331.

Video Conversion Listener

The video info (duration, format, etc.) is now computed by an asynchronous work to avoid loading the blob and running ffmpeg-info synchronously. This work, schedules two asynchronous works to process the video storyboard and conversions.

Class removed: VideoAutomaticConversionListener, VideoStoryboardListener and org.nuxeo.ecm.platform.video.VideoConstants#VIDEO_CHANGED_EVENT (videoChanged).

Class added: VideoInfoWork and VideoStoryboardWork.

See NXP-24316.

Automation Scripting

The import constraints have been relaxed, it's now possible to allow specific Java classes to be used via Automation Scripting, by default we add:

  • java.util.ArrayList
  • java.util.Arrays
  • java.util.Collections
  • java.util.UUID
  • org.nuxeo.runtime.transaction.TransactionHelper
  • org.nuxeo.ecm.core.api.Blobs
  • org.nuxeo.ecm.core.api.impl.blob.StringBlob
  • org.nuxeo.ecm.core.api.impl.blob.JSONBlob
  • org.nuxeo.ecm.core.api.NuxeoException

See NXP-25020 and NXP-25211.

Code Behavior Changes

  • ecm:versionVersionableId is now indexed by Elasticsearch.
    See NXP-24114.
  • Exception stack trace is no longer written in the response by default. Use parameter org.nuxeo.rest.stack.enable to enable it.
    See NXP-23861.
  • Some test classes have been moved under nuxeo-core-io test part. But nuxeo-core-io test module is a dependency of nuxeo-core-test (former location) to enforce backward compatibility.

    TransactionalFeature has been moved from nuxeo-core-test to nuxeo-runtime-test:
    org.nuxeo.ecm.core.test.TransactionalFeature becomes org.nuxeo.runtime.test.runner.TransactionalFeature

See NXP-25197.

  • New APIs are available on KeyValueStore.

    • Optimized storage of Long values:

      • put(String key, Long value)
      • put(String key, Long value, long ttl)
      • getLong(String key)
      • getLongs(Collection keys)
    • Atomic increment:

      • addAndGet(String key, long delta)

    See NXP-23745.

  • You can add the skipAggregates=true http header when invoking the search rest endpoint to skip any aggregation computation on a page provider query.

    See NXP-25158.

Operation Changes

Since Nuxeo 10.2 and 9.10-HF03, the SuggestUserEntries operation performs a full name user search, e.g. typing "John Do" returns the user with first name "John" and last name "Doe".

See NXP-24583.

Deprecated APIs

@LocalDeploy

@LocalDeploy is now deprecated it must not be used anymore, use @Deploy instead that now allows you to deploy local contributions.

See NXP-22544.

CoreSession#close

CoreSession.close() is deprecated and should not be used anymore.

See NXP-24089.

TrashService

API Changes

The new TrashService fires dedicated events documentTrashed and documentUntrashed (hold by TrashService interface) instead of lifecycle_transition_event. The document model passed in the event won't be saved by Nuxeo at the end.

Keeping Old Trash implementation

The trash implementation has changed in 10.2. If you want to keep previous implementation relying on life cycle state, add the following contribution:

  <require>org.nuxeo.ecm.core.trash.service.migrator</require>
  <extension target="org.nuxeo.runtime.migration.MigrationService" point="configuration">

    <migration id="trash-storage">
      <defaultState>lifecycle</defaultState>
    </migration>

  </extension>

If you want to migrate trash state to the new property model (ecm:isTrashed), follow the Trash migration steps.

Trash Migration

To migrate trash states to the new property model:

  1. Follow the step from section Keeping old trash implementation.
  2. In the Nuxeo Platform's JSF UI, go to Admin > System Information > Migration, click the button Migrate trashed state from lifecycle to property and wait until migration is completed.
  3. Remove the contribution added at step 1.

See NXP-24850.

Complementary Information

2 months ago manonlumeau Create upgrade notes for 10.2
2 months ago manonlumeau Add upgrade notes for 10.2
History: Created by manonlumeau

We'd love to hear your thoughts!

All fields required