<!doctype html><htmllang=enclass="js csstransforms3d"><head><metacharset=utf-8><metaname=viewportcontent="width=device-width,initial-scale=1"><metaname=generatorcontent="Hugo 0.80.0"><metaname=descriptioncontent="Long due update on Strolch development."><metaname=authorcontent="Strolch"><linkrel=iconhref=/favicon.icotype=image/ico><title>Strolch Update - Strolch</title><linkhref=/css/nucleus.css?1631198568rel=stylesheet><linkhref=/css/fontawesome-all.min.css?1631198568rel=stylesheet><linkhref=/css/hybrid.css?1631198568rel=stylesheet><linkhref=/css/featherlight.min.css?1631198568rel=stylesheet><linkhref=/css/perfect-scrollbar.min.css?1631198568rel=stylesheet><linkhref=/css/auto-complete.css?1631198568rel=stylesheet><linkhref=/css/atom-one-dark-reasonable.css?1631198568rel=stylesheet><linkhref=/css/theme.css?1631198568rel=stylesheet><linkhref=/css/hugo-theme.css?1631198568rel=stylesheet><linkhref=/css/theme-green.css?1631198568rel=stylesheet><scriptsrc=/js/jquery-3.3.1.min.js?1631198568></script><style>:root#header+#content>#left>#rlblock_left{display:none!important}</style></head><bodydata-url=/blog/post-00008/><navid=sidebar><divid=header-wrapper><divid=header><aid=logohref=/><imgsrc=/logo.png></a></div><divclass=searchbox><labelfor=search-by><iclass="fas fa-search"></i></label><inputdata-search-inputid=search-bytype=searchplaceholder=Search...>
<spandata-search-clear><iclass="fas fa-times"></i></span></div><scripttype=text/javascriptsrc=/js/lunr.min.js?1631198568></script><scripttype=text/javascriptsrc=/js/auto-complete.js?1631198568></script><scripttype=text/javascript>varbaseurl="https:\/\/strolch.li\/";</script><scripttype=text/javascriptsrc=/js/search.js?1631198568></script></div><sectionid=homelinks><ul><li><aclass=paddinghref=/><iclass="fas fa-home"></i>Home</a></li></ul></section><divclass=highlightable><ulclass=topics><lidata-nav-id=/api/title=APIclass=dd-item><ahref=/api/>API</a></li><lidata-nav-id=/documentation/title=Documentationclass=dd-item><ahref=/documentation/>Documentation</a><ul><lidata-nav-id=/documentation/architecture/title=Architectureclass=dd-item><ahref=/documentation/architecture/>Architecture</a></li><lidata-nav-id=/documentation/model/title=Modelclass=dd-item><ahref=/documentation/model/>Model</a></li><lidata-nav-id=/documentation/do-and-donts/title="Do and Don't"class=dd-item><ahref=/documentation/do-and-donts/>Do and Don't</a></li><lidata-nav-id=/documentation/runtime-configuration/title="Runtime Configuration"class=dd-item><ahref=/documentation/runtime-configuration/>Runtime Configuration</a></li><lidata-nav-id=/documentation/realms/title=Realmsclass=dd-item><ahref=/documentation/realms/>Realms</a></li><lidata-nav-id=/documentation/components/title=Componentsclass=dd-item><ahref=/documentation/components/>Components</a></li><lidata-nav-id=/documentation/services-and-commands/title="Services and Commands"class=dd-item><ahref=/documentation/services-and-commands/>Services and Commands</a></li><lidata-nav-id=/documentation/searches/title=Searchesclass=dd-item><ahref=/documentation/searches/>Searches</a></li><lidata-nav-id=/documentation/queries/title=Queriesclass=dd-item><ahref=/documentation/queries/>Queries</a></li><lidata-nav-id=/documentation/transactions/title=Transactionsclass=dd-item><ahref=/documentation/transactions/>Transactions</a></li><lidata-nav-id=/documentation/policies/title=Policiesclass=dd-item><ahref=/documentation/policies/>Policies</a></li><lidata-nav-id=/documentation/observers/title=Observersclass=dd-item><ahref=/documentation/observers/>Observers</a></li><lidata-nav-id=/documentation/versioning/title=Versioningclass=dd-item><ahref=/documentation/versioning/>Versioning</a></li><lidata-nav-id=/documentation/reports/title=Reportsclass=dd-item><ahref=/documentation/reports/>Reports</a></li><lidata-nav-id=/documentation/priviles/title=Privilegesclass=dd-item><ahref=/documentation/priviles/>Privileges</a></li></ul></li><lidata-nav-id=/plc/title=PLCclass=dd-item><ahref=/plc/>PLC</a><ul><lidata-nav-id=/plc/architecture/title=Architectureclass=dd-item><ahref=/plc/architecture/>Architecture</a></li><lidata-nav-id=/plc/example-set-up/title="Example Set-Up"class=dd-item><ahref=/plc/example-set-up/>Example Set-Up</a></li></ul></li><lidata-nav-id=/tutorial/title=Tutorialclass=dd-item><ahref=/tutorial/>Tutorial</a><ul><lidata-nav-id=/tutorial/configuration/title=Configurationclass=dd-item><ahref=/tutorial/configuration/>Configuration</a></li><lidata-nav-id=/tutorial/model/title=Modelclass=dd-item><ahref=/tutorial/model/>Model</a></li><lidata-nav-id=/tutorial/crud-book/title="CRUD Book"class=dd-item><ahref=/tutorial/crud-book/>CRUD Book</a></li></ul></li><lidata-nav-id=/download/title=Downloadclass=dd-item><ahref=/download/>Download</a></li><lidata-nav-id=/development/title=Developmentclass=dd-item><ahref=/development/>Development</a></li><lidata-nav-id=/blog/title=Blogclass="dd-item
parent"><ahref=/blog/>Blog</a><ul><lidata-nav-id=/blog/post-00016/title="Strolch PLC now also on Maven Central"class=dd-item><ahref=/blog/post-00016/>Strolch PLC now also on Maven Central</a></li><lidata-nav-id=/blog/post-00015/title="Release of Strolch 1.6.100"class=dd-item><ahref=/blog/post-00015/>Release of Strolch 1.6.100</a></li><lidata-nav-id=/blog/post-00014/title="Strolch Reports"class=dd-item><ahref=/blog/post-00014/>Strolch Reports</a></li><lidata-nav-id=/blog/post-00013/title="Strolch Searches"class=dd-item><ahref=/blog/post-00013/>Strolch Searches</a></li><lidata-nav-id=/blog/post-00012/title="Wow, the many changes!"class=dd-item><ahref=/blog/post-00012/>Wow, the many changes!</a></li><lidata-nav-id=/blog/post-00011/title="Strolch now on Maven Central"class=dd-item><ahref=/blog/post-00011/>Strolch now on Maven Central</a></li><lidata-nav-id=/blog/post-00010/title="Versioning of objects"class=dd-item><ahref=/blog/post-00010/>Versioning of objects</a></li><lidata-nav-id=/blog/post-00009/title="Release 1.2.0"class=dd-item><ahref=/blog/post-00009/>Release 1.2.0</a></li><lidata-nav-id=/blog/post-00008/title="Strolch Update"class="dd-item active"><ahref=/blog/post-00008/>Strolch Update</a></li><lidata-nav-id=/blog/post-00007/title="Activities: Beginning of the planning engine"class=dd-item><ahref=/blog/post-00007/>Activities: Beginning of the planning engine</a></li><lidata-nav-id=/blog/post-00006/title="Strolch Documentation"class=dd-item><ahref=/blog/post-00006/>Strolch Documentation</a></li><lidata-nav-id=/blog/post-00005/title="Strolch Release 1.0.0"class=dd-item><ahref=/blog/post-00005/>Strolch Release 1.0.0</a></li><lidata-nav-id=/blog/post-00004/title="DurationParameter and other minor changes: Release 1.0.0-RC4"class=dd-item><ahref=/blog/post-00004/>DurationParameter and other minor changes: Release 1.0.0-RC4</a></li><lidata-nav-id=/blog/post-00003/title="DB Initialization: Release 1.0.0-RC3"class=dd-item><ahref=/blog/post-00003/>DB Initialization: Release 1.0.0-RC3</a></li><lidata-nav-id=/blog/post-00002/title="Release 1.0.0-RC2"class=dd-item><ahref=/blog/post-00002/>Release 1.0.0-RC2</a></li><lidata-nav-id=/blog/post-00001/title="Release 1.0.0-RC1"class=dd-item><ahref=/blog/post-00001/>Release 1.0.0-RC1</a></li></ul></li></ul><sectionid=shortcuts><h3>More</h3><ul><li><aclass=paddinghref=https://strolch.li/tags><iclass="fas fa-tags"></i>Tags</a></li><li><aclass=paddinghref=https://github.com/strolch-litarget=_blank><iclass="fab fa-github"></i>GitHub project</a></li></ul></section><sectionid=footer><p>Built with <ahref=https://github.com/matcornic/hugo-theme-learntarget=_blank><iclass="fas fa-heart"></i></a>from <ahref=https://getgrav.orgtarget=_blank>Grav</a> and <ahref=https://gohugo.io/target=_blank>Hugo</a></p></section></div></nav><sectionid=body><divid=overlay></div><divclass="padding highlightable"><div><divid=top-bar><divid=top-github-link><aclass=github-linktitle="Edit this page"href=https://github.com/strolch-li/strolch-website/tree/develop/content/blog/post-00008.mdtarget=blank><iclass="fas fa-code-branch"></i><spanid=top-github-link-text>Edit this page</span></a></div><divid=breadcrumbsitemscopeitemtype=http://data-vocabulary.org/Breadcrumb><spanid=sidebar-toggle-span><ahref=#id=sidebar-toggledata-sidebar-toggle><iclass="fas fa-bars"></i></a></span><spanid=toc-menu><iclass="fas fa-list-alt"></i></span><spanclass=links><ahref=/>Strolch Overview</a> > <ahref=/blog/>Blog</a> > Strolch Update</span></div><divclass=progress><divclass=wrapper><navid=TableOfContents><ul><li><ahref=#strolch-update>Strolch Update</a></li></ul></nav></div></div></div></div><divid=head-tags></div><divid=body-inner><h1>Strolch Update</h1><h2id=strolch-update>Strolch Update</h2><p>Long due update on Strolch development.</p><hr><p>Although we have been rather quiet in the last couple of months, anyone viewing
Strolch’s commit log, will see that we certainly didn’t halt Strolch
development.</p><p>We have been hard at work, using Strolch in projects, which required many new
features and fixes. The commit log shows as of today over 180 commits since the
release tag 1.0.0.</p><p>Some of the most exciting changes are:</p><ul><li>REST API to query model, incl. privilege management.</li><li>JSON marshalling of all elements.</li><li>Added <code>Policies</code></li><li>Added persisting of user sessions.</li><li>New JavaScript based UI to view Strolch’s model. This is an initial version
and more UI elements and functions will follow.</li><li>Basic planning engine functionality.</li></ul><p>Further new features and changes are:</p><ul><li>Implemented a REST API to the privilege management - Now users can be added,
changed, etc. via call to the appropriate URL under <code>../strolch/privilege/*</code>.</li><li>Implemented a REST API to query the user sessions. Incl. invalidating sessions
to forcefully logout users.</li><li>Implemented a REST API to query <code>Audits</code>.</li><li>Implemented REST API to query <code>Orders</code>, <code>Resources</code> and <code>Activities</code>/<code>Actions</code></li><li>Implemented REST API to update <code>Resources</code> and <code>Orders</code> from XML</li><li>REST API to authenticate now adds a cookie, so authorization is much simpler.</li><li>Added convenience methods in <code>Service</code> and <code>Command</code> to easily perform system user
actions.</li><li>Added audits for login/logout of users.</li><li>Added audits for changes to privilege management.</li><li>PostgreSQL persistence layer now
for connection pooling.</li><li>Implemented a performance test project</li><li>Added new Parameters of type <code>IntegerList</code>, <code>FloatList</code> and <code>LongList</code>.</li><li>Added feature to ignore a realm on DB init.</li><li>Implemented core planning functionality.</li><li>Added <code>strolch_minimal</code> and <code>strolch_minimal_rest</code> projects to easily get started.</li><li>Query API now has built in ordering.</li><li>Added <code>Policy</code> to all root elements.</li><li>Added new planning web app project. This is a test application for demoing the
planning engine functionality of Strolch.</li><li>Adding the persisting and reloading of user sessions, so that a new start of
Strolch does not logout users.</li><li>Implemented to JSON visitors for all root elements.</li></ul><p>So, although we’ve been rather quiet on the blog and on social media, we have
not been quiet in Strolch’s development. We are planning to release version
1.1.0 soon, so stay tuned!</p><footerclass=footline><iclass="fas fa-user"></i><ahref=mailto:eitch@eitchnet.ch>Robert von Burg</a><iclass="fas fa-calendar"></i>09/04/2016</div></footer></div></div><divid=navigation><aclass="nav nav-prev"href=/blog/post-00009/title="Release 1.2.0"><iclass="fa fa-chevron-left"></i></a><aclass="nav nav-next"href=/blog/post-00007/title="Activities: Beginning of the planning engine"style=margin-right:0><iclass="fa fa-chevron-right"></i></a></div></section><divstyle=left:-1000px;overflow:scroll;position:absolute;top:-1000px;border:none;box-sizing:content-box;height:200px;margin:0;padding:0;width:200px><divstyle=border:none;box-sizing:content-box;height:200px;margin:0;padding:0;width:200px></div></div><scriptsrc=/js/clipboard.min.js?1631198568></script><scriptsrc=/js/perfect-scrollbar.min.js?1631198568></script><scriptsrc=/js/perfect-scrollbar.jquery.min.js?1631198568></script><scriptsrc=/js/jquery.sticky.js?1631198568></script><scriptsrc=/js/featherlight.min.js?1631198568></script><scriptsrc=/js/highlight.pack.js?1631198568></script><script>hljs.initHighlightingOnLoad();</script><scriptsrc=/js/modernizr.custom-3.6.0.js?1631198568></script><scriptsrc=/js/learn.js?1631198568></script><scriptsrc=/js/hugo-learn.js?1631198568></script><scriptsrc=/mermaid/mermaid.js?1631198568></script><script>mermaid.initialize({startOnLoad:true});</script><scripttype=text/javascript>var_paq=window._paq=window._paq||[];_paq.push(["setDocumentTitle",document.domain+"/"+document.title]);_paq.push(["setCookieDomain","*.strolch.li"]);_paq.push(['trackPageView']);_paq.push(['enableLinkTracking']);(function(){varu="https://piwik.eitchnet.ch/";_paq.push(['setTrackerUrl',u+'matomo.php']);_paq.push(['setSiteId','2']);vard=document,g=d.createElement('script'),s=d.getElementsByTagName('script')[0];g.type='text/javascript';g.async=true;g.src=u+'matomo.js';s.parentNode.insertBefore(g,s);})();</script></body></html>