Blog: Posts from July, 2020

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(8) OAuth Scopes(1) OAuth2(11) Offline(20) Offline Apps(4) Offline Sync(5) Oracle(10) PKCE(2) PostgreSQL(2) PWA(2) QR codes(2) Rapid Application Development(5) Reading Pane(2) Release Notes(179) Reports(48) REST(29) RESTful(29) RESTful Workshop(15) RFID tags(1) SaaS(7) Security(80) 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
Posts from July, 2020
Thursday, July 2, 2020PrintSubscribe
Prerequisites and Community Site
There are two known operational issues:

  1. Downloading of prerequisites (Report Viewer, CRL Types, and IIS Express) is not working.
  2. The community site is down.
Read the instructions and explanation below.

Prerequisites Fail to Download

The app generator fails to download the content due to the TLS configuration that is not compatible with the Nuget site as of the middle of June 2020. (Thank you Microsoft).

Please do the following:

1) Make a backup of "C:\Program Files (x86)\Code OnTime LLC\Code OnTime Generator\CodeOnTime.exe"

2) Download the file, right-click the file and choose properties. Click "Unblock" and press OK.

https://drive.google.com/file/d/1Xs5Y6qKuv2U1dEDucdaER104jnBDCLKq

3) Copy the file from the archive over "C:\Program Files (x86)\Code OnTime LLC\Code OnTime Generator\CodeOnTime.exe".

4) Delete/rename [Documents]\Code OnTime folder.

5) Start "Code On Time" app generator, The app generator will copy the files in command line mode, the GUI will be displayed. You will see the downloading of the library from our server.

The next update 8.9.6.0 will include the permanent fix for TLS/SSL issue.

Community Site is Down

Our user community site was hosted for the past 10 years by the 3rd party provider. The provider has ceased supporting and running the site as of June 30, 2020. 

We have retained the entire set of data, which includes 45K of topics and replies with 10K images.

The new community (with the retained content) is moving to https://my.codeontime.com. This site is built with Code On Time. The content will be managed with the new Content Maker Add-On for Code On Time apps. The add-on implements the community forum, ticket-based help desk, blog, documentation, and public content. This add-on provides the foundation for the integrated documentation system of the upcoming v9.

The add-on can be integrated in any app built with Code On Time.


Labels: News
Friday, May 15, 2020PrintSubscribe
Tutorial: Barcodes, QR codes, and RFID tags
Learn to create the Order Entry Form that works offline and online. The form will handle barcodes, QR codes, and RFID tags. The tutorial explains how to calculate the default values, extended price, and order total.


We start with the live demo of the app that will be created in this tutorial. Next we proceed to create the Order Entry Form shown in the demo and make it work in online and offline modes. The next iteration of the app is using UI Automation to implement the barcode processing for Product inventory, QR-code processing for Customer Loyalty Cards, RFID tags to handle Employee Access Cards. We bind it all together for Hands-Free Order Entry. The final part of the tutorial concentrates on creating the Kiosk-style presentation for the Order Entry Form.

Part 1 - Demo (30 minutes)

03:20 - Introduction
07:18 - Barcodes and Product Inventory
09:28 - QR codes and Customer Loyalty Cards
11:05 - RFID Access Cards and Employees
13:02 - Entering order line items with the barcode scanner
15:40 - Linking loyalty cards with the QR code scanner
16:51 - Linking employee to the order with the RFID reader
20:36 - Entering the lines items in “inventory” mode
24:38 - Kiosk presentation of Order Entry Form

Part 2 - Building Order Entry Form (1 hour 42 minutes)

0:32:49 - Introduction
0:33:16 - Database Diagram of Order Entry Form
0:35:58 - Configuring Sample Database
0:40:20 - Creating data models for Orders, Customers, Employees, and Shippers
0:48:52 - Creating data models for Order Details, Products, Categories, and Suppliers
0:54:36 - Modifying Menu
0:55:35 - Linking Order and Order Details
1:06:20 - Calculating default values with SQL business rules
1:09:08 - Calculating default values with JavaScript business rules
1:15:25 - Copying the Unit Price
1:18:24 - Calculating Extended Price with JavaScript
1:32:23 - Copying the shipping information from the Customer to the Order
1:37:14 - Calculating the Order Total
2:00:32 - Taking Orders in offline mode
2:12:25 - Syncing offline orders with the “online” database

Part 3 - Barcode Input and UI Automation (3 hours)

2:15:03 - Enabling the barcode input
2:26:45 - Simulating scanning of a barcode
2:33:20 - Low-level barcode processing
2:40:56 - Introducing UI Automation
2:42:33 - Integrating barcodes in the Product Inventory
3:20:09 - Integrating barcodes and QR-codes to handle Customer  Loyalty Cards
3:35:46 - Integrating RFID Access Cards to identify the Employees
3:46:55 - Using Data Queries during UI Automation
3:54:45 - Implementing Hands-Free Order Entry
5:08:22 - Taking orders in offline mode with barcodes, QR codes, and RFID tags

Part 4 - Kiosk UI (2 hours)

5:14:33 - Creating a Kiosk-style Order Entry presentation
6:11:55 - Adding Numeric Pad for parameter input
6:34:20 - Displaying date selector and pick list
6:43:35 - Making Order Entry Kiosk responsive
7:14:26 - Taking orders in the offline Kiosk

The source code produced in the tutorial is available at https://codeontime.com/blog/2020/05/hello-barcodes-sample-code.

The following equipment was used in the tutorial:

Inateck Bluetooth Barcode Scanner
https://www.amazon.com/gp/product/B074M6RTM3


Koolertron Wireless 2D Barcode Scanner
https://www.amazon.com/gp/product/B0716PQYJP


RFID Reader 125KHz
https://www.amazon.com/gp/product/B07TMNZPXK

Thursday, May 14, 2020PrintSubscribe
.NET Core and Entity Framework in Code On Time v9 and v10

.NET Core

The application framework of apps created with Code On Time is not relying on the Entity Framework at all. Our framework uses exactly the same low level data access layer called ADO.NET as the Entity Framework does.

Our framework does not make use of ASP.NET MVC, Razor, Blazor, or any other cool things that Microsoft has introduced over the years.

Our primary objective is to deliver the rapid application development of business applications. Code On Time allows creating an app that works online and offline on any screen size. No other tool can deliver that! Apps created with Code On Time have the built-in support for Barcodes, QR codes, and RFID tags.

The transition to .NET Core will not introduce any tangible performance benefits for the applications created with Code On Time, since we are using on the low level API of ASP.NET to interact with the request and response of the HTTP context on the server.

Having said that, supporting .NET Core is our primary objective going forward.

This is what we are doing to make it happen:

1) Recently we have introduced an option to rapidly build apps in command line - https://www.youtube.com/watch?v=5JrDVm41v-8&list=PLy2g3SjvDe2b2cl9i0msBaMVLntQucZtb&index=9&t=0s.

2) Presently you are customizing projects in the Windows-based Project Designer and pushing theBrowse button to see what happens.

This summer we will introduce the new development environment that will become a part of live apps - https://codeontime.com/roadmap#cot-v9. The project designer will activate directly on top of the live app. The new designer will feature a Project Explorer Hierarchy, the Properties Window, and live inspection of app components with drag & drop capabilities. It is based on Touch UI.

The new live designer will execute the app generator with command line options in response to the developer's actions.

The introduction of live designer environment will be signified by Code On Time v9.

3) The application framework will be refactored to introduce the new AppCore class that will provide access to the request and response of ASP.NET in abstract fashion. We will encapsulate all dependencies on ASP.NET into this class.

Next we will introduce an option to generate apps for .NET Core platform. Apps based on .NET Core will feature the same code based but a different implementation of AppCore.  That implementation will make use of APIs specific to .NET Core platform.

You will have an option to build apps both for ASP.NET and .NET Core.

4) At this juncture your apps will run on .NET Core platform and will feature a live built-design environment based on HTML+JavaScript. The only Windows-specific dependency is the command-line app builder/generator.

We will refactor the command line app generator for .NET Core.

Code On Time becomes multi-platform thanks to .NET Core.

It will be possible to build apps on Windows, Mac, and Linux with Code On Time v10.

5) We will begin offering a new option to build apps called Cloud On Time. It will be web-based with a monthly subscription payment model.

Entity Framework

Entity Framework will be supported in the Model Builder 2.0.

Object stores and non-relational data sources are found frequently in the foundation of modern enterprise applications.

We will upgrade the Model Builder to support non-sql data sources and APIs. It will be possible to construct a model by referencing the REST API URLs that are reading, updating, inserting, and deleting data.

Such models will result in the "shell" classes produced by the app generator. The data controllers will invoke the class members using the same technique available to Code On Time developers for many years - https://codeontime.com/learn/data-controllers/creation/from-web-service. There will be no need to write any code for that though.

The new Model Builder will have a built-in knowledge of Microsoft SharePoint Lists with simple point-and-click selection of available options. Developers will be able to take a SharePoint list online and offline in a slick package!

The new Model Builder will know how to construct the "shell" data access classes from the Entity Framework of the application with the visual selection of objects and methods. Simply add a data model to your app created with Code On Time and describe the entities. Go to the model builder to setup methods to read, update, insert, and delete data.

The application framework of a Code On Time app will treat the internal Entity Framework data model as an external REST API.

Multi-Platform App Builder

Only Code On Time will make it possible to build apps with the server code executing on Windows, Mac OS, Linux, and the front-end executing in the modern web browsers and natively on iOS, Android, MacOS, Chrome OS, and Windows in online and offline mode!

Apps with automatic responsive design display perfectly on the screen of any size. Built-in support for barcodes, QR codes, RFID tags, geo-location, and optional Kiosk UI make it easy to develop business applications.

The design environment is the part of the live application!

Build your apps on Windows, MacOS, and Linux.