Blog

Transform your Oracle database into offline-capable applications with Code On Time in less time than it takes to finish a cup of coffee.

Labels
AJAX(112) App Studio(8) 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(184) 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
Wednesday, June 5, 2024PrintSubscribe
Offline-Capable Apps for an Oracle Database

This comprehensive tutorial provides a step-by-step guide on building a responsive web app from an existing Oracle database using Code On Time, a low-code platform. It begins by explaining the basics of Code On Time and its model-driven approach. The tutorial then guides you through the process of creating a data model based on the HR.REGIONS and HR.COUNTRIES tables in Oracle. It highlights the use of the DataView field to display related data, such as countries belonging to a selected region.

The tutorial proceeds to cover the generation of the app, which includes setting up data controllers and building the user interface. It emphasizes the user-friendly features of the app, including responsive design, search, sort, and filter capabilities, type-ahead lookup, and the ability to create new lookup items on the fly. The tutorial also discusses the built-in reading pane mode, which allows users to view records side-by-side.

Additionally, the tutorial explores taking the app and data offline, a valuable feature for users who need to work in environments with limited or unreliable internet connectivity. It explains how to designate specific pages to work offline and how users can access the app and data locally.

This tutorial is a valuable resource for developers who want to quickly build and deploy responsive web apps from existing Oracle databases using Code On Time. It provides a comprehensive overview of the process and highlights the powerful features and capabilities of Code On Time.

Within minutes, convert your Oracle database into a versatile online application that can function seamlessly even in offline mode.
image1.png
The reading-pane mode allows users to open a form with the selected record side-by-side with the full list.
Sunday, May 19, 2024PrintSubscribe
Authorize With Any IdP, Many-To-Many Fields

OAuth Identity Provider

Code On Time release 8.9.42.0 introduces the new OAuth 2.0 Identity Provider as an application framework component. Developers can configure their apps to authorize users with any OAuth 2.0 compatible authorization server such as Google, Microsoft, Facebook, or another Code On Time app. Applications can authorize users through an open source IdP such as Keycloak to take advantage of SAML and OpenID Connect.

Enhance the user experience with the single sign-on for your public and enterprise apps. Multiple instances of OAuth 2.0 identity provider can be registered in the apps’ content management system.

Developers have an option to create a single app that serves as the identity provider for custom applications built using Code On Time or any other development platform. The dedicated identity provider application delivers the Federated Identity Management for your entire application collection. It is easy to link the identity provider application to any number of OAuth 2.0 authorization servers.

If you have experience setting up an API development tool for OAuth 2.0, you will have little trouble setting up your own applications.

image1.png
The OAuth 2.0 Identity Provider configuration screen of an app running on the 60595 port at the localhost address. This configuration allows using the Northwind demo application as the identity provider.

Many-To-Many Fields

Another highlight of this release includes various improvements to the SQL statement construction at runtime when the many-to-many fields coexist with fields based on formulas. Access Control Rules and user-defined filters are correctly folded to the appropriate block of the SELECT statements.

Summary

The following features and product enhancements are included in this release:

  • (Framework) Filtering of many-to-many fields will not cause an exception when there are formula-based fields that are referencing custom parameters.
  • (Touch UI) The client app does not respond to the resize and orientation change events triggered when the initialization has not finished yet. This may happen in the WebKit browsers, when the browser changes the window layout while the document is still being parsed.
  • (Framework) Business rule developers have access to the UserClaims JSON object representing the id_token from the identity provider that has authorized the current user.
  • (Touch UI) The progress screen message is correctly centered when the app is running in the App Studio mode.
  • (OAuth 2) Multiple instances of OAuth 2.0 Identity Provider can be registered for OAuth 2.0 authorization with any compatible IdP.
  • (OAuth) Error inspection code makes sure that there is a response in the exception. There will be none if the authorization server is not available.
  • (Data Aquarium) The JavaScript expressions specified in Visible When, Read-Only, etc are correctly handling situations when two fields with the same root are being used. For example, the following expressions will not cause the runtime exception anymore:
  • JavaScript
    12this.Field1 != null && this.Field1Suffix != null
    $row.Field != null && $row.Field1Sufix != null
  • (Universal Input) The list-based inputs (radio, listbox) now advance to the next data input when changed if the data field is tagged as lookup-auto-advance.
  • (Universal Input) The Up/Down icon of the DropDownList input now has a transparent background for a better presentation when other inputs have a slight overlap and bleed into its boundaries. The "dropdown" icon of the lookup fields in forms have an opaque background in the Property Grid only.
  • (OAuth) The /oauth2/v2 endpoint is added to the provider URI of a client app if it is not based on App Identity.
  • (CMS) The OAuth2 identity requests are identified in the content description.
  • (OAuth) The settings object embedded in the pages now includes the idP key that represents the dictionary of the display names of the identity providers registered in the content management system The "cached" dictionary is refreshed every fifteen minutes.
  • (REST) The preferred_username claim is set to the username when the profile scope is requested by the client app during the OAuth 2.0 authorization sequence.
  • (CMS) The "Protocol" of an existing identity consumer is read-only when open in the Site Content (app's CMS).
  • (Touch UI) Enhanced the algorithm of toolbar menu fade-in effect.
Tuesday, May 14, 2024PrintSubscribe
Generic OAuth 2.0 Identity Provider

The OAuth 2.0 Authorization tutorial provides instructions on how to configure an OAuth 2.0 identity provider in a Code On Time application. The example uses both the Google Account and the Northwind demo application as the identity providers and a sample application running on localhost as the client. The document includes detailed steps on configuring the identity provider, the client application, and the authorization flow.

The configuration process involves setting up the identity provider's client ID, client secret, redirect URI, and other parameters. The client application is configured to use the identity provider's authorization URI, access token URI, and other endpoints. The authorization flow describes how the user is redirected to the identity provider's login page, signs in, and is redirected back to the client application.

One of the key features of this setup is that users can sign in to the client application using their Google or Northwind account credentials, which are stored securely by the identity provider. This eliminates the need for users to create and manage separate accounts for the client application. Additionally, the document discusses how user tokens are stored persistently in the client application, allowing for seamless authentication and authorization in subsequent requests.

The tutorial provides a comprehensive guide for configuring an OAuth 2.0 identity provider in a Code On Time application, enabling users to leverage a trusted external identity provider for authentication. It highlights the benefits of using an external identity provider for secure and convenient user authentication.

image1.png
Your own registration of Google as identity provider will be identical with the exception of the values in the Redirect Uri, Client ID, and Client Secret fields.
Explore how to set up your application for user authentication using OAuth 2.0 Authorization, which is supported by widely used identity providers.
Labels: OAuth, OAuth2, Security