Blog

Labels
AJAX(112) App Studio(7) Apple(1) Application Builder(245) Application Factory(207) ASP.NET(95) ASP.NET 3.5(45) ASP.NET Code Generator(72) ASP.NET Membership(28) Azure(18) Barcode(2) 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(12) 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) Device(1) DotNetNuke(12) EASE(20) Email(6) Features(101) Firebird(1) Form Builder(14) Globalization and Localization(6) How To(1) Hypermedia(2) Inline Editing(1) Installation(5) 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(18) OAuth(9) OAuth Scopes(1) OAuth2(13) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(11) PKCE(2) Postgre SQL(1) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(183) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(81) SharePoint(12) SPA(6) SQL Anywhere(3) SQL Server(26) SSO(1) Stored Procedure(4) Teamwork(15) Tips and Tricks(87) Tools for Excel(2) Touch UI(93) Transactions(5) Tutorials(183) Universal Windows Platform(3) User Interface(338) Video Tutorial(37) Web 2.0(100) Web App Generator(101) Web Application Generator(607) Web Form Builder(40) Web.Config(9) Workflow(28)
Archive
Blog
Friday, January 26, 2018PrintSubscribe
Offline Data Processor and Transactional Data Input

Code On Time developers and users of their apps will recognize the typical master-detail form in the screenshot below. The master record of a supplier is displayed along with a list of associated products.

The remarkable part is that the new supplier record is displayed together with the products.

User has entered several products already without providing a single bit of information about the supplier. In fact, product records were not saved to the database yet and exist only in the memory of the front-end application.

A master-detail form in a new mode allows trasactional data input with the help of Offline Data Processor from Code On Time.

The supplier has been assigned a temporary primary key referenced in the product records. Each product has its own temporary primary key as well.

Here is the sequence of user actions that may lead to this data configuration.

  1. Application user pressed the big “plus” button to start creating a new supplier record.

    An application implemented with Touch UI displayed in Light theme with Modern accent.
     
  2. Blank form createForm1 reveals Products “DataView” field with no records in it.
     
    Empty master-detail form displayed in NEW mode in the app created with Code On Time application generator.
     

The supplier information and associated products will be persisted to the database only when the master record is saved. The corresponding SQL statements are executed in the context of a transaction to ensure data integrity.
 

A modal master-detail form in NEW mode allows transactional data input with the help of Offline Data Processor from Code On Time.

Offline Data Processor

Offline Data Processor makes transactional data input a reality.

Prior to ODP application user has had to save the master supplier to the database and then enter the related product. Compare createForm1 in the screenshot of the app with ODP disabled (shown below) and the first screenshot that shows both supplier and product information together.

Master-detail form hides DataView fields in NEW mode when Offline Data Processor is disabled.

Starting with the release 8.7.0.0 application generator will create new projects with ODP enabled by default. If the “DataView” fields are defined in the data controller forms, then creating a new record or editing an existing one will engage Offline Data Processor and make the data input transactional. ODP is not engaged if the data controller does not have “DataView” fields in the form.

If you have a project created prior to the release 8.7.0.0, then you will be able to enable ODP by entering a configuration property in ~/DataAquarium.Project.xml file. It will also be possible to selectively disable ODP by tagging a form view in the new projects. The detailed instructions will be provided at the time of the release.

Offline Data Processor is a JavaScript implementation of the server-side application framework created by Code On Time app generator. The server-side code performs Insert, Update, Delete, and Selects data in response to user actions. The server-side code relies on the back-end database server to execute SQL commands. ODP does exactly the same operations but performs them in the memory of the application front-end.

ODP makes possible:

  • Transactional data input
  • Complex wizards collecting master-detail information.
  • Master-detail confirmation controllers.
  • Custom surveys collecting master-detail data.
  • Complex Data-Driven Surveys.

Offline Sync Add-On

ODP mimics SELECT commands performed by the server-side framework to read and filter data. This important skill of ODP has allowed us to introduce a new product called Offline Sync Add-On. If you add this product to your project, then your app gains ability to perform in a completely disconnected mode also known as “offline” mode.

You will need to run your cloud application in the generic or custom native app for “offline” experience.

The add-on pre-emptively downloads user data from the cloud when the native app installs the application front-end. Offline Data Processor will intercept any requests to read/write the cloud data and perform them on the device instead. This will happen whether the device is online or disconnected. User will have to synchronize data with the cloud when the device is online.

Offline Sync Add-On turns any app created with Code On Time in an offline native application without the need to write a single line of code.

Assistant UI Add-On

ODP will also become an integral part of the new kind of user interface for applications created with Code On Time. You will be able to text, email, and talk to your apps without writing a single line of code. ODP will maintain data integrity to make possible data input through these forms of communication.

Code On Time v9

We have mentioned above that ODP makes possible creating surveys to collect master-detail data. This feature is the core capability of the upcoming Project Designer in Code On Time v9.

The new Project Designer is integrated in the live apps, equipped with the Object Inspector and powerful configuration screens implemented as surveys.  It will provide the first class development tools to build apps that work Offline, Online, On-Premises with Personal Assistant.

Beyond C#/VB

ODP has been written in JavaScript. It is asynchronous in nature. ODP downloads defintions of data controllers in JSON format at runtime.

We will virtualize Select, Update, Insert, and Delete operations implemented in ODP and provide a pluggable JavaScript code that does generate SQL statements. Presently the application framework performing the same function is produced in C# or VB.NET.

Then we will take ODP, combine it with SQL-emitting overrides, and package them in a Node.js application. Hmmm… This will taste like freedom to deploy you app on the platforms other than Windows Server!

Thursday, January 25, 2018PrintSubscribe
Cloud On Time User Guide: Universal Windows Platform

Cloud On Time app runs cloud applications created with Code On Time products directly on your device with an optional offline mode. Integrated access to device camera and sensors contributes to enhanced user experience.

This user guide explains how to connect, install, run, and manage the front-ends of the connected cloud applications in Cloud On Time app.

The home screen of Cloud On Time app displays Connect button if there are no connected clouds.

Home page of native Universal Windows Platform app Cloud On Time when no clouds are connected.

Tap “Connect” to connect to an application running in the cloud. When prompted, enter either the application name or the URL provided by your administrator.

Adding a cloud to native Universal Windows Platform app Cloud On Time.

Tap “Save” to connect to the application in the cloud. The name, icon, and description of the compatible application will be displayed. If the information is correct, then tap OK.

Cloud is found in native Universal Windows Platform app Cloud On Time.

Cloud On Time app will redirect to the application in the cloud to confirm your identity. Enter the username and password for your account to authorize access on the device.

Entering credentials to add a cloud in native Universal Windows Platform app Cloud On Time.

After receiving confirmation of user identity, Cloud On Time app will download the files of cloud application front-end and store them on the device. If the cloud application is configured to work in offline mode, then the data matched with the user identity is also downloaded.

The application is launched automatically after successful installation.

Cloud running locally in native Universal Windows Platform app Cloud On Time.

If you close the Code On Time app and start it again, then the installed cloud is automatically displayed with the same identity that was confirmed during the front-end installation process.

Cloud On Time app will also perform a brief verification of application files by comparing them with those reported by the application in the cloud. Any changes are automatically downloaded before the front-end is displayed.

File verification with the server is skipped if the app front-end is working with local data in offline mode. The process will be performed when the local data is synchronized and successfully committed to the cloud.

Cloud running locally in native Universal Windows Platform app Cloud On Time.

If you need more than one identity to work with the same app, then add another account by choosing “Add Account” option in the user menu.

Using Add Account option in cloud running in native Universal Windows Platform app Cloud On Time.

Confirm the new identity and the Cloud On Time app will install any required unique files on the device.

Adding an identity to a cloud running in native Universal Windows Platform app Cloud On Time.

A local version of the front-end specific to the identity is launched.

Using second identity in a cloud running in native Universal Windows Platform app Cloud On Time.

Use account manager to switch between identities.

If the Cloud On Time app is restarted, then the last used front-end with the last selected identity is launched automatically.

Choose “Exit” option in the user menu to exit the front-end and return to the home screen of Cloud On Time app.

Exiting a cloud running in native Universal Windows Platform app Cloud On Time.

You will see a tile representing the application front-end on the home screen. Tap the tile to launch the front-end of the cloud application.

Home page showing one cloud in native Universal Windows Platform app Cloud On Time.

Use “more” button on the right side of the toolbar and press “Connect a Cloud” to connect another cloud to the home screen.

Connecting additional clouds in native Universal Windows Platform app Cloud On Time.

Enter the name or URL of the cloud application when prompted. Connect the app and proceed to confirm your identity.

Cloud Employee Registry is found and ready to be added in native Universal Windows Platform app Cloud On Time.

Cloud On Time app will display the front-end of the connected cloud application.

Employee Registry front-end is running in native Universal Windows Platform app Cloud On Time.

Use “Exit” command in the user menu to return to the home screen of Cloud On Time app.

Each tile on the home screen provides “more” button with options to run the front-end or to delete the connected app.

Use the more button to remove registered clouds in native Universal Windows Platform app Cloud On Time.

List of registered clouds in native Universal Windows Platform app Cloud On Time.

To prevent unauthorized access to the application, use Logout option in the user menu.

Activating the Logout option in the front-end running in Universal Windows Platform edition of Cloud On Time app.

You will return to the home screen of Cloud On Time app. The tile of the cloud application will remain on the home screen.

An attempt to launch the “logged out” cloud application front-end will require confirmation of user identity in the cloud. When confirmed, the required files will be re-installed from the local cache on the device. The front-end will be launched with a minimal delay.

The cloud application can be configured by administrator to always confirm the user identity on the device when the front-end is started and to log the user out when the app is closed.

Wednesday, January 24, 2018PrintSubscribe
Cloud On Time App

Cloud On Time app runs cloud applications created with Code On Time products directly on your device with an optional offline mode. Integrated access to device camera and sensors contributes to enhanced user experience.

Employee Registry cloud running hosted in the native Universal Windows Platform app Cloud On Time.

The entire front-end of the cloud application is downloaded and installed on the device for a smooth and responsive user experience.

Installed cloud application front-end is automatically updated whenever the cloud is changed. You can maintain multiple accounts for each installed app with automatic secure sign-in.

If you are installing a cloud application with Offline Sync enabled, then the relevant data is also downloaded on your device. You will work with the local data in offline mode whether your device is online or disconnected. Synchronize data with the cloud when online connection becomes available.

Connect to a compatible application in the Cloud On Time app by specifying the name or URL. If the cloud application can be connected, then its name, icon, and description are displayed in the prompt to install.

Adding Order Management cloud to native Universal Windows Platform app Cloud On Time.

Cloud On Time app will redirect to the application in the cloud and prompt to sign in to authorize access on the device. Enter username and password to confirm your identity.

Logging in to add Order Management cloud to native Universal Windows Platform app Cloud On Time.

If your identity has been confirmed by the application in the cloud, then Cloud On Time app will download a manifest of files required to run the application front-end. Files listed in the manifest are downloaded to the device.

Optionally, the data that you can access in the cloud is download to the device during the last step of installation. This requires the cloud application to be configured for offline mode.

A list of cloud applications installed on the device is displayed on the home screen of Cloud On Time app.

List of clouds displayed in native Universal Windows Platform app Cloud On Time.

List of clouds displayed in native Universal Windows Platform app Cloud On Time.

Tap the application name or select “Launch” in the “more” menu to start the app. Choose “Delete” option to remove the app from the device.

Removing a cloud from native Universal Windows Platform app Cloud On Time.

Cloud On Time app will compare the local manifest of files with the one available in the cloud when the installed application is launched from the home screen. Any missing or changed files are downloaded before the front-end of the selected Cloud is displayed.

If the launched app is working with the local data in offline mode, then the manifest verification is skipped. The manifest will be processed when you initiate data synchronization and successfully commit local changes to the cloud.

If the Cloud On Time app is closed and started again, then the last used front-end is started automatically.

Use “Exit” option in the application front-end to get back to the home screen of Cloud On Time app.

Exiting a cloud in native Universal Windows Platform app Cloud On Time.

The cloud app launched from the home screen will operate under the same identity that was confirmed by the cloud application during installation. If you need to use multiple identities on the same device, then launch the installed application front-end and add an account. Cloud On Time app will redirect you to the cloud to confirm the new identity.

Adding an identity to a cloud in native Universal Windows Platform app Cloud On Time.

Unique files of the front-end specific to the confirmed identity are downloaded and the application is launched on the device. Use the account manager of the installed front-end to switch between identities. Cloud On Time app will use the last selected identity when the application is launched from the home screen.

Log out of all identities of the installed front-end to uninstall the application. It will remain to be listed on the home screen of Cloud On Time app until explicitly deleted. User identity will need to be confirmed to run the front-end of the uninstalled cloud application.

Use Cloud On Time app for instant access to applications deployed in the cloud on your native device. Work with your data offline, online, and on-premises.

Cloud On Time app is perfect for enterprise environment. An administrator can compose a simple text file listing names or URLs of custom enterprise business apps in the cloud. The entire collection of the apps is installed when Cloud On Time app is connected to the text file. Cloud On Time app will automatically check for the revisions of the file and update the contents of its home screen. Administrator can optionally disable ability of users to connect to apps manually or delete from the home screen.