[Major] New blog post, refactoring blog path
This commit is contained in:
parent
3250030621
commit
2605fe4e4a
|
@ -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.
|
||||
|
|
@ -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`.
|
|
@ -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!
|
||||
|
||||
|
|
@ -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).
|
||||
|
||||
|
||||
|
|
@ -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
|
||||
---
|
||||
|
|
@ -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/)
|
||||
|
||||
|
|
|
@ -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
|
|||
<IncludeFile file="Include1.xml"/>
|
||||
|
||||
<Order Id="@test1" Name="Test Order" Type="Order">
|
||||
<Version Version="0" CreatedBy="test" CreatedAt="2012-11-30T18:12:05.628+01:00" Deleted="false"/>
|
||||
<Version Version="0" CreatedBy="test" Created="2012-11-30T18:12:05.628+01:00" UpdatedBy="test" Updated="2012-11-30T18:12:05.628+01:00" Deleted="false"/>
|
||||
<ParameterBag Id="@bag01" Name="Test Bag" Type="TestBag">
|
||||
<Parameter Id="@param1" Name="Boolean Param" Type="Boolean" Value="true"/>
|
||||
</ParameterBag>
|
||||
|
@ -247,7 +247,7 @@ xsi:schemaLocation="https://strolch.li/xsd/StrolchModel-1.6.xsd StrolchModel-1.6
|
|||
</Order>
|
||||
|
||||
<Resource Id="MyTestResource" Name="Test Name" Type="TestType">
|
||||
<Version Version="0" CreatedBy="test" CreatedAt="2012-11-30T18:12:05.628+01:00" Deleted="false"/>
|
||||
<Version Version="0" CreatedBy="test" Created="2012-11-30T18:12:05.628+01:00" UpdatedBy="test" Updated="2012-11-30T18:12:05.628+01:00" Deleted="false"/>
|
||||
<ParameterBag Id="@bag01" Name="Test Bag 01" Type="TestBag">
|
||||
<Parameter Id="@param1" Name="Boolean Param" Type="Boolean" Value="true"/>
|
||||
</ParameterBag>
|
||||
|
@ -264,7 +264,7 @@ xsi:schemaLocation="https://strolch.li/xsd/StrolchModel-1.6.xsd StrolchModel-1.6
|
|||
</Resource>
|
||||
|
||||
<Activity Id="activity_1" Name="Activity" Type="parentType" TimeOrdering="Series">
|
||||
<Version Version="0" CreatedBy="test" CreatedAt="2012-11-30T18:12:05.628+01:00" Deleted="false"/>
|
||||
<Version Version="0" CreatedBy="test" Created="2012-11-30T18:12:05.628+01:00" UpdatedBy="test" Updated="2012-11-30T18:12:05.628+01:00" Deleted="false"/>
|
||||
<ParameterBag Id="@bag01" Name="Test Bag" Type="TestBag">
|
||||
<Parameter Id="@param1" Name="Boolean Param" Type="Boolean" Value="true"/>
|
||||
</ParameterBag>
|
||||
|
|
|
@ -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
|
||||
|
||||
<project>
|
||||
|
||||
<properties>
|
||||
<strolch.version>1.6.100</strolch.version>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>li.strolch</groupId>
|
||||
<artifactId>li.strolch.bom</artifactId>
|
||||
<type>pom</type>
|
||||
<version>${strolch.version}</version>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</project>
|
||||
|
||||
```
|
||||
|
||||
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.
|
||||
|
|
|
@ -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 }}</a>
|
||||
|
||||
{{- /* Strip trailing space. */ -}}
|
Loading…
Reference in New Issue