From 87f267e171b21cbc875a09de575a81a8c26e8dea Mon Sep 17 00:00:00 2001 From: Marc Heimgartner Date: Thu, 12 Feb 2026 13:49:24 +0100 Subject: [PATCH 1/4] chore(release-2026-03): deprecate registerCustomEmbeds --- content/guides/setup/editor-customization.md | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/content/guides/setup/editor-customization.md b/content/guides/setup/editor-customization.md index e3fd57b59..6b09b87f7 100644 --- a/content/guides/setup/editor-customization.md +++ b/content/guides/setup/editor-customization.md @@ -16,7 +16,6 @@ Possible Livingdocs Editor UI customizations: - custom Angular components for doc-include sidebar user interfaces - custom [Display Filter]({{< ref "/customising/advanced/editor-configuration/display-filter.md" >}}) - custom Dashboard item (a single item in the articles dashboard) -- custom Embed components (the core contains Iframes and Tweets) - custom Iframely metadata extractors - locale customizations @@ -57,15 +56,6 @@ liEditor.includes.register('brightcove', { } }) -// Example of custom embeds -// embeds = require('@livingdocs/editor/app/scripts/modules/embeds/embeds') -// Pinterest = require('./custom/scripts/modules/embeds/pinterest/pinterest') -// Facebook = require('./custom/scripts/modules/embeds/facebook/facebook') -// embeds.registerCustomEmbeds [ -// Facebook, -// Pinterest -// ] - // Example of changing the date locale // moment = require('moment') // momentDe = require('moment/locale/de') From 5cb02260cecc3e38534fed4a788fc1eab67eff32 Mon Sep 17 00:00:00 2001 From: Marc Heimgartner Date: Thu, 12 Feb 2026 15:30:27 +0100 Subject: [PATCH 2/4] chore(release-2026-03): remove angular mentions from editor customization --- content/guides/setup/editor-customization.md | 28 +------------------- 1 file changed, 1 insertion(+), 27 deletions(-) diff --git a/content/guides/setup/editor-customization.md b/content/guides/setup/editor-customization.md index 6b09b87f7..52e2bc013 100644 --- a/content/guides/setup/editor-customization.md +++ b/content/guides/setup/editor-customization.md @@ -10,13 +10,9 @@ weight: 2 Possible Livingdocs Editor UI customizations: -- custom Angular factories or services (for use in other customizations) -- custom Angular components for metadata fields -- .. or [custom model classes]({{< ref "/guides/documents/metadata" >}}) for existing metadata fields -- custom Angular components for doc-include sidebar user interfaces +- [custom model classes]({{< ref "/guides/documents/metadata" >}}) for existing metadata fields - custom [Display Filter]({{< ref "/customising/advanced/editor-configuration/display-filter.md" >}}) - custom Dashboard item (a single item in the articles dashboard) -- custom Iframely metadata extractors - locale customizations ## Editor Configuration @@ -28,34 +24,12 @@ In addition to this some behaviour can be customised using the JSON configuratio The editor (like the server) usually has an `app/editor.js` file where code customizations are registered and that looks something like this: ```js -// entry point when using the webpack build of the editor const liEditor = require('@livingdocs/editor')() -const editingApiModule = window.angular.module('li-editing-api') -// the Angular editorModule -> can be used to register services and factories -const editorModule = window.angular.module('livingdocs-editor') - -// example of loading a custom angular module: ui-validate -// require('angular-ui-validate') -// editorModule.requires.push('ui.validate') - -// Just require a custom Angular factory using the editorApiModule -require('./custom/scripts/factories/categories')(editingApiModule) // Register a custom filter for the dashboard const layoutsFilter = require('./custom/filters/layouts_filter') liEditor.searchFilters.registerListV2('layouts', layoutsFilter) -// Register a custom doc-include sidebar interface (Angular component) -liEditor.includes.register('brightcove', { - template: require('../plugins/includes/ld-brightcove-include/brightcove_include_template.html'), - controller: require('../plugins/includes/ld-brightcove-include/brightcove_include_controller'), - bindings: { - directive: '=', - componentView: '=', - component: '=' - } -}) - // Example of changing the date locale // moment = require('moment') // momentDe = require('moment/locale/de') From 26cd04aaa8271dd50c62e0d4982c45d898eba665 Mon Sep 17 00:00:00 2001 From: Marc Heimgartner Date: Thu, 12 Feb 2026 15:53:40 +0100 Subject: [PATCH 3/4] chore(release-2026-03): deprecate old push notifications feature --- content/guides/editor/push-notifications/index.md | 7 +++---- .../document/metadata/plugins/li-push-notifications.md | 5 ++--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/content/guides/editor/push-notifications/index.md b/content/guides/editor/push-notifications/index.md index 350620976..20ac7b602 100644 --- a/content/guides/editor/push-notifications/index.md +++ b/content/guides/editor/push-notifications/index.md @@ -4,10 +4,9 @@ description: Setup push notifications with a custom dashboard item weight: 15 --- -{{< warning >}} -Please don't use this functionality anymore. it will be removed eventually after a formal deprecation period that has not started yet. -Use the [`li-push-messages` metadata plugin]({{< ref "/reference/document/metadata/plugins/li-push-messages" >}}) instead. -{{< /warning >}} +{{< deprecated-in "release-2026-03" block >}} + +`li-push-notifications` is deprecated and will be removed in `release-2026-09`. Please use the [`li-push-messages` metadata plugin]({{< ref "/reference/document/metadata/plugins/li-push-messages" >}}) instead. This guide explains 2 things: diff --git a/content/reference/document/metadata/plugins/li-push-notifications.md b/content/reference/document/metadata/plugins/li-push-notifications.md index e8240415a..93e7ef65b 100644 --- a/content/reference/document/metadata/plugins/li-push-notifications.md +++ b/content/reference/document/metadata/plugins/li-push-notifications.md @@ -17,9 +17,8 @@ support: systemMetadata: true planningSystem: false description: | - {{< warning >}} - Support for `li-push-notifications` will soon be removed. Please use [`li-push-messages`]({{< ref "/reference/document/metadata/plugins/li-push-messages" >}}) instead. - {{< /warning >}} + {{< deprecated-in "release-2026-03" block >}} + `li-push-notifications` is deprecated and will be removed in `release-2026-09`. Please use [`li-push-messages`]({{< ref "/reference/document/metadata/plugins/li-push-messages" >}}) instead. defaultUI: Editor toolbar button which opens a dialog. storageFormat: | { From 29535ed2cabf299ee45c447b9928b2a3957e6c22 Mon Sep 17 00:00:00 2001 From: Marc Heimgartner Date: Fri, 13 Feb 2026 16:33:05 +0100 Subject: [PATCH 4/4] chore(release-2026-03): deprecat metadata hooks --- .../customising/server/document-lifecycle/document-creation.md | 2 +- .../server/document-lifecycle/document-publication.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/customising/server/document-lifecycle/document-creation.md b/content/customising/server/document-lifecycle/document-creation.md index c92b77115..ca0d42da3 100644 --- a/content/customising/server/document-lifecycle/document-creation.md +++ b/content/customising/server/document-lifecycle/document-creation.md @@ -23,6 +23,6 @@ You don't need to fully understand everything going on right now, but as you lea 1. For every `ContentType` you can define [`defaultContent`]({{< ref "/reference/project-config/content-types#default-content" >}}) and [`defaultMetadata`]({{< ref "/reference/project-config/content-types#default-metadata" >}}) which will be merged with passed content/metadata (passed data are preferred). 2. content (import) and metadata (import + editor) will be validated in a next step -3. metadata plugin hook [`onUpdate`]({{< ref "/customising/server/metadata-plugins#write-a-custom-plugin" >}}) will be called +3. metadata plugin hook `onUpdate` will be called ({{< deprecated-in "release-2026-03" >}}) 4. Save the document on the database 5. Call the server event [`document.create`]({{< ref "/customising/advanced/server-events#available-events" >}}) diff --git a/content/customising/server/document-lifecycle/document-publication.md b/content/customising/server/document-lifecycle/document-publication.md index 5d12b9565..f4317af32 100644 --- a/content/customising/server/document-lifecycle/document-publication.md +++ b/content/customising/server/document-lifecycle/document-publication.md @@ -14,7 +14,7 @@ Below is a diagram for the document publication lifecycle. You don't need to ful {{< img src="assets/document-publication-lifecycle.png" alt="Document Publication Lifecycle" >}} 1. Start "Prepare Publish" phase where you still can modify the document, validate data and throw errors back to the callee -2. Call metadata plugin hook [`onPreparePublish`]({{< ref "/customising/server/metadata-plugins#write-a-custom-plugin" >}}) (modify metadata property, validation) +2. Call metadata plugin hook `onPreparePublish` (modify metadata property, validation) ({{< deprecated-in "release-2026-03" >}}) 3. Call server hook [`preparePublishHook`]({{< ref "/customising/server/server-hooks#publication-hooks" >}}) (modify document, validation). 4. Start "Publication" phase 5. Save the publication on the database