Skyve 20190920 released
This was another big release, and adds some great new functionality to the Skyve open source platform. Charts can now be added to applications using the same low-code metadata used to build the rest of the interfaces. SmartClient got an upgrade from version 11 to 12 and brings a new default theme. A new image widget type was added, and a new type of association was added to improve performance for large object graphs.
Skyve has had the ability to create charts for a long time, but they required a SQL query and produced a static image. As of Skyve 20190920, charts can now be defined and declared within a view using metadata, as with any other widget! It uses chartjs as its charting library under the hood, and is available for use within the PrimeFaces and SmartClient interfaces.
The version of SmartClient Skyve uses was updated from version 11 to 12. While this should not have any noticeable functional change to end users, it did bring a new default theme, Tahoe, which is less condensed and feels a bit more modern. The theme can now be changed in the
DefaultUxUiSelector class against the desktop UxUi.
New Image Attribute and Image Editor
We’ve added a new specialised form of the
image which can be used to store photos and other image files. When this is used in a view, it presents as a specialised file chooser which provides basic cropping and rotate functions before upload. Images included in a view will display as a thumbnail by default.
A new association type of
embedded has been added. An embedded association copies the columns from the associated document into the including document, which can greatly improve performance in large object graphs.
For example, if we have some common
Contact fields in our domain, but do not want to create and retrieve a Contact in a separate table every time, the embedded association allows us to use the Contact, but the values will be retrieved from the owning document’s table.
Add attribution for OpenStreetMap layer in json
CookieTheftExceptionby going to login
Use the default customer in
UtilImpl.CUSTOMERif a resource is requested without a security principal
Introduce SmartClient skins to
DefaultUxUiSelectorand default to Tahoe
DataBuilderto respect numerical values min and max validator ranges when generating random numerals
Add embedded associations
Constrain SQLServer identifiers to 128 chars in length
Persistence.retrieve()methods out to
Bizlet.preDelete()before calling foreign key checks so the developer has a chance to resolve exported references on preDelete in the document that it is affecting
Ensure that the constant domain value cache is keyed by module, document and attribute names
Introduce Image attribute type
Use imageUpload.xhtml for ContentImage widget
Add EXIF, rotation and cropping to image uploads
Added some additional description to the document number field to make things clear
Add parameters attribute to capture parameter bindings in
MetaDataQuerydriven widgets - lookup, lookupDescription, listGrid, listRepeater & treeGrid
Add pertinent document to
UniqueConstraintViolationExceptionand constraint name in the exception message
Implemented ability to provide
router.xmldefinitions in a module, which allows modules to be more self-contained
Make the default widget for
contentto be thumbnail in "prototype mode"
Implement Category chart model metadata
Implement "others" function in charts where the rest of the data is clumped together into an "others" category
Added RainbowColourSeries as the new default colour series to use for charts
Add JFreeChart generation based on ChartData
Update admin Report Design to save files to the configured modulePath specified in the project JSON and fixed saving of sub-reports
Update UserDashboard and SystemDashboard views with new charts
Update to SmartClient 12
Fix bugs with geometry editor in filter mode
Remove old filter button images
Prefer font icons over images
Fix ListGrid.source property
DataGridproperties for override in inject tags similar to
Implement charts in SC
Implement charts in PF
NOTES FOR UPGRADING
To upgrade your Skyve project to this version, change the Skyve version in your
pom.xml to 20190920 and change your
skyve-maven-plugin version to 1.20.
You will need to manually update your web.xml and spring/security.xml to support the new
ChartServlet and better secure rest endpoints.
You will need to update your desktop UxUi in the DefaultUxUiSelector.java to contain the new theme parameter, as per below:
public static final UxUi DESKTOP = new UxUi("desktop", "Tahoe", "casablanca", null);
You will also need to upgrade your selenium version in your
pom.xml to 3.141.59 to fix a conflict with hibernate 5, as per below:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-support</artifactId> <version>3.141.59</version> <scope>test</scope> </dependency>
See the complete upgrade instructions on GitHub.