li-user-needs

Added in: release-2025-01

Supported Features

Document
Media
Include
Document Creation Flow
Push Message
Table Dashboard
Display Filter
Search Indexing
System Metadata
Webhook Conditions

Description

This plugin allows newsrooms to categorize Livingdocs articles based on the User Needs Model 2.0. User Needs provide an easy and intuitive way to align content creation with audience-focused goals.
By considering these needs during story planning or writing, newsrooms can create articles that better resonate with their audiences, leading to increased interaction and engagement.
The categorization can also be leveraged for algorithmic content placement on pages, ensuring articles are delivered more effectively and with greater relevance. Additionally, it helps identify which needs are currently most significant to users, providing actionable insights for editorial strategy.

Within Livingdocs, authors can select one of the eight user-need categories for their articles. Depending on where the plugin is configured, user needs categories can be selected

  • in the creation-flow panel
  • in the editor metadata panel
  • in the dashboard.

Categories can be edited or removed at any time in both the editor and the dashboard. Furthermore, filtering articles based on user needs can be enabled in the dashboard, helping teams streamline content discovery and analysis.

Default UI

User Needs in the metadata panel of the editor:

User Needs plugin in the metadata form

User Needs in the dashboard:

User Needs plugin in the Table Dashboard

User Needs as display filter:

User Needs plugin as Display Filter

User Needs in the creation flow panel:

User Needs plugin in Creation Flow

Storage Format

<String> // 'engage' | 'update' | 'educate' | 'perspective' | 'divert' | 'inspire' | 'connect' | 'help'

Content Type Config

{
  handle: 'myContentType',
  // ...
  metadata: [
    {
      handle: 'userNeeds',
      type: 'li-user-needs',
      config: {
        index: true,                                                // optional, default: false
        hideFromForm: false,                                        // optional, default: false
        required: false,                                            // optional, default: false
        requiredErrorMessage: 'Provide a value',                    // optional
      },
      ui: {
        label: {de: 'Nutzer:innen- Bedürfnisse', en: 'User Needs'}  // optional, can also be string
        config: {
          readOnly: false,                                          // optional, default: false
        }
      }
    }
    // ...
  ]
}

Additional Config

Table Dashboard config:

columns: [
  // ...
  {
    label: {de: 'Nutzer:innen- Bedürfnisse', en: 'User Needs'},   // can also be a string
    metadataPropertyName: 'userNeeds',
    editable: true,
    minWidth: 200,
    growFactor: 1,
    priority: 2
  }
  // ...
]

Display Filter config:

displayFilter: [
  {metadataPropertyName: 'userNeeds'}
]

Creation Flow config:

paramsSchema: [
  {
    handle: 'liUserNeeds',
    type: 'li-user-needs',
    ui: {
      label: {de: 'Nutzer:innen- Bedürfnisse', en: 'User Needs'},   // optional, can also be a string
      config: {
        readOnly: false                                             // optional, default: false
      }                                     
    }
  }
]