diff --git a/content/posts/_index.md b/content/blog/_index.md
similarity index 100%
rename from content/posts/_index.md
rename to content/blog/_index.md
diff --git a/content/posts/post-00001.md b/content/blog/post-00001.md
similarity index 100%
rename from content/posts/post-00001.md
rename to content/blog/post-00001.md
diff --git a/content/posts/post-00002.md b/content/blog/post-00002.md
similarity index 100%
rename from content/posts/post-00002.md
rename to content/blog/post-00002.md
diff --git a/content/posts/post-00003.md b/content/blog/post-00003.md
similarity index 100%
rename from content/posts/post-00003.md
rename to content/blog/post-00003.md
diff --git a/content/posts/post-00004.md b/content/blog/post-00004.md
similarity index 95%
rename from content/posts/post-00004.md
rename to content/blog/post-00004.md
index 5ee938d..a8e13aa 100644
--- a/content/posts/post-00004.md
+++ b/content/blog/post-00004.md
@@ -17,7 +17,7 @@ can be downloaded on the [download page](/download).
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](http://en.wikipedia.org/wiki/ISO_8601#Durations "{target='_blank'}").
+[ISO8601](http://en.wikipedia.org/wiki/ISO_8601#Durations).
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.
diff --git a/content/posts/post-00005.md b/content/blog/post-00005.md
similarity index 100%
rename from content/posts/post-00005.md
rename to content/blog/post-00005.md
diff --git a/content/posts/post-00006.md b/content/blog/post-00006.md
similarity index 100%
rename from content/posts/post-00006.md
rename to content/blog/post-00006.md
diff --git a/content/posts/post-00007.md b/content/blog/post-00007.md
similarity index 100%
rename from content/posts/post-00007.md
rename to content/blog/post-00007.md
diff --git a/content/posts/post-00008.md b/content/blog/post-00008.md
similarity index 96%
rename from content/posts/post-00008.md
rename to content/blog/post-00008.md
index abf0cf5..e8f02a4 100644
--- a/content/posts/post-00008.md
+++ b/content/blog/post-00008.md
@@ -46,7 +46,7 @@ Further new features and changes are:
* Added audits for login/logout of users.
* Added audits for changes to privilege management.
* PostgreSQL persistence layer now
- uses [HikariCP](https://github.com/brettwooldridge/HikariCP "{target='_blank'}")
+ uses [HikariCP](https://github.com/brettwooldridge/HikariCP)
for connection pooling.
* Implemented a performance test project
* Added new Parameters of type `IntegerList`, `FloatList` and `LongList`.
diff --git a/content/posts/post-00009.md b/content/blog/post-00009.md
similarity index 100%
rename from content/posts/post-00009.md
rename to content/blog/post-00009.md
diff --git a/content/posts/post-00010.md b/content/blog/post-00010.md
similarity index 100%
rename from content/posts/post-00010.md
rename to content/blog/post-00010.md
diff --git a/content/posts/post-00011.md b/content/blog/post-00011.md
similarity index 100%
rename from content/posts/post-00011.md
rename to content/blog/post-00011.md
diff --git a/content/posts/post-00012.md b/content/blog/post-00012.md
similarity index 100%
rename from content/posts/post-00012.md
rename to content/blog/post-00012.md
diff --git a/content/posts/post-00013.md b/content/blog/post-00013.md
similarity index 94%
rename from content/posts/post-00013.md
rename to content/blog/post-00013.md
index a253f56..3aa9451 100644
--- a/content/posts/post-00013.md
+++ b/content/blog/post-00013.md
@@ -20,7 +20,7 @@ how models are searched. Thus the search API was born.
Go check out the [Strolch Search](/documentation/searches) documentation and
then go rewrite your searches =)).
-Strolch tag [1.6.51](http://search.maven.org/#search%7Cga%7C1%7Cstrolch "{target='_blank'}") has all
+Strolch tag [1.6.51](http://search.maven.org/#search%7Cga%7C1%7Cstrolch) has all
those juicy changes!
diff --git a/content/posts/post-00014.md b/content/blog/post-00014.md
similarity index 100%
rename from content/posts/post-00014.md
rename to content/blog/post-00014.md
diff --git a/content/blog/post-00015.md b/content/blog/post-00015.md
new file mode 100644
index 0000000..a4e8ecd
--- /dev/null
+++ b/content/blog/post-00015.md
@@ -0,0 +1,50 @@
+---
+title: 'Release of Strolch 1.6.100'
+description: 'The 100. release of the 1.6 branch and a brand new website!'
+weight: -15
+date: 2021-07-14T20:25:11+02:00
+LastModifierDisplayName: "Robert von Burg"
+LastModifierEmail: "eitch@eitchnet.ch"
+---
+
+## Release of Strolch 1.6.100
+
+The 100. Strolch release of the 1.6 branch and a brand new website!
+
+-------
+
+Ok, so Maven doesn't exactly have 100 releases on it, but even though we have
+been quiet on public releases, Strolch has seen many refactorings, fixes, new
+features etc. over the past three years of its last release.
+
+Some notable changes:
+* I18n Support for StrolchExceptions.
+* Better performance for reports on large joins.
+* Move to JDK 11+.
+* Refactoring to use of Java 9 LocalDateTime and ZonedDateTime where applicable.
+* Added Controllers for better execution handling.
+* Significantly simplified the methods to change the model.
+* Simpler methods to retrieve relationship entities.
+* Updated most libraries to their latest versions.
+* Added a DataArchiveHandler to archive entities.
+* Added require password change feature, and storing of login and password change history
+* LDAP integration
+* Added session keep alive
+* Search expression simplifications
+* New TextParameter for when persisting large values with whitespace and special characters
+* Basic Auth for REST APIs, if no UI needed for scripting
+* Many additional fixes, tweaks and helper functions
+
+Another new addition to the Strolch family is [Strolch PLC](/plc). The Strolch
+PLC code allows one to use the same model but on a device acting as a soft PLC,
+e.g. a Raspberry Pi. This PLC code can then communicate using WebSockets with a
+Strolch instance, having quite seamless interaction with Activities which really
+shows the potential of using Strolch's model in the shop floor.
+
+We've been running the Strolch PLC in a mission critical shop floor application
+to control conveyors which are filled by a dispensing robot.
+
+So, Strolch 1.6.100 is out the door, go ahead and [try it out](/development).
+
+
+
diff --git a/content/posts/post-99999.md b/content/blog/post-99999.md
similarity index 62%
rename from content/posts/post-99999.md
rename to content/blog/post-99999.md
index 1915520..419be66 100644
--- a/content/posts/post-99999.md
+++ b/content/blog/post-99999.md
@@ -2,6 +2,9 @@
title: 'XXXXX'
description: 'XXXXX'
weight: -9999999
+date: 2021-01-01T00:00:00+01:00
+LastModifierDisplayName: "Robert von Burg"
+LastModifierEmail: "eitch@eitchnet.ch"
draft: true
---
diff --git a/content/development/_index.md b/content/development/_index.md
index ecace03..3091177 100644
--- a/content/development/_index.md
+++ b/content/development/_index.md
@@ -10,7 +10,11 @@ To start developing Strolch you need an installed:
## Building Strolch
-Setting up Strolch is just a few lines:
+{{% notice tip %}} Note: You don't have to build Strolch if you want to use the
+version on Maven central, but if you need a snapshot version, or the release you
+want isn't on central, then go ahead and build Strolch. {{% /notice %}}
+
+Building Strolch is just a few lines:
```shell
git clone https://github.com/strolch-li/strolch.git
@@ -18,7 +22,7 @@ cd strolch
mvn clean install -DskipTests
```
-{{% notice tip %}}
+{{% notice warning %}}
Note: To run the tests you will need to configure the PostgreSQL Databases. See
the README in the module.
{{% /notice %}}
@@ -28,6 +32,20 @@ projects. Now you can start modifying the projects, and add your own features,
or, far more interesting, start developing your projects using the Strolch
agent.
+## Converting an existing application
+
+You can convert an existing application to a Strolch agent, but this might be a
+bit daunting in the beginning. If you are planning on doing this, first create a
+test application using the maven archetypes, so that you can get a feel for the configuration.
+
+Once that works, use the archetypes configuration to reconfigure your project to start as a Strolch agent.
+
+{{% notice warning %}}
+Note: Beware to select the archetype pertaining to your use case:
+ * For a web app use the [li.strolch.mvn.archetype.webapp](/development/#creating-a-java-strolch-web-app)
+ * For a application with a main method use [li.strolch.mvn.archetype.main](/development/#creating-a-simple-java-strolch-app)
+{{% /notice %}}
+
## Creating a Strolch App
To create your own Strolch App, you can use Maven's archetype generation. There
@@ -35,7 +53,7 @@ are two versions, one is a simple Java App which you can use to directly access
the Strolch runtime, and the second is to create a Java Web App, which is the
usual way to run Strolch runtimes.
-{{% notice tip %}}
+{{% notice warning %}}
Note: you need to have installed Strolch to your local maven repo, otherwise the
archetype won't be available.
{{% /notice %}}
@@ -44,6 +62,10 @@ archetype won't be available.
The following shows the maven command to create the new maven project. Note that you should replace the placeholders in the brackets:
+{{% notice tip %}}
+The code is also available on [GitHub](https://github.com/strolch-li/strolch/tree/develop/li.strolch.mvn.archetype.webapp).
+{{% /notice %}}
+
```shell
mvn archetype:generate \
-DarchetypeGroupId=li.strolch \
@@ -70,7 +92,7 @@ npm install
gulp
```
-{{% notice tip %}} Note: Whenever the bower.json is changed then you should
+{{% notice warning %}} Note: Whenever the bower.json is changed then you should
again call npm install inside the webapp folder. {{% /notice %}}
#### Building the WAR
@@ -89,6 +111,10 @@ Happy coding =))
The following shows the maven command to create the new maven project. Note that
you should replace the placeholders in the brackets:
+{{% notice tip %}}
+The code is also available on [GitHub](https://github.com/strolch-li/strolch/tree/develop/li.strolch.mvn.archetype.main).
+{{% /notice %}}
+
```shell
mvn archetype:generate \
-DarchetypeGroupId=li.strolch \
@@ -120,8 +146,7 @@ Happy coding =))
The following tools are used to develop Strolch and Strolch-based projects:
-* [IntelliJ](https://www.jetbrains.com/idea/download/#section=linux "{target='_blank'}")
-* [Apache Maven](https://maven.apache.org/ "{target='_blank'}")
-* [Git SCM](http://git-scm.com/ "{target='_blank'}")
-
+* [IntelliJ](https://www.jetbrains.com/idea/download/#section=linux)
+* [Apache Maven](https://maven.apache.org/)
+* [Git SCM](http://git-scm.com/)
diff --git a/content/documentation/model.md b/content/documentation/model.md
index f09a922..34f3256 100644
--- a/content/documentation/model.md
+++ b/content/documentation/model.md
@@ -216,11 +216,11 @@ try (StrolchTransaction tx = runtimeMock.openUserTx(certificate, true)) {
```
{{% notice tip %}}
-Note: Checkout [example-model.xml](https://github.com/strolch-li/strolch/blob/develop/li.strolch.service/src/test/resources/transienttest/data/example-model.xml "{target='_blank'}") and [SimpleModelTest.java](https://github.com/strolch-li/strolch/blob/develop/li.strolch.service/src/test/java/li/strolch/service/SimpleModelTest.java "{target='_blank'}") for these examples.
+Note: Checkout [example-model.xml](https://github.com/strolch-li/strolch/blob/develop/li.strolch.service/src/test/resources/transienttest/data/example-model.xml) and [SimpleModelTest.java](https://github.com/strolch-li/strolch/blob/develop/li.strolch.service/src/test/java/li/strolch/service/SimpleModelTest.java) for these examples.
{{% /notice %}}
{{% notice tip %}}
-There is an XML Schema which defines the model in XML: [StrolchModel-1.6.xsd](/assets/xsd/StrolchModel-1.6.xsd "{target='_blank'}")
+There is an XML Schema which defines the model in XML: [StrolchModel-1.6.xsd](/xsd/StrolchModel-1.6.xsd "{target='_blank'}")
{{% /notice %}}
Here is an example of all the possible elements in Strolch:
@@ -233,7 +233,7 @@ xsi:schemaLocation="https://strolch.li/xsd/StrolchModel-1.6.xsd StrolchModel-1.6
-
+
@@ -247,7 +247,7 @@ xsi:schemaLocation="https://strolch.li/xsd/StrolchModel-1.6.xsd StrolchModel-1.6
-
+
@@ -264,7 +264,7 @@ xsi:schemaLocation="https://strolch.li/xsd/StrolchModel-1.6.xsd StrolchModel-1.6
-
+
diff --git a/content/download/_index.md b/content/download/_index.md
index 850d38b..de000e1 100644
--- a/content/download/_index.md
+++ b/content/download/_index.md
@@ -12,3 +12,33 @@ found on the [development](/development) page.
Strolch is also built on [Jenkins](https://ci.4trees.ch/), so you can see if the
latest version passes all tests.
+
+## Include as Maven dependency
+
+The easiest way to include strolch in your project is to use the following maven dependency:
+
+```xml
+
+
+
+
+ 1.6.100
+
+
+
+
+ li.strolch
+ li.strolch.bom
+ pom
+ ${strolch.version}
+ import
+
+
+
+
+```
+
+The bom will include all Strolch modules, you can always exclude a dependency,
+or only include the dependencies you really want, e.g. model, etc.
+
+After including the dependency, checkout [development](/development) on how to turn your project into a Strolch agent.
diff --git a/layouts/_default/_markup/render-link.html b/layouts/_default/_markup/render-link.html
index 92a386d..9788641 100644
--- a/layouts/_default/_markup/render-link.html
+++ b/layouts/_default/_markup/render-link.html
@@ -11,6 +11,9 @@
{{- printf " %s=%q" $k $v | safeHTMLAttr -}}
{{- end -}}
{{- end -}}
+{{ if gt (strings.Count "http" (.Destination | safeURL)) 0}}
+ target="_blank"
+{{ end }}
>{{ .Text | safeHTML }}
{{- /* Strip trailing space. */ -}}
\ No newline at end of file
diff --git a/docs/assets/xsd/StrolchModel-1.6.xsd b/static/xsd/StrolchModel-1.6.xsd
similarity index 100%
rename from docs/assets/xsd/StrolchModel-1.6.xsd
rename to static/xsd/StrolchModel-1.6.xsd