Introducing trellispark Release 5 on .NET7!

by | Dec 20, 2022 | Blog, News, Uncategorized

Our latest major release of trellispark on .NET 7 Blazor / WASM (WebAssembly) is now available to download for free! Microsoft officially released .NET 7 in November and we updated and tested all of our projects so that you can immediately get the performance benefits and use any of the newly minted functionality. In addition to supporting .NET 7, we also added MAUI Essentials and lots of new mobile user experience features!

The trellispark platform enables you to abstract (“virtualize”) application functionality into configuration data and eliminate all the CRUD code (often 90%+ of the code in a traditional application). This evaporates your development effort and costs for custom user experiences, and increases business agility to capture future growth 🚀🚀🚀!

You can download the latest trellispark release for free by logging in to: portal.greatideaz.com

See details ↓

Major Features

.NET 7 Update

In November 2022, Microsoft released .NET 7!

We have updated and tested all of our projects to use .NET 7 so that you can immediately get the performance benefits and use any of the newly minted functionality.

Code Cleaning and Documentation Update

As part of the .NET 7 update, we also took the opportunity to focus on hardening the projects and migrating the databases to Azure SQL.

This included extensive aggressive code reviews, testing, and documentation updates to trellispark. This has yielded numerous improvements to the overall performance of trellispark and identified/resolved a number of outlier bugs.

MAUI Essentials

We had added more MAUI Essentials functionality into our projects so that you can take advantage of native device capabilities directly from your Blazor user experience components.

Address

On the Address component we have added the ability to call up a map and get directions from your current location to the specified address using the device’s default native map application. If you are on a website, this functionality downgrades to displaying the specified address using Google maps.

Contact

On the Contact component you can now use the device’s native applications to dial phone numbers, send SMS and emails. If you are on a website, this functionality downgrades to just SMS through a trellispark message queue and a “mailto” link to invoke your email program.

UploadFile

On the UploadFile you can now utilize your native device storage. When used on a native device, can use the phone’s camera to take a picture.

MAUI Applications

Added a Platform filter (Web, Desktop, Tablet or Phone) to Tab Definition, and Form Definition. This enables you to indicate whether a Tab, or Field, is visible given the type of client the page is being rendered on. For example, a Form Definition may contain Tabs that are configured to only render on Web or Phone, so that the user experience can be tailored to the type of device.

We made some overall changes to the user experience to clean up the display across all platforms. This becomes more apparent on devices with smaller screens where we are reducing the real-estate of framework controls. For example, the Breadcrumbs will use a Telerik menu control when rendered on a phone.

New Generic Service

We have added a generic service that enables your client applications to standardize the interface to a Core API endpoint. The generic service implements a common standard for connection, data communications, and error handling. This will provide a jump off point for future enhancements for advanced security, automated retry, circuit breaker, and other hardening functionality patterns.

Scheduled Tasks

Added the capability to schedule tasks in the generic service (described above).

Custom Pages

You can now create completely custom pages within Blazor and use them seamlessly with the trellispark framework. A Form Definition can either use the default Dynamic Page Builder Instance page or be redirected to the named custom page. This enables you to build any user experience you like and still benefit from the underlying trellispark Core API for loading and saving your data.

Minor Features

Clearing the application state now also refreshes the Configuration Lists.

Can now call custom T-SQL and RestAPIs after a User has joined a Workspace.

Enhanced portal functionality with a new GI-MakePortal TSQL Stored Procedure to copy down the Access Control list of the parent onto a new portal instance. Great for nested user portals.

Optimized the “Move To Anywhere” functionality.

Sequence the Tabs in the Core API before sending the results back to the client. Optimizes the client-side rendering.

Added an endpoint to the Core API to send/read messages to/from an internal message queue.

Restricted the available Categories for grouping an Application on the left-hand menu to those created in the Functionality.

Added default required field validation for Address (Street and Country) and Contact (Last Name). Will likely make this selectable in a future release.

Changed text on command bar “Refresh” button to “Reload“.

CBModalWindow can now be used outside of the CommandBar and implements the Notification functionality.

Alerts and History functionality has been moved to the Header’s “My Profile

Feedback functionality moved to the CBModalWindow‘s Generic Actions and updated to pull from a dynamic list of categories.

Merged the Command and Events drop down into the CBModalWindow‘s Generic Actions.

Moved the CommandBar into the Instance component.

Implemented FontAwesome for icons and changed the standard trellispark font to Google font Oxygen.

Refactored GridLayout into its own component.

Added extra options to the Calculated Field component.

Enhanced the Frequenecy component to use a single field to specify recurrence value.

Enhancements to Column Lists for the Childlist controls for better filtering and enable the use of CSS for styling cells.

Refactored the ChildList component to optimize performance (reducing reloads) and make it easier to extend in future releases.

Refactored the Advanced Search into its own component.

Differentiate the source of error for user/password during sign in.

On Join page – let the user know if they have already used this invitation to join this workspace.

Enhanced the Bookmarks components, Core API, and database TSQL.

Bug Fixes

Access Control not displaying correct lists.

Issue in Code Generation when there were special characters embedded in SQL Object names (Tables, Columns, T-SQL Stored Procedures, etc.).

Navigating to an application in a user portal – was pulling up the portal instead of the application.

Field IsModifiable value was being overwritten by the Field Permissions when the user was not viewing the latest version of a record.

Multi-select not saving correctly when nothing was selected.

Currently selected application in left navigation was not being highlighted.

Childlists with incorrectly configured advanced search not loading correctly.

Deleting configuration parameters failing without returning an error to caller.

Need to add the full mime type to attached files so that they open the correct application on download.

Issue with MS Power BI integration.