Higher Quality, Stronger Performance, Increased Stability, Better Developer Experience, discover everything we've shipped recently!

Strapi plugin logo for Content Manager Organizer

Content Manager Organizer

Group Strapi Content Manager collection types into collapsible sidebar sections

thumbnail for Content Manager Organizer

strapi-plugin-content-manager-organizer

npm version npm downloads Strapi version License: MIT

A Strapi v5 plugin that lets you organize the Content Manager sidebar into collapsible, labeled groups — configured entirely through a brand new visual Settings UI with Drag & Drop.

Content Manager Organizer Demo


🚀 What's New in v2!

We've completely overhauled the plugin with a ton of new features and quality-of-life improvements:

  • 🎨 Brand New UI Dashboard: A completely redesigned, settings dashboard.
  • 🖱️ Drag & Drop Ordering: Visually re-arrange your content types and groups with smooth drag-and-drop mechanics.
  • 📑 Single Types Support: You can now organize your Single Types into groups! Collection Types and Single Types are cleanly separated in the dashboard.
  • 🔀 Sort Orders: Choose exactly how your sidebar renders:
    • Alphabetical (Default): Automatically sorts groups and items alphabetically.
    • Custom Order: Respects the exact drag-and-drop order you set in the dashboard.
  • 🔍 Enhanced Search: Quickly find and filter your content types within the settings dashboard.

🎯 Why Content Manager Organizer?

When your Strapi project grows to 20, 30, or 50+ content types, the default sidebar becomes a long, unmanageable list. Content Manager Organizer solves this by letting you:

ProblemSolution
50+ content types in one listGroup into logical sections
Alphabetical order not usefulCustom drag-and-drop ordering within groups
Can't find content types fastCollapse irrelevant groups
Single types cluttering sidebarGroup them separately
Config lost on redeploySaved safely to the database

Screenshots

Interactive Drag & Drop Dashboard

Dashboard

Collection vs Single Types Separation

SingleType

Grouped Sidebar — Dark Mode

GroupedSidebar


✨ Features

  • 📁 Group content types into named, collapsible sections
  • 📄 Single Types support — organize Collection Types and Single Types separately
  • 🖱️ Drag & Drop — re-arrange groups and items visually
  • 🔀 Custom Sort Orders — choose between Alphabetical or Custom ordering
  • 🔍 Real-time Search — instantly filter content types in the settings
  • 💾 Persisted to database — survives redeploys (SQLite, PostgreSQL, MySQL)
  • 🌙 Dark/Light theme — auto-detects Strapi theme perfectly
  • Zero config required — works out of the box
  • 🎛️ Visual Settings UI — no code changes needed


📦 Installation

npm

npm install strapi-plugin-content-manager-organizer

yarn

yarn add strapi-plugin-content-manager-organizer

pnpm

pnpm add strapi-plugin-content-manager-organizer

🎛️ How It Works

┌─────────────────────────────────────────────────┐
│  First launch (no config in DB)                 │
│  → Shows default Strapi sidebar order           │
└──────────────────────┬──────────────────────────┘


┌─────────────────────────────────────────────────┐
│  User configures via Settings > Content Manager Organizer  │
│  → Config saved to database                     │
└──────────────────────┬──────────────────────────┘


┌─────────────────────────────────────────────────┐
│  Every subsequent visit                         │
│  → DB config loaded → grouped sidebar shown     │
│  → Survives redeploys ✓                         │
└─────────────────────────────────────────────────┘

Database Storage

The plugin creates a hidden content type content-manager-configuration that stores your config as JSON. It's hidden from the Content Manager and Content-Type Builder — you'll never accidentally see it.

plugin::content-manager-organizer.content-manager-configuration
├── key: "main"          (always "main", one record)
└── config: { ... }      (your full group config as JSON)

Supported Databases

DatabaseSupported
SQLite✅ Yes
PostgreSQL✅ Yes
MySQL✅ Yes
MariaDB✅ Yes

📋 Settings Page Reference

Tabs

Switch between Collection Types and Single Types to manage them independently.

Sort Order Toggle

  • Alphabetical: Automatically sorts your sidebar groups and items alphabetically.
  • Custom Order: Respects the exact drag-and-drop order from the dashboard.

Drag & Drop Interface

  • Create Groups: Click the "New Group" button to create a section.
  • Drag Items: Drag content types from the left panel into any group on the right.
  • Reorder Items: Drag items up and down within a group.
  • Reorder Groups: Drag entire groups up and down to change their order in the sidebar.


🔐 Permissions

The plugin registers two permissions under Plugins → Content Manager Organizer:

PermissionDescription
settings.readView the settings page
settings.updateSave configuration changes

Assign these in Settings → Roles to control who can configure the plugin.


🛠️ Advanced: Pre-seeding Config via Code

If you want to ship a default config for your team (without UI configuration), you can seed the database on bootstrap:

// src/index.ts (your Strapi project, not the plugin)
export default {
  async bootstrap({ strapi }) {
    // Only seed if no config exists
    const existing = await strapi.db
      .query('plugin::content-manager-organizer.content-manager-configuration')
      .findOne({ where: { key: 'main' } });
 
    if (!existing) {
      await strapi.db
        .query('plugin::content-manager-organizer.content-manager-configuration')
        .create({
          data: {
            key: 'main',
            config: {
              stripNumericPrefix: true,
              sortBy: 'alphabetical',
              groups: [
                {
                  id: 'products',
                  label: 'Products',
                  defaultExpanded: true,
                  kind: 'collectionType',
                  items: ['product', 'category'],
                },
                {
                  id: 'blog',
                  label: 'Blog',
                  defaultExpanded: false,
                  kind: 'collectionType',
                  items: ['article', 'tag', 'author'],
                },
                {
                  id: 'settings',
                  label: 'Global Settings',
                  defaultExpanded: true,
                  kind: 'singleType',
                  items: ['site-config', 'footer'],
                }
              ],
            },
          },
        });
    }
  },
};

📄 License

MIT © Chetan Hasarmani

🙏 Acknowledgements

Built with Strapi Plugin SDK and Strapi Design System.

Install now

npm install strapi-plugin-content-manager-organizer

STATS

2 GitHub stars93 weekly downloads

Last updated

2 days ago

Strapi Version

5.46.0 and above

Author

github profile image for Chetan Hasarmani
Chetan Hasarmani

Useful links

Create your own plugin

Check out the available plugin resources that will help you to develop your plugin or provider and get it listed on the marketplace.