Sitelet https://github.com/KrailOrg/krail/tree/f5d4e8afa3795b6adcedfd987cccd6000c2246fd
Skip to content

Latest commit

 

History

1,337 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

krail

License Gitter Build Status Coverage Status

Krail provides a framework for rapid Java web development by combining Vaadin, Guice, Apache Shiro, Apache Commons Configuration and others. For more information, see the comprehensive Tutorial, which also makes a reasonable demo. (You can clone directly from the Tutorial repo). Note that the tutorial is based on the Vaadin 7 version of Krail - it should still be possible to follow it, but it will not be updated until the move to Eclipse Vert.x is done (or fails!)

This core library provides:

  • Site navigation, using a sitemap configured by annotation or Guice
  • Authentication / Authorisation framework, including page access control
  • Vaadin Server Push (with option to disable it)
  • Event Bus
  • Extensive I18N support
  • User options
  • Application configuration through ini files, database etc
  • JSR 303 Validation (integrated with I18N)
  • Forms support through EasyBinder
  • User notifications

Additional libraries, integrated and configured through Guice, provide:

The Documentation, which includes a Tutorial, user Guide and Developer Guide, provides more information


Notice


Krail has now been updated to Vaadin 8, and Serialization implemented (though with some fixes still required) to enable use in a clustered environment.

Vaadin Push is temporarily broken

The next step is to try migrating to Eclipse Vert.x. If that is successful, from that point, the emphasis will be on providing user interface platform designed for use within a distributed environment, and specifically on vertx.

Normally the versions of the various libraries are independent, but to simplify the transition to Vaadin 8, they are being brought temporarily into line:

Krail version Vaadin
0.12.x.x version 7
0.13.x.x-v7compat version 8, running version 7 compatibility
0.14.x.x and beyond, pure Vaadin 8

Download

Gradle

repositories {
	jcenter()
}
'uk.q3c.krail:krail:0.16.1.0'

Maven

<repository>
	<id>jcenter</id>
	<url>http://jcenter.bintray.com</url>
</repository>

<dependency>
	<groupId>uk.q3c.krail</groupId>
	<artifactId>krail</artifactId>
	<version>0.16.1.0</version>
</dependency>

Direct

Download

Limitations

Would not work in a clustered environment

Status

  • Vaadin 8.3.3 is integrated with:
  • Guice 4.1.0
  • Shiro 1.4.0,
  • MBassador (Event Bus)
  • Apache Commons Configuration
  • Guava cache

testApp

There is a functional test application which can also be used to explore functionality - though the Tutorial may be better for that

Project Build

Gradle is used (made a lot easier thanks to the Gradle Vaadin plugin.

Acknowledgements

Thanks to:

Marco Collovati for his work on Vaadin - Vertx integration, and support for core Krail development
Dirk Lietz for his review and feedback for the Tutorial
Mike Pilone for his blog post on Vaadin Shiro integration

EasyBinder
ej technologies for an open source licence of JProfiler
Vaadin
Guice
Apache Shiro
JUnit
Guava (cache and utilities)
MBassador Event Bus
Flag Icons
Apache Commons Configuration
Gradle
Gradle Vaadin plugin
Gradle Docker Plugin
Gradle Bintray Plugin
Bintray
Docker
Logback
slf4j
AssertJ
Mycila
Mockito
spock
Spek
FindBugs

About

Rapid web app framework using Vaadin 8 integrated with Guice and Shiro

Resources

Stars

52 stars

Watchers

14 watching

Forks

Releases

Packages

Used by

Contributors

Languages