strolch-website/content/blog/post-00012.md

88 lines
3.7 KiB
Markdown

---
title: 'Wow, the many changes!'
description: 'So many changes, and so long no update - not good!'
weight: -12
date: 2017-03-21T00:00:00+01:00
LastModifierDisplayName: "Robert von Burg"
LastModifierEmail: "eitch@eitchnet.ch"
---
## 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](https://github.com/strolch-li/strolch/compare/1.3.0...develop)
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](https://github.com/strolch-li/strolch-wc-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](https://github.com/strolch-li/strolch-wc-auth) was
created as well. And of course i18n can't be forgotten, so there is a component
for [that](https://github.com/strolch-li/strolch-wc-localize-behavior) too.
To simplify tasks in a web project, there is also
a [StrolchJs](https://github.com/strolch-li/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!