AJAX(112) Apple(1) Application Builder(242) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcodes(3) BLOB(18) Business Rules(1) Business Rules/Logic(140) BYOD(13) Caching(2) Calendar(5) Charts(29) Cloud(14) Cloud On Time(2) Cloud On Time for Windows 7(2) Code Generator(54) Collaboration(11) command line(1) Conflict Detection(1) Content Management System(11) COT Tools for Excel(26) CRUD(1) Custom Actions(1) Data Aquarium Framework(122) Data Sheet(9) Data Sources(22) Database Lookups(50) Deployment(22) Designer(177) DotNetNuke(12) EASE(20) Email(6) Features(99) Firebird(1) Form Builder(14) Globalization and Localization(6) Hypermedia(2) Installation(4) JavaScript(20) Kiosk(1) Low Code(3) Mac(1) Many-To-Many(4) Maps(6) Master/Detail(36) Microservices(4) Mobile(63) Mode Builder(3) Model Builder(3) MySQL(10) Native Apps(5) News(15) OAuth(5) OAuth Scopes(1) OAuth2(7) Offline(15) Oracle(10) PKCE(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(165) Reports(48) REST(27) RESTful(22) RESTful Workshop(13) RFID tags(1) SaaS(7) Security(75) SharePoint(12) SPA(5) SQL Anywhere(3) SQL Server(26) Stored Procedure(4) Teamwork(15) Tips and Tricks(82) Tools for Excel(2) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(332) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(39) Web.Config(9) Workflow(28)
Monday, November 14, 2022PrintSubscribe
Announcing Offline Sync 2.0

Code On Time release introduces the new enhancements to support the upcoming Offline Sync 2.0 along with the collection of important bug fixes and enhancements.

Offline Sync 2.0

It has been our goal to allow seamless development of apps that work both online and offline. The application framework was recently upgraded to support the Progressive Web Apps specification. Apps created with Code On Time are now installable from the browsers and can become the backbone of the native deployments to the app stored.

Offline Sync Add-on has been re-worked to execute in the PWA mode. The framework uses the IndexedDB object stores to keep track of offline data and BLOBs. The client side resources are installed in the dedicated application cache.

Offline/disconnected mode is supported both in browsers and in the installed apps on all major mobile platforms.

Partial synching is now available. Users may choose to perform the full data refresh when sending the local changes to the application backend. Another option is to reconcile the changes and to keep working with the originally downloaded data.

Offline Sync supports partial synchronization. Users may choose to upload and reconcile the local edits only when syncing is performed. Users may request the full data refresh on-demand.
Offline Sync supports partial synchronization. Users may choose to upload and reconcile the local edits only when syncing is performed. Users may request the full data refresh on-demand.

The new data management architecture is compatible with all major mobile platforms. Previously a dedicated native app Cloud On Time was required to work with the data in the offline mode. Cloud On Time has been discontinued since the new Offline Sync Add-on works both in the browser and in the “installed app” mode.

Object store of an app with Offline Sync Add-On running in the offline mode in the browser.
Object store of an app with Offline Sync Add-On running in the offline mode in the browser.

The live demo at will be extended to demonstrate the Offline Sync Add-on capabilities.

The licensing has been greatly simplified.

Offline Sync Add-On is licensed in the increments of 10 devices and will be available for purchase at a new low price directly from our website. Each license is perpetual and bound to two custom domain names and localhost.

Twelve months of maintenance updates are included. The new pricing will be announced soon.

Bug Fixes And Enhancements

The following features are included in the release

  • (AppGen) The latest Windows 11 update uses Powershell to run the process commands. The original code of the app generator does not hide the console anymore. The console is minimized to the taskbar starting with this release. Both the app generator and console may be visible when certain Windows updates are installed on the development machine. Future releases will use a dedicated console to keep track of the app generator activities.
  • (PWA) Install prompt will not display for authenticated users if the anonymous user has opted out already.
  • (Touch UI) Fields with the Items Style property set to Actions will pass the argument of the action. Previously the argument of the "Action Group" lookup field was lost.
  • (Touch UI) Fixed incorrect processing of the checkbox in the grid. The state of the checkbox correctly switches when clicked.
  • (Framework) Fixed incorrect filtering of many-to-many fields on the server.
  • (Touch UI) Command "Update" with the "SaveAndContinue" argument will refocus the last focused input.
  • (Touch UI) A click on the form buttons of the wizard will execute the expected action when the field input value has changed. Previously the focus of the changed input was lost and the second click on the wizard button was required.
  • (Framework) Added the extended processing of the BLOB validation errors to the server-side framework. Exceptions raised when the BLOB is being persisted will be communicated to the client.
  • (Framework) The new master record with the failed blob upload will be deleted. The exception returned from the server will appear in the alert.
  • (Framework) The existing record with the failed blob upload will have its utility fields (filename, content type, length) retstored. The exception returned from the server will appear in the alert.
  • (Universal Input) A custom HTML template may define a layout with multiple instances of a form field. Clearing the field value will blur the field and have it focused. The instance of the field on the active tab or wizard page will regain focus. Previously the first instance was always focused.
  • (Framework) Page content framework is detected in the EnrichData method. This ensures correct detection of page-content-framework declaration in the HTML user controls.
Wednesday, December 25, 2019PrintSubscribe
December 2019 Hot Fix 4
Release introduces the following enhancements:

  • Generated apps are now compatible with Cloud On Time app v8.9.4.0 on OSX, iOS, and Windows platforms.
  • (App Gen) Project Wizard will locate addons in the user-defined location and in default [Documents]\Code OnTime\Addons folder.
  • (Touch UI) The width of the expanded sidebar has been increased by 44 pixels to match that of native Microsoft and Google apps.
  • (Touch UI) Optimized prevention of auto correct|capitalization|completion in text inputs by the web browsers.
  • (Touch UI) Methods $app.alert and $app.confirm will correctly call the corresponding callback or resolve the promise in response to any user action (click on OK, Cancel, [Close] icon, Back button, History shortcut). Re-entrance of the confirmation window is not possible.
  • (Touch UI) Fixed incorrect programming of double tap detection on touch devices.
  • (Touch UI) Implementation of $app.alert and $app.confirm is using promises.
  • (Touch UI) Multi-file upload works with ODP and selects the first record created in response to upload.
Thursday, December 12, 2019PrintSubscribe
December 2019 Hot Fix 3
Release includes the following bug fixes:

  • (Data Aquarium) Batch Edit form does not fail when configuring read-only borrowed fields of lookups.
  • (Data Aquarium) Method $app.execute now handles responses with FieldValue instances received from ODP when constructing the "result" object. 
  • (Touch UI) Inline creation of lookup values and search in auto-complete fields is passing odp:true option with $app.execute calls to ensure that the client-side data is used when an offline data processor is engaged.
  • (Touch UI) Fixed incorrect inclusion of "template" row key in the set of selected keys while in inline editing mode. This has happened when the user was selecting all rows.
  • (Touch UI) Restored the tab bar feature that was accidentally disabled.

  • Learn about tab bar to enhance the look-and-feel of your app.