Atlantis CMS Framework
Published on by Evgeni Dimitrov
Building a CMS is a task similar to building a car. Both are designed by engineers but ultimately used by non-technical users. There’s always a balance between usability and craftsmanship. Such a system always has to satisfy both programmers and content editors, and also perform tasks in such a fashion that also attracts business users. Fun, isn’t it?
Why Does the World Need Another CMS?
Most of the systems you can find tend to solve a rather large set of problems, where Atlantis is trying to be very good at what a CMS should be—content creation and maintenance.
We also believe a system should be fairly self-explanatory and not need a big learning curve to be able to achieve basic tasks. One of our primary goals was to create an environment where developers had all the tools needed to create a product which can be used by content editors.
That being said, if you are familiar with Laravel, starting with Atlantis should be smooth sailing.
First, let’s shift the paradigm a bit. Atlantis is not a stand-alone product, but rather a module for Laravel which provides well-rounded CMS functionality by relying on an already great framework. The users, however, don’t have to install both separately since the installer has everything bundled.
One can use all the packages out there compatible with Laravel but can also build or download modules that are Atlantis specific. We are trying to keep both separate which allows easy updates of Laravel and Atlantis independently via Composer.
There are a lot of features in Atlantis that can’t all be addressed in one article, but I am going to stop for a moment and talk about few neat features which will make your life easier.
- Page and Pattern Cloning: building a page in any CMS these days is usually related to selecting a lot of options from a significant number of menus, and more often than not you need to create something that is “similar” but not exactly the same. Here is where cloning comes in—with a single click of a button the system will create a duplicate of existing page under new URL. Want to create a structure for your users to enter content, but you want to isolate them from actually having to write HTML? Patterns come in handy. You can define custom fields attached to patterns using the administration UI and match them to a specifically premade blade template.
- URL Masking: attach patterns to pages by using the page URL ( or wildcard mask ) as a reference.
- Events: Atlantis issues a set of events during the page lifecycle, and you can bind listeners and perform additional tasks when these events occur.
- Mechanism to “skin” each module you have installed via the currently active theme. You can, essentially, overload any module view in the current theme and rearrange it any way you see fit without interfering with the original module code.
- Powerful visual form builder: will save you a ton of time and make your life significantly easier. You can literally create, validate, and skin a form using only the Atlantis admin interface.
- Built-in support for Amazon S3 and Amazon CloudFront out of the box.
- Multi-user environment with automatic page locking while multiple users are editing the same content.
- Page/Pattern Versioning: you can rollback to a previous version at any time.
- Media Manager to upload files that can be set to automatically resize to your custom specifications. Additionally, there is also a TinyPNG module that can automatically compress files for better performance.
- Submit your Atlantis3 module using just a simple Artisan command.
- Ability to tell the system to omit certain DOM elements if the page is being served to a mobile client.
- You can build and organize in gallery any set of images and pull them by a tag.
- Users can select their own editing tool (switchable from account preferences and based on the available modules).
We also made sure anyone walking into the CMS will be able to easily identify resources that are used on a particular page; in the admin UI we are displaying lists of every module or pattern attached to a page at a glance. It’s all about productivity at the end!
So, there you have it in a nutshell. Feel free to download, experiment, use, etc. We are looking forward to hearing feedback from you so we can make Atlantis even better!