Caspio 13.0 is scheduled for release in mid-July. Caspio 13.0 includes a new AJAX loading feature to significantly improve the user experience of your applications. Once you enable this option, your app interfaces will automatically refresh with each data interaction, rather than reloading the entire web page.

Currently, AJAX loading is only available in results pages. The 13.0 release will extend it across all DataPage interfaces (i.e. forms, search, results, details) and authentication objects.

Some custom scripts implemented on Report DataPages may not be compatible with the new AJAX loading feature in Caspio 13.0, and the impacted areas are listed below.

Changes to Existing Reports with AJAX Enabled

Change AreaRendered DataPages
Impact areaExisting AJAX Reports with custom scripts
Description

As a proactive measure, customer accounts were scanned for custom scripts known to conflict with 13.0 release of AJAX loading. If your account was found to contain these scripts, AJAX loading in these DataPages will be automatically disabled in order to avoid disruption to your applications. However, DataPages using Bulk/Grid Edit or Pivot Drilldown cannot be disabled because they rely on AJAX functionality (see instructions in next section below).

The account owner will receive an email containing a list of script conflicts. After the 13.0 release, you can edit these DataPages to enable the new version of AJAX once you verify your scripts as instructed in the next section below.

Changes to Existing Reports Using Bulk/Grid Edit or Pivot Drilldown

Change AreaRendered DataPages
Impact areaCustom scripts inserted in existing Reports using Bulk Edit, Grid Edit or Pivot Drilldown
Description

For existing Report DataPages with Bulk Edit, Grid Edit or Pivot Drilldown features, if your search form or details page contains JavaScript customizations similar to the examples below, please take the following actions to prevent disruption to your deployed applications.

  1. If your script contains an onload event (using JavaScript or jQuery), like as shown below:
    <script type="text/javascript">
    window.onload = function() {
    // do something
    };
    </script>
    
    Or
    
    <script type="text/javascript">
    $( document ).ready(function(){
    // do something
    });
    </script>

    Replace the onload event with Caspio’s built-in event handler before the Caspio 13.0 release, as shown below:

    <script type="text/javascript">
    document.addEventListener('DataPageReady', function (event) {
    // do something  
    });
    </script>

    You can also use event.detail.appKey or event.detail.uniqueSuffix to define the DataPage event for executing specific functions, similar to the example below:

    <script type="text/javascript">
    document.addEventListener('DataPageReady', function (event) {
           if (event.detail.appKey == 'MY_DATAPAGE_APPKEY') {
                  //do something 
           } else if (event.detail.appKey == 'MY_WEB_FORM_APPKEY')    {
                  //do something
        }
    });
    </script>
  2. Starting in the 13.0 release, all DataPages with AJAX enabled will have new

    wrapper around the rendered content, as shown below:

    <!- new wrapper start -->

    <!- new wrapper end -->

    If your script refers to an element through the DOM structure (traversing the HTML), you should revise it before the Caspio 13.0 release to use the element “ID” or “name” attribute instead.

    Please note it is not recommended to use scripts that traverse the HTML, as the DataPage structure is subject to change as new features are added in the future.

  3. If your script/CSS refers to any button object by its “ID” attribute, you should update your code to refer to the “name” attribute. For example, if your JavaScript uses document.getElementById(“SearchID”) to refer to the search button, you should change it to document.getElementsByName(“SearchID”)[0].If you are using jQuery, you can refer to the “name” attribute using: $(“[name=’value’]”). If you are using CSS, you can refer to the “name” attribute using: input[name=”button name”] { }.

    Code referring to buttons IDs will continue to function until the DataPage is edited after the 13.0 release, at which time the DataPage will start using the new version of AJAX. We recommend you review your custom scripts/CSS now and make this change as soon as possible.

  4. If your script contains an onsubmit event, like as shown below:
    <script type="text/javascript">
    window.onsubmit = function() {
    // do something
    };
    </script>

    Replace the onsubmit event with Caspio’s built-in event handler, as shown below:

    <script type="text/javascript">
    document.addEventListener('BeforeFormSubmit', function (event) {
    // do something
    });
    </script>

    Scripts using onsubmit events will continue to function until the DataPage is edited after the 13.0 release, at which time the DataPage will start using the new version of AJAX. We recommend you review your scripts now and make this change immediately after the release.