diff --git a/li.strolch.website/www.strolch.li/blog.html b/li.strolch.website/www.strolch.li/blog.html index 02e0d622f..fa8a52318 100644 --- a/li.strolch.website/www.strolch.li/blog.html +++ b/li.strolch.website/www.strolch.li/blog.html @@ -58,20 +58,71 @@
Finally Version 1.0.0 of Strolch has been released and can be downloaded + immediately.
+Before 1.0.0 could be released, some major changes were decided, all driven by the first big project + using Strolch as its underlying stack. Those changes were minor, and really major, but should make + Strolch better and was important for the first release.
+ +Here is a list of the most interesting changes:
+Closeable
so that they are
+ closed using a try-with-resource block in Java7. The change that was required was to not auto
+ commit. Now a TX is read-only and one has to set the auto commit as the last statement. See this
+ commit for more information.
+ tx.flush()
to allow an implementation to flush part of a transaction, this
+ feature is vital to perform parts of a transaction before deciding if the TX should be
+ committed.
+ CACHED
performed TRANSACTIONAL
+ queries, instead of staying in-memory.
+ ParameterSelection.stringListSelection()
uses a StringMatchMode
+ instead of just equals()
ParameterSelection.dateRangeSelection()
uses a DateRange
instead of
+ just equals()
MigrationsHandler
to use to perform code migrations of production data
+ bases where data shouldn't go lost.
+ Strolch 1.1.0 is already in development and can also be downloaded from the download page Here you + can see the current change list on GitHub. For instance + heavy work has been done to implement privilege management by adding a REST API. Looking forward to + a wonderful next Strolch release.
+ +New DurationParameter and additional minor changes: Release of 1.0.0-RC4 which can be +
New DurationParameter
and additional minor changes: Release of 1.0.0-RC4 which can be
downloaded on the download page.
While implementing a use case in a Strolch based application it was detected that an essential - parameter type was missing, the DurationParameter. This parameter currently stores the value - as a long in memory and serializes to ISO8601. - As soon as we move Strolch to Java8, we will change this to use the Period class in the new - Java8 date and time API.
+ parameter type was missing, theDurationParameter
. This parameter currently stores the
+ value as a long in memory and serializes to ISO8601. As soon as we move
+ Strolch to Java8, we will change this to use the Period
class in the new Java8 date and
+ time API.
In addition to the new parameter, a couple of other changes were made:
Migrating a database for Strolch is mostly a one time thing. The object model in Strolch is quite
static, so there is seldom a need to migrate the database. Domain specific changes, i.e. new
Resources, or adding Parameters to Resources, is not a schema change. Thus, instead of going the way
- other frameworks go, e.g. Ruby on Rails, we built the data initialization right into the PersistenceHandler.
+ other frameworks go, e.g. Ruby on Rails, we built the data initialization right into the PersistenceHandler
.
Now if the PostgreSQL PersistenceHandler creates the schema, then it might also initialize the - minimal set of data. For this to work, the PersistenceHandler checks if the flags allowSchemaCreation, - allowSchemaDrop and allowDbInitOnSchemaCreate. If those flags are enabled, and the - schema was created during initialization, then the database is also initialized with the contents of - the XML file configured under key dataStoreFile of the relevant Realm.
+Now if the PostgreSQL PersistenceHandler
creates the schema, then it might also
+ initialize the minimal set of data. For this to work, the PersistenceHandler
checks if
+ the flags allowSchemaCreation
, allowSchemaDrop
and allowDbInitOnSchemaCreate
.
+ If those flags are enabled, and the schema was created during initialization, then the database is
+ also initialized with the contents of the XML file configured under key dataStoreFile
+ of the relevant Realm
.
The database initialization is done as a system user action which must have the name db_initializer. +
The database initialization is done as a system user action which must have the name db_initializer
.
This is another fail-safe, so that on a production system, this user can simply be deleted.
So, Strolch 1.0.0-RC3 is out the door, go ahead and try it out.