Child pages
  • New in 7.0

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Automatic JSDoc @type setting on global and Form variables 
  • Fixed indentation of code modes from the "Move Sample" and "Move Code" buttons in the Solution Explorer view

Still to be done

  • Investigate if the "Paste to JavaScript console" option in the Context menu of the Script Editor can be removed or made to work
  • Investigate if the "Run as ..." and "Debug as ..." options in the Context menu of the Script Editor can be removed or made to work

...

  • Hidden from the Servoy Design perspective to improve the initial experience
  • Made customized column width settings by the user persistent between session (a3) 
  • Added Query execution timing info to the Profiler view
  • Reduced the info in the "Source File" column to only show the name of the .js file and the Form name where applicable  
New Command Console

To be described...

Debug Perspective
  • Added a "Stop" button, to terminate the execution of a running method(stack), without killing the Debug Client:
    Image Removed
  • Ability to terminate the execution of a running method(stack) from code by executing the code "eval(!stop_current_script!);"
Build process

...

Servoy 6 supports a new Command Console view. The command console view is like the Interactive Console view, but with the following differences:

  • The Command Console lists all the running Debug Clients (Smart Client, Web Client and Headless Client) and the user can choose one of the running Debug clients to interact with
  • The interaction with the Debug Client can start as soon as the Debug Client is started. No need to set a breakpoint first and hit the breakpoint like in the Interactive Console
  •  

Image Added

Servoy Developer script access

In Servoy 6 it is possible to interact with Servoy Developer from both Debug Clients and the new Command Console. The available methods are:

  • servoyDeveloper.openForm(Object): opens the specified Form (JSForm object or Form name) in a Form Editor in Servoy Developer
  • servoyDeveloper.save(): persists all changes made through the solutionModel in a Debug Client or the Command Console into the project in the local workspace. 
  • servoyDeveloper.save(Object): same as above, but then only persist the specified Form (JSForm object or Form name)

The .save(...) methods save the changes to the workspace and does the same as editing a Form in a Form Editor in Servoy Developer and saving the changes. 

Needles to say, this functionality is available only inside Servoy Developer. 

Debug Perspective
  • Added a "Stop" button, to terminate the execution of a running method(stack), without killing the Debug Client:
    Image Added
  • Ability to terminate the execution of a running method(stack) from code by executing the code "eval(!stop_current_script!);"
Build process
  • Added QuickFix to create the unresolved method on builder markers for unresolved methods attached to events and commands 
  • Added "Element in form "...." is outside the bounds of form." builder marker for elements placed below the last Form part. Note: elements placed below the last form part on a form are not instantiated at runtime, thus are not in the elements array or visible on the Form
  • Added builder marker to warn about dataprovider of type text with a small length that are attached to HTMLArea's or RTFArea's, as these type of fields generate more markup in the dataprovider than the user actually sees

...

  • Added a Servoy Active Solution Working set: the workset functionality of Eclipse allows to limit the scope of operations like searching or display of builder markers. The Servoy Active Solution workset is a pre-defined workset that contains the Active Solution and all it's modules. The Servoy Active Solution working set can be used in:
    • Problems view: The contents of the Problems view can be filtered to only show the builder markers for the active solution. Click "View menu" > Configure Contents > Select "Servoy Active Solution Filter"
    • Searching: In the Search dialog, the scope of the Search can also be restricted to the Servoy Active Solution workset:
  • Servoy MarketPlace integration
    • Servoy MarketPlace can be opened in Servoy Developer, through Help > Servoy MarketPlace
    • When supported by the product in the MarketPlace, the product can by instantly downloaded and installed into Servoy Developer 
  • Added option to show the firstForm of the solution that is being activated (see Window > Preferences > Servoy > Form Editor) 
  • Wiki Markup
    Improved output to console of Javascript objects: \{name: someValue} instead of \[object Object\]
  • Added predefined update url for JSDoc plugin (https://www.servoyforge.net/projects/jsdoc)
  • Updated Servoy Developer to Eclipse Helios (3.6)
  • Reduced memory footprint of solutions in Servoy Developer by about 40% 
  • Reduced startup time of Servoy Developer by lazy loading not active solutions
  • Added command line Solution Exporter
  • Added JUnit testclass for running JSUnit tests contained in a solution within the JUnit framework
  • Made update of Calculations and Aggregates in the Replace Table action optional
  • In the Debug Smart Client, a call to application.showUrl(...) will open the URL in a browser within Servoy Developer
  • In Table Editor, when creating a new column containing the text "email" or "url" in the columnName, automatically set the type to "Text" and the length to resp. 254 or 2048 (based on the specifications for email addresses and urls)
  • Added "Maximum prepared statements idle" property in Database Server Editor (was already exposed on the Admin page)
  • Made "Link with Editor" work for Styles, Tables and Database Servers as well
  • Added "FoxPro DBF" New server templateDBF" New server template
  • Added ability to to also externalize hard-coded Strings inside JavaScript code (See Externalize Messages dialog)

Still to be done

  • Include the FoxPro DBF driver in the distribution
  • The Externalize Messages dialog will undergo a redesign to make it more intuitive

Solution development

Behavior changes

...

Note
titleBehavior Change

Due to the extension of the Inheritance model a behavior change was introduced. When asking for elements and/or parts of forms that extend other forms, the inherited elements/parts are also returned in Servoy 6, whereas prior to Servoy 6, only the non-inherited elements would be returned and the (hierargy of) super forms(s) had to be inspected

Misc.

  • Added rollOverImageMedia support in TableViews 

are also returned in Servoy 6, whereas prior to Servoy 6, only the non-inherited elements would be returned and the (hierargy of) super forms(s) had to be inspected

Misc.

  • Added rollOverImageMedia support in TableViews 
  • Added support for displaying HTML contained in the titleText property of non-editable HTMLArea's. Useful to show (multiple) href links in the UI. Same functionality was already available through Labels, but on Labels the entire label acts as click-able area (showing a HAND cursor), whereas when done with an HTMLArea only the links are click-able.
Drag 'n' Drop
  • Added a custom Drag 'n' Drop event type JSDNDEvent with additional API:
    • dataMimetype property
    • getDragResult(): gives the result of the DND operation (DRAGNDROP.MOVE/DRAGNDROP.COPY/DRAGNDROP.NONE). Only relevant if the event type is JSDNDEvent.ONDRAGEND
    • getRecord(): gives the record on which the event occurred
  • Added onDragEnd event to forms and portals: This event gets fired on the form on which the DND operation started (the form on which the onDrag event fired), regardless if a drop occurred or not
  • Fix: onDragOver doesn't fire anymore for elements that are layered below other elements
  • Fix: all DND related events don't fire anymore on disabled elements/forms

...

  • Dedicated SolutionType values for pre and post import hooks, instead of relying on a naming convention
  • Ability to use a global method as PK generator (a3), through selecting a global method under Auto Enter > Lookup Value on the Column in the Table editor
  • Added Copy action in columns rows in Table Editor, to quickly get the column name into the clipboard
  • Support for using variables of type Boolean inside relations, mapping on integer columns
  • Added ability to use separators in ValueLists
  • Made "Left Outer Join" the default value for new relations
  • Support i18n filter fallbacks for i18n.setI18NMessagesFilter, by supplying the an underscore concatenated string of filter values (see samplecode)

Still to be done

  • Refactor the implementation of i18n filter fallbacks to work based on an Array of values, instead of a underscore concatenated string of values 

Deployment

  • When installing Servoy with the database option unchecked, the installation will now contain the previously missing servoy.properties file
  • Compression is enabled by default on the Servoy Application Server for serving HTML, CSS and JavaScript files, which improves the performance of the Web Client
  • Ability to alter the max. allowed idle connections on the Servoy Application Server without restarting
  • Lazy loading of the datamodel of database server clones, resulting in faster Servoy Application Server startup and no unneeded overhead for database server clones that aren't going to be used
  • Added ability to specify the user directory for Smart Clients on the Admin page 
  • Ability on the Admin page to set on Solution level if the the solution is to use Anchors in the Web Client or not 

...