Skip to content

snieda/tsl2nano

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TSL2 Html5 Application Framework

Java CI with Maven Coveralls github

Homepage

home on sourceforge

Content

pom

Features

  • pure model implementation + platform independence (naked objects, works on android, too).
  • small, having as less as possible static dependencies to other libraries
  • using with zero code possible
  • everything has a default - all defaults are configurable (Convention over Configuration)
  • application, session and entity behaviors are configurable
  • implementation through simple java beans + optional bean presenters
  • you develop ui independent, but are able to use ui dependent extensions.
  • no new language to learn. knowing html5 allows to improve layout and styling.
  • navigates through given beans, showing bean-lists and bean-detail dialogs.
  • resolves all bean/entity relations to be browsed.
  • navigation can be a configurable workflow - or simply an entity browser
  • pre-defines formatting, validation and presentation of relations
  • pure html-5 (no javascript, only html5-scripting-api for websockets)
  • jvm scripts like javascript, groovy and python can be included by rules using the java scriptengine
  • using websockets to show status messages, input-assist and dependency field or timer refreshing
  • using websockets to provide a chat system
  • pure jpa - jpa-annotations are read to resolve attribute-presentation
  • independent of a special o/r mapper. all o/r mappers supporting javax.persistence with an EntityManager are usable.
  • simple database replication on user-loaded data - offline working possible
  • full key-navigation (shortcuts)
  • framework designs interfaces and provides extendable implementations
  • useable as standalone or web-service (with offline access), can connect to application-server or works standalone.
  • many features through nano.common, and nano.incubation like a rule, sql, action engine, network executor etc.
  • resolves all external (jdbc-drivers, etc.) jar-dependencies on runtime on an available network connection
  • handling blobs of data (byte[]) to be presented in html as picture, audio, video or object.
  • providing attributes as virtuals (not bound to a real bean-attribute, rule-expressions, sql-query-expressions and RESTful-service-call-expressions
  • automatic translations through network connection
  • secure connection over https and wss (_app.ssl.activate=true)
  • supporting yaml on environment and bean configurations.
  • update mechanism
  • injecting own logic on the forms html dom document
  • inject onw logic in all phases of presenting through annotations
  • show complex dialogs through websockets to edit beans without leaving the current page
  • REST service for access/modification of all loaded entities

Documentation

Documentation of Submodules

Code

Releases

Quickstart

preconditions

  • installed java jdk at least version 17
  • be online to refresh jars and generate sample database
  • download a release of tsl2.nano.h5 jar file

start

  • open a terminal/console
  • go to folder where you downloaded the jar file
  • start: *java -jar tsl2.nano.h5-x.x.x.jar (replace 'x' with version number)
  • a browser window will open: hit the central link to enter the login dialog
  • for a first impression, just start with default entries, hit button 'Ok' or ALT+o
  • after a while, a default 'anyway' database is created and opened to play around

...and then...

  • after first start, a run.sh or run.bat is created to be started on the second time
  • perhaps change the database url to another one to generate beans for it and to work on it
  • on the login dialog open the details expandable panel to play around it
  • if you are connected, open a database entry, enter the configuration through the menu and change the layout

Screenshots

application+datbase-login entity-browser entity-browser entity-searchdialog entity-detaildialog entity-configuration entity-attribute-configuration