Update: There have been some changes from the time the Orion idea has originated. I would highly suggest reading our newest edition of Developer Diary #8! 🙂
Wanna know what’s under the hood of ManageWP Orion? We’ve used our passion for technology to embrace all the best web-dev has to offer, even some less seen practices, and we poured it into Orion. Our goal is to make a platform that will stay stable while holding all the features we have planned for it.
One of the key features of ManageWP Orion dashboard is ensuring that the data you’re looking at is never stale. Contacting all your websites to ensure the data is current can take very long time, especially if you have a large number of websites. Staring at the loading screen and waiting for it to give the control back to you is frustrating. In ManageWP Orion, we take the advantage of the Streaming JSON technique to show your website results in real-time.
Symfony is our framework of choice, and we’re using its full stack of components. We’ve inherited its best practices and standards and we greatly benefit from its architecture and flexibility. Having a powerful framework enables us to quickly expand our feature set while maintaining the code base simple and effective.
The Heart of the API
At the core of the API lies the component we dubbed “communicator” which is responsible for secure communication with every site. For this we used the awesome Guzzle HTTP client library, which allowed us to easily extend its functionality to make asynchronous calls, do smart on-the-fly reconfiguration (i.e. for sites behind a badly configured load balancer), throttle calls to a single server, cache resolved host names (we’re using Redis for this), and stream messages directly from the ManageWP Worker plugin to the front-end (i.e. “Backup file upload in progress – 60% at 16MB/s”).
Rock Solid API as the Base
The API is a major improvement over the old application, and we’ve given special care to its documentation and consistency. Using the Symfony’s form component as a core for all incoming API calls, we made it so every request the application doesn’t recognize shows an appropriate error message. The output is handled by the JMS serializer component, which enables us to be consistent throughout the application. We’re also using this for our automatic API documentation generator, which will be available to public soon after the final release. Our mobile applications for Android and iOS have already been using a subset of the API, and this means that you could see other services integrating ManageWP API soon!
The ManageWP Worker Plugin Is Getting Some Love Too
We’ve made numerous improvements to the ManageWP Worker, our client plugin that we use for secure communication with ManageWP. We’re expecting the speed improvement of up to ten times, especially on sites with larger number of plugins – and this is only the beginning. Just to give you a glimpse, you will be able to restore a website from ManageWP backup even if a plugin or theme update has crashed your site. ManageWP Orion will require at least version 4 of the client plugin (we’re currently at version 3.9.30), which we will be releasing later this week.
Focus on Speed, Security and Reliability
This has been our mantra during the development of ManageWP Orion. We already talked about challenges to make front-end instant but we also went great lengths to deeply integrate our back-end technology with WordPress allowing us to squeeze every ounce of performance out of it. Syncing data with your sites will be the fastest you’ve ever seen, here or with any competitor.
ManageWP has been used to manage over a quarter of million WordPress sites with no security incident in the past four years that the service has been running (including beta period). We are determined to keep our impeccable security record in the future and gradually add features that will help you protect your sites from hackers.
And managing that many sites over thousands of different hosting setups and environments has always been a technology challenge, with backups in particular. So far, we’ve reached 85% backup success rate across different hosting setups. Soon after the launch of Orion we will dedicate a whole month to solving this once and for all and getting backups to 99+% rate. We now know the way to accomplish this and have the back-end to support it.
This Is Only the Beginning
Everything I mentioned is only the foundation of what is yet to come from the ManageWP team. Your feedback over all these years has helped us mature as the product that pioneered WordPress management. Now we are ready to take it to the next level.
This is the fourth article in the ManageWP Orion series. Check out our previous articles: