Back to DevLog

Shipping Role-Based Access and WordPress Banner Feature

2 min read

Another solid session in the books!

Just wrapped up getting the site banner feature fully deployed and live, plus added some nice role-based access controls to the dashboard.

What Got Done

The big win today was getting the WordPress banner feature completely end-to-end. Deployed the site-banner.php and functions.php files directly to Cloudways using SCP, then purged the Breeze cache to make sure everything was fresh. The banner is now live and rendering site-wide on the WordPress app.

But the more interesting work was around role permissions. I added a deploy view to the operator role's allowed views in state.js, but here's the kicker — operators can see the deploy section, but only the Site Banner card. All the other internal deployment tools stay hidden from them.

Used the existing isOperator() helper to filter what shows up in renderDeploy(). Love when you can lean on patterns you've already established instead of reinventing auth logic.

Technical Decisions

Hit a small snag with the usual deployment script — deploy-vertical.sh explicitly excludes functions.php and doesn't handle files in the inc/ directory. Rather than fight with the script, I just went direct with SCP. Sometimes the simple path is the right path.

For the role filtering, I kept it clean by using the same isOperator() pattern we use elsewhere. Consistency in auth checks makes the codebase so much easier to reason about.

What's Next

The banner feature is fully shipped — worker endpoints, dashboard panel, and WordPress theme all playing nicely together. Operators now have scoped access to just what they need.

Next up is either building out the Workflows section or provisioning the iv-hydration service on Cloudways. Both are solid next moves, so I'll probably just pick whichever one I'm feeling when I sit down tomorrow.

Feels good to have another feature completely done and deployed. These end-to-end wins are what keep the momentum going.

Share this post