Who said that nothing happens in the summer? This blog post aims at introducing what's new in the Nuxeo Studio August 2010 release, and there's a lot!

Our main driver for the release: to use your feedback to deliver a better experience:

  • Enable to define new roles, grouping atomic permissions (the building blocks of permissions that create main-level permission sets like Read, Read/Write, Read without Download etc)

  • "Teach" Studio the specifics of your projects and your existing customizations to reuse them from Studio (ex: event types, content schemas, operations, etc.)

  • UI improvements, bug fixes and more precise documentation...

Lots of features & improvement...

  • Export Operation for Content Automation: Asked for by our users, this new operation enables to export a file from the file system. You can select the target path and you can prefix the name with a parameter (which is very useful to introduce some kind of versioning prefixing).

  • Define new Permissions: You can now contribute new permissions, such as "Validation" or "Spellcheck","Quality-management", per document type. In the previous release, we added the ability to assign tasks (thanks to the "Create Task" operation). One frequent pattern is to assign a task to people having a specific permission. In previous iterations, you had to contribute raw XML for those permissions to be granted. Now you can do everything visually! You can also use those new permissions to filter the actions you create (like displaying only certain buttons for certain permission groups). Looking forward to getting your feedback on how you will use it!

  • i18n management: You can now add labels, so as to translate document type names, form's fields names, lifecycle transitions, etc... Even better, you can use this feature to override label definition of any text that appears in your Nuxeo product instance. All you need to do is to upload a target language prefixed file like "message_EN.properties", with your preferred label keys and corresponding translations. Voila - additional customization to meet your business needs and terms!

  • Declare custom Content Automation Operations: You have implemented some custom business logic as Operations and now would like to use them in Content Automation chains. Now it is possible! This is without doubt the most anxiously awaited feature for the Nuxeo developer communities. Imagine you are composing your automation chain, and at some point, none of the existing operations provide what you need. Do you need to migrate your plugin to a classic eclipse-made java plugin? Not anymore! Just implement the missing part in a custom operation and tell Studio about your custom operation - now it will be available to use along with other built-in operations. Pretty cool, isn't it?

Image 6
Importing the definition of an operation in JSON

  • External Elements Registry: "Teach" Studio about existing customization (ex: content schemas, contributed by other plugins) and specific advanced configuration you'd like to setup (ex: event types, operations, etc.). With this feature, you can declare external elements such as events, document types, permissions, etc... Then Studio lets you use those elements in the configuration parameters - such as the list of events when configuring an event-handler, the list of facets that a document can hold or the list of permissions when configuring a filter.

  • User Selection Widget for Forms: You can now use a new widget that enables you to select a list of users. It is useful to hold on the document a list of persons to which you would like to assign tasks, for instance.

  • ID Generator: Lets you use Nuxeo UID Service to easily generate new incremental IDs depending on a given key (letting you manage several incremental ID keys). This enables you to implement your complanies' document ID policy, leveraging metadata, categories, dates, etc.

And some great UI improvement!

We wanted to make your experience even better, putting developers at the center of the game. Here is what we came up as a first step:

  • Automatic Deploy & Hot Reload! (yeah!): The most awaited feature, done the Nuxeo way: thanks to the AdminCenter, in a single click you can make your Nuxeo product download its Studio configuration, install it and hot reload it! No manuel download, no file copy, no restart. Modify something in Studio, reload the plugin from the admin center in Nuxeo DM, and see it live! Super fast - and a great way to see your changes real-time! It dramatically improve the work/test cycle, making testing true bliss (or at least how blissful testing can be!).

  • Expression Builder for Content Automation: a powerful editor to help you create expressions and parameters to configure Content Aumtomation chains. It lets you browse of the operation context and get contextual values such as user information, date, document title, etc. The scripting syntax was simplified, without having to use the "expr:" anymore. Of course, this is only the beginning, many improvements will come in the future such as dynamic expression validation, auto-completion, and more!

Image 6
The expression builder

  • Generation of lifecycle transitions: the lifecycle editor generates the transition names between the states (names you can modify, of course).

With some new documentation

We also improved the documentation, especially for Content Automation. Now, each Automation Operation has its own page with a direct link from Studio. This enables you to easily check our the documentation while constructing your logic, ask questions directly on the page and share tips & tricks with others. Basics of a virtuous cycle!

As usual all the new features also have been documented, with tutorials etc...

More in the pipe!

Even with our keyboards messy with sand and sunscreen, we did all this - not too shabby, right? ;-)

For the next release, our main focus is Faceted Browsing & Content Views, a new concept in Nuxeo EP introduced this summer to handle document lists in a very flexible way. You'll be able to define content listing (columns, filters, sorts) and attach them to containers offering great ways to display content lists to your users. We're also plotting to enable the creation and publishing of Packages for the Marketplace directly from Studio!

Stay tuned!