What is WordPress? WordPress is a popular blog / content management system that has evolved well beyond its initial purpose into a full-fledged website development platform with a robust community of 3rd party plugins to further extend its capabilities.
What is a plugin? A plugin is a software application that has been built to hook into WordPress, its database, its APIs, and other plugins, to expand its capabilities. Think of plugins as the apps on your smartphone.
Why WordPress?
What is the business case for WordPress?
The business case is simple. Take an open source platform that is free, wildly popular, and has a zillion extensions that are free or reasonably priced, and turn it into a business platform.
It might seem that it should be possible to cobble together a bunch of the plugins and instantly get an affordable and great customer-facing web-based platform.
We have found it’s possible, but not quite that simple. While this approach works for simple cases, sophisticated businesses have complex business rules and need interrelated tools.
However, there are ways to implement such a system and overcome some of these challenges.
Types of Applications
An end-user-facing business application typically requires the following:
On paper, WordPress seems to accomplish many of these.
Challenges
Quality of the plugins varies considerably. Going beyond this, the actual coding style and code quality of plugins varies, and this has a direct relationship to the ease of extension.
WordPress plugins is lack of central authoritative data. A process or workflow is strung together with each plugin controlling a small piece of that data.
Businesses like reports and certainty. How many people are in the second stage of the XYZ process? WordPress is not good at answering those questions without augmentation.
Different degrees of plug-ability, different implementation styles, different database architectures.
Data storage. WordPress user and post meta is inefficient. Some plugins create tables, some use custom posts and metadata. Some use serialized metadata, making database joins impossible.
Plugin madness. A plugin seems to to 90% of what you need. Then a paid extension bridges the gap to another plugin, but not quite enough. Then another. And on and on. Before long you have 100 plugins installed, extremely complex and elaborate configuration is necessary, and your solution is not durable, reliable, or maintainable.
Tecture’s Solution
Tecture has an approach that solves these issues and avoids plugin explosions.
We understand the ways in which data is typically stored in WordPress’ database and know how to extract optimal performance from what can become a bloated and slow platform.
The result of this approach is that our clients can achieve:
(Some of the) Plugins We Work With
For this approach to work, we must work with high-quality, reliable, extensible plugins.
There are many others, and not all of these will suit all needs. Tecture is skilled at evaluating plugins, identifying their hooks, reviewing their architecture, and determining how best to integrate them into an overall solution.
 
                    Linescape
Tecture migrated the Linescape website to a new WordPress-based solution, powered by a custom-developed plugin and theme.
The site provides container shipping data from Linescape’s proprietary backend database and API. Tecture built a search engine into a WordPress theme powered by this API. We extended WooCommerce products with account tiers, each of which grants access to additional levels of data elements and provides for higher levels of search. We extended WooCommerce Subscriptions to offer web and API plans, and also provide for Enterprise multi-user plans. A custom PHP session-based system monitors usage to ensure customers do not exceed account levels.
Since this project was a migration from the original Angular-based website we developed for Linescape, we needed to perform migrations of some data. This includes integrations with Lambda (to dynamically create API keys upon subscription purchase), Dynamo DB (to migrate old customer data such as company information and favorites), Cognito (JIT migration from an old to a new pool), and MailChimp.
Selected Features 
                                            Tecture extended WooCommerce products with account tiers to grant access to certain levels of data.
Tecture implemented a custom search tool to search container shipping schedules, ports, vessels, and carriers using its proprietary backend API. The data is cached in Redis for performance.
 
                                                 
                                            Tecture extended WooCommerce Subscriptions to offer web and API plans, and also provide for Enterprise multi-user plans.