Current Release Features: Difference between revisions

From Zinform
No edit summary
Tag: Manual revert
No edit summary
 
Line 1: Line 1:
== Release Details ==
== Release Details ==
'''Current Release:''' 6.1.16.2
 
'''Current Release:''' 6.3.0.0
 
=== Version 6.3.0.0 ===
 
* '''Web Services and Scheduled Services Module''' (New):
** Full RESTful data API (''GET/POST/PUT/DELETE'') with configurable entity endpoints
** Scripted API system — custom C# endpoints compiled at runtime via Roslyn
** Scheduled background services with orchestrated lifecycle management
** Subscriber access control and per-endpoint authentication
** Anonymous endpoint support for public-facing integrations
** Built on .NET 10
** See [[#Web Services and Scheduled Services]] section below for full details
 
=== Version 6.2.0.2 ===
 
* '''Department Enhancements''': Improved department code handling and error reporting
* '''BCTI Document Function''': Updated document function to better handle Buyer Created Tax Invoice generation
* '''Chromium Removal''': Removed embedded Chromium dependency; critical software versions bumped
 
=== Version 6.2.0.0 ===
 
* '''SyncFusion Removal''': Removed SyncFusion component library
** Migrated GridView controls to WPF DataGrid
** Integrated [https://github.com/lepoco/wpfui WPFUI] library for modern UI components
** Updated NumberBox usage to align with new library
** Updated GemBox license keys
* '''Debug Email Mode''': Added debug email mode for troubleshooting email delivery
* '''Department User Fields''': Additional user fields available at department level
* '''UI and Wizard Options''': General UI and wizard option refinements
* '''Supplier Category/Type Support''': Added supplier category and type classification with UI improvements
* '''Other Party Contact Methods''': Refactored Other Party contact methods with ComboBox support
* '''Statement Aging''': Refactored statement aging logic for out-of-period allocations
* '''Registry Item Handling''': Refactored AddRegistryItem to return BoolReturn with status for improved error handling
 
=== Version 6.1.16.3 Pre Release ===
 
* '''Graph Updates''': Updated graph components
* '''Warning Cleanup''': General codebase warning cleanup and tidy-up


=== Version 6.1.16.2 ===
=== Version 6.1.16.2 ===


* [[File:TriButtonZinMsgBox.png|thumb|170x170px]]'''ZinMessageBox''': Added custom message box component for runtime scripting to allow for custom 'tri button' layouts and new custom icons.
* [[File:TriButtonZinMsgBox.png|thumb|170px]]
'''ZinMessageBox''': Added custom message box component for runtime scripting to allow for custom 'tri button' layouts and new custom icons.
* '''Document Scripting''': Message box now available to runtime document scripts via Business Layer
* '''Document Scripting''': Message box now available to runtime document scripts via Business Layer
* General tweaks and refinements
* General tweaks and refinements
Line 33: Line 72:
* '''Code Cleanup''': Tidied warnings throughout the codebase
* '''Code Cleanup''': Tidied warnings throughout the codebase


=== Version 6.1.14.1 Release Features: ===
=== Version 6.1.14.1 Release Features: ===
 
Document Manager:
Document Manager:


Line 60: Line 100:
** ASB (''In Active Development'')
** ASB (''In Active Development'')
** Kiwibank (''In Active Development'')
** Kiwibank (''In Active Development'')
Import File Admin
Import File Admin


Line 75: Line 116:
* Additional Code Support to allow for up to 5 Codes
* Additional Code Support to allow for up to 5 Codes
** Eg: Could be used to track Registration Number of a Vehicle to A Department, Trailers, ID Numbers etc for AP Invoices etc.
** Eg: Could be used to track Registration Number of a Vehicle to A Department, Trailers, ID Numbers etc for AP Invoices etc.
== Web Services and Scheduled Services ==
ASP.NET Core Web API built on .NET 10, hosted as a Windows Service, providing external API access to Zinform data and a runtime scripting platform for custom integrations and scheduled tasks.
=== Data API ===
Full CRUD RESTful API with configurable entity endpoints:
* '''Entity Endpoints''': Expose any Zinform database entity via configurable route aliases (e.g. /api/data/customers, /api/data/invoices)
* '''Per-Endpoint Access Control''': Each endpoint individually configurable for Read, Create, Update, and Delete permissions
* '''Paging and Sorting''': Built-in pagination with configurable max page sizes, multi-field ordering (ascending/descending)
* '''Filtering''': Query string filters (e.g. ?filter.Name=Smith) and advanced POST query with operators including eq, neq, gt, gte, lt, lte, contains, startswith, endswith, between, in, isnull, isnotnull
* '''Nested Filter Logic''': AND/OR filter groups with nested sub-groups for complex queries
* '''Field Selection''': Request specific fields to reduce payload size
* '''Endpoint Discovery''': GET /api/data lists all available enabled endpoints with their permissions
=== Scripted API ===
Custom API endpoints powered by Roslyn C# runtime compilation:
* '''Custom Endpoints''': Define custom routes (e.g. /api/script/myintegration) with C# script bodies compiled and cached at runtime
* '''ImportScripter Pattern''': Scripts follow the same ImportScripter class pattern used in the Zinform desktop application for consistency
* '''Full Business Layer Access''': Scripts receive a BusinessLayerMain instance providing full access to all Zinform business logic
* '''Request/Response Model''': Custom ZinHttpRequest / ZinHttpResponse objects with access to query parameters, JSON body, headers, and authenticated user identity
* '''Per-Method Control''': Each scripted endpoint configurable for specific HTTP methods (GET, POST, PUT, DELETE)
* '''Script Caching''': Compiled scripts are cached with SHA256 hash-based invalidation — scripts recompile automatically when updated
* '''Endpoint Discovery''': GET /api/script lists all available scripted endpoints with descriptions
=== Script Execution API ===
Direct script execution endpoint for ad-hoc or remote scripting:
* '''Remote Script Execution''': POST C# scripts to /api/script/execute for server-side execution
* '''ZinParameters Support''': Pass key/value parameters to scripts, matching the desktop runner interface
* '''Timeout Control''': Configurable execution timeout (up to 5 minutes) with cancellation support
* '''Structured Results''': Returns success/failure status, output, error detail, and execution duration
=== Scheduled Background Services ===
Orchestrated background task system driven by database-stored service definitions:
* '''Service Orchestrator''': Master hosted service that manages the lifecycle of all background workers
* '''Dynamic Configuration''': Service definitions stored in the database — add, update, enable, or disable services without restarting the application
* '''Automatic Change Detection''': Polls DB every 60 seconds for definition changes; workers are started, stopped, or restarted as needed using RowVersion tracking
* '''Roslyn Script Execution''': Each service runs a C# script body with full Business Layer access
* '''Run Tracking''': Automatic tracking of run count, fail count, last run time, last output/error, and next scheduled run
* '''User Data Fields''': Five custom user data fields (User0-User4) per service definition for script-accessible configuration
'''Trigger Types:'''
* '''Timer Trigger''': Configurable interval-based triggers with:
** Interval in seconds (e.g. every 5 minutes)
** Optional initial delay before first execution
** Business hours window (e.g. only fire between 8am-6pm)
* '''Folder Watch Trigger''': Monitor a folder for new or changed files and trigger service execution automatically
* '''Email Trigger''': Monitor an inbox for incoming emails and trigger service execution on receipt
=== Authentication ===
Multi-provider authentication supporting:
* '''Local JWT''': Username/password authentication via /api/auth/login
* '''Microsoft Entra ID''': Azure AD / Entra ID OAuth2
* '''Google OAuth''': Google account authentication
* '''Generic OAuth''': Configurable custom OAuth2 provider
* '''API Key''': Static API key authentication via X-Api-Key header for legacy/simple integrations
* '''Anonymous''': Unauthenticated access for public endpoints
* '''Per-Endpoint Auth Schemes''': Each data and scripted endpoint can specify which authentication schemes are accepted
=== Subscriber Access Control ===
* '''Subscriber Middleware''': Validates subscriber keys and stores subscriber context for downstream use
* '''Per-Endpoint Subscriber Permissions''': Subscribers can be granted access to specific data endpoints and scripted endpoints independently
* '''Encrypted Subscriber Keys''': Subscriber authentication keys with encryption support
=== Administration ===
* '''Admin Console''': Localhost-only admin interface for service management
* '''Swagger / OpenAPI''': Full Swagger UI documentation with all authentication schemes documented
* '''Service Definition Admin''': Admin UI in Zinform desktop for managing service definitions, scripted endpoints, API endpoints, and request metrics
* '''Request Metrics''': Built-in request tracking for monitoring API activity
* '''Windows Service Hosting''': Runs as a Windows Service or under IIS


=== Coming Soon: ===
=== Coming Soon: ===
Organisation Settings:
Organisation Settings:



Latest revision as of 20:57, 12 March 2026

Release Details

Current Release: 6.3.0.0

Version 6.3.0.0

  • Web Services and Scheduled Services Module (New):
    • Full RESTful data API (GET/POST/PUT/DELETE) with configurable entity endpoints
    • Scripted API system — custom C# endpoints compiled at runtime via Roslyn
    • Scheduled background services with orchestrated lifecycle management
    • Subscriber access control and per-endpoint authentication
    • Anonymous endpoint support for public-facing integrations
    • Built on .NET 10
    • See #Web Services and Scheduled Services section below for full details

Version 6.2.0.2

  • Department Enhancements: Improved department code handling and error reporting
  • BCTI Document Function: Updated document function to better handle Buyer Created Tax Invoice generation
  • Chromium Removal: Removed embedded Chromium dependency; critical software versions bumped

Version 6.2.0.0

  • SyncFusion Removal: Removed SyncFusion component library
    • Migrated GridView controls to WPF DataGrid
    • Integrated WPFUI library for modern UI components
    • Updated NumberBox usage to align with new library
    • Updated GemBox license keys
  • Debug Email Mode: Added debug email mode for troubleshooting email delivery
  • Department User Fields: Additional user fields available at department level
  • UI and Wizard Options: General UI and wizard option refinements
  • Supplier Category/Type Support: Added supplier category and type classification with UI improvements
  • Other Party Contact Methods: Refactored Other Party contact methods with ComboBox support
  • Statement Aging: Refactored statement aging logic for out-of-period allocations
  • Registry Item Handling: Refactored AddRegistryItem to return BoolReturn with status for improved error handling

Version 6.1.16.3 Pre Release

  • Graph Updates: Updated graph components
  • Warning Cleanup: General codebase warning cleanup and tidy-up

Version 6.1.16.2

ZinMessageBox: Added custom message box component for runtime scripting to allow for custom 'tri button' layouts and new custom icons.

  • Document Scripting: Message box now available to runtime document scripts via Business Layer
  • General tweaks and refinements
  • Statement Generation Improvements:
    • Major SQL and CTE optimizations for faster, more accurate financial statements
    • Fixed transaction allocation logic to properly handle bidirectional allocations
    • Improved running balance calculations for aged arrears
    • Enhanced deduplication strategies to prevent duplicate transactions in statements
    • Better handling of current month transactions vs historical aging buckets

Version 6.1.16.1

  • Progress Bar Improvements: Updated progress bar to handle child loops and display status correctly for better user feedback during long operations (Allows for more complex looping within runtime scripting)

Version 6.1.16.0

  • Departments Launch: Added department management functionality (moved away from Zinform 5)
  • BCTI Enhancements: Changes to enhance BCTI (Buyer Created Tax Invoice) Generation
  • Document Functions: Updated and improved document functions
  • Customer/Supplier Display Fixes: Fixed display of customers and suppliers for statements and documents
  • License Management Fix: Fixed opening organization license on first requirement
  • Connection Handling: Fixed cancel connection functionality

Version 6.1.15.0

  • General Document Wizard Enhancements: Added features to publish general documents with improved functionality
  • Invoice Statement Support: Updates to support comprehensive invoice statements
  • Code Cleanup: Tidied warnings throughout the codebase

Version 6.1.14.1 Release Features:

Document Manager:

  • Advanced Scripting via new Business Layer.

User Manager:

  • Additional Roles and Permissions available to the new Business Layer

Organisation Settings:

  • Logo
  • Postal and Physical Address for Documents
  • Default Bank Account
  • Advanced Invoice Settings
  • Microsoft Graph Email Sending via Entra App.
  • SMTP Settings

Bank Manager:

  • Management of Bank Accounts
  • Bank Account Import Settings
    • ANZ
    • BNZ
    • Westpac
    • ASB (In Active Development)
    • Kiwibank (In Active Development)

Import File Admin

  • Generic CSV Import To allow for CSV/XLSX/JSON/XML file import to AP Invoice.

Import PDF Admin (AI Enabled - Special License Required)

  • Reading of PDF AP Invoices Direct to AP Batch.
  • Scripting to Control Every Aspect.
  • Multi Page, Complex or Simple Invoices are handled quickly saving time on data import.

Departments Admin

  • Management of Departments away from Zinform 5
  • Additional Code Support to allow for up to 5 Codes
    • Eg: Could be used to track Registration Number of a Vehicle to A Department, Trailers, ID Numbers etc for AP Invoices etc.

Web Services and Scheduled Services

ASP.NET Core Web API built on .NET 10, hosted as a Windows Service, providing external API access to Zinform data and a runtime scripting platform for custom integrations and scheduled tasks.

Data API

Full CRUD RESTful API with configurable entity endpoints:

  • Entity Endpoints: Expose any Zinform database entity via configurable route aliases (e.g. /api/data/customers, /api/data/invoices)
  • Per-Endpoint Access Control: Each endpoint individually configurable for Read, Create, Update, and Delete permissions
  • Paging and Sorting: Built-in pagination with configurable max page sizes, multi-field ordering (ascending/descending)
  • Filtering: Query string filters (e.g. ?filter.Name=Smith) and advanced POST query with operators including eq, neq, gt, gte, lt, lte, contains, startswith, endswith, between, in, isnull, isnotnull
  • Nested Filter Logic: AND/OR filter groups with nested sub-groups for complex queries
  • Field Selection: Request specific fields to reduce payload size
  • Endpoint Discovery: GET /api/data lists all available enabled endpoints with their permissions

Scripted API

Custom API endpoints powered by Roslyn C# runtime compilation:

  • Custom Endpoints: Define custom routes (e.g. /api/script/myintegration) with C# script bodies compiled and cached at runtime
  • ImportScripter Pattern: Scripts follow the same ImportScripter class pattern used in the Zinform desktop application for consistency
  • Full Business Layer Access: Scripts receive a BusinessLayerMain instance providing full access to all Zinform business logic
  • Request/Response Model: Custom ZinHttpRequest / ZinHttpResponse objects with access to query parameters, JSON body, headers, and authenticated user identity
  • Per-Method Control: Each scripted endpoint configurable for specific HTTP methods (GET, POST, PUT, DELETE)
  • Script Caching: Compiled scripts are cached with SHA256 hash-based invalidation — scripts recompile automatically when updated
  • Endpoint Discovery: GET /api/script lists all available scripted endpoints with descriptions

Script Execution API

Direct script execution endpoint for ad-hoc or remote scripting:

  • Remote Script Execution: POST C# scripts to /api/script/execute for server-side execution
  • ZinParameters Support: Pass key/value parameters to scripts, matching the desktop runner interface
  • Timeout Control: Configurable execution timeout (up to 5 minutes) with cancellation support
  • Structured Results: Returns success/failure status, output, error detail, and execution duration

Scheduled Background Services

Orchestrated background task system driven by database-stored service definitions:

  • Service Orchestrator: Master hosted service that manages the lifecycle of all background workers
  • Dynamic Configuration: Service definitions stored in the database — add, update, enable, or disable services without restarting the application
  • Automatic Change Detection: Polls DB every 60 seconds for definition changes; workers are started, stopped, or restarted as needed using RowVersion tracking
  • Roslyn Script Execution: Each service runs a C# script body with full Business Layer access
  • Run Tracking: Automatic tracking of run count, fail count, last run time, last output/error, and next scheduled run
  • User Data Fields: Five custom user data fields (User0-User4) per service definition for script-accessible configuration

Trigger Types:

  • Timer Trigger: Configurable interval-based triggers with:
    • Interval in seconds (e.g. every 5 minutes)
    • Optional initial delay before first execution
    • Business hours window (e.g. only fire between 8am-6pm)
  • Folder Watch Trigger: Monitor a folder for new or changed files and trigger service execution automatically
  • Email Trigger: Monitor an inbox for incoming emails and trigger service execution on receipt

Authentication

Multi-provider authentication supporting:

  • Local JWT: Username/password authentication via /api/auth/login
  • Microsoft Entra ID: Azure AD / Entra ID OAuth2
  • Google OAuth: Google account authentication
  • Generic OAuth: Configurable custom OAuth2 provider
  • API Key: Static API key authentication via X-Api-Key header for legacy/simple integrations
  • Anonymous: Unauthenticated access for public endpoints
  • Per-Endpoint Auth Schemes: Each data and scripted endpoint can specify which authentication schemes are accepted

Subscriber Access Control

  • Subscriber Middleware: Validates subscriber keys and stores subscriber context for downstream use
  • Per-Endpoint Subscriber Permissions: Subscribers can be granted access to specific data endpoints and scripted endpoints independently
  • Encrypted Subscriber Keys: Subscriber authentication keys with encryption support

Administration

  • Admin Console: Localhost-only admin interface for service management
  • Swagger / OpenAPI: Full Swagger UI documentation with all authentication schemes documented
  • Service Definition Admin: Admin UI in Zinform desktop for managing service definitions, scripted endpoints, API endpoints, and request metrics
  • Request Metrics: Built-in request tracking for monitoring API activity
  • Windows Service Hosting: Runs as a Windows Service or under IIS

Coming Soon:

Organisation Settings:

  • IMAP Settings (Coming Soon)

CRM Module (Coming Soon)

Email Processing (Coming Soon)