Concepts

These are the concepts for development that drive ARCWP and our Gateway plugin.

001) Use Native WP Features Whenever Pragmatic

WordPress is a carefully crafted and well tested software product. Whenever possible and pragmatic we believe in using the WP native features and layering custom plugins and code on top as needed to fit site requirements. This is how WP is intended to be used in most situations.

002) Support for Gutenberg

We believe in supporting Gutenberg development, maintaining a positive view about the progress of the editor and contributing where possible. Within Gateway we build Gutenberg blocks to the best of our abilities although our main support is for commercial editors like Breakdance and Bricks due to their currently stronger data layer.

003) Implement Model View Controller Patterns

Whenever possible we build Gateway and support building custom WP plugins using an MVC pattern adapted to the WordPress CMS. This begins with integration of the Eloquent model from Laravel. Where we deviate from the pattern is that we are more flexible about how controllers and views are constructed given the CMS is not exactly the same environment as a Laravel app or other MVC-based system.

004) Store Data in Normalized Custom Tables

Whenever possible we avoid using post meta or other meta data storage. Instead we utilize normalized custom database tables both within Gateway and for the fields created with it. When you build for instance and “events” plugin, you will have a custom table made named “your_extension_events” and within this table the columns will represent one field each such as “event_date”.

005) Build Features from Standardized and Automated Code

When you use the Raptor editor with React Flow baked into Gateway, it builds and extension for you in the background. This extension is created from standardized templates and creates the PHP required to make your extension work. You can switch to code anytime and pick up where Raptor UI left off.

006) Provide a High Degree of Observability

Whenever possible developers want to know what is happening (or what the situation is) with the stuff they are working on. That’s why we follow the principle of providing observability to a high degree in Gateway. We facilitate this with our common extend/register pattern used for extensions/packages/collections so that devs get access to heads up display showing what is built, what is active, the number of records created etc.

WHEN PRECISION MATTERS
© 2026 ARC Software. All rights reserved.