Wow, the many changes!

Wow, the many changes!

So many changes, and so long no update - not good!

Oh boy, have we forgotten to update you all on the latest awesome features in Strolch! There are over 123 commits since the last tag 1.3.0, so that alone merits a new blog post.

Currently the latest tag is 1.5.5, but this version is actually already quite old, as it was created on 31. January 2017 and there are 53 new commits ahead of the tag.

Enough of all the commits, lets get to the new features:

  • Added new generic report creator
  • Added Activity.TimeOrdering and updated Model XSD
  • Implemented State Model on Activity/Actions
  • Implemented execution of Activities
  • Implemented EventBasedExecutionHandler
  • Added StrolchXmlParser to quickly parse from a file
  • Add Activity.remove(String) to remove an element
  • Refactored LockHandler to use Locator
  • Added Activity.getActionsWithState(State)
  • Moved *ToFlat and *FromFlat Json Visitors to strolch model
  • Added StrolchElementQuery.internal()
  • Added Parameter.clearValue() and list parameters use , as sep
  • Json Tags are now in Tags.Json and are drinking camel-case
  • Moved PrivilegeAddUserService to command, added tests
  • Lots of JavaDoc updates
  • Refactored code for REST Inspector to use gson
  • Added inspector REST api for activities
  • Inspector now has offset/limit for queries
  • Added new StringMapArgument for StrolchServices
  • Added missing activity observer calls in AbstractTransaction
  • Added StringMapResult to use as a ServiceResult
  • Removed many visitors and implemented proper visitor pattern…
  • Don’t log stack trace if certificate does not exist
  • SmtpMailer now understands whitelists for override
  • Fixed locator finding for Activity and Action
  • Fixed undo logic for general commands

To summarize, execution and reporting are the two new features that make Strolch really awesome! We use execution to perform a number of actions on a remote device connected to a Strolch agent through WebSockets. This allows serial and parallel execution of actions and of course locking of concurrently used resources.

In an enterprise world reports can never be missed, so we needed an API to create reports. Of course that API was created in a way that all things are done in Strolch: generically. Thus a report is created as a Resource, defining the report object, columns and any relevant joins.

And one of the really cool things is that we have started with a UI for Strolch. There is now an Inspector with which the entire data model of a running agent can be seen. This inspector is built using Polymer and WebComponents and thus can be easily embedded in your application.

To facilitate the authentication of a user for the inspector, an authentication component was created as well. And of course i18n can’t be forgotten, so there is a component for that too.

To simplify tasks in a web project, there is also a StrolchJs repository where certain Strolch specific things are handled e.g. querying the authenticated user’s roles etc.

The release of the next Strolch version isn’t defined yet, as we are internally building a project on all these changes and with the release 1.0.0 of that project (which will be soon), we shall perform the next release of Strolch.

Until then, happy coding!