Blog: Posts from July, 2017

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, 2017
Wednesday, July 5, 2017PrintSubscribe
July 2017 Hotfixes

The flowing fixes are implemente in release 8.6.4.0.

  • New Feature: Property CausesCalculate of dataview fields is triggering Calculate event with the trigger set to the field name after any command executed on the rows of the child data view. Learn to create DataView fields in Episode 5 and Episode 7 of To-Do App tutorial.
  • Fixed. Error "$ not defined” is raised when activating project models and settings in the app generator on some machines.
  • Fixed. Specifying $quickfind or $quickfinddisabled in Search Options of a data field will break advanced search. This properties are designed for server-side optimazation of quick find feature but were causing incorrect behavior of Advanced Search screens.
  • Fixed. Clicking on thumbnail for non-image BLOBs will not open file in the new window
  • Fixed. Check boxes do not render in read-only mode in forms.
  • Changed custom JS loading to read only from "~/js/custom". Release 8.6.3.0 has linked any files in the ~/js folder to the main combined script.
  • Fixed. Collapse/Expand tooltips are not displayed on chevrons in categories.
  • Fixed. Map of suppliers crashes with a system alert when address has not been resolved correctly.
  • Fixed. Advanced Search / Filter controls will correctly display a filter applied by sidebar calendar.
  • Fixed. Mouse selection of dates in the calendar will set up the cursor at the end of date input field.
  • Fixed issue with Calendar and Mini Calendar corrupting advanced search.
  • Fixed. It is now possible to create models for Oracle and other database engine when only one data schema is present.
  • Fixed. Removed unncessary parameters created IsNotNullFilterFunction and IsNullFilterFunction that were causing an exception in Oracle-based projects.
  • Removes all role providers for Oracle projects in Web.Config.
  • Fixed. MySQL Membership/Role providers are cleared.
  • Fixed. Theme selector correctly previews themes in Free edition.
  • Membership connection string handling is fixed.
  • Fxied. Correct membership connection string is selected when membership is Custom.

We expect to release one more maintenance update this month. It will introduce a few features that are missing in Advanced Search 3.0 – “deep” search and history. History is expected to be displayed in both Search box and Adavanced Search forms.

Another feature of the upcoming maintenance update is enhanced RTF editor. 

Maintenance update will also introduce a new folder structure and naming for JavaScript and CSS files. We are moving things into ~/js and ~/css folders. Old folders ~/touch and ~/scripts will be removed. This is being done in a preparation for the native client generation. This is also the reason why we will replace XML format of data controller files with JSON. This is a big change that will not affect anything in the app. Application will perform internal transformation of JSON files into XML, so no behavior of the apps will be changed. JSON format of data controllers is core of offline feature and is the foundation of the upcoming CoT v9.

We expect the update to go out in a couple of weeks.

It will be followed by release 8.7.0.0 that will bring to life the native apps. Expected release date is the last week of July or early August.

    Sunday, July 2, 2017PrintSubscribe
    Advanced Search 3.0, Integrated Deployment, Enhanced Baskets & Lookups

    Release 8.6.3.0 is here! While the revision number is minor, some major features are contained in this release.
     
    First on the headline is brand new Advanced Search 3.0 for Touch UI. Major upgrades were required for the Form Rendering Engine to support dynamically created forms. Survey capabilities have been greatly expanded in order to support the functionality required for Advanced Search. 
     
    One important aspect of every app is dealing with deployment. The new Publish capabilities introduced in 8.6.3.0 make it easy to get your apps running on the cloud or a dedicated server. Read on below for more information.
     
    A large number of other enhancements and fixes are also included in this release.

    Advanced Search 3.0

    The original implementation of Advanced Search for Touch UI was a custom solution. The introduction of modal pages in release 8.6.0.0 necessitated a rewrite of the functionality. The new implementation in release 8.6.3.0 brings integration with the latest features available in Touch UI - lookups, basket lookups, date inputs, modal forms, surveys, and custom form templates.
     
    The new default layout for Advanced Search will read a story to the user. Use Tab, Enter, or arrow keys to quickly navigate through field values. Push Enter key to perform the Search.
     
    Advanced Search 3.0 now correctly handles typed inputs. A date picker will be displayed for date fields. Lookups are used for every field to allow the user to select existing values.
     
    image
     
    For fields in a “Match All” group, the lookups will be cross-dependent on each other and apply filters to available values based on the current selection. This greatly helps the user explore and understand the dataset without having to perform searches.

    Integrated Publishing/Deployment

    A major step of every app is to deploy it to the web. Release 8.6.3.0 makes it easy to bring the app to your users with the push of a button.
     
    The “Publish” action in previous releases would simply compile the app and open the target folder. In the new release, the action will now display the list of options below.
      image

    The “File System” option allows publishing directly a folder in the file system.
     
    image
     
    The “FTP” option allows publishing the app directly to an FTP-enabled server.
     
    image

    Publishing to Microsoft Azure is covered in great details in the brand new tutorials at  

    https://www.youtube.com/playlist?list=PLy2g3SjvDe2YbSdvoXilUh9BvkllO50jh

    Integrated publishing to the cloud if the foundation of the mobile application deployment in the upcoming release 8.7.0.0.  Only Code On Time will allow creating a server-side application that becomes automatically mobile and capable of working entirely offline in the release 8.8.0.0. Consult our roadmap for more details at http://codeontime.com/roadmap.

    Each Publish option offers the ability to specify overrides for app settings that will be applied when Publish is complete. Here are some of the options:

    • Primary and membership connection strings
    • Enabling remote debug messages
    • Blob adapter configurations

    Support for Microsoft Visual Studio 2017

    The app generator now fully supports Visual Studio 2017.

    Rich Text Format

    Support for rich text has been now introduced in the grid, list, and cards presentation styles. Forms display a keyboard freindly rich text editor. We will be making a few enhancements in the follow-up releases (toolbar, formattings options, etc.) in the coming weeks.

    Identity Server OAuth Provider

    You can now use Identity Server 4 for the purpose of user authentication based on Microsoft Identity technology.

    Microsoft Graph OAuth Provider (Windows Live, Outlook, Office, SharePoint, Azure AD)

    This releases also introduces new options that allow authentication of users via Microsoft Azure Active Directory. We are preparing video tutorials that will explain how that works.

    Additional Enhancements

    • Baskets are now displaying the selected items inline with the text input for a more compact presentation. Selected options are eliminated from the list of options available for selection.
    • Powerful client-side caching in database lookups brings performance of applications to a new level.
    • Changing models will no longer rebuild data model from the database - much faster for users using remote database servers.
    • Project backups are now zipped, reducing Backup folder size by ~90%.
    • Published projects are now backed up and zipped.
    • New ServiceRequestHandler class allows extending “_invoke” API with new custom handlers.
      Web.config modification instructions now support “SetAttribute” command. See example below:
          SetAttribute: /configuration/system.web/pages
          validateRequest:false
    • Azure Blob Adapter updated to use API version 2015-12-11.
    • Sitemaps defined in CMS now support “CSS Class” property.
    • It is now possible to control default modal behavior using touch-settings.json file using “ui.modal.max” and “ui.modal.when” properties.. See example below:
      {
        "ui": {
          "modal": {
            "max": "lg",
            "when": "sm"
          }
        }
      }
    • Added ability to set thumbnail size in touch-settings.json using the “ui.thumbnail.width” and “ui.thumbnail.height” properties.
    • New icons in the app generator.
    • Warning shown under connection string when it differs from the membership connection string.
    • Only one connection string is created in web.config if primary and membership connection string are equal.
    • Updated translations for Portuguese - thank you Nielsen Batista!
    • Updated translations for German - thank you Peter Teutsch!
    • Added tag “lookup-collapsible” to automatically collapse ListBox and RadioButtonList controls when the user makes a selection. A  chevron is displayed to expand the lookup again.
    • Custom button support in surveys.
    • ExportBase.ToClientUrl() is now overridable to allow customization of IQY files.
    • Calendar Input will focus next field after the date is selected on DateTime fields on desktop devices.
    • Basket lookups will hide values that have already been selected.
    • Lookup controls will expand faster to ensure text does not scroll as the user types.
    • Enhanced support for conversion of strings to date values. For example, type in “011215” to get Jan 12, 2015.
    • Close button added to Calendar Input when mouse is primary pointer.
    • Blob Adapter values are stored in the web.config as app settings.
    • Many-to-many field processing is moved before “After” business rules, and after “Before” business rules, to ensure rules use the correct values.
    • Tag “open-on-tap” will open a lookup dropdown instead of focusing on text input.
    • Tag “lookup-distinct” allows reducing the available lookup options to distinct values.
    • Custom JavaScript files will now be read and appended to the framework when placed under ~/js folder. ApplicationServices.ConfigureScripts() allows controlling which scripts are included.
    • Custom Cascading Stylesheet files (CSS) will be read and appended to the library when placed under ~/css folder.
    • Surveys are now loaded from ~/js/surveys folder. When using survey called “mysurvey”, API will pick up files in this order:
    • Survey definition: mysurvey.min.js, mysurvey.js
    • Survey rules: mysurvey.rules.min.js, mysurvey.rules.js
    • Survey template: mysurvey.html
       

    Miscellaneous Fixes:

    • Fixed dedicated login redirect issue with projects using ASPX page implementation.
    • Fixed issue “Error 500: Dangerous request in form” when a form is submitted with HTML formatted values.
    • Fixed issue with Membership Manager not updating LoweredRoleName column.
    • Fixes with page sizing after device rotation.
    • Custom Membership supports optional PasswordQuestion/Answer.
    • Charts are now supported with custom controllers.
    • Blob Adapters with Source Field value containing spaces is now supported.
    • MyProfileBusinessRules properly inherits from SharedBusinessRules when the feature is enabled.
    • Fixed “Unable to get property ‘1’ of undefined” error in Project Designer.
    • Disabled discard changes prompt in MyProfile controller.
    • Fixed issue with Model class objects using Turkish “i” in field names.
    • Export action ignores DataView fields.
    • Tag “action-call-disabled” now works.
    Thursday, June 8, 2017PrintSubscribe
    Announcing Advanced Search 3.0

    We are pleased to announce the new feature of Touch UI called Advanced Search 3.0. This feature is re-introduced with many new capabilities and complete customization support.

    If option “Search On Start” is enabled in the view, then an automatically constructed Advanced Search window is displayed.

    image

    Users can collapse the search form into the standard Quick Find search.  Button “more” will activate Advanced Search from Quick Find mode.

    image

    Dedicated filtering options of the data columns will display a “single field” advanced search form with a variety of filtering options.

    image

    Users can search across many fields and create multiple matching groups for complex searches.

    image

    Sophisticated type-specific data filtering options are automatically displayed.

    image

    Automatically constructed Advanced Search survey forms are controlled by field properties described at http://codeontime.com/learn/data-controllers/data-fields/search-mode and http://codeontime.com/learn/data-controllers/data-fields/search-options/overview.

    Don’t forget that completely custom search forms can be designed. Next week we will publish new videos dedicated to search customization on our YouTube channel at https://youtube.com/codeontime. Stay tuned!

    The release 8.6.3.0 will be out any day now. We are working tirelessly on getting it out.