Blockify the WordPress Dashboard with the Mission Ctrl Plugin

Nick Hamze makes it no secret that he loves the WordPress block system. He has spearheaded several unique blocks on the fun side of things as well as made more practical blocks through his Sorta Brilliant brand. It is his website for funding ideas for the block editor. For his most recent project, he has taken blocks outside of the post-editing screen, and this project is, well, sorta brilliant too.

Mission Ctrl is a WordPress plugin that blockifies the WordPress dashboard screen. The plugin allows users, developers, agencies, or even hosts set up the dashboard with custom widgets (called boards) that are built through the block editor.

It is just brilliant enough to make me ask myself why I did not think of the idea first.

It is also low-hanging fruit that took little code to accomplish. Hamze said his mission is to get blocks everywhere in WordPress. The dashboard was a logical place to begin. “When I start a new site, I change my permalinks and hide all the dashboard widgets, which is sad, and I knew blocks could fix it,” he said.

I would wager that many other WordPress users are in the same boat. The dashboard is essentially a dead-end screen that we all have to live with. Few developers have put much time and effort into revitalizing this admin screen that all WordPress users visit upon logging in.

Mission Ctrl is priced at $29 for version 1.x updates on an unlimited number of sites. While it is not explicitly stated on the site at this time, it appears Sorta Brilliant is taking a more traditional software pricing approach by selling based on major version releases rather than the yearly subscription model that is common in the WordPress ecosystem.

The marketing pitch for the plugin is simple: if the WordPress dashboard screen is useless for you, Mission Ctrl is the solution.

There is huge potential for this plugin. Have a client you want to easily expose training videos to? Create a new board and drop a video in. Want to leave yourself a note? Drop a paragraph block with a bright yellow background to get your attention via another board.

“For me, it’s the perfect place for documentation,” said Hamze. “Either for products you use on your site or for things you want you or your users to remember. Since I’m just a single user who makes regular sites I probably don’t have a wide enough experience to think of all the ideas. This is one product where its future is going to be driven by users.”

Mission Ctrl also serves as a framework for others to build on. Block developers can create dashboard-specific blocks that expose useful information to users. However, it is unlikely that this idea will catch on with the broader development community until core WordPress supports blocks on the dashboard out of the box. At the very least, this plugin can provide inspiration to the Gutenberg team. It is a project worth supporting.

How Mission Ctrl Works

Customized dashboard screen via the Mission Ctrl WordPress plugin.
Custom boards added to the dashboard screen.

The plugin adds a new screen titled “Boards” under the normal dashboard menu item in the WordPress admin. It is a custom post type, which works the same as any other post or page. Whenever you add a new board, the plugin essentially translates this into a dashboard widget. Users can add as many boards as they want. Boards can also be enabled or disabled on a per-user basis via the screen options tab like any other dashboard widget.

One important caveat is that Mission Ctrl disables all existing dashboard widgets, regardless of whether they come from WordPress or a third-party plugin. The idea is to provide users with a clean slate to build a dashboard screen to their liking.

Adding boards is as simple as inserting your preferred block and publishing it. If you need some inspiration, how about dropping an RSS block into the editor and linking it to the WP Tavern feed?

Adding a video to the Mission Ctrl add new board screen.
Creating a custom video board for training clients.

By default, the plugin registers a single block. It provides a recreation of the WordPress “At a Glance” dashboard widget in block form. For now, the rest is left to the user.

However, Hamze does not plan to stop there. He has other blocks under development that will be useful on the dashboard:

  • World Time Block
  • Dictionary/Thesaurus Block
  • Notes Block
  • Weather Block

Mission Ctrl is a product early in its lifecycle. It has huge potential, particularly in helping the development community move forward with adding blocks to other areas in the WordPress admin interface.

However, it is not without its faults, which is expected with a plugin on its version 1.x branch. Currently, there is a question on how to deal with theme styles applied to the block editor but not applied to the dashboard screen, which can make for some inconsistencies with block design. It is not an insurmountable issue, but it will need to be addressed in the long term.

On the whole, Mission Ctrl actually makes the dashboard screen useful. For far too long, the screen has sat in limbo, awaiting someone to actually do something — anything — with it.

9 responses to “Blockify the WordPress Dashboard with the Mission Ctrl Plugin”

  1. Does it work if you disable the block editor for posts and pages? So I guess we could not continue to show Google Console on the dashboard anymore? I would say support for third party plugins should be job #1 – things like a Thesaurus is about as useful as “Hello Dolly”. Comments aside – yes – I’ve been wanting sometime like this forever!

    • It doesn’t replace the existing dashboard widgets they are just added so you can continue using whatever other dashboard widgets you are currently in addition to the ones you created with mission ctrl.

      I’m not sure about what happens if you disable the block editor on posts and pages. I don’t think it would matter since all the content is controlled via a Boards CPT.

    • I haven’t done any in depth testing but I use it on all my sites and I haven’t noticed a performance impact.

    • I can’t think of a reason the plugin itself could be a bottleneck in page speed. However, it is entirely possible for the end-user to build so many boards/widgets that it slows things down. If you put 50 videos or large images on the dashboard, for example, I would imagine it would be slow.

  2. Yes, it’s a brilliant idea, and as simple and evident as it can get.

    But it is hack, though. Ideally, such functionality should be provided by WordPress already, following the “single interface for everything” mantra assigned to Gutenberg.

    I experimented with adding settings for my plugin through Gutenberg. It is also an evident idea, since Gutenberg handles saving block attributes to the DB, and it makes it easier to implement many types of inputs (date/time picker, location, etc) which are not straightforward to provide using the standard add_settings_field function.

    But, unfortunately, it doesn’t really work, because relying on a CPT delivers a weird user experience: the document tab panel sidebar on the right does not make sense and it gets on the way, the “publish” button does not make any sense, the title and permalinks make no sense (even though they can be removed), and the idea that settings are stored as custom posts does not make any sense (all settings are already predefined, so I’d have to create a custom post for each of them in advance, and forbid users to delete them).

    Being decoupled from the post editor, Gutenberg should be much more useful. I’m eager to see if, when the full site editor is ready and beyond, it will be possible to use blocks in entities other than posts (such as settings, dashboard widgets, users, media editor, etc)

  3. I really like the idea, and that will simplify the manual modification I have been doing so far to publish training videos to my clients :)
    It’s a simple hack indeed, but so nice to have a simple to use plugin to make the modifications of the dashboard flow.

Newsletter

Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

%d bloggers like this: