CHANGELOG 15.6 KB
Newer Older
Renaud Le Gac's avatar
Renaud Le Gac committed
1 2
--------------------------------- CHANGE LOG ----------------------------------

3
HEAD
LE GAC Renaud's avatar
LE GAC Renaud committed
4

LE GAC Renaud's avatar
LE GAC Renaud committed
5 6 7
0.7.0 (Jul 2015)
   - Add the new widget preferences.

LE GAC Renaud's avatar
LE GAC Renaud committed
8
0.6.3 - 0.6.5 (Apr 2015 - June 2015)
LE GAC Renaud's avatar
LE GAC Renaud committed
9
   - Migrate the Python API documentation from epydoc to Sphinx.
LE GAC Renaud's avatar
LE GAC Renaud committed
10
   - Move the reference manual from plugin_dbui_book.
legac's avatar
legac committed
11
   - Adapt buildVersion.py to the new git branching model
LE GAC Renaud's avatar
LE GAC Renaud committed
12
     and rename it build_version.py
LE GAC Renaud's avatar
LE GAC Renaud committed
13 14 15
   - Update the address of the git repositories to the GitLab ones.
   - Add the plugin.dbui variable app_git.
   - Protect default field value against callable.
LE GAC Renaud's avatar
LE GAC Renaud committed
16

LE GAC Renaud's avatar
LE GAC Renaud committed
17
0.6.2.7 (Mar 2015)
LE GAC Renaud's avatar
LE GAC Renaud committed
18 19
   - Requires plugin_ace 1.1.8.
   - Add the constant INLINE_ALERT.
20
   - pGridExport uses the latex package longtable instead of tabular.
LE GAC Renaud's avatar
LE GAC Renaud committed
21 22
     It also translate hyperlink using the hyperref package and has
     a more complete preamble.
LE GAC Renaud's avatar
LE GAC Renaud committed
23
   - Consolidate by rebasing bugs fixed and improvements coming from
24
     the ongoing migration to Ext JS 5.1.
25
   - Add the field App.form.field.DictMultiField and App.form.field.TextPicker.
LE GAC Renaud's avatar
LE GAC Renaud committed
26
   - The field App.form.field.Dict fires the event keychange.
LE GAC Renaud's avatar
LE GAC Renaud committed
27
   - Add the configuration option AceEditor.fontFamily.
LE GAC Renaud's avatar
LE GAC Renaud committed
28

LE GAC Renaud's avatar
LE GAC Renaud committed
29
0.6.1.14 (Dec 2014)
30 31
   - Add the plugin App.grid.plugin.Export.
   - Mask the whole viewport during loading a PanelWithUrlSelector.
LE GAC Renaud's avatar
LE GAC Renaud committed
32
   - Version data can be export via the plugin pGridExport.
LE GAC Renaud's avatar
LE GAC Renaud committed
33
   - Add the validator IS_IN_USET.
LE GAC Renaud's avatar
LE GAC Renaud committed
34
   - Add the callback INHIBIT_DELETE_UNDEF, INHIBIT_UPDATE_UNDEF
LE GAC Renaud's avatar
LE GAC Renaud committed
35 36 37
   - 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.
LE GAC Renaud's avatar
LE GAC Renaud committed
38 39 40
   - 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.
LE GAC Renaud's avatar
LE GAC Renaud committed
41 42 43
   - The CheckBox associated to the boolean field is rendered initially checked
     when the default value is True.
   - Deactivate the contexmenu everywhere in the ViewPort.
LE GAC Renaud's avatar
LE GAC Renaud committed
44

LE GAC Renaud's avatar
LE GAC Renaud committed
45 46 47
0.6.1.7 (Sep 2014)
   - Use inline script and Ext.grid.Panel to display software versions
     as well as documentation.
48
   - Migrate to HTML5 sysntax.
LE GAC Renaud's avatar
LE GAC Renaud committed
49
   - Remove some obsolete code and import.
50

LE GAC Renaud's avatar
LE GAC Renaud committed
51 52 53
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.
54 55 56 57
  - 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.

LE GAC Renaud's avatar
LE GAC Renaud committed
58
0.6.1.3 (Jun 2014)
59
  - Add protection in CLEAN_COMMA and CLEAN_SPACES.
60
  - Add the configuration panelLayout, panelLoader and selectorLayout to
LE GAC Renaud's avatar
LE GAC Renaud committed
61
    the BaseWithSelector class.
62

LE GAC Renaud's avatar
LE GAC Renaud committed
63
0.6.1.1 (Mar 2014)
64 65
  - Consolidation version

legac's avatar
legac committed
66 67 68 69 70
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.

LE GAC Renaud's avatar
LE GAC Renaud committed
71
0.6.0.19 (Mar 2014)
LE GAC Renaud's avatar
LE GAC Renaud committed
72 73
  - Major release running with ExtJS 4.2.1
    It is not compatible with with previous versions running wiht ExtJS 3.4.
74 75
    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.
LE GAC Renaud's avatar
LE GAC Renaud committed
76

77 78
  - the main evolutions / uncompatibilities are:

79 80
        + Modifier.append_plugins → Modifier.configure(plugins=[x,..])

81 82 83 84
        + It is recommended to setup the width of all forms:
          dbui.configure_forms(db, width=300).

        + Do not use Spacer in FormModifier.merge_fields.
85
        + The extjs flex configuration is not required anymore in
86
          FormModifier.merge_fields.
87

88 89 90 91 92 93 94
        + 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
95
        + pGridMathJax → pMathJax
96 97 98 99 100 101 102 103

        + 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.

104 105 106
        + Remove IFRAME stuff in controller and define extField in
          the PanelWithUrlSelector configuration.

107 108 109
        + Replace the configuration parameter PanelWithUrlSelector.isMathJax
          by plugins=['pMathJax'].

LE GAC Renaud's avatar
LE GAC Renaud committed
110 111
0.4.15.2 (Oct 2013)
  - Release only compatible with ExtJS 3.4.1.1 but identical to 0.4.15.1.
112
  - Deploy the limited part of new ExtJS class model available in 3.4.1.1.
legac's avatar
legac committed
113 114 115

0.4.15.1 (Oct 2013)
  - Release compatible with ExtJS 3.4.0 and 3.4.1.1.
116
  - Javascript documentation is generated using JSDuck.
117
  - Clicking on a viewport node can create a Tab or a standalone window.
118
  - Modify the reference mechanism for button using itemId instead of ref.
LE GAC Renaud's avatar
LE GAC Renaud committed
119
  - New experimental widgets Ext.form.AceEditorField, Ext.Form.DictField
legac's avatar
legac committed
120
    and Ext.Form.ListField.
legac's avatar
legac committed
121

LE GAC Renaud's avatar
LE GAC Renaud committed
122
0.4.14.1 (Sep 2013)
123
  - The viewport can open a tab at startup.
124
  - Automatic loggout when the page is refreshed and closed.
125
  - In the App.GridPanel a new record is inserted after the selected one.
126
  - None node can be added in the ViewportModifier.
legac's avatar
legac committed
127
  - Redesign the App.ViewportLogin plugin.
LE GAC Renaud's avatar
LE GAC Renaud committed
128
  - Fix a bug in the converter to_gridfilter related to LinkedCombox.
LE GAC Renaud's avatar
LE GAC Renaud committed
129

LE GAC Renaud's avatar
LE GAC Renaud committed
130
0.4.13.2 (Jul 2013)
131
  - Table callback _before_delete, _before_insert and  _before_update
LE GAC Renaud's avatar
LE GAC Renaud committed
132
    are handle by the DbSvc service. It alertis the user when the action is
133 134 135 136
    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.
137
  - Clean the reset procedure when destroying grid and its plugins
LE GAC Renaud's avatar
LE GAC Renaud committed
138
  - More efficient algorithm to count the total number of records for a table.
legac's avatar
legac committed
139

LE GAC Renaud's avatar
LE GAC Renaud committed
140
0.4.12.6 (Jun 2013)
legac's avatar
legac committed
141
  - Minor consolidation release.
142
  - Fixed a bug in the xcombobox.
143
  - Improve compliance with JSLint rules.
LE GAC Renaud's avatar
LE GAC Renaud committed
144
  - Implement the destroy mechanism to purge event listeners
LE GAC Renaud's avatar
LE GAC Renaud committed
145
    for embedded components and a destroyPlugin for grid plugins.
LE GAC Renaud's avatar
LE GAC Renaud committed
146
  - Add a App.form.FormPanel.softReset and App.grid.GridWithFilter.onCollapse.
LE GAC Renaud's avatar
LE GAC Renaud committed
147
  - The App.grid.GridFilter and paging are now reset when destroy.
LE GAC Renaud's avatar
LE GAC Renaud committed
148 149
  - Improve the ToolTips handling.
  - Add the helper function dummy_row.
150

LE GAC Renaud's avatar
LE GAC Renaud committed
151
0.4.12.2 (Apr 2013)
152
  - Major consolidation release which is not backward comaptible
LE GAC Renaud's avatar
LE GAC Renaud committed
153 154 155 156
  - 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.
157
  - Replace obsolete "local_import" by the conventional "import plugin_dbui".
158
  - More user friendly syntax for FieldsModifier.link_comboxes method.
159
  - More robust version of the helper function get_version.
LE GAC Renaud's avatar
LE GAC Renaud committed
160
  - Create the filters module and the filter CLEAN_SPACES.
LE GAC Renaud's avatar
LE GAC Renaud committed
161
  - Fix a bug in the App.grid.RowEditor duplicating forms in the main window.
162

LE GAC Renaud's avatar
LE GAC Renaud committed
163 164
0.4.11.1 (Mar 2013)
  - Deploy the javascript statement "use strict" (JSLINT)
165
  - Upgrade to run with alias table.
LE GAC Renaud's avatar
LE GAC Renaud committed
166
  - Better syntax to define foreign key.
LE GAC Renaud's avatar
LE GAC Renaud committed
167
  - Fix a bug in App.BasePanelWithSelector for IE.
LE GAC Renaud's avatar
LE GAC Renaud committed
168
  - Javascript is almost compliant with JSLINT rules.
LE GAC Renaud's avatar
LE GAC Renaud committed
169
  - DirectSvc exceptions are logged in the web2py ticket system.
LE GAC Renaud's avatar
LE GAC Renaud committed
170 171
  - Polish dbsvc service. It can process several records in create
    and update transactions.
LE GAC Renaud's avatar
LE GAC Renaud committed
172
  - Fix a bug in App.form.Panel.onStoreException and improve it.
LE GAC Renaud's avatar
LE GAC Renaud committed
173

LE GAC Renaud's avatar
LE GAC Renaud committed
174
0.4.10.1 (Dec 2012)
LE GAC Renaud's avatar
LE GAC Renaud committed
175
  - Bug fixed
legac's avatar
legac committed
176
  - Improve PanelWithUrlSelector class (selectorTitle, selectorRegion)
LE GAC Renaud's avatar
LE GAC Renaud committed
177
  - The plugin pGridExport is replaced by pGridExpertMemu.
LE GAC Renaud's avatar
LE GAC Renaud committed
178 179
  - Several improvement handling the number of rows and reset in
    DirectStore, Grid, GridFilter, pGridPaging and pGridExpertMenu.
LE GAC Renaud's avatar
LE GAC Renaud committed
180
  - Improve the handling of LinkedComboBox.
181

LE GAC Renaud's avatar
LE GAC Renaud committed
182
0.4.9.7 (Nov 2012)
LE GAC Renaud's avatar
LE GAC Renaud committed
183
  - Major release with several improvements.
184
  - New syntax for grid filter via the method GridModifier.append_filter.
LE GAC Renaud's avatar
LE GAC Renaud committed
185
  - Improve the files organization for the model and javascript code.
LE GAC Renaud's avatar
LE GAC Renaud committed
186
  - Enable tab scrolling in viewport.
LE GAC Renaud's avatar
LE GAC Renaud committed
187 188 189
  - Add the possibility to configure an Ext.data.ArrayStore in the model.
  - Add a new widget LinkedComboBox and new method link_comboboxes
    in FormModifiers.
190
  - Add a plugin pRegExp and remove custom widget app.form.TextField
LE GAC Renaud's avatar
LE GAC Renaud committed
191
    and app.form.TextArea.
LE GAC Renaud's avatar
LE GAC Renaud committed
192
  - Add a new python class Selector to help building reports.
LE GAC Renaud's avatar
LE GAC Renaud committed
193
  - improve store and row-editor messaging on exception.
LE GAC Renaud's avatar
LE GAC Renaud committed
194 195 196
  - add a converter to_panelWithUrlSelector.
  - New controller for software version plugin_dbui/versions.
  - Add modifiers persistency.
197
  - Add helper function get_create_id and get_id
198

legac's avatar
legac committed
199
0.4.8.2 (Jul 2012)
legac's avatar
legac committed
200
  - Consolidation version
201
  - Add a StoreModifier to handle the orderby directive
LE GAC Renaud's avatar
LE GAC Renaud committed
202 203
  - Add a plugins pFormToolTip, pGridRowEditorDblClick, pGridExport,
    pGridRowEditorConfirmDelete and pViewportLogin
legac's avatar
legac committed
204 205
  - Add the helper function get_versions
  - Redesign the bottom toolbar for grid to build toolbar with export
legac's avatar
legac committed
206
    and toolbar with paging+export.
legac's avatar
legac committed
207
  - Add options in App.BasePanelWithSelector to control the selector shape.
legac's avatar
legac committed
208
  - Add the possibility to filter on any foreign field.
209 210
  - Add app.form.TextField and app.form.TextArea to work with the
    regular expression validator IS_MATCH
211

legac's avatar
legac committed
212
0.4.6.1 (May 2012)
213 214 215
  - Minor release
  - Add the property timeout to App.PanelWithUrlSelector
  - Add constant UNDEF, UNDEF_ID and UNKNOWN
216

legac's avatar
legac committed
217
0.4.6 (Mar 2012)
legac's avatar
legac committed
218
  - Major release.
219 220 221 222 223
  - 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.
224
  - Add a reset button in the paging toolbar for grid.
225 226
  - Redesign the plugin parameters and the related index view.
  - Add a mechanism to extract report as latex of pdf files.
legac's avatar
legac committed
227
  - Bugs fixed.
228

Renaud Le Gac's avatar
Renaud Le Gac committed
229 230
0.4.5 (Feb 2012)
  - Consolidation version
231
  - Polish code and documentation as well as bug fixed
Renaud Le Gac's avatar
Renaud Le Gac committed
232 233 234 235 236
  - 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
237

238
4.3.0 (Dec 2011)
Renaud Le Gac's avatar
Renaud Le Gac committed
239
  - Major change which is not backward compatible
240
  - Add mechanism to transport database validators on the client side.
241
  - Improve the GridModifier to modify column parameters.
tux091's avatar
tux091 committed
242
  - Backport the 0.5.x viewport and remove obsolete javascript class
Renaud Le Gac's avatar
Renaud Le Gac committed
243 244 245 246 247 248 249 250 251 252 253 254
    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
255
  - Bugs fixed
256

257
0.4.2 (Oct 2011)
Renaud Le Gac's avatar
Renaud Le Gac committed
258
  - Migrate to git and to ExtJS 3.4
tux091's avatar
tux091 committed
259
  - Backport the modifiers syntax developped in the branch 0.5.x
Renaud Le Gac's avatar
Renaud Le Gac committed
260
  - Backport the 0.5.x look and feel for the row editor contex menu
tux091's avatar
tux091 committed
261
  - Bugs fixed
262

263
0.4.1 (Apr 2011)
Renaud Le Gac's avatar
Renaud Le Gac committed
264
  - Bugs fixed.
Renaud Le Gac's avatar
Renaud Le Gac committed
265
  - Add local files (fr-fr) for client and server sides.
Renaud Le Gac's avatar
Renaud Le Gac committed
266 267
  - Use the same sequence to load MathJax and ExtJS libraries.
  - Move to MathJax 1.1.0
268

269
0.4.0 (Mar 2011)
Renaud Le Gac's avatar
Renaud Le Gac committed
270 271 272
  - Major Consolidation to ease evolution and maintenance.
  - Introduce the generic service directSvc to handle Ext.Direct protocol
    and remove database and configuration controllers.
273
  - Redesign the controllers section (call, csv, debug, get_api, index, status)
Renaud Le Gac's avatar
Renaud Le Gac committed
274
    and the associated views (debug, index).
Renaud Le Gac's avatar
Renaud Le Gac committed
275 276 277 278
  - 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.
279
  - Re-visit plugins: App.grid.RowEditor, App.grid.RowEditorContextMenu
Renaud Le Gac's avatar
Renaud Le Gac committed
280
    and App.gridPaging
Renaud Le Gac's avatar
Renaud Le Gac committed
281
  - New button App.ButtonDownlod in order to download file from the server.
Renaud Le Gac's avatar
Renaud Le Gac committed
282
  - Add the version number id appbase.js
283

284
0.3.2 (Jan 2011)
Renaud Le Gac's avatar
Renaud Le Gac committed
285
  - Update the user documentation.
Renaud Le Gac's avatar
Renaud Le Gac committed
286 287
  - Plugin parameters for the application javascript source code and library.
  - Scripting capabilities are move to the plugin to the application layer
288
  - The viewport and composite fields can be configured in the python model.
Renaud Le Gac's avatar
Renaud Le Gac committed
289 290
  - Forms can be customized using embedded panels, i.e tabPanel.
  - Few bugs fixed
291

292
0.3.1 (Jan 2011)
Renaud Le Gac's avatar
Renaud Le Gac committed
293
  - refactoring the javascript code to be compliant with JSLint.
Renaud Le Gac's avatar
Renaud Le Gac committed
294
  - rename some python methods to be compliant with the PEP8 recommendation.
Renaud Le Gac's avatar
Renaud Le Gac committed
295 296 297
  - Introduce new Modifier tools based on classes to customize widgets.
  - Remove the first set of the Modifier tools based on function.
  - Few bugs fixed
298

299
0.3.0 (Dec 2010)
Renaud Le Gac's avatar
Renaud Le Gac committed
300 301 302
  - 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.
Renaud Le Gac's avatar
Renaud Le Gac committed
303 304
  - Use the MathJax library to render equation embedded in html.
    Add two plugins pPanelMathJax and pGridMathJax.
Renaud Le Gac's avatar
Renaud Le Gac committed
305
  - Add a grid filter using a form which is defined in the model.
Renaud Le Gac's avatar
Renaud Le Gac committed
306
  - Move to Ext JS 3.3.1
307
  - Add a minified version of the library.
308

309
0.2.3 (Nov 2010)
Renaud Le Gac's avatar
Renaud Le Gac committed
310 311
  - The configuration service handles the attributes Label, comment, readable,
  	writable and widget from the SQLField class.
312
  	Therefore automatic labeling have been removed for foreign keys.
Renaud Le Gac's avatar
Renaud Le Gac committed
313
  	Default widget are supersede by the widget dictionary.
Renaud Le Gac's avatar
Renaud Le Gac committed
314
  	Tool tip pops up when the comment field is defined.
315 316 317
  - 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.
Renaud Le Gac's avatar
Renaud Le Gac committed
318
  - Add internationalization for table and field names.
319

320
0.2.2 (Oct 2010)
Renaud Le Gac's avatar
Renaud Le Gac committed
321 322
  - Migrate to web2py 1.88.1 and ExtJS 3.3.0
  - Transform the code as a web2py plugin with the name plugin_dbui.
Renaud Le Gac's avatar
Update  
Renaud Le Gac committed
323 324
  - Add the dependence to the plugin_extjs.
  - Plug the CeCILL license and write the about.
325

326
0.2.1 (March 2010)
327 328 329 330
  - 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
331

332
0.2.0 (March 2010)
333
  - Major redesign of the application.
Renaud Le Gac's avatar
Renaud Le Gac committed
334
  - Migrate to web2py 1.75.1, ExtJS 3.1.1 and python 2.6.
335
  - New naming scheme for classes and plugins.
Renaud Le Gac's avatar
Renaud Le Gac committed
336
  - Standardize design to be compliant with the ExtJS component model:
337
    default properties, constructor, initComponent methods.
338
  - Use the Ext.Direct technology to retrieve configuration for
339 340 341 342 343
    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.
344
  - Redesign the JSonStore to use the new Ext.dat.JsonWriter
345 346 347 348 349 350
    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 !
351

352 353
 0.1.1
  - Tags revision 640 as 0.1.1
Renaud Le Gac's avatar
Renaud Le Gac committed
354
  - First prototype running with web2py 1.63 and ExtJS 2.2.1 (see also 0.1.0 log)