Preview Release Changelog

Nova NextGen Changelog

Coming in Preview Release 4

  • User management
  • User preferences
  • Notifications

Preview Release 3

  • We've moved away from the Entrust authorization library and replaced with a solution of our own that's backed by the built-in Laravel authorization component. Nothing has changed about authorization, it's just that it's now code we've written instead of someone else and it utilizes more of Laravel's built-in functionality.
  • Welcome Vue.js! Over the last few months, we've kept our eye on a new Javascript framework called Vue.js. Vue.js is a small, fast, simple, reactive framework that we're really excited to play around with in several different areas. Despite it being new, it's very mature and we think that you'll love it as much as we do when you get in there and start playing around with it!
    • The first thing we decided to tackle with Vue.js is filtering. Several pages utilized a fast and easy filtering system that was originally built on top of AngularJS. Unfortunately, AngularJS is a beast and the code involved with doing something fairly trivial was significant and not easy to maintain. We've dropped AngularJS in favor of Vue.js and re-written the filtering functionality with about half as much code. In addition, the code that we wrote is significantly more expressive and cleaner. Win-win!
    • We've dipped our toe in the water of Vue.js components. These simple and powerful pieces of code have allowed us to create more expressive code that makes it a little clearer what's happening when you look at the code. We've started small with components to hide and show content based on the device being used. Since components are used just like HTML tags, you'll see and be able to use tags like <desktop>Content</desktop> to only display things on a desktop-sized device. So far, the following components are available:
      • desktop-lg
      • desktop-sm
      • phone
      • tablet
      • desktop (includes desktop-sm and desktop-lg)
      • mobile (includes phone and tablet)
      • tablet-desktop (includes tablet, desktop-sm, and desktop-lg)
  • The Additional Page Content management page has been updated to show content that is not a header, title, or message. The previous way of showing all content created some confusion about what the difference between the Page Manager and Page Content Manager was. Now, only additional content will be shown to make it easier to understand what's going on.
  • And speaking of the Content Manager, we've moved some items out of Settings and into the Content Manager (like sim name). Since those are pieces of content and not true settings, we felt like the Content Manager was a better place for those things to live. Additionally, we've removed the settings page compiler and replaced it with a content page compiler to pull items out of the content tables. It works the same as the old settings page compiler, so you'll be able to do things like content:sim_name to pull the sim name out of the Content Manager in page content.
  • The Page Manager got a lot smarter! Instead of requiring admins to type out the fully qualified class name (try saying that 10 times fast) which had the potential for lots of errors, Nova will now present a list of all the extension controllers and their public methods. This means that selecting a resource for an advanced page takes a single click now. We're still working on this, so in the future, the list will be narrowed down further to only extensions that are marked as active and not every extension in the extensions directory.
  • The Theme class now has an option for rendering the admin menu separately from the public menu. This will come in handy for theme developers who want to do different things with menus, but only for the admin section.
  • Nova NextGen has been upgraded to Laravel 5.2.
  • We've continued to work on the access control pieces of Nova NextGen and have integrated access control into the Page Manager. Now, when creating a basic page, you'll be able to specify an access role that you want to be used for determining who can view a page. This only applies to basic pages. Advanced pages will still have to manually handle authorization like Nova's built-in pages do.
  • Dynamic forms are back in Nova NextGen and better than ever. Consider them Forms 2.0. Here are a few highlights from the new dynamic form system:
    • You can now create your own forms through the form system. This allows admins to create forms for collecting information from users without needing to use Google Docs or custom code something themselves. With a few clicks, you can have a new form that you can use. And to make it even better, you can integrate your forms into basic pages by using the form page compiler, so you don't even have to get your hands dirty with any code.
    • Any form can now include tabs. Previously, only the character form included tabs, but there's no reason you wouldn't want tabs on any other form, so whether it's your own forms or updating the existing forms, any dynamic form in Nova NextGen can use tabs. On top of that, tabs themselves can have tabs, so you can get into more complex form layouts without needing to compromise what you're going for.
    • You can now specify rules that must be met in order for the form to submitted or updated. These validation rules allow for you to control exactly the data that can be stored in the form. If any rule is violated, the form won't submit.
    • Fields can now be locked down by access role, but not just a one and done type of deal. Fields respond to three different states when dealing with access: viewing, creation, and editing. That means that you can control each state of the field independently. Want someone to be able to see the data in the field but not put data in when filling out a new record or editing an existing record? You can do that. Want someone to be able to put data in initially, but not be able to update it after that? Easy to do with field access restrictions.
    • When creating a new field for a form, there's a live preview that will show you what your field will look like. Because of the reactivity of Vue.js, changes are shown in real time. If you change the field label, as you type, the preview will update. This helps you create something where you don't have to guess at what certain changes do and then go back and edit it again later, you'll see the changes immediately.
    • You can now create custom field types for use in Nova's forms. With a few lines of code (okay, more than a few, but it's actually not terribly taxing) developers can create a whole new type of field for other people to use. So, for example, that you wanted a color picker for users to pick their favorite color. In Nova 2, you'd just create a text field. With custom field types, you can create a color picker field that, when clicked, will pop up the operating system's color picker to choose a color. When you create the field in your form, you'd see the option in the field type dropdown. Custom field types open up a lot of possibilities in making forms exactly what you want.
  • Form Center is a way to quickly and easily leverage any forms you create. Instead of needing to create new pages to embed forms, you can direct users to the Form Center where they'll be able to fill out any forms that have been marked as being able to use Form Center. From there a user can see any entries they've posted as well as add new entries for you to review.

Preview Release 2

  • New PHP requirement: PHP 5.5.9
  • Logging in and resetting passwords
  • Page Manager
    • Basic page info
    • Page content
  • Menu Manager

Preview Release 1

This first preview release of Nova NextGen serves as a preview of the work being done on Nova 3. The "NextGen" moniker is simply a marketing term to differentiate between all the talk over the previous years about Nova 3 and what Nova 3 is actually becoming. We've laid out our vision for what Nova should be and this is the first step in that direction. There's very little here, but there's also a lot.

The next version of Nova is being built off the powerful and robust Laravel PHP framework. Out of the box though, Laravel has a structure that required some tweaking to work better for Nova's requirements. These tweaks allow Nova to work the way people expect while still being fully Laravel.

Next is a whole new and significantly clearer file structure that takes a lot of the guessing out of what goes where. From a first glance, you'll be able to know exactly what different directories are for without needing to know cryptic terms (who thought it was a good idea for themes to live in a directory called views anyway?) or know the history of the application. Now, if you want to see your themes, look in your themes directory. Want to upload a new rank set? Throw it in ranks.

Finally, we've spent a lot of time building out a smart installation process that should make your first experience with Nova a breeze. Nova can detect almost every issue it could run in to and will even tell you if there are potential problems. On top that, we've provided significantly more explanation about what's happening and even expanded the database and email options available from day 1.

Check out this first preview of Nova 3 and be sure to let us know what you think!

Log in with your AnodyneID to rate this article or submit the article for review.