Child pages
  • New in 7.0

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Highlights

Include Page

...

newFeatureHighLights

...

newFeatureHighLights

Servoy Developer

...

Yet to be done:

In this second alpha, the following things are still to be done:

  • Create proper CheatSheets
  • Redesign the Welcome page
  • Redesign the iServoy page
First Launch
  • On first launch, after the Welcome screen the Servoy Design perspective will show with all parts minimized and only the iServoy and the CheatSheet views showing
Servoy Developer UI
  • CVS team support has been removed (can be added again when needed through standard Eclipse update mechanism)
  • Java related features of Eclipse have been hidden from view
  • Toolbars related to Form editing have been inlined into the Form Editor
  • Added Color/font chooser Toolbar
  • Reordered default toolbar positions to achieve a more steady ToolBar when switching between different types of Editors
  • Preferences:
    • Merged "Window > Preferences > Servoy > Team settings" to "Window > Preferences > Team > Servoy Team Provider"
    • Removed "Window > Preferences > Servoy > Services" as they are not relevant within Servoy Developer
  • Hidden several not usefull MenuItems, like File > Convert line Delimiters ....
  • Moved MenuItems from Elements menu under the Actions Menu on the MenuBar
  • Moved the Debug Client Launch MenuItems from the Actions menu to the Run menu
  • Removed custom "New Form" option in the main toolbar and moved the New .... options into the default Eclipse mechanism for "New ..." operations (File > New or New button on toolbar or Alt-Shift-N keyboard shortcut)
  • Removed Classic Search view: Search can be triggered through keyboard shortcuts as well as though buttons in the main toolbar area and the menubar 
  • Renamed "Profiler View" to just "Profiler"
  • Hidden the Profiler view by default
  • Moved Tasks view next to Bookmarks view
  • Improved enabling/disabling of Solution Explorer nodes, menuItems & ToolBar buttons based on the current context
  • Better visual feedback on which nodes are enabled/disabled in the Solution Explorer
  • Cleaned up and aligned the Context menu's of the Form and Method Editors, to show only relevant entries and to follow the same menuitem order
Form Editor
  • Inlined all Form Editing toolbars into the Form Editor.
    Note: through the Form Editor Preferences the toolbars can be show in the main toolbar area again
  • Added a Palette to the Form Editor, for easier element selection and placement
    • Supports Drag 'n' Drop of elements
    • Supports "click select - click place" way of placing elements
    • Supports placing the same element multiple times by holding down the Control-key while dropping/placing 
    • Content of Palette is fully customizable: new drawers can be added or new elements can be added to existing drawers, order of drawers and elements can be altered, drawers and elements can be made visible or hidden
    • Servoy-aware beans automatically show up in a "servoy Beans drawer"  
    • Non-aware Java Swing components are in a separate drawer, hidden by default
    • The display and behavior of the Palette is fully customizable
    • The Palette can be inlined in the Form Editor (by default) or can be added to the Perspective as a regular view. In the latter case, the Palette will be automatically removed from the Form Editor. When the view is removed from the Perspective, the Palette will appear in the From Editor again automatically. 
  • Added alignment snapping guides for easier placement of elements:
    • The alignment snapping guides are like the grid snapping guides, but then the snapping is based on proximity to existing elements of the form and/or the form edges.
    • The snapping guides offer three configurable offsets and one configurable indentation size
    • Optionally, Smart Anchoring can be turned on: Smart Anchoring will automatically set the anchoring properly when aligning an element with one of more edges of the Form  
  • Turned of Grid by default, since the new context aware snapping guides make the grid redundant
  • Added option to remove the Rulers
  • Added the drawing of the Form border
  • Added form offset inside the editor viewport, for drawing the Form Border
  • Added Same Width/Same Height options
    • Available as buttons on the toolbar
    • Available as entries in the context menu of the Form Editor
    • Available as keyboard shortcuts (Shift-W & Shift-H)
  • Added Same Width/Same Height feedback on elements in the Form Editor, based on the selected element
  • Added "Snapping mode" shortcut on the toolbar to quickly toggle the Alignment mechanism to use:
    • None
    • Grid
    • Alignment (default)
  • Added "Toggle Feedback options" shortcut on the Toolbar to toggle the Form Editor feedback preferences:
    • Show anchoring feedback (default = true)
    • Show alignment feedback (default = true)
    • Show same size indicators (default = true)
    • Show Grid (default = false)
  • Added keyboard shortcuts for:
    • Wiki Markup
      Send to Back/Bring to Front (resp. Control-\] & Contrl-\[)
    • Group/Ungroup (resp. Control-G & Control-U)
    • Same Height/Same Width (resp. Shift-H & Shift-W)
    • Anchoring Top - Right - Bottom - Left (resp. Control-, Control*, Control-+ & Control-/)
    •  

To be done: 

  • Make it possible to add new Drawers to the Palette
  • Make it possible to drag Forms from the Solution Explorer directly onto existing Tabpanels/TablessPanels/SplitPanels in the Form Editor 
Script Editor
CSS Editor
Miscellaneous 
  • 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) 

Solution development

...

JSDoc

  • Added @this annotation in JSDoc to type the 'this' keyword 
  • Added @override to annotate methods as overriding a method on a super form
  • Added functions marked as constructor using the @constructor JSDoc tag as types in CodeCompletion globally. Note that it is not needed to access the type through it's fully qualified path (so scopes.xxxxx.myType). Instead just type the name of the function and when Code Completing, the scopes.xxx part of the path will be automatically inserted
  • Added @enum support to mark an object containing a set of values as an enumeration, which can then be used in relations again
  • Added the * type to be able to make a distinction between the lowest common denominator in JavaScript, which is Object and non-JavaScript types (for example Servoy's built-in types)
  • Improved support for using types in JSDoc cross scopes. When a scope contains a function MyType which is marked as constructor, it can now be references inside the scope within JSDoc as just MyType, without prefixing it with the fully qualified path and outside the scope with the fully path, without the build system raising warnings that MyType != scopes.xxxx.MyType

Build system improvements

  • Improved the build mechanism to resolve forward references in .js files and thus not generate builder markers
  • Generate builder markers for usage of deprecated variables and methods outside of the scripting layer (Think table lookup value, column converters etc.)
  • Generate builder markers for invalid calls to functions marked as constructor

Misc.

  • Updated the Unit Test view to be able to:
    • rerun a failed test, or a subtree from a failed solution from the results view
    • double click (or right click-> go to file) on a test/form/scope to open the container script
    • view history of test runs and rerun any of them
  • Support Code Completion of a single statement spread out over multiple lines

Solution Development

Note
titleBehavior Changes

Servoy 7 introduces several behavior changes compared with previous Servoy verions:

  • SVY-3673 In Client Design mode, forms do not loose their Client Design state when hidden from the UI and then shown again
  • SVY-3787 In find mode or when using table/foundsetFilters, the value will be converted using the column's Column converter (if the column has one) before it is used in SQL. Before, the value was added 'as is' to the SQL which meant that the value had to be converted manually in scripting
  • Due to renewal of our code-signing certificate, which comes with mandatory OCSP which in not supported by Java 5, the minimum Java version for Servoy 7 and up is Java 6
  • Added placeholder support on TextFields, TextAreas & PasswordFields support in all clients (See http://webdesignerwall.com/demo/html5-placeholder-text/ for an example what a PlaceHolder is)
  • Added mnemonic support on Tabs of a TabPanel and Panes of an AccordionPane
  • Added RightClick and DoubleClick event handling support to Client Design mode
  • Added move cursor to movable elements in Client Design mode
  • Added max length support on text fields through the field's format property
  • Added support on text fields to specify in the formatter which characters are allowed to be entered, when using the '*' in the Display Format
  • Added support to use values from a variable containing an object with values in relations. Example:
    With the code below, in a relation the value of one of the status codes can be used, by using STATUS_CODE.ACTIVE

    Code Block
    /**
     * @enum
     */
    var STATUS_CODES = {
      ACTIVE: 1,
      INACTIVE: 2
    }
    
  • Added databaseManager.getDataModelClonesFrom function to make the functionality available in all clients (similar function was already available in the Maintanance plugin, but the maintenance plugin is to be used only inside Batch Processors)
  • Added JSDataSet.getColumnType
  • Added JSFoundSet.alldataproviders
  • Added databaseManager.getDataSource for convenience
  • Added orientation constants to JSTabPanel
  • Added JSRelation.FULL_JOIN constant to be used with QBSelect
  • Added JSRelation.RIGHT_OUTER_JOIN to be used with QBSelect 
  • Added JSRelationItem.LITERAL_PREFIX to be used with QBSelect
  • Added JSRecord.hasChangedData
  • Added JSRecord.isNew
  • Added JSTable.isMetaDataTable
  • Added JSTableObject.isMetadataTable
  • Added plugins.headlessclient.getOrCreateClient to get an existing client for a specified UUID or create and return a new client with the specified ID if it not already exists
  • Added executeAsyncRequest to all request types of the HTTP plugin 
  • Added sendBulkMail to send out emails with the bulk mail Precendence header set to Bulk, to prevent getting replies from auto-reponders
  • Added QBWhereCondition to allow modifying the where clause of QBSelect objects
  • Added concat method on QBAggregate, QBColumn, QBFunction and QBFunctions
  • Added clear method on QBGroupBy, QBResult and QBSorts
  • Added QBSelect.clearHaving
  • Added support for specifying the size of formPopups when showing the popup through plugins.window.showFormPopup
  • Added JSForm.removeMethod
  • Added JSForm.removeVariable
  • Added Utils.stringToNumber variant with decimal support
  • Added databaseManager.addTableFitlerParam variants that take a datasource string as parameter
  • Added parameter to databaseManager.createDataSourceByQuery variants that work with a sql string to specify the column types
  • Added UICONSTANTS.TABLEVIEW_WC_SCROLLABLE_KEEP_LOADED_ROWS
  • Added JSCalculation.hasFlag to retrieve is a calculation is of type UUID (annotated in JSdoc with @type {UUID})
  • Added controller.showRecords variants that specify the records using a QBSelect statement
  • Made scopes lazy loading, to improve performance

Installation

  • Added option to the last page of the installer to launch Servoy Developer