--------------------------------- CHANGE LOG ---------------------------------- HEAD 0.9.8.3 (Oct 2017) - Minor release. - Update linked comboBox to sort displayed values in alphabetic order. 0.9.8.2 (May 2017) - Minor release. - Bug fixed in converters.JSON_TYPES. - Bug fixed in Ext.form.Panel and Ext.form.field.Property. - Campaign to replace single by double quote. - Run pylint checker. - Factorize the model in classes. 0.9.8.1 (Apr 2017) - Minor update - Add the method Dbui.registerExtraTypesforField and Dbui.registerFieldsToJSON. - Add the class Dbui.form.field.Property. - Bug fixed in Selector.repr_url. 0.9.7 (Dec 2016) - Version is non backward compatible since a new mechanism is used to initialise the plugin. It relies on class Dbui to configure the plugin and to launch the directSvc. Remove the models/plugin_dbui.py file which is not needed any more. - Remove the controller plugin_dbui/debug. - Rename the controller plugin_dbui/documentations as documentations_table. - Add the controller plugin_dbui/documentations_list. - Add the helper function Dbui.getFields and uses it in the class Dbui.grid.Filter and Dbui.panel.WithUrlSelector. - Fix a bug in the method Dbui.form.field.Table.getValue. - Improve the converter to_panelWithUrlSelector to remove frozen options. - Add the LazyT converter in MyJsonEncoder. - Update GridWithFilter, WithUrlSelector and MathJax to mask the viewport. - The web2py lazy translation is working. 0.9.6 (Nov 2016) - Migrate to Ext JS 6.2.0 - Update configure_build to export the plugin MathJax 2.7.0 - Add Dbui.form.plugin.Mapper 0.9.4 (Oct 2016) - Fix AceEditor class in order to run with Ext JS 6 - Remove the JavaScript class DictMultiDefault. - Redesign the Dbui.grid.Filter class to work with any kind of layout. - Add the widget Dbui.form.field.Table. - Add the event 'change' to Dbui.form.field.List and Dict widgets. 0.9.2 (Sep 2016) - Add the base class Dbui.grid.plugin.ContextMenu 0.9.1 (Aug 2016) - Migrate to Ext JS 6.0.1.250 - Migrate to the new build system build-version6 in w2pext/utilities. 0.9.0 (Jun 2016) - Change the name space for the JavaScript code from App to Dbui. - Fix the latex conversion for special character. 0.8.3 (Jun 2016) - Migrate to web2py 2.14.6 and pyDAL 16.03. - Release requires web2py 2.14 or higher due to changes in pyDAL. - Update build_version to run third party tools via a docker container. 0.8.2 (Feb 2016) - Add missing files in the compressed version of the ace plugin. - Minor modification to run the application via a docker image. - Few bug fixed. 0.8.1 (Dec 2015) - Compliant with the navigator firefox and chrome - Relase non backward compatible. Signatures of methods have changed: App.buildDBURI, App.save, App.saveAs. In addition the download of pdf and png files required a base64 String encoding on the server side. 0.7.2 - 0.7.3 (Nov - Dec 2015) - Improve code compliance with pylint and jslint. - build_version can generate small size version of the plugin files. - Add the helper function inline_alert. - Display the versions of the matplotlib and pandas libraries - List widget follows the allowBlank construct. - Fix a bug in ComboBoxSlave.onMasterChange. 0.7.0 - 0.7.1 (Jul 2015) - Add the new widget preferences. 0.6.3 - 0.6.5 (Apr - June 2015) - Migrate the Python API documentation from epydoc to Sphinx. - Move the reference manual from plugin_dbui_book. - Adapt buildVersion.py to the new git branching model and rename it build_version.py - Update the address of the git repositories to the GitLab ones. - Add the plugin.dbui variable app_git. - Protect default field value against callable. 0.6.2.7 (Mar 2015) - Requires plugin_ace 1.1.8. - Add the constant INLINE_ALERT. - pGridExport uses the latex package longtable instead of tabular. It also translate hyperlink using the hyperref package and has a more complete preamble. - Consolidate by rebasing bugs fixed and improvements coming from the ongoing migration to Ext JS 5.1. - Add the field App.form.field.DictMultiField and App.form.field.TextPicker. - The field App.form.field.Dict fires the event keychange. - Add the configuration option AceEditor.fontFamily. 0.6.1.14 (Dec 2014) - Add the plugin App.grid.plugin.Export. - Mask the whole viewport during loading a PanelWithUrlSelector. - Version data can be export via the plugin pGridExport. - Add the validator IS_IN_USET. - Add the callback INHIBIT_DELETE_UNDEF, INHIBIT_UPDATE_UNDEF - Refresh the grid with the values stored on the server when a database operation failed. It is usualy due to invalid fields or most probably rejected by a callback. - Add the user reset functionality in the ComboBoxMaster class. Modify ComboBoxSlave and ComboBoxUserReset accordingly. In addition the first value of the store is load in the ComboBoxSlave. - The CheckBox associated to the boolean field is rendered initially checked when the default value is True. - Deactivate the contexmenu everywhere in the ViewPort. 0.6.1.7 (Sep 2014) - Use inline script and Ext.grid.Panel to display software versions as well as documentation. - Migrate to HTML5 sysntax. - Remove some obsolete code and import. 0.6.1.6 (Jul 2014) - Add protection to avoid Direct transaction with null TableId identifier It happens from time to time when the proxy is not yet ready. - Add the configuration paremeter resetFields in the RowEditorBase It allows to reset any fields when duplcating a record. - The defintion of a plugin can be superseed at any time when using Modifier. 0.6.1.3 (Jun 2014) - Add protection in CLEAN_COMMA and CLEAN_SPACES. - Add the configuration panelLayout, panelLoader and selectorLayout to the BaseWithSelector class. 0.6.1.1 (Mar 2014) - Consolidation version 0.6.1.0 (Mar 2014) - Consolidation version running with Ext JS 4.2.1 - Deploy the dynamic loading when running in debug mode. - Required fields in form are marked by a red start. 0.6.0.19 (Mar 2014) - Major release running with ExtJS 4.2.1 It is not compatible with with previous versions running wiht ExtJS 3.4. It relies on the new class system of the Ext JS 4 library as well as on the new naming scheme for the classes and for the files. - the main evolutions / uncompatibilities are: + Modifier.append_plugins → Modifier.configure(plugins=[x,..]) + It is recommended to setup the width of all forms: dbui.configure_forms(db, width=300). + Do not use Spacer in FormModifier.merge_fields. + The extjs flex configuration is not required anymore in FormModifier.merge_fields. + The configuration parameter height is not required in FormModifier.configure anymore when building TabPanel. + The row numbering for grid is activated by default. GridModifier.set_rownumbering(False) to inhibit it. + pGridExperMenu → pGridToolbar + pGridMathJax → pMathJax + GridModifier.set_filters → configure_filters + GridModifier.configure_gridWithFilter + Use the configuration autoLoad=URL('default', 'about') to load HTML page in Panel. More sofisticated methods are available using loader. + Remove IFRAME stuff in controller and define extField in the PanelWithUrlSelector configuration. + Replace the configuration parameter PanelWithUrlSelector.isMathJax by plugins=['pMathJax']. 0.4.15.2 (Oct 2013) - Release only compatible with ExtJS 3.4.1.1 but identical to 0.4.15.1. - Deploy the limited part of new ExtJS class model available in 3.4.1.1. 0.4.15.1 (Oct 2013) - Release compatible with ExtJS 3.4.0 and 3.4.1.1. - Javascript documentation is generated using JSDuck. - Clicking on a viewport node can create a Tab or a standalone window. - Modify the reference mechanism for button using itemId instead of ref. - New experimental widgets Ext.form.AceEditorField, Ext.Form.DictField and Ext.Form.ListField. 0.4.14.1 (Sep 2013) - The viewport can open a tab at startup. - Automatic loggout when the page is refreshed and closed. - In the App.GridPanel a new record is inserted after the selected one. - None node can be added in the ViewportModifier. - Redesign the App.ViewportLogin plugin. - Fix a bug in the converter to_gridfilter related to LinkedCombox. 0.4.13.2 (Jul 2013) - Table callback _before_delete, _before_insert and _before_update are handle by the DbSvc service. It alertis the user when the action is killed by a callback. - More robust version of App.form.FormPanel.onStoreException. It can deal with all types of error message (string, list, dictionary) and all messages are translated. - Clean the reset procedure when destroying grid and its plugins - More efficient algorithm to count the total number of records for a table. 0.4.12.6 (Jun 2013) - Minor consolidation release. - Fixed a bug in the xcombobox. - Improve compliance with JSLint rules. - Implement the destroy mechanism to purge event listeners for embedded components and a destroyPlugin for grid plugins. - Add a App.form.FormPanel.softReset and App.grid.GridWithFilter.onCollapse. - The App.grid.GridFilter and paging are now reset when destroy. - Improve the ToolTips handling. - Add the helper function dummy_row. 0.4.12.2 (Apr 2013) - Major consolidation release which is not backward comaptible - Review the python documentation using epytext. - Add an option in buildVersion to generate the epydoc documentation. - Remove the globals dictionary in the DirectSvc and DbSvc constructors. - Use the current.globalenv dictionary in directSvc and DbSvc. - Replace obsolete "local_import" by the conventional "import plugin_dbui". - More user friendly syntax for FieldsModifier.link_comboxes method. - More robust version of the helper function get_version. - Create the filters module and the filter CLEAN_SPACES. - Fix a bug in the App.grid.RowEditor duplicating forms in the main window. 0.4.11.1 (Mar 2013) - Deploy the javascript statement "use strict" (JSLINT) - Upgrade to run with alias table. - Better syntax to define foreign key. - Fix a bug in App.BasePanelWithSelector for IE. - Javascript is almost compliant with JSLINT rules. - DirectSvc exceptions are logged in the web2py ticket system. - Polish dbsvc service. It can process several records in create and update transactions. - Fix a bug in App.form.Panel.onStoreException and improve it. 0.4.10.1 (Dec 2012) - Bug fixed - Improve PanelWithUrlSelector class (selectorTitle, selectorRegion) - The plugin pGridExport is replaced by pGridExpertMemu. - Several improvement handling the number of rows and reset in DirectStore, Grid, GridFilter, pGridPaging and pGridExpertMenu. - Improve the handling of LinkedComboBox. 0.4.9.7 (Nov 2012) - Major release with several improvements. - New syntax for grid filter via the method GridModifier.append_filter. - Improve the files organization for the model and javascript code. - Enable tab scrolling in viewport. - Add the possibility to configure an Ext.data.ArrayStore in the model. - Add a new widget LinkedComboBox and new method link_comboboxes in FormModifiers. - Add a plugin pRegExp and remove custom widget app.form.TextField and app.form.TextArea. - Add a new python class Selector to help building reports. - improve store and row-editor messaging on exception. - add a converter to_panelWithUrlSelector. - New controller for software version plugin_dbui/versions. - Add modifiers persistency. - Add helper function get_create_id and get_id 0.4.8.2 (Jul 2012) - Consolidation version - Add a StoreModifier to handle the orderby directive - Add a plugins pFormToolTip, pGridRowEditorDblClick, pGridExport, pGridRowEditorConfirmDelete and pViewportLogin - Add the helper function get_versions - Redesign the bottom toolbar for grid to build toolbar with export and toolbar with paging+export. - Add options in App.BasePanelWithSelector to control the selector shape. - Add the possibility to filter on any foreign field. - Add app.form.TextField and app.form.TextArea to work with the regular expression validator IS_MATCH 0.4.6.1 (May 2012) - Minor release - Add the property timeout to App.PanelWithUrlSelector - Add constant UNDEF, UNDEF_ID and UNKNOWN 0.4.6 (Mar 2012) - Major release. - More general configuration for App.PanelWithUrlSelector. - Major redesign of the configuration section. Remove the CvtSvc and add two modules extjs and converter. The first one contains a serie of configurators mapping ExtJS components while the second one contained functions translating DAL object into ExtJS configurator. - Add a reset button in the paging toolbar for grid. - Redesign the plugin parameters and the related index view. - Add a mechanism to extract report as latex of pdf files. - Bugs fixed. 0.4.5 (Feb 2012) - Consolidation version - Polish code and documentation as well as bug fixed - Improve the configurator PanelWithUrlSlector and AppPanelWithSelector. - Script cpAdmin to add/remove the web2py admin file - Rename the plugin configuration parameters and add new ones. - Script to build and tag a new version of plugin_dbui - Add helper function get_file_paths and remove get_js_files 4.3.0 (Dec 2011) - Major change which is not backward compatible - Add mechanism to transport database validators on the client side. - Improve the GridModifier to modify column parameters. - Backport the 0.5.x viewport and remove obsolete javascript class and configuration method. - Add the concept of Node in the ViewPortModifier in order to handle panel displaying the content of an URL - Add new javascript class to handle UrlPanel and PanelWithSelector - Major redesign of the cfgSvc service to handle table in dummy database * Use the gluon.dal.Table and Field instead of tablename and fieldname * Rename cfgSvc as cvtSvc and all methods * break the foreign field service into a set of helper functions * break the setfield service into a set of helper functions * polish documentation and remove obsolete modules - Simplify the model (db, default, dummy, widget) - Add the helper function is_mathjax - Bugs fixed 0.4.2 (Oct 2011) - Migrate to git and to ExtJS 3.4 - Backport the modifiers syntax developped in the branch 0.5.x - Backport the 0.5.x look and feel for the row editor contex menu - Bugs fixed 0.4.1 (Apr 2011) - Bugs fixed. - Add local files (fr-fr) for client and server sides. - Use the same sequence to load MathJax and ExtJS libraries. - Move to MathJax 1.1.0 0.4.0 (Mar 2011) - Major Consolidation to ease evolution and maintenance. - Introduce the generic service directSvc to handle Ext.Direct protocol and remove database and configuration controllers. - Redesign the controllers section (call, csv, debug, get_api, index, status) and the associated views (debug, index). - Remove the configuration property model in grid, from and comboBox widgets. A unique store is attached to each table and instantiate once. - Redesign and simplify the client class App.grid.Grid, App.form.FormPanel, App.form.ComboBox and remove App.form.EntryFormPanel. - Re-visit plugins: App.grid.RowEditor, App.grid.RowEditorContextMenu and App.gridPaging - New button App.ButtonDownlod in order to download file from the server. - Add the version number id appbase.js 0.3.2 (Jan 2011) - Update the user documentation. - Plugin parameters for the application javascript source code and library. - Scripting capabilities are move to the plugin to the application layer - The viewport and composite fields can be configured in the python model. - Forms can be customized using embedded panels, i.e tabPanel. - Few bugs fixed 0.3.1 (Jan 2011) - refactoring the javascript code to be compliant with JSLint. - rename some python methods to be compliant with the PEP8 recommendation. - Introduce new Modifier tools based on classes to customize widgets. - Remove the first set of the Modifier tools based on function. - Few bugs fixed 0.3.0 (Dec 2010) - Customization of widgets and applications via the python model. Add many tools to help in the configuration at the python level. - Add a plugin to handle grid with paging. - Use the MathJax library to render equation embedded in html. Add two plugins pPanelMathJax and pGridMathJax. - Add a grid filter using a form which is defined in the model. - Move to Ext JS 3.3.1 - Add a minified version of the library. 0.2.3 (Nov 2010) - The configuration service handles the attributes Label, comment, readable, writable and widget from the SQLField class. Therefore automatic labeling have been removed for foreign keys. Default widget are supersede by the widget dictionary. Tool tip pops up when the comment field is defined. - The convention to encode a database field in store and widget is TableField. In previous version it was Field or TableField depending on the context. - Use the widget numberfield for integer and double. - Add internationalization for table and field names. 0.2.2 (Oct 2010) - Migrate to web2py 1.88.1 and ExtJS 3.3.0 - Transform the code as a web2py plugin with the name plugin_dbui. - Add the dependence to the plugin_extjs. - Plug the CeCILL license and write the about. 0.2.1 (March 2010) - consolidation version - improve protocol between the store and the database allowing any kind of transactions: read, destroy, update, create and select. - restore the debug mode 0.2.0 (March 2010) - Major redesign of the application. - Migrate to web2py 1.75.1, ExtJS 3.1.1 and python 2.6. - New naming scheme for classes and plugins. - Standardize design to be compliant with the ExtJS component model: default properties, constructor, initComponent methods. - Use the Ext.Direct technology to retrieve configuration for forms and grids from the server. - Introduce the property "model" for all widgets for which a configuration can be retrieved from the server. - Introduce many plugins to add functionalities in viewport and gridPanel like a RowEditor. This approach should also ease the maintenance. - Redesign the JSonStore to use the new Ext.dat.JsonWriter and modify the server side accordingly. - Add a new widget App.form.SetBox to handle values of database "set field". - Add a set of script to play/debug individual components. - Rename the service on the server side CfgSv and DbSvc. Launch them at startup. - Simplify the code as far as possible ! 0.1.1 - Tags revision 640 as 0.1.1 - First prototype running with web2py 1.63 and ExtJS 2.2.1 (see also 0.1.0 log)