Coming soon - version 0.10.0

(Aaron Russell) #1


Some of the changes referenced below have been reverted as they caused issues. See the more up to date notes about upgrading to version 0.10.0.

PushType 0.10.0 is nearly ready. These are the main highlights and significant changes to be aware of.

For potentially breaking changes - skip to notes on namespacing.

Rest API

The main body of work that’s gone in to this release is a new Rails engine powering a full API for managing content in PushType. Ironically, the API is not used in this release. But it’s there and in future will play a much more important role.

The API opens the door to:

  • New Admin UI - This is my main priority now. The future admin UI will be more of true JavaScript SPA, leaving behind some of the kludgey hacks we’ve resorted to to get Turbolinks, Foundation and Vue.js playing together.
  • Front-end inline editor - I’d love to also incorporate inline editing components on the front-end so you can edit a Node’s fields right there on the page. One for the future, but I’d love to see this happen.
  • External integrations - This is one for the community to take advantage of, but once the API is documented then there’s lots of ideas and integrations to experiment with.

Improved namespacing and changes to routing

Until this release, the PushType::Admin engine has been mounted as an isolated engine, but the FrontEndController was inserted directly in to the host application, and the ApplicationController is extended with various methods. We’re slowly moving away from that so in future PushType will be interfering with the host app less and less.

From version 0.10.0, the front end is also mounted as an isolated engine. Due to this, the way mount_push_type works in routes.rb has changed.

Now mount_push_type mounts each of the default PushType engines. It will also mount any third party engines that have registered with PushType. The method accepts a hash of options to customise the mount points of each engine:

# config/routes.rb

# The following options are defaults. Any can be overriden.
mount_push_type admin:     'admin',
                api:       'api',
                front_end: '/'

Notice how the default mount point for the admin engine has changed. Previously it was mounted at /push_type, whereas now it mounts at /admin.

Beta release

A beta release of version 0.10.0 can be downloaded now. I wouldn’t recommend putting the beta on any production sites, but this release addresses one or two issues raised on Github so might useful to some.

(Aaron Russell) #2

(Aaron Russell) #3

(Aaron Russell) #4

Closing this topic as is slightly inaccurate. Please refer to up to date notes about upgrading to version 0.10.0.

(Aaron Russell) #5