Open-source serverless enterprise CMS. Includes a headless CMS, page builder, form builder, and file manager. Easy to customize and expand. Deploys to AWS.
The Headless CMS now has basic trash bin functionalities. When an editor deletes an entry from the admin app, the entry will be moved to the trash bin instead of permanently deleted.
These are the available functionalities:
Move entries to the trash bin instead of deleting them.
List all items in the trash bin, with pagination.
Sort the items by name, deletedOn and createdOn fields.
Search for items in the trash bin.
Delete items in the trash bin.
Restore items in the trash bin.
Bulk delete items in the trash bin.
Bulk restore items in the trash bin.
Permissions
Users with full access to the content model (rwd) can interact with the trash bin.
Under the hood
Three new packages have been introduced:
app-trash-bin: contains both the domains and the presentation for the trash bin. It exposes the main TrashBin component that will be used by app-headless-cms.
app-trash-bin-common: includes gateway abstractions and models used by multiple applications, such as app-admin. A separate package is required to avoid circular dependencies.
app-utils: contains some essential domains, applicable across multiple applications such as: Sorting, Loading and Meta.
Code organisation
While working on this feature, we are experimenting with the First Test Architecture and Clean Architecture.
Opening the app-trash-bin package you will see 2 folders:
Domain
The folder contains relevant information at the domain level:
Models
Repositories
UseCases
Presentation
The folder contains components useful to present data. Together with the components, we find:
Changes
The Headless CMS now has basic trash bin functionalities. When an editor deletes an entry from the admin app, the entry will be moved to the trash bin instead of permanently deleted.
These are the available functionalities:
name
,deletedOn
andcreatedOn
fields.Permissions
Users with full access to the content model (
rwd
) can interact with the trash bin.Under the hood
Three new packages have been introduced:
app-trash-bin
: contains both the domains and the presentation for the trash bin. It exposes the mainTrashBin
component that will be used byapp-headless-cms
.app-trash-bin-common
: includes gateway abstractions and models used by multiple applications, such asapp-admin
. A separate package is required to avoid circular dependencies.app-utils
: contains some essential domains, applicable across multiple applications such as:Sorting
,Loading
andMeta
.Code organisation
While working on this feature, we are experimenting with the First Test Architecture and Clean Architecture.
Opening the
app-trash-bin
package you will see 2 folders:Domain
The folder contains relevant information at the domain level:
Presentation
The folder contains components useful to present data. Together with the components, we find:
How Has This Been Tested?
Jest - Manually