An open API service indexing awesome lists of open source software.

https://github.com/muensmedia/muensmedia.timeable

Allows to automatically disable nodes in the Neos backend as soon as enableAfterDateTime is set to a date in the future.
https://github.com/muensmedia/muensmedia.timeable

neos-plugin

Last synced: about 2 months ago
JSON representation

Allows to automatically disable nodes in the Neos backend as soon as enableAfterDateTime is set to a date in the future.

Awesome Lists containing this project

README

          

# MÜNSMEDIA Timeable

`Muensmedia.Timeable` enhances the usability of the official
[Neos.TimeableNodeVisibility](https://github.com/neos/timeable-node-visibility) package
by automatically disabling nodes in the Neos backend as soon as `enableAfterDateTime` is
set to a date in the future.

| no date is set | a date is set |
|-------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------|
| visibility can be changed manually | visibility is set automatically by date |
| ![image](https://github.com/user-attachments/assets/6fb18d6e-8324-4a8e-b6b3-c56a0ac8449b) | ![image](https://github.com/user-attachments/assets/7ec67ca8-3895-4af5-af90-5966329f3822) |

_This does not completely remove the possibility to manually disable nodes via the PageTree or ContentTree._

## Installation

```shell
composer require muensmedia/timeable
```

This will also install `Neos.TimeableNodeVisibility` as a dependency.

## Why does this exist?

As noted in [neos-development-collection#4817](https://github.com/neos/neos-development-collection/pull/4817),
Neos intentionally does not implicitly hide nodes when timed visibility is configured:

> No implicit hiding of nodes anymore. The configured hidden state is always respected by Neos.
> Just the background job changes the hidden state.

As an editor, however, you expect a node to be immediately invisible once `enableAfterDateTime`
is set to a date in the future. This package fulfils that expectation by dispatching a
`DisableNodeAggregate` command on save. So the node is disabled right away, and re-enabled
automatically by the `Neos.TimeableNodeVisibility` background job when the time comes.