PHPackages                             networkteam/neos-selectivemaintenance - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. networkteam/neos-selectivemaintenance

ActiveNeos-package[Utility &amp; Helpers](/categories/utility)

networkteam/neos-selectivemaintenance
=====================================

Enable maintenance mode for specific documents in your page tree.

0.1.0(3y ago)02.5k↓66.1%MIT

Since Feb 17Pushed 3y ago2 watchersCompare

[ Source](https://github.com/networkteam/Networkteam.Neos.SelectiveMaintenance)[ Packagist](https://packagist.org/packages/networkteam/neos-selectivemaintenance)[ RSS](/packages/networkteam-neos-selectivemaintenance/feed)WikiDiscussions main Synced yesterday

READMEChangelogDependencies (1)Versions (2)Used By (0)

Networkteam.Neos.SelectiveMaintenance
=====================================

[](#networkteamneosselectivemaintenance)

Enable maintenance mode for specific documents in your page tree.

Installation
------------

[](#installation)

Add this package to `composer.json` of your **site package**.

```
cd Packages/Sites/Your.Site
composer require networkteam/neos-selectivemaintenance --no-update

```

Run node migration for adding default values.

```
flow node:migrate 20230216214800 --confirmation true

```

Configuration
-------------

[](#configuration)

This package provides a processor for which replaces the common content with maintenance content. First of all you have to decide, at which position of your sites layout you'd like to render the maintenance content. Some examples are:

- Replacing complete body
- Replacing main content only, for still showing navigation and footer

Take a look into the [Neos demo package](https://github.com/neos/Neos.Demo). It provides several page types. Some of them are:

- Page
- Landingpage
- Chapter
- Base

### Replacing complete body

[](#replacing-complete-body)

If you would like to replace the complete body for a page being in maintenance, add the processor to base document (`Neos.Demo:Document.Base`)

*Packages/Sites/Neos.Demo/Resources/Private/Fusion/Document/Base.fusion*

```
/**
 * Prototype to render a page with all scripts and styles but with
 * a replaceable body and bodyClass via props
 */
prototype(Neos.Demo:Document.Base) < prototype(Neos.Fusion:Component) {
    body = null
    bodyClass = null

    renderer = Neos.Neos:Page {
        head {
            stylesheets {
                site = Neos.Demo:Document.Fragment.StyleSheets
            }
            javascripts {
                site = Neos.Demo:Document.Fragment.JavaScripts
            }
            metadata = Neos.Demo:Document.Fragment.MetaData
        }

        bodyTag.attributes.class = ${props.bodyClass}
        body = ${props.body}
+       body.@process.maintenaceContent = Networkteam.Neos.SelectiveMaintenance:MaintenanceContent
    }
}

```

### Replacing main content only

[](#replacing-main-content-only)

For replacing main content only, you'll have to adjust each document separately.

Add the processor to the `mainContent` property. The example below shows the default page. Some procedure applies to the other documents.

*Packages/Sites/Neos.Demo/Resources/Private/Fusion/Document/Page.fusion*

```
/**
 * Default page-rendering for the Neos.Demo website
 */
prototype(Neos.Demo:Document.Page) < prototype(Neos.Fusion:Component) {
    mainMenu = Neos.Demo:Document.Fragment.Menu.Main
    secondaryMenu = Neos.Demo:Document.Fragment.Menu.Secondary
    metaMenu = Neos.Demo:Document.Fragment.Menu.Meta
    breadcrumbMenu = Neos.Demo:Document.Fragment.Menu.Breadcrumb
    languageMenu = Neos.Demo:Document.Fragment.Menu.Language

    mainContent = Neos.Demo:Document.Fragment.Content.Main
+   mainContent.@process.maintenanceContent = Networkteam.Neos.SelectiveMaintenance:MaintenanceContent
    footerContent = Neos.Demo:Document.Fragment.Content.Footer

    bodyClass = ${q(node).parents().count() >= 1 && q(node).children('[instanceof Neos.Neos:Document]').filter('[_hiddenInIndex=false]').count() > 0 ? 'has-subpages' : null}

    renderer = Neos.Demo:Document.Base {
        bodyClass = ${props.bodyClass}
        body = afx`

                    {props.languageMenu}
                    {props.mainMenu}
                    {props.secondaryMenu}

                {props.breadcrumbMenu}
                {props.mainContent}

                            {props.metaMenu}

                            {props.footerContent}

        `
    }
}

```

Usage
-----

[](#usage)

1. Create a page with maintenance information in your page tree, somewhere.
2. Select the page which should be in maintenance mode.
3. Enable maintenance mode and set previously created page as maintenance page

###  Health Score

23

—

LowBetter than 26% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity20

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1232d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7cbf52f8dce27737b73b79ac2c958434339f3dcf704b17a040956ed9a33eb4ef?d=identicon)[networkteam](/maintainers/networkteam)

---

Top Contributors

[![ger4003](https://avatars.githubusercontent.com/u/1758522?v=4)](https://github.com/ger4003 "ger4003 (1 commits)")

### Embed Badge

![Health badge](/badges/networkteam-neos-selectivemaintenance/health.svg)

```
[![Health](https://phpackages.com/badges/networkteam-neos-selectivemaintenance/health.svg)](https://phpackages.com/packages/networkteam-neos-selectivemaintenance)
```

###  Alternatives

[neos/seo

SEO configuration and tools for Neos

141.0M31](/packages/neos-seo)[sitegeist/kaleidoscope

Responsive-images for Neos

29370.3k12](/packages/sitegeist-kaleidoscope)[kaufmanndigital/gdpr-cookieconsent

A ready-to-run package, that integrates an advanced cookie consent banner into your Neos CMS site.

2542.4k](/packages/kaufmanndigital-gdpr-cookieconsent)[techdivision/ckstyles

Neos package which enables you adding your custom style classes for the CkEditor with a simple Yaml configuration

21179.5k](/packages/techdivision-ckstyles)[sitegeist/taxonomy

Manage vocabularies and taxonomies as separate node-hierarchy.

1595.1k1](/packages/sitegeist-taxonomy)[shel/neos-colorpicker

A plugin for Neos CMS which provides a colorpicker editor

14104.7k6](/packages/shel-neos-colorpicker)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
