Skip to content

Chronivaro 0.4.0

Latest

Choose a tag to compare

@eitch eitch released this 08 Sep 09:27
· 1 commit to develop since this release
v0.4.0
105ce3b

Chronivaro 0.4.0

Changes since v0.3.0

  • [Project] Release 0.4.0 (105ce3b)
  • [Minor] Disable unique versioning in Maven JAR configuration (03908ad)
  • [New] Add CSV holiday import functionality (d02fe24)
  • [Fix] Update locale in configuration to de-CH for dev environment (fa0a5e5)
  • [New] Add VersionView and related API functionality (15300ed)
  • [Fix] Update weekly target minutes to 2400 across the app (f81a3d0)
  • [New] Add responsive styling for #audit-log-view (392111d)
  • [New] Enhance modal styling and improve date parsing (bc41906)
  • [New] Add joinDate and exitDate columns to EmployeesView (acba571)
  • [New] Add DatePicker utility and enhance date validation (c0749ca)
  • [New] Add on-call filters and i18n translations (752327d)
  • [Fix] Update default on-call times and confirmation dialog (2d55c58)
  • [Fix] Update parameter names for on-call period dates (1024a3e)
  • [New] Migrate date inputs to text format with validation (1a9c9b9)
  • [New] Enhance calendar navigation with month picker and modals (2aef1a7)
  • [New] Add additional user configurations to PrivilegeUsers.xml (ce6129c)
  • [New] Add instructions for GenerateSampleDataJob usage (dbc301a)
  • [New] Add StrolchJob resource filtering to build script (a27ec14)
  • [New] Add filtering for StrolchJob resources in Model.xml (0e6a563)
  • [New] Add GenerateSampleDataJob resource to model (3184f71)
  • [New] Add PostInitializer component to configuration (6d7d35c)
  • [New] Add GenerateSampleDataJob for initial data creation (0e258b3)
  • [New] Add Administrator role to PrivilegeUsers.xml (2c9a9f2)
  • [New] Update privilege policies for agent role (52e8694)
  • [New] Mark backlog tasks as completed (3472242)
  • [New] Add on-call period management to absence calendar (5b47128)
  • [New] Add interactive employee absence calendar (75f5557)
  • [New] Add absence calendar with role-based filters and UI (83f6e3e)
  • [New] Add createdBy parameter to Templates.xml (7a109aa)
  • [New] Add createdBy field to OpenAPI specs (4ab63f9)
  • [New] Add absence entry on behalf of employees by HR/Supervisors (bc120ac)
  • [New] Add ability to manage absences for other employees (8760a87)
  • [New] Update backlog and specifications for absence features (24513be)
  • [Fix] Allow correcting start time of running timers (e7c9a8d)
  • [Fix] Allow editing running timers without end time (79c959c)
  • [New] Add validation and formatting for office hours (415421f)
  • [Project] Next development version 0.4.0-SNAPSHOT (35b8ed4)

🔄 Runtime Upgrade Instructions (v0.3.0 → HEAD)

The following files in the runtime directory have been modified and require review or migration when upgrading an existing instance:

  • runtime/config/PrivilegeRoles.xml: Role definitions and service/search privilege permissions.
  • runtime/config/PrivilegeUsers.xml: Default user definitions and administrative accounts.
  • runtime/config/StrolchConfiguration.xml: Strolch agent and component configuration parameters.
  • runtime/data/Model.xml: Default system configuration resources and initial master data.
  • runtime/data/Templates.xml: Resource, Order, and Activity model templates and element definitions.

Runtime Changes Diff

Review and apply the relevant diffs to your deployment environment:

# Diff for runtime/config/PrivilegeRoles.xml
diff --git a/runtime/config/PrivilegeRoles.xml b/runtime/config/PrivilegeRoles.xml
index 50d97fb..3088d55 100644
--- a/runtime/config/PrivilegeRoles.xml
+++ b/runtime/config/PrivilegeRoles.xml
@@ -175,27 +175,30 @@
     </Role>
 
     <Role name="agent">
+        <Privilege name="li.strolch.job.StrolchJobsHandler" policy="DefaultPrivilege">
+            <AllAllowed>true</AllAllowed>
+        </Privilege>
         <Privilege name="PrivilegeAction" policy="DefaultPrivilege">
             <Allow>GetCertificates</Allow>
             <Allow>Persist</Allow>
             <Allow>PersistSessions</Allow>
         </Privilege>
-        <Privilege name="PrivilegeAddUser" policy="DefaultPrivilege">
+        <Privilege name="PrivilegeAddUser" policy="UserAccessPrivilege">
             <AllAllowed>true</AllAllowed>
         </Privilege>
-        <Privilege name="PrivilegeGetUser" policy="DefaultPrivilege">
+        <Privilege name="PrivilegeGetUser" policy="UserAccessPrivilege">
             <AllAllowed>true</AllAllowed>
         </Privilege>
-        <Privilege name="PrivilegeGetUserPrivileges" policy="DefaultPrivilege">
+        <Privilege name="PrivilegeGetUserPrivileges" policy="UserAccessPrivilege">
             <AllAllowed>true</AllAllowed>
         </Privilege>
-        <Privilege name="PrivilegeGetGroupPrivileges" policy="DefaultPrivilege">
+        <Privilege name="PrivilegeGetGroupPrivileges" policy="UserAccessPrivilege">
             <AllAllowed>true</AllAllowed>
         </Privilege>
-        <Privilege name="PrivilegeModifyUser" policy="DefaultPrivilege">
+        <Privilege name="PrivilegeModifyUser" policy="UserAccessPrivilege">
             <AllAllowed>true</AllAllowed>
         </Privilege>
-        <Privilege name="PrivilegeRemoveUser" policy="DefaultPrivilege">
+        <Privilege name="PrivilegeRemoveUser" policy="UserAccessPrivilege">
             <AllAllowed>true</AllAllowed>
         </Privilege>
         <Privilege name="li.strolch.privilege.handler.SystemAction" policy="DefaultPrivilege">
# Diff for runtime/config/PrivilegeUsers.xml
diff --git a/runtime/config/PrivilegeUsers.xml b/runtime/config/PrivilegeUsers.xml
index a70fd0a..ecc8ba8 100644
--- a/runtime/config/PrivilegeUsers.xml
+++ b/runtime/config/PrivilegeUsers.xml
@@ -1,17 +1,46 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <Users>
+    <User userId="668338713749" username="alice.smith">
+        <Firstname>Alice</Firstname>
+        <Lastname>Smith</Lastname>
+        <State>ENABLED</State>
+        <Locale>de</Locale>
+        <Roles>
+            <Role>Employee</Role>
+            <Role>ModelAccessor</Role>
+        </Roles>
+        <Properties>
+            <Property name="email" value="alice@example.com"/>
+            <Property name="organisation" value="MyCompany"/>
+        </Properties>
+    </User>
     <User userId="agent" username="agent">
         <Firstname>Strolch Agent</Firstname>
         <Lastname>System User</Lastname>
         <State>SYSTEM</State>
         <Locale>de</Locale>
         <Roles>
+            <Role>Administrator</Role>
             <Role>agent</Role>
         </Roles>
         <Properties>
             <Property name="organisation" value="MyCompany"/>
         </Properties>
     </User>
+    <User userId="668338713763" username="carol.white">
+        <Firstname>Carol</Firstname>
+        <Lastname>White</Lastname>
+        <State>ENABLED</State>
+        <Locale>de</Locale>
+        <Roles>
+            <Role>Employee</Role>
+            <Role>ModelAccessor</Role>
+        </Roles>
+        <Properties>
+            <Property name="email" value="carol@example.com"/>
+            <Property name="organisation" value="MyCompany"/>
+        </Properties>
+    </User>
     <User userId="666954056572" username="bob" password="$PBKDF2WithHmacSHA512,10000,256$6cb2cd8a78184ebaeb56379cbe4d15e5a7fb68fca9d73f277c7f285af5b63556$e0143ed95ba9b5a4c20fa50193812a967c6fbde35a56c720f310e2563b53427e">
         <Firstname>Bob</Firstname>
         <Lastname>Someone</Lastname>
@@ -31,6 +60,20 @@
             <LastPasswordChange>2026-08-22T17:52:57.068+02:00</LastPasswordChange>
         </History>
     </User>
+    <User userId="668338713770" username="david.miller">
+        <Firstname>David</Firstname>
+        <Lastname>Miller</Lastname>
+        <State>ENABLED</State>
+        <Locale>de</Locale>
+        <Roles>
+            <Role>Employee</Role>
+            <Role>ModelAccessor</Role>
+        </Roles>
+        <Properties>
+            <Property name="email" value="david@example.com"/>
+            <Property name="organisation" value="MyCompany"/>
+        </Properties>
+    </User>
     <User userId="1" username="admin" password="$PBKDF2WithHmacSHA512,10000,256$c295b976cb1ff44b92b0e7f3e2851dbd5c396bed28ae1b9ec6f7cd0aa678b51e$c32469792e77aa52b5c18b279c344ce1c692edb2eb8153a3fa295b333eeafe64">
         <Firstname>Admin</Firstname>
         <Lastname>Admin</Lastname>
@@ -51,6 +94,20 @@
             <LastPasswordChange>2026-08-22T17:49:00.631+02:00</LastPasswordChange>
         </History>
     </User>
+    <User userId="668338713777" username="emma.watson">
+        <Firstname>Emma</Firstname>
+        <Lastname>Watson</Lastname>
+        <State>ENABLED</State>
+        <Locale>de</Locale>
+        <Roles>
+            <Role>Employee</Role>
+            <Role>ModelAccessor</Role>
+        </Roles>
+        <Properties>
+            <Property name="email" value="emma@example.com"/>
+            <Property name="organisation" value="MyCompany"/>
+        </Properties>
+    </User>
     <User userId="666872618952" username="jill" password="$PBKDF2WithHmacSHA512,10000,256$269f324b259059d1fb867ac13b9a9c7de9c5f3bfad4ea9784f65a2ea6a53395e$deb672b37e251022a575c651f2538e943e7a6e9979ddcb1b4ddd01043713ff53">
         <Firstname>Jill</Firstname>
         <Lastname>Someone</Lastname>
@@ -70,4 +127,18 @@
             <LastPasswordChange>2026-08-22T17:51:20.305+02:00</LastPasswordChange>
         </History>
     </User>
+    <User userId="668338713756" username="bob.jones">
+        <Firstname>Bob</Firstname>
+        <Lastname>Jones</Lastname>
+        <State>ENABLED</State>
+        <Locale>de</Locale>
+        <Roles>
+            <Role>Employee</Role>
+            <Role>ModelAccessor</Role>
+        </Roles>
+        <Properties>
+            <Property name="email" value="bob@example.com"/>
+            <Property name="organisation" value="MyCompany"/>
+        </Properties>
+    </User>
 </Users>
# Diff for runtime/config/StrolchConfiguration.xml
diff --git a/runtime/config/StrolchConfiguration.xml b/runtime/config/StrolchConfiguration.xml
index 22658c3..d567559 100644
--- a/runtime/config/StrolchConfiguration.xml
+++ b/runtime/config/StrolchConfiguration.xml
@@ -3,7 +3,7 @@
     <env id="dev">
         <Runtime>
             <Properties>
-                <locale>en_CH</locale>
+                <locale>de-CH</locale>
                 <timezone>Europe/Zurich</timezone>
             </Properties>
         </Runtime>
@@ -107,5 +107,12 @@
             <impl>li.strolch.job.StrolchJobsHandler</impl>
             <depends>RealmHandler</depends>
         </Component>
+
+        <Component>
+            <name>PostInitializer</name>
+            <api>li.strolch.agent.api.PostInitializer</api>
+            <impl>ch.eitchnet.chronivaro.core.handler.PostInitializer</impl>
+            <depends>StrolchJobsHandler</depends>
+        </Component>
     </env>
 </StrolchConfiguration>
# Diff for runtime/data/Model.xml
diff --git a/runtime/data/Model.xml b/runtime/data/Model.xml
index 4050fce..868f630 100644
--- a/runtime/data/Model.xml
+++ b/runtime/data/Model.xml
@@ -18,7 +18,7 @@
 
     <Resource Id="configuration" Name="Global Configuration" Type="GlobalConfiguration">
         <ParameterBag Id="parameters" Name="Parameters" Type="Parameters">
-            <Parameter Id="weeklyTargetMinutes" Name="Global Weekly Target Minutes" Type="Integer" Value="2520"/>
+            <Parameter Id="weeklyTargetMinutes" Name="Global Weekly Target Minutes" Type="Integer" Value="2400"/>
             <Parameter Id="annualVacationDays" Name="Annual Vacation Days" Type="Integer" Value="25"/>
             <Parameter Id="minutesPerVacationDay" Name="Minutes Per Vacation Day" Type="Integer" Value="480"/>
             <Parameter Id="vacationAbsenceTypeCode" Name="Vacation Absence Type Code" Type="String" Value="VACATION"/>
@@ -181,4 +181,11 @@
         </ParameterBag>
     </Resource>
 
+    <Resource Id="GenerateSampleDataJob" Name="GenerateSampleDataJob" Type="StrolchJob">
+        <ParameterBag Id="parameters" Name="Parameters" Type="Parameters">
+            <Parameter Id="className" Name="Class Name" Type="String" Value="ch.eitchnet.chronivaro.core.jobs.GenerateSampleDataJob"/>
+            <Parameter Id="mode" Name="Job Mode" Type="String" Interpretation="Enumeration" Uom="JobMode" Value="Manual"/>
+        </ParameterBag>
+    </Resource>
+
 </StrolchModel>
# Diff for runtime/data/Templates.xml
diff --git a/runtime/data/Templates.xml b/runtime/data/Templates.xml
index 2753c98..7f0c013 100644
--- a/runtime/data/Templates.xml
+++ b/runtime/data/Templates.xml
@@ -90,6 +90,7 @@
             <Parameter Id="minutes" Name="Minutes" Type="Integer" Value="0"/>
             <Parameter Id="comment" Name="Comment" Type="String" Value=""/>
             <Parameter Id="state" Name="State" Type="String" Value="DRAFT"/>
+            <Parameter Id="createdBy" Name="Created By" Type="String" Value=""/>
         </ParameterBag>
         <ParameterBag Id="relations" Name="Relations" Type="Relations">
             <Parameter Id="employee" Name="Employee" Type="String" Interpretation="Resource-Ref" Uom="Employee" Value=""/>
@@ -192,7 +193,7 @@
 
     <Resource Id="GlobalConfiguration" Name="Template Global Configuration" Type="Template">
         <ParameterBag Id="parameters" Name="Parameters" Type="Parameters">
-            <Parameter Id="weeklyTargetMinutes" Name="Global Weekly Target Minutes" Type="Integer" Value="2520"/>
+            <Parameter Id="weeklyTargetMinutes" Name="Global Weekly Target Minutes" Type="Integer" Value="2400"/>
             <Parameter Id="annualVacationDays" Name="Annual Vacation Days" Type="Integer" Value="25"/>
             <Parameter Id="minutesPerVacationDay" Name="Minutes Per Vacation Day" Type="Integer" Value="480"/>
             <Parameter Id="vacationAbsenceTypeCode" Name="Vacation Absence Type Code" Type="String" Value="VACATION"/>

📦 Distribution Artifacts

File Description
chronivaro-0.4.0.tar.gz Standalone application distribution archive (executable Chronivaro JAR and lib/ dependencies)
chronivaro-0.4.0.tar.gz.asc GPG ASCII-armored detached signature
runtime-0.4.0.tar.gz Sanitized Strolch runtime distribution archive
runtime-0.4.0.tar.gz.asc GPG ASCII-armored detached signature
runtime-upgrade-v0.3.0-to-v0.4.0.patch Unified diff patch to upgrade runtime/ configuration and templates from v0.3.0
runtime-upgrade-v0.3.0-to-v0.4.0.patch.asc GPG ASCII-armored detached signature
SHA256SUMS.txt SHA-256 verification checksums
SHA256SUMS.txt.asc GPG ASCII-armored detached signature