Trouble Shooting

Project Troubleshooting

Browser cache can be particularly aggressive and troublesome. Not only might you not see your changes, you might get strange errors if the browser has the wrong version of the runtime cached.

Some browsers, such a chrome via the dev tools, provide the means to disable disk cache outright. There are also add-ons such as clear cache for Firefox and clear cache for Chrome that ease the clearing of cache. See TNT08 for more caching tips.

Here are some things to try if your project is acting up:

  1. Close project and reopen: often, simply closing a project and re-opening it will be helpful. This is particularly true when you are deleting and re-adding pages and variables
  2. Save project and refresh browser: save the project and click the browser refresh button or click F5 to refresh the WaveMaker studio. This is particularly valuable if there are Javascript errors in the project.
  3. Close project and restart wavemaker: this can help get WaveMaker back to a known state
  4. Delete data model: when the data model appears corrupted, you can delete the data model, then close the project. Reopen the project and re-import the data model.
  5. Make sure your browser popup blocker is off: the browser popup blocker can prevent a WaveMaker app from running

Here are some project management best practices

  1. Save and export your project regularly
  2. Segment the project by using page containers the main page of the project should have a page container that can load different pages as needed. Each page loads into the page container using deferred loading to minimize the number of pages active at once.
  3. Create individual pages as separate projects, then integrate them into the larger project
  4. When you install a new version of WaveMaker studio, clear your cache! Clearing the cache is only needed when you install a new version of the studio, but it is critical that you do this.

Performance Tuning

See also Performance

  1. Use pagecontainers:: the main page of the project should have a page container that can load different pages as needed. Using deferred loading for pages that are not in use provides optimal performance. Creating an application with many layers will be slow.
  2. Use deferred loading:: make sure that pages and layers are not loaded until they are needed. This will dramatically speed up initial application launch time.
  3. Minimize live variable and service variable calls:: Make sure that live variables and service variables are only called when strictly necessary. Use Firebug's network tab to see exactly what calls are being made and when. Disable auto-update for live variables that are called too often!
  4. Optimize backing data for related editors:: by default, each related editor has its own dataset. Replacing these datasets with a single live variable can reduce database queries and optimize performance. Also, creating a liveView that only contains the data required for the select editor can improve performance (i.e. only retrieving from the DB what is displayed, plus the "Id" rather than the full fledged object).
  5. Replace live views with queries:: a live view always fetches all columns for all tables involved in the view. To optimize performance, replace live views with custom queries for the most performance critical application data.

Project Exports

Project Exports are an easy way to provide a copy of your project, such as to post your project to the forums. HSQLDB databases are included in the export. Projects requiring specific RDBMS databases should include an dump of the database schema, if required, with data

JavaScript Debugging

WaveMaker now has it's own debugger.

Other choices include the chrome dev tools the Chrome debugger, Firebug for FireFox, Firebug lite and the MSIE debugger.

Don't forget to use ?debug mode to best results.

For remote and mobile debugging consider Weinre Client Debugging in Doc
Debugging in Dev

WM.log and Server Side Logging

Server Logging

Overview on Debuggers

AjaxPath Overview- "Trying to tell you all about javascript debuggers"

Syntax checking

Studio's source editor now includes syntax checking in studio. See closure for more details about the closure compiler.

JSLint online or downloadable JSLint is another syntax checking tool.

Web Services Logging

Enabling JAX-WS logging to debug web services calls.

Debugging Dojo

Debugging tips

© 2004-  WaveMaker, Inc