What is new on BDF Version 18
- New features
- Added import options : Import into project and import into application. Partial import is not completely supported. The workaround for this limitation is getting partial export
- Added import types for bdf objects
- create or replace
- create missing only
- Added Runtime menu creation and manipulation. By giving validated object xml, menus and menuItems can be created ,updated or deleted during runtime. New APIs are added to perform this operation. Please see "Developer API Changes" part below for details.
- New APIs are added to API_COMPONENT to get and set font record. Please see "Developer API Changes" part below for details.
- New APIs are added to API_TREENODE to get and set position of nodekey, next sibling nodeKey, previous siblinng nodeKey and parent nodeKey.Please see "Developer API Changes" part below for details.
- SSO support is implemented. Login name of the user can be retrieved by api_session.getremoteusername API.
- Caching Multilingual Domains on client-side is implemented for JavaScript renderer to improve performance. If you want to use this feature, please download zip file from BRIM-Objects Language Dialog in the IDE and extract it into your middle tier under the directory that contains the main.html file of BUI Middle Deployment.
- Bar Chart and Ring Chart components are added. Please read https://gerger.fogbugz.com/default.asp?W239 for mroe information in BUI-Charts
- ringChart component sample:
- <ringChart name="empSalRingChart" visible="N" title="Employee Salary Chart" categoryColumn="ENAME" column="SALARY" dataSource="emp"/>
- barChart component sample:
- <barChart name="barChart1" visible="Y" title="titletitletitle" xAxisLabel="xxx" yAxisLabel="yyy" categoryColumn="ENAME" dataSource="emp">
- <bar name="bar1" column="BONUS" label="bonus"/>
- <bar name="bar2" column="SALARY" label="salary"/>
- <legend visible="Y" position="Right"/>
- </barChart>
- Bug Fixes:
- Rows(and updates to the rows) in a datasource was being sent to the client side even though the datasource wasn't bound to any UI Components.
- Fixed a problem that occured in assigning a null value to a datasource column from a record list row. "Row id is invalid" exception will not be raised any more.
- If nodekeycolumn and displaycolumn attributes of a tree component are not defined, application will not throw an exception.
- Known Issues:
- Import Issues
- Applications which contain "#" and "space" character in their names can not be exported.
- Import into application may result in orphaned datasources. If target application and source application belong to different BRIM-Objects Projects (Rules), imported datasources are going to be orphaned.
- If BRIM-Objects Project (Rule) of a Datasource Definition in an import file, does not exist in the target Repository,then import will terminate unsuccessfully.
- While importing a datasource, if Datasource Definition of the datasource is not included into the export file or is not excluded from the import by the user,then import will terminate unsuccessfully.
- If query of the imported Datasource Definition is not valid on the target schema (a table of view may be missing on the target schema),then import will terminate unsuccessfully.
- If a datasource is excluded from an import and there are components referencing this datasource,then these components will lose their datasource bindings upon the successful completion of the import.
- Developer API Changes
- New attributes in_importOption_cd, in_projectOption_cd, in_applicationOption_cd are added to api_application.import
- validateObjectXML API is added to API_UTILITY. This APi can be used to validate the XML used to create run time menus.
- Listed APIs are added to API_MENUBAR
- createMenuBar
- createMenu
- createMenuItem
- createSeparator
- setMenuBar
- setMenu
- setMenuItem
- setSeparator
- deleteMenuBar
- deleteMenu
- deleteMenuItem
- deleteSeparator
- getMenuItemOrder
- setMenuItemOrder
- getClickedMenuItem
- Listed APIs are added to API_POPUPMENU
- createPopupMenu
- createMenu
- createMenuItem
- createSeparator
- setPopupMenu
- setMenu
- setMenuItem
- setSeparator
- deletePopupMenu
- deleteMenu
- deleteMenuItem
- deleteSeparator
- getMenuItemOrder
- setMenuItemOrder
- getClickedMenuItem
- in_primaryKey_tx parameters are added to api_component.setFontcolor API's to enable developers to update enable property of a component instance in a grid.
- getFont and setFont APIs are added to API_COMPONENT
- getRemoteUserName API is added to API_SESSION
- Listed APIs are added to API_TREENODE
- setPosition
- getPosition
- getParentNodeKey
- getNextSblingNodeKey
- getPrevSiblingNodeKey
- Attribute of API_TREE.addNode in_siblingNodeKey_tx is renamed to in_prevSiblingNodeKey_tx
- Attribute value of API_PANEL.setColumnCellWidth ,API_DIALOG.setColumnCellWidth ,and API_FRAME.setColumnCellWidth in_columnwidth_tx is limited. Its value can be percentage with range 0 to 100 (0%-100%) or can be any positive number.
- Internal Changes
- Attribute value of heigth_nr should set to be 0 if its value is null and docking_cd is "North" or "South" Which is used in "Borderlayout". Attribute value of width_nr should set to be 0 if its value is null and docking_cd is "East" or "West" Which is used in "Borderlayout". Script name with 014_BRIM_UI_Engine_Update_BorderLayout_Attributes that is exist BRIM-UI Engine Upgrade to v18 version directory can be used to update heigth_nr and width_nr values. P.S. This update is required for projects which use JavaScript Renderer. The projects which use Java Renderer MUST NOT run this script.