Current Release Features: Difference between revisions

From Zinform
No edit summary
No edit summary
Tag: Manual revert
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 & 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 & 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 & 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|170px]]
* [[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.
'''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 72: Line 33:
* '''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 100: Line 60:
** ASB (''In Active Development'')
** ASB (''In Active Development'')
** Kiwibank (''In Active Development'')
** Kiwibank (''In Active Development'')
Import File Admin
Import File Admin


Line 116: Line 75:
* 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 & 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. <code>/api/data/customers</code>, <code>/api/data/invoices</code>)
* '''Per-Endpoint Access Control''': Each endpoint individually configurable for Read, Create, Update, and Delete permissions
* '''Paging & Sorting''': Built-in pagination with configurable max page sizes, multi-field ordering (ascending/descending)
* '''Filtering''': Query string filters (<code>?filter.Name=Smith</code>) 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''': <code>GET /api/data</code> 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. <code>/api/script/myintegration</code>) with C# script bodies compiled and cached at runtime
* '''ImportScripter Pattern''': Scripts follow the same <code>ImportScripter</code> class pattern used in the Zinform desktop application for consistency
* '''Full Business Layer Access''': Scripts receive a <code>BusinessLayerMain</code> instance providing full access to all Zinform business logic
* '''Request/Response Model''': Custom <code>ZinHttpRequest</code> / <code>ZinHttpResponse</code> 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''': <code>GET /api/script</code> 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 <code>/api/script/execute</code> 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 <code>/api/auth/login</code>
* '''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 <code>X-Api-Key</code> 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:



Revision as of 20:56, 12 March 2026

Release Details

Current Release: 6.1.16.2

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.

Coming Soon:

Organisation Settings:

  • IMAP Settings (Coming Soon)

CRM Module (Coming Soon)

Email Processing (Coming Soon)