Skip to content

Latest commit

 

History

History
414 lines (365 loc) · 23 KB

File metadata and controls

414 lines (365 loc) · 23 KB

Using Minn Admin

A guide for the people who run their site with Minn: writing, moderating, checking on things, keeping plugins current. No code in here. If you build plugins, you want for-plugin-authors.md instead.

Current as of v0.29.0. This file ships inside the plugin, so the copy you are reading always matches the version you have installed.

What Minn is (and is not)

Minn Admin is a second front door to your WordPress site. It lives at yoursite.com/minn-admin/ and covers the daily work: content, media, comments, orders, users, plugins, updates and settings, in a calm interface with none of the banners and upsells that crowd a typical dashboard.

Three things to know before anything else:

  1. wp-admin is still there. Minn replaces nothing. The classic admin keeps working at /wp-admin/, and Minn links you to it whenever a job is better done there. You can use both side by side forever.
  2. Everything Minn writes is native WordPress. Posts are normal block markup, settings are normal options. Deactivate the plugin and your site is exactly as it was, with nothing to migrate and nothing lost.
  3. You only see what your account can do. Minn checks the same WordPress permissions as wp-admin. An author sees writing tools; the Extensions and Settings areas only appear for accounts allowed to use them.

Getting around

The sidebar has three groups:

  • Workspace — the daily material: Overview, Content, Media, Comments, and (with WooCommerce) Orders, Products, Coupons, Customers. Plugins with an inbox of their own (form entries, for example) can appear here too.
  • Tools — site plumbing contributed by your plugins: form entries, mail logs, activity logs, redirects, backups, snippets.
  • Manage — the site itself: Extensions, Users, Menus and Widgets (on classic themes), Structure, System, Settings.

Group headings collapse when clicked, and the sidebar remembers your arrangement. Counts on Content, Comments and Orders show pending work. Lists show recent dates as a day and month and add the year once a date is from a different year, so an old site's content list reads in order at a glance. On Content you can sort by clicking the Title or Date heading, and clicking the same heading again reverses it. Clicking the sidebar item for the view you are already on refreshes its list in place, so a tab left open all day stays current without a page reload.

The command palette is the fastest way anywhere. Press ⌘K (Ctrl+K on Windows and Linux), start typing, and jump to any view, any post, or run a command directly: "Clear site cache", "Back up site now", "Create new page". If you learn one thing from this guide, learn ⌘K.

Right-click is real in Minn. This is the least discoverable thing in the app, so here it is in plain terms: rows in Content and Media have right-click menus (open, duplicate, publish, trash), comments have them, the theme toggle has one, sidebar entries have one whether a plugin added them or Minn did (that's how you hide them), and group headings in the editor's block library have one too. When in doubt, try a right-click.

One view, many plugins. Where several plugins do the same job (three form plugins, two backup plugins), Minn shows one sidebar entry with a switcher inside, instead of three lookalike menus. The view stays the same; the provider changes.

On a network, a small chevron sits beside the site name at the top of the sidebar. It opens a short list of sites you can work on and takes you straight to Minn on any other. Network administrators also get a link to Network Admin from there, since account creation and deletion, the long tail of network settings, restores, exports and network setup stay with WordPress. The palette knows the sites too: press ⌘K and type "switch", or just start typing a site's name. The chevron does not appear when you belong to only one site. Its menu opens with search already focused and lists up to eight sites. Typing fuzzy-matches names and addresses across every site you can use, not just the ones already listed, and narrows to the five closest, so a shorthand like "tm10" still finds Team 10 on a large network.

If you run the network, a fourth sidebar group appears: Network. Sites lists every site with its address, members and state, filters for archived and spam sites, and search; from a row you can open a site in Minn, visit it, archive or restore it, mark it as spam, or delete it. Adding a site asks for an address, a title and the email of someone who already has an account. Network users lists every account on the network, shows how many sites each belongs to, and lets you promote someone to network administrator or take that away. Network settings covers registration, uploads, what site administrators may do, and where network mail goes. Two things Minn will not do: it never offers to archive or delete the main site of the network or the site you are currently working in, and it never lets you remove your own network-administrator status or the last one on the network. Creating and deleting accounts stays in Network Admin, because deleting a network account removes that person's posts from every site and WordPress's own flow offers to reassign them first.

Network-wide plugin and theme controls stay in Extensions. A network administrator can activate or deactivate a plugin for the whole network and enable or disable a theme for every site. Per-site activation stays separate, and Minn will not offer to deactivate itself network-wide from inside Minn.

The topbar carries the page title, a button that shows or hides the sidebar (⌘. does the same), the version badge (click it for what's new), a View site link, the theme toggle (click switches light and dark; right-click to follow the system), notifications, and the New button. Amber chips appear here only when something needs you: a pending WordPress update, or a site that is not fully public.

Writing

Press New (or ⌘K, "Create new post") and write. The editor is built for writing, from quick posts to full pages assembled from groups and columns; heavy page design still belongs to the block editor, one click away:

  • Type markdown, get formatting. # for a heading, - for a list, > for a quote, **bold**, `code`, [link](url), --- for a divider, triple backticks for a code block. All applied as you type.
  • The slash menu: type / on an empty line for headings, lists, images, embeds, tables and more. ⌘/ opens the full block library, including your plugins' blocks and entire designs and patterns you can drop in.
  • Paste from anywhere. Word, Google Docs and web pages paste in clean. A pasted image or a lone URL to a tweet or video becomes the real thing, and raw block markup (from an AI tool or a tutorial) pastes in as real, editable blocks.
  • Your patterns come along. Patterns you save in WordPress (synced or not) appear in the slash menu and the block library, and a Patterns entry in the Content list manages them. A synced pattern inserts as a live reference: edit the pattern once and every post using it follows, and Minn reminds you of that reach before you save one. An unsynced pattern drops in as a detached copy you can edit freely.
  • Layout blocks open for writing. Groups, columns, covers and media-and-text blocks are writing surfaces, nested to any depth: click in and type, with markdown, the slash menu and paste all working inside, and each column its own surface laid out like the front end. The layout itself (widths, colors, spacing) is preserved exactly, and anything you do not touch saves back byte for byte, so the block editor always reopens the page cleanly.
  • Complex blocks are kept safe, untouched. If a post contains a block Minn's editor doesn't natively edit (a plugin's fancy block, a spacer, a row of buttons), it appears as a framed card rendered with your site's real styling, right where it lives, even inside a group. Hovering the card shows a short note saying why it is protected and where edits live. Its text and images are usually editable in place, and the ⚙ chip holds its settings plus duplicate and move arrows, so a testimonial can hop into the next column without leaving Minn; its structure is preserved byte for byte. Hovering any ⚙ chip outlines the block it configures, so nested blocks read as distinct controls. One click on "Block editor ↗" opens the same post in Gutenberg whenever you want the full toolkit. Posts built with page builders (Elementor, Bricks, Divi and friends) open read-only with an "Edit in your builder" button, because the builder owns that content.
  • Galleries and sliders open an images editor. Hover a gallery-shaped block and the card names the action: click anywhere on it for a tile grid where you reorder (drag or arrows), replace (click a tile), add, remove, duplicate and caption photos. Dropping image files on the grid uploads them into that block. Each photo moves as an exact unit, so its caption and settings travel with it, and this covers sliders and carousels, layouts with a fixed set of openings, and blocks that keep their pictures in settings. A gallery's ⚙ chip also offers columns, crop and random order; link, size and lightbox options stay in the block editor and the popover says so.
  • Groups of styled text open an Edit content window. A container holding several styled blocks (a stats strip of label-and-value paragraphs, say) edits in a roomy window: one card per block with its text front and center and the other settings tucked behind a toggle, plus reorder, remove and add. Enter it from the container's ⚙ chip ("Content · N blocks") or, on protected cards, by clicking the card itself; the block you clicked opens highlighted.
  • Saving is status-aware. Drafts autosave as you write. Published posts never change under you: edits back up silently, and the live post only updates when you press Update. A crash net keeps a local copy of unsaved work in your browser and offers to restore it. A live post holding edits you never published wears a small amber dot on its status in the content list, and the Modified filter there shows only those.
  • History shows revisions with side-by-side comparisons; restore takes one click. If someone else has the post open (in Minn or wp-admin), you will be told before you can both edit it.
  • Focus modes: ⌘⇧D fades everything but the paragraph you are writing; ⌘⇧O reduces the screen to the text and an outline. ⌘⇧F is find and replace. A word-count pill sits at the bottom right; click it to set a session writing goal.

Daily site care

Comments: approve, reply, edit in place, mark spam, or block a commenter (future comments from that address go straight to the trash, with Undo). Bulk-select works across the list.

Media: drop files anywhere in the app to upload. Images can be cropped and rotated right in Minn, and regenerating thumbnails is one button when that plugin is installed.

Notifications (the bell) collects what actually needs attention: pending comments, available updates, and Notices.

About Notices: other plugins' wp-admin banners never render inside Minn. Instead, Minn reads them in the background and reduces each one to plain text with its buttons intact, attributed to the plugin that posted it. Act on one ("No thanks", "Allow") without leaving the panel, or press Hide and it stays gone for you, with Undo. This is the calm version of the notice wall, and it is permanent policy: plugins cannot buy space in Minn's interface.

Updates: the Updates tab shows everything pending, and Update everything runs plugins, then themes, then any waiting translations, then WordPress core, telling you exactly what will change and what is untouched before it starts. Translations are worth calling out because WordPress keeps language packs apart from everything else: a site can be current on plugins, themes and core and still owe translations, so they are counted here rather than left for the WordPress updates screen to mention. While a run is going, a progress pill in the top bar names the current phase and stays visible on every screen, so you can close the panel or move around Minn and still see that updates are working; click it to come back to the panel. Minn updates itself the same way: each release is fetched from the project's GitHub releases and checked against a published checksum before it is allowed to install. After a WordPress core update on multisite, Minn runs the required database upgrade across the network's sites. Very large networks are sent to WordPress's own Upgrade Network screen instead.

Traffic: with a supported analytics plugin active (Koko Analytics, Matomo, Independent Analytics, Jetpack Stats, Site Kit and others), the Overview chart shows daily visitors and pageviews from that plugin's own numbers. Click a day for its top pages and referrers, and step through days with the arrow keys without closing the dialog.

Cache and backups: if a caching plugin or host cache is active, ⌘K "Clear site cache" purges all of them at once. If a backup plugin is installed, "Back up site now" is there too, and the System page reports how fresh your last backup is.

You are in control of the interface

Anything in Minn's menus can be hidden, per user, without touching the site itself:

  • Right-click any sidebar entry, whether a plugin added it or it is one of Minn's own views (Comments on a site that never uses them, Widgets you never touch), and choose Hide for you. Hiding is cosmetic: every screen stays reachable from the command palette and by its address.
  • Right-click a group heading in the block library to hide that plugin's blocks or designs from your menus.
  • Hide any notice from the Notices tab.
  • If a developer already hid admin menus in wp-admin with code (a common client-site setup), Minn notices and keeps those entries out of its sidebar too, automatically. Like the wp-admin original this is cosmetic; the screens stay reachable by address and from the palette.

Everything hidden is listed under Your profile, where one click restores it, and an administrator can restore items for you from your entry on the Users page. Hiding is personal: your co-editors see their own layout. Plugins also have hard budgets for how much space they may claim in the sidebar, palette and menus, so the interface stays calm as you install more of them.

Your store

With WooCommerce active, the sidebar gains Orders, Products, Coupons and Customers.

  • Orders open as their own page, at their own address, so an order can be linked to or kept in a second tab. You can take a payment by hand, refund whole lines or an arbitrary amount, resend an email and read the order's notes without leaving Minn.

  • Products open as a page too. It holds on one screen what WooCommerce spreads across the tabs of its Product data box: name and status, pricing with an optional sale schedule and tax class, inventory (SKU, GTIN, whether you track quantity, backorders, a low stock threshold, the one-per-order limit), shipping (weight, dimensions, shipping class), images, organization (categories, tags, brands, the address slug, featured), attributes, upsells and cross-sells, and a purchase note. Everything saves together with one Save changes.

    A few things follow the product rather than sitting there always. Marking a product virtual removes the shipping fields, because nothing ships. Marking it downloadable adds a Downloads card where you name each file and either paste a URL or pick it from your media library. An external product asks for the address and button text that send shoppers away. A variable product gains a Variations card: give an attribute some values and turn on its Variations switch, then Generate from attributes builds every combination you do not already have, each with its own SKU, price and stock.

    Images are tiles you drag to reorder. The first one is the picture your shop shows, so promoting a gallery photo is a drag rather than a trip to WooCommerce. Click a tile to swap it, hover it for the × that removes it.

    The long description opens in Minn's own editor, with blocks, autosave and revisions, rather than sending you elsewhere. If you would rather see a product without leaving the list, hover its row and click the eye for a quick look with the same fields.

    Two jobs stay in WooCommerce on purpose: creating a brand new store-wide attribute, which belongs to the whole shop rather than to one product, and the children of a grouped product.

Managing the site

  • Extensions — three tabs: Plugins, Themes, and Licenses. Install by search, upload, or dropping a zip on the dialog. Toggle, update and delete with plain confirmations. Every plugin and theme card carries an Auto pill for WordPress automatic updates, the same setting wp-admin manages, and inactive themes offer a Live preview so you can walk the site in a candidate theme before switching. The Licenses tab gathers every external service relationship in one place: paid plugins' license keys (activate, verify or deactivate without hunting through each plugin's settings screen), service keys like Akismet's, account connections like Envato Market and WPMU DEV, and the AI connector keys WordPress itself manages, which link out to Settings → Connectors for editing. Small chips mark which rows are service keys or connections rather than licenses.

  • Users — create, edit, change roles in bulk, reset passwords, sign out sessions, and (with the User Switching plugin) switch into an account to see what they see. Opening a user is a full page: identity, public profile, language, password and sessions, plus their Minn appearance. An administrator can set another user's color scheme and defaults there, so a client's Minn looks right before their first sign-in, and restore anything that user hid from their own menus. Light or dark mode is the one thing that stays personal to each person's device. On a subsite, this page manages site membership rather than network accounts: add an existing account by email or username, change its role, or remove it from that site. Network administrators are protected from per-site role and removal controls.

  • Settings — the settings people actually change: identity and logo, reading and discussion, permalinks, visibility (search engines, maintenance mode, and a switch that turns a detected coming-soon or maintenance plugin's mode off in place, with Undo), site language, spam protection (with Akismet, paste or change your key right on its card), custom CSS. The long tail of rarely-touched options deliberately stays in wp-admin, one click away. If you look for a setting and don't find it, that is the reason, not a bug.

  • System — a health check (PHP, HTTPS, caching, backups, loopback), an activity view of what is installed, and debug tools when someone technical asks you to turn on logging.

  • Structure — post types, taxonomies and terms: rename, merge and re-parent categories and tags safely.

  • Database — a window into where your site actually stores things. Most sites never need it, so it is not in the sidebar: you reach it from the System page's Database card, the command palette ("Browse database"), or the /minn-admin/database address. It has three parts. Tables lists every table with its size and rough row count, and opening one shows its rows, with sorting, a per-column filter and a detail view for any single row. Structure (a tab on any open table) shows that table's columns and indexes, which is what someone technical will ask for when a page is slow. Health runs a set of storage checks: leftover rows pointing at posts or users that no longer exist, missing indexes, tables using an old storage engine, space that could be reclaimed, and backlogs like expired shop sessions.

    Two things are true of all of it. It is read-only: Minn will never change or delete anything in the database, because doing so behind a plugin's back is how sites break in ways nobody can trace. And where a Health check finds something worth cleaning up, Minn gives you the exact command to run rather than a button that runs it: copy it, back up, and run it yourself or hand it to whoever looks after the site. If you need to genuinely edit the database, that is a job for your host's tools or the WP-CLI command line, and Minn says so plainly rather than pretending otherwise.

Your profile

Your account page covers your name and avatar, password and sessions, interface language (each user can pick their own), appearance, everything you have hidden, and AI Access: application passwords for connecting an AI assistant or other tool to your site over the standard WordPress API, created and revoked per tool.

Keyboard shortcuts

Keys Does
⌘K Command palette (with text selected in the editor: link)
⌘S Save, keeping the current status
⌘⏎ Publish, Update or Schedule
⌘/ Block library
⌘⇧F Find and replace in the post
⌘⇧D Focus mode
⌘⇧O Outline mode
⌘. Show or hide the navigation
← → Previous / next item in a media or entry dialog; previous / next day in the traffic dialog
Esc Close menus and dialogs

On Windows and Linux, use Ctrl wherever ⌘ appears.

Safety, honestly stated

  • Is my content locked in? No. Minn writes standard WordPress data and nothing else. Deactivating or deleting the plugin changes nothing about your content, users or settings.
  • How do updates arrive? From the project's GitHub releases, through the normal WordPress updates screen. Since v0.21.0 every download is verified against a checksum published with the release before it installs; a tampered or broken download refuses to install.
  • Can a plugin misbehave inside Minn? Not in the ways you are used to. Plugins describe their screens to Minn as plain data; their own code never draws inside the app, so a broken or pushy plugin cannot take the interface down with it or plaster it with banners.
  • Who can open /minn-admin/? Only logged-in users your site already trusts to edit content, and each person sees only what their role allows. Everything is re-checked on the server on every action.
  • Multisite? Yes. Site members can switch among the sites they may use, subsite administrators can manage local membership, and network administrators get daily Sites, Users, Settings, plugin and theme controls. Account creation and deletion, the long settings tail and very-large-network database upgrades stay in Network Admin.
  • Something looks wrong? Hard-refresh first (a cached stylesheet after an update is the usual cause), check the System page's health strip second, and report bugs at github.com/austinginder/minn-admin/issues. wp-admin always remains as the fallback while anything is sorted out.