LEFT | RIGHT |
1 | 1 |
2 | 2 |
3 Tryton 1.4 is available | 3 Tryton 1.4 is available |
4 ======================= | 4 ======================= |
5 | 5 |
6 | 6 |
7 This new series comes up with new modules, security and performance | 7 This new series comes up with new modules, security and performance |
8 improvements as well as the SQLite support and welcome the arrival of | 8 improvements as well as the SQLite support and welcomes the arrival of |
9 Neso, the standalone version of Tryton. As usual, database migration | 9 Neso, the standalone version of Tryton. As usual, database migration |
10 is completely automated (and works on databases created with both the | 10 is completely automated (and works on databases created with both the |
11 1.0 and 1.2 series). Most of bugfixes from the last 6 months of | 11 1.0 and 1.2 series). Most of bugfixes from the last 6 months of |
12 developments have already been backported in the 1.0 and 1.2 series. | 12 developments have already been backported in the 1.0 and 1.2 series. |
13 | 13 |
14 | 14 |
15 Database Independence and SQLite Support | 15 Database Independence and SQLite Support |
16 ---------------------------------------- | 16 ---------------------------------------- |
17 | 17 |
18 Database handling and access get more and more generic. As a first | 18 Database handling and access get more and more generic. As a first |
19 alternative backend Tryton now offers support for SQLite. | 19 alternative backend Tryton now offers support for SQLite. |
20 | 20 |
21 * The server is now able to do the validation of the "NOT NULL" and | 21 * The server is now able to do the validation of the "NOT NULL" and |
22 field length constraints. It was necessary as SQLIte doesn't handle | 22 field length constraints. It was necessary as SQLite doesn't handle |
23 them yet. Moreover, it provides more user friendly error messages | 23 them yet. Moreover, it provides more user friendly error messages |
24 (in place of SQL error coming from the DBMS). | 24 (in place of SQL error coming from the DBMS). |
25 * Generalisation of the tables sequences handling and creation of | 25 * Generalisation of the tables sequences handling and creation of |
26 pagination clauses ("LIMIT" and "OFFSET"), those two concepts now | 26 pagination clauses ("LIMIT" and "OFFSET"), those two concepts now |
27 being independent of the DBMS. | 27 being independent of the DBMS. |
28 | 28 |
29 | 29 |
30 Neso | 30 Neso |
31 ---- | 31 ---- |
32 | 32 |
33 Neso is a standalone version of Tryton: Neso takes advantage of the | 33 Neso is a standalone version of Tryton: Neso takes advantage of the |
34 new SQLite support and integrates the client and server code of | 34 new SQLite support and integrates the client and server code of |
35 Tryton. So it's a pure desktop application with the rallied power of | 35 Tryton. So it's a pure desktop application with the rallied power of |
36 Tryton without the need to configure a separate server or | 36 Tryton without the need to configure a separate server or |
37 database. Neso is a perfect fit for single user usage or simply for | 37 database. Neso is a perfect fit for single user usage or simply for |
38 demonstration and testing purpose. | 38 demonstration and testing purpose. |
39 | 39 |
40 Another facility of Neso is the possibility of an automatic database | 40 Another facility that came with Neso is the possibility of an |
41 update after the restoration. | 41 automatic database update after the restoration. |
42 | 42 |
43 | 43 |
44 Security | 44 Security |
45 -------- | 45 -------- |
46 | 46 |
47 Security has been improved on various points: | 47 Security has been improved on various points: |
48 | 48 |
49 * Password prompt on password change to prevent abuse. | 49 * Password prompt on password change to prevent abuse. |
50 * Evaluation of code strings now prevents code injection. | 50 * Evaluation of code strings now prevents code injection. |
51 * Model access checks are also performed on property fields. | 51 * Model access checks are also performed on property fields. |
52 * The client now informs the server on user logout to prevent session | 52 * The client now informs the server on user logout to prevent session |
53 hijacking. | 53 hijacking. |
54 * Handling of read, write, create and delete permission on record | 54 * Handling of read, write, create and delete permission on record |
55 rules. | 55 rules. |
56 * Salted passwords imporving encryption robustness against rainbow | 56 * Salted passwords improving encryption robustness against rainbow |
57 table attacks. | 57 table attacks. |
58 | 58 |
59 | 59 |
60 Performance | 60 Performance |
61 ----------- | 61 ----------- |
62 | 62 |
63 Among the most important innovations, network communication and cache | 63 Among the most important innovations, network communication and cache |
64 handling have been improved: | 64 handling have been improved: |
65 | 65 |
66 * Gzip compression support for pysocket and XML-RPC queries on the | 66 * Gzip compression support for pysocket and XML-RPC queries on the |
67 server. | 67 server. |
68 * Use of the the gzip compression on the client side. | 68 * Use of the the gzip compression on the client side. |
69 * Cache improvement on the server: the cache has been moved from the | 69 * Cache improvement on the server: the cache has been moved from the |
70 "BrowseRecord" to the cursor, this ensure that each record is read | 70 "BrowseRecordList" to the cursor thus ensuring that each record is |
71 at most once in the same transaction. | 71 read at most once in the same transaction. |
72 * Fill the cursor cache on search prevents other read queries on same | 72 * Fill of the cursor cache on search prevents other read queries on |
73 records. | 73 same records. |
74 * New heuristic allowing to sharply reduce the length of queries | 74 * New heuristic allowing to sharply reduce the length of queries |
75 containing a lot of identifiers. | 75 containing a lot of identifiers. |
76 * Results are no more ordered if it's no more necessary. | 76 * Results are no more ordered if it's no more necessary. |
77 * Support of "delete_all" on "One2Many" fields allows the deletion of | 77 * Support of "delete_all" on "One2Many" fields allows the deletion of |
78 records without an extra read operation and brings more consistency | 78 records without an extra read operation and brings more consistency |
79 with the "Many2Many" field which has already this operator. | 79 with the "Many2Many" field which has already this operator. |
80 | 80 |
81 | 81 |
82 User Interface | 82 User Interface |
83 -------------- | 83 -------------- |
84 | 84 |
85 * Wizards optionally preserve their sizes from successive calls. | 85 * Wizards optionally preserve their sizes from successive calls. |
86 * Allow to reset user default values. | 86 * Allow to reset user default values. |
87 * Support for fields that contain time duration: they express hours | 87 * Support for fields that contain time duration: they express hours |
88 but may contain values like "1d" (1 day), "3w" (3 weeks) or "1m" (1 | 88 but may contain values like "1d" (1 day) or even "1w 2d 1:30" (1 |
89 month). | 89 week, two days and one and an half hour). |
90 * The status bar can be hidden. | 90 * The status bar can be hidden. |
91 * Wizard can be opened in tabs (instead of a pop-up). | 91 * Wizard can be opened in tabs (instead of a pop-up). |
92 * The user can choose to allow or disallow keyboard shortcuts | 92 * The user can choose to allow or disallow keyboard shortcuts |
93 (accelerators) creation from the main menu. | 93 (accelerators) creation from the main menu. |
94 * Keyboard navigation with keyboards arrows between widgets. | 94 * Keyboard navigation with keyboards arrows between widgets. |
95 * New filters "Starts with" and "Ends with" on fields containing | 95 * New filters "Starts with" and "Ends with" on fields containing |
96 strings. | 96 strings. |
97 * Selection fields only shows values that comply with the current | 97 * Selection fields only shows values that comply with the current |
98 domain. | 98 domain. |
99 | 99 |
(...skipping 30 matching lines...) Expand all Loading... |
130 ldap_authentication here under). | 130 ldap_authentication here under). |
131 * Temporary file names containing reports are now the report name | 131 * Temporary file names containing reports are now the report name |
132 itself. | 132 itself. |
133 * Backup creation and restoration are now possible for PostgreSQL | 133 * Backup creation and restoration are now possible for PostgreSQL |
134 connections that need a password. | 134 connections that need a password. |
135 | 135 |
136 | 136 |
137 New modules | 137 New modules |
138 ----------- | 138 ----------- |
139 | 139 |
140 * calendar: Add CalDAV support. | 140 * calendar: Add CalDAV support. Allows to define calendars and events |
141 * calendar_todo: Add Todo support on CalDAV. | 141 and sync them with all calendar clients supporting the CalDAV |
| 142 (http://en.wikipedia.org/wiki/CalDAV) protocol. |
| 143 * calendar_todo: Allow to create Todos (or tasks) and sync them with |
| 144 calendar clients. |
142 * company_work_time: Define work times in the company. | 145 * company_work_time: Define work times in the company. |
143 * google_translate: Translate items with Google Translate. | 146 * google_translate: Translate items with Google Translate. |
144 * ldap_authentication: Authenticate users with OpenLDAP and Active | 147 * ldap_authentication: Authenticate users with OpenLDAP and Active |
145 Directory. | 148 Directory. |
146 * ldap_connection: Add basic support for LDAP connection. | 149 * ldap_connection: Add basic support for LDAP connection. |
147 * party_vcarddav: Add CardDAV on parties. | 150 * party_vcarddav: Add CardDAV on parties. Allows to export contact |
148 * product_pricelist: Define price list rules by parties. | 151 information with the vCard format or to sync them with CardDAV |
149 * project: Project management. | 152 capable clients. |
| 153 * product_pricelist: Define price list rules. |
| 154 * project: Project management. Allow to define projects, link them to |
| 155 parties, define tasks and sub-tasks and track time spent on them. |
150 * project_revenue: Add product on timesheet lines and define allowed | 156 * project_revenue: Add product on timesheet lines and define allowed |
151 services for each employees. | 157 services per employee. |
152 * sale_pricelist: Define sale price list on party and sale order. | 158 * sale_pricelist: Define sale price list on party and sale order. |
153 * timesheet: Timesheet Module with: | 159 * timesheet: Define works and timesheet lines, comes with: |
154 - Work | 160 - Work |
155 - Timesheet line | 161 - Timesheet line |
156 | 162 |
157 And with reports: | 163 And with reports: |
158 - Hours per work, | 164 - Hours per work, |
159 - Hours per employee per week, | 165 - Hours per employee per week, |
160 - Hours per employee per month. | 166 - Hours per employee per month. |
161 | 167 |
162 | 168 |
163 New Features in Existing Modules | 169 New Features in Existing Modules |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 Half to even) | 201 Half to even) |
196 * Allow to call "compute" on "currency.currency" from XML-RPC: this | 202 * Allow to call "compute" on "currency.currency" from XML-RPC: this |
197 provides the currency conversions to external softwares. | 203 provides the currency conversions to external softwares. |
198 | 204 |
199 | 205 |
200 stock | 206 stock |
201 ~~~~~ | 207 ~~~~~ |
202 | 208 |
203 * New group of user "Stock Force Assignment": only members of this | 209 * New group of user "Stock Force Assignment": only members of this |
204 group will be allowed to force assignations. | 210 group will be allowed to force assignations. |
205 * Migrate "packing_in", "packing_out", etc tables to "shipment_in", | 211 * Migrate "packing_in", "packing_out", etc. tables to "shipment_in", |
206 "shipment_out", etc. This closes the wording correction started with | 212 "shipment_out", etc.. This closes the wording correction started with |
207 the 1.2 version of the module and provides more consistency between | 213 the 1.2 version of the module and provides more consistency between |
208 the labels shown to the user and the name of the tables. The goal | 214 the labels shown to the user and the name of the tables. The goal |
209 was to keep the module easy to understand and to maintain. | 215 was to keep the module easy to understand and to maintain. |
LEFT | RIGHT |