Advanced Features of Devise

Devise makes building complex applications a fun and straight forward process. It handles the mundane repetition and gets you to your custom code quickly with lightning fast setup. You do not have to learn a trillion conventions just to get started and Devise stays out of your way but is there when you need it.. Read on to see some of the fantastic toys we've built for you.

Simple Data Pulling and Pushing

Getting data to and from your view can take a variety of steps but most often involve your view, a controller, a model, and some other classes. Additionally, those steps are sometimes repeated across routes and views making for a monotonous building process and irritating updates. Devise changes that by connecting class methods directly to variables in your view. Write your repository class, model, or whatever is appropriate your way, point Devise to a method that returns your data and it is available on the page. Devise also provides of pushing data to your code through a customizable API that you point to your classes. It is and incredibly fast and flexible way to develop.

Robust Page Versioning

Devise’s pages system allows for easy page management by your client. However, Devise makes the process of publishing new versions of those pages simple and highly flexible. Page versions can be copied from existing versions preventing the need of duplicate data entry. Pages can be previewed by administrators but also shared via a hashed key allowing non-users to review a page before it is published. Publication dates provide content managers with mechanisms to schedule the launch and / or un-publishing of page versions which is perfect for sales or promotions.

Flexible Semantic Permissions

Wrangling complex permission schemes is forever in the past. Our permissions sound like what they are. "isLoggedIn" returns true if, you guessed it, the current user is logged in. "isInGroup" with the ability to pass as many groups by name as you want returns true if the user is part of that group. It’s easy and there are a few of the most obvious rules ready out of the box for you to use. Obviously, you’re going to want to tailor custom rules for your unique applications so we have made registering new rules amazingly simple.

Built-In Localization

A request that used to send shivers up our spines was the ability to localize content in a CMS environment. Other CMS solutions make this amazingly complicated. In Devise it is a matter of activating the languages that you want to use and providing content for those pages, menus, and static strings. Page versions work independently across languages so content can be managed independently for each localization but stay connected via the route. Of course, Laravel’s lang method is still available for static string lookup and works seamlessly with Devise localization content.

Other Incredible Tools to Speed Up Your Flow

Incredible Installer: Devise includes an amazing Web UI installer that will walk you through all the setup necessary to get up and running. It also ships with a CLI installer that does the same thing but for nerds.

Fantastic CLI: In addition to the installer you can publish assets and reset your project giving you full control over your development instance right from the command line.

Lightning-Fast Model Builder: Need a base set of CRUD views and a new model formatted for Devise? The model builder gives you a way to be up and running with that ‘simple addition’ your client requested in minutes. Devise will build your tables, add your administrative templates, and even provide you with some base classes to post and retrieve your data.

Customizable Administration: Other content management frameworks have very complex administration systems that are difficult to redesign or modify. Devise uses simple sass and blade files for the backend that are easily overridden by your application files.

Out of the Box Users and Groups: Our users and groups are simple, straight forward, and are easily modifiable to your needs. Password recovery, login, logout, and sessions are all handled by Devise and Laravel.

Built-in Menu System: A flexible multi-teir menu system that allows you to link to existing pages in Devise or link out to URL’s. Permissions are also sewn into menu systems to hide links that shouldn’t appear for unauthorized users.

LiveDocs: LiveDocumentation gives developers a quick reference throughout their instance to documentation in Devise. These LiveDocs are updated with examples that work with your code using variables as you named them. Just copy and paste what you see and it works.

Robust Template Manager: Manage templates through the config files or through our rich template manager. Either way it’s easy to wire up new variables in your views to your custom classes.

Mail Configurator: Setting up email communications in Laravel is already easy but our Settings UI gives you the ability to quickly make a change from the administration.

Built with Laravel In Mind: Devise sits on top of Laravel giving you the full power and flexibly of a mature framework. With that said, you can use as much or as little of Devise as you want when building your applications. It does not force you to use any particular conventions if you don’t want to use particular features and doesn’t alter Laravel in any way.

Fantastic Media Manager: Our media manager works by reading directories in your media folder in from the root of your project. When altered through cropping Devise makes copies the source image allowing you and your customers to utilize an image in multiple locations.

Best Way to Get Started

There are several ways to get started.

  1. You can start a new laravel project and add devise to your composer.json and then run composer update.
  2. You can download a nightly bootstrap that we build that includes all the vendor stuff automatically for you.
  3. We also provide an example project called "Brewers & Beers" that can help you see some of the coding patterns we use. You can check that out here

Really, it’s just up to you and your preferences. Either way we would highly suggest that for your first time around check out the documentation on the installer.

See Installation Docs
Devise Logo and Devisephp.com
Copyright © 2015 LBM

Devise content management system source code under MIT License
"Impediment to action advances action.
What stands in the way becomes the way"