User Interface

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(180) 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
User Interface
Wednesday, November 8, 2017PrintSubscribe
Announcing Custom Native Apps and Offline Sync Add-on

Code On Time release 8.8.0.0 is expected to be available December 22, 2017. See our current roadmap at https://codeontime.com/roadmap.

With this release, will make it possible to download custom Windows 7 native client for your app based on embedded Chromium browser. The second option is a custom Universal Windows App for distribution via Microsoft Store. Both options will be available directly in the Publish screen of the app generator. We are also introducing a new product to enable “always offline” mode in those apps!

In a world where apps are everywhere, it makes sense to package your application in a native shell on all platforms, be it Windows, iOS, or Android. Such shell must not merely provide a custom online browser. The shell must host a local set of client-side application files while using the server components of the app to read and write data. This will not only increase speed of page loading (all required files are already on the device), but will also enable access to the device equipment and make it possible to work in a disconnected mode.

Custom Native Apps

Presently, the app generator offers a number of Publish options for deployment to a web server. After an application is published for the first time, an “App Store” option is displayed. The option is not implemented in the current release.

Generator will display “App Store” option on the Publish screen as soon as you publish your application to any of the supported targets (Azure, File System, FTP, etc). Deployed application is available on internet and native apps can access services provided by the server components of the app.

image

The Publish / App Store option will be expanded to allow getting access to the native implementation of the app for each supported mobile platform. The initial implementation will offer two options:

  • Mobile App for Windows - this is a customized version of the Universal Mobile App based on embedded Chromium browser (CMA-W7). Developers will be able to download the installation package for the app directly. Unlimited Edition users will have an option to download the source code as well

  • Universal Windows App - this is a customized version of the Universal Mobile App for Windows 10 and 10S (CMA-10). Developers will be able to download the installation package for Windows App Store. Unlimited Edition users will be able to download the source code as well.

Follow up releases will make available similar options for Apple iOS, Google Android, and Apple MacOS. We are hoping to complete support of the other mobile platforms by the end of March 2018. See the roadmap for details.

    Offline Sync Add-on

    Offline Sync Add-on makes its appearance in this release. The add-on will be available for purchase at https://codeontime.com/buy. The purchase will be delivered to you as a zip file with the name “addon.OfflineSync.YOURCOMPANY.zip”. Copy the zip file to ~/Documents/Code OnTime/Addons folder. The application generator will automatically expand the contents of the file when the app is generated.

    Installed addon will enable “always offline” mode in your application. Any pages marked for offline will magically become fully autonomous. The relevant data will be downloaded when application is installed on the native device. Any data modifications will be executed locally while requests to change data are logged and saved. User interface will expose Sync option in the menu. If synchronization is requested, then the log of changes will be submitted to the application server and requests will be executed as a single transaction. If there were no errors, then the transaction is committed. Otherwise, the user will have the option to reconcile issues for each individual error and attempt to resubmit the entire change log.

    Here is a screenshot on app with Offline Sync Add-On installed. The tablet-sized screen will display synchronization status icon as a cloud in different states. In this case, all data is downloaded and there are no pending changes.

    image

    User can access “Sync” option in the context menu of their app shown next. This option is always present in the app enhanced with Offline Sync Add-On. It provides additional settings such as automatic synchronization.

    image

    See the roadmap for more details about offline features.

    Monday, October 16, 2017PrintSubscribe
    Rich Text in Touch UI

    By default any HTML content stored in the database table column will be displayed in the raw format with the tags plainly visible to the end user. Rich text mode will force the framework to prevent encoding of the values and let the browser to render the content with the formatting. Property Text Mode of a data field  enables rich text formatting when set to Rich Text. End users will have access to the text formatting options available on the special toolbar displayed when the field is focused on the form.

    Rich Text Editor in apps with Touch UI.

    The formatted text will also be visible in the Grid and List view styles.

    Rich Text formatting in visible in Grid and List styles in apps created with Code On Time.

    If the Text Mode is set to the default value, then the formatting tags are revealed as plain text.

    By default Rich Text formatting tags are revealed in plain form.

    Button “…” displayed on the right side of the formatting toolbar will bring up a full list of formatting commands available to the user.

    The panel of RTF options activated from the built-in RTF editor in apps with Touch UI.

    Developers control the Richt Text Format (RTF) toolbar with the tags assigned to the data field.

    Tag rtf-frame will display a frame around the field content when the focus is received.

    A frame may optional surround the boundaries of Rich Text in apps with Touch UI.

    Tag rtf-toolbar-location-bottom will set the preferred location of the formatting tollbar to be at the bottom of the field in the form. This option may prove to be useful when implementing messaging forms with the the recepient and subject displayed above the field value.

    An optional location as the bottom can be specified for RTF fields in apps with Touch UI.

    Note that the framework will move the toolbar above or below the field boundaries as the user scrolls the contents of the form. The text boundaries will grow as the user types in more content.

    Tag rtf-editor will force a dedicated editor form to be displayed when user activated the field with the Text Mode set to  Rich Text. This mode may help when a long text is expected to be entered as the field value. User can press Ctrl+Enter keyboard shortcut to save the contents when edting is finished to retun to the data form.

    A dedicated rich text editor form can be activated by default or when user preses F11 while editing RTF text in apps with Touch UI.

    Tag rtf-editor-fullscreen will display a fullscreen editor window upon activation.

    A fullscreen editor can be specified as the default editing option in apps with Touch UI created with Code On Time app generator.

    The dedicated editor form can be activated by pressing F11 when the rtf-editor tag is not specified and the focus is on the Rich Text field.

    Individual commands on the toolbar can be controlled by providing a combination of rtf-command-(command-name) tags. For example, if a limited text formating is desired then rtf-command-bold rtf-command-italic rtf-command-insertUnorderedList combination of tags will transform the formatting toolbar as follows.

    Developers have a control over RTF formatting commands in apps created with Touch UI.

    The complete list of supported formatting commands is presented in the table.

    Tag Description
    rtf-command-formatBlock-p Formats text as a paragraph. This option is avialable in under Format drop down on the toolbar.
    rtf-command-formatBlock-blockquote Format text as a quotation. This option is avialable in under Format drop down on the toolbar.
    rtf-command-formatBlock-h1 Format text as Heading 1. This option is avialable in under Format drop down on the toolbar.
    rtf-command-formatBlock-h2 Format text as Heading 2. This option is avialable in under Format drop down on the toolbar.
    rtf-command-formatBlock-h3 Format text as Heading 3. This option is avialable in under Format drop down on the toolbar.
    rtf-command-formatBlock-h4 Format text as Heading 4. This option is avialable in under Format drop down on the toolbar.
    rtf-command-formatBlock-h5 Format text as Heading 5. This option is avialable in under Format drop down on the toolbar.
    rtf-command-formatBlock-h6 Format text as Heading 6. This option is avialable in under Format drop down on the toolbar.
    rtf-command-bold Format text as bold.
    rtf-command-italic Format text as italic.
    rtf-command-underline Format text as underlined.
    rtf-command-strikethrough Format text with a strike through.
    rtf-command-insertUnorderedList Format selected text as unoredered list or start a new unordered list.
    rtf-command-insertOrderedList Format selected text as ordered list or start a new oredered list.
    rtf-command-justifyLeft Align the selected text to the left.
    rtf-command-justifyCenter Align the selected text to the center.
    rtf-command-justifyRight Alight the selected text to the right.
    rtf-command-justifyFull Justify the text to fill the full width of text boundaries.
    rtf-command-indent Increase indentation of the text on the left side.
    rtf-command-outdent Decrease indentation of the text on the left side.
    rtf-command-removeFormat Remove formatting from the selected text.
    rtf-command-rtf-editor Enables an option to activate a dedicated editor for the field content.

    Additional formatting commands will be available in the future releases. Don’t hesisitate to contact customer support if specific formatting options are desired.

    The implementation of rich text formatting is based on the native content editing capabilities of the modern browsers. Applicaiton frameowork will use P tag to format paragraphs accross different platforms and strip all formatting when the text is pasted from the clipboard. The implementation of rich formatting is touch friendly. The new RTF editing support will be also utilized in the upcoming page builder of the built-in Content Management System (CMS) available in the apps created with Code On Time.

    Note that variations in the implementations of content editing by browser vendors may produce a slightly different formatting output but appear the same to the end users on different platforms. An attempt to provide a unified formatting across various platforms will require creating a full featured document editor, which is not an easy task.

    There are great RTF editors out there. Many of them are with a permissive licensing. Some of the editors are already providing a decent touch-friendly user interface. We will be integrating support for the leading solutions in the future implementations of the framework. Custom RTF editors are equipped with their own extensive user interface. Therefore we will be offering external RTF editor integration as dedicated forms via rtf-editor tag extensions. External editors will display on top of the forms. If you would like to sponsor an integration of a particular RTF editing framework, then please contact customer support to request a quote.

    Thursday, August 10, 2017PrintSubscribe
    Simple Search With Super Powers

    This is the simple search window in an app created with Code On Time. Enter a sample value in the search box and hit Enter key to locate the matching records. Tap outside to dismiss the search mode.

    This effective and easy to use feature is gaining some super powers starting with the next release.

    image

    Search suggestions are presented to the user as the sample value is entered. Application framework builds a list of suggestions from the data currently loaded in the view to avoid costly server-side roundtrips.

    image

    Suggestions of previously searched criteria will be promoted in the matches as the user executes searches.

    image

    End users can limit search to specific fields by prefixing the search criteria with the first letters of the data field name separated from the search value with a “colon” symbol.

    image

    Users can enter complex phrases separated with “comma” to find their data.

    image

    “More” button on the right side of the input opens “Advanced Search” form to allow entering precise criteria with more finesse.

    image

    “Advanced Search” is also automatically activated when the data view is set to “Search On Start”. Tag the data view as “search-on-start-simple” if you want to keep “Simple Search” as the default search option.

    image

    End users switch from “Advanced Search” back to “Simple Search” by selecting “Show Less” in the context menu.

    image