c9353b46dbappy.gen: integrated tinyMCE; appy.gen: Ref.shownInfo can now specify column widths (ie, 'title*70%'); appy.gen: updated default page and field layouts; appy.gen: stop generating label for back references it not needed.
Gaetan Delannay
2011-09-28 21:17:15 +0200
93619dafe1appy.gen: reworked management of Ref fields, that do not use Archetypes and reference catalog anymore. appy.gen: added a mechanism for migrating from one Appy version to another, automatically, when reinstalling an Appy application.
Gaetan Delannay
2011-09-26 21:19:34 +0200
eceb9175fdappy.bin: backup.py: added the possibility to define login and password for SMTP authentication (the script allows to send mail); appy.pod: added the possibility to specify size of images to import (see https://answers.launchpad.net/appy/+question/171846).
Gaetan Delannay
2011-09-24 12:53:33 +0200
96a592f125appy.pod: bugfix when importing images under Windows (https://answers.launchpad.net/appy/+question/171611); appy.gen: bugfix while validating file fields which are mandatory; stopped using uid_catalog and added index 'UID' in portal_catalog; bugfix while searching objects in the limits of a Ref field; display user info in the main template (name, id, roles); when creating an object from a reference, after creation, appy brings the user back to the view page where the Ref field was.
Gaetan Delannay
2011-09-20 19:21:48 +0200
7ff56a6520Continued work on new Appy GUI.
Gaetan Delannay
2011-09-18 15:00:05 +0200
48acf65bdcappy.gen: continued work on Appy-specific template.
Gaetan Delannay
2011-09-15 15:52:21 +0200
b6dcc42038appy.gen: use new index 'getState' for indexing object states; reduced size of generated file config.py; optimized debug mode: class reload is not done automatically: a 'refresh' icon is available on view and edit views.
Gaetan Delannay
2011-09-14 21:01:58 +0200
9258b76bdfappy.gen: do not generate _action_ok and action_ko i18n messages anymore; added param Group.label, similar to Type.label; allowed to specify in param Group.wide any table width.
Gaetan Delannay
2011-09-11 01:59:22 +0200
5be03c2ed4appy.gen: bugfixes in the new workflow engine and in macro 'history'.
Gaetan Delannay
2011-09-09 17:39:58 +0200
1cd9aaaf69appy.gen: implemented a variant of Zope's 'has_permission' in method called 'mixin.allows', which does not make some assumptions, like the fact that an admin is Owner of any object or the fact that an Authenticated user has also role Anonymous; added button 'refresh security' for refreshing security information on every database object (it is needed because Zope requires us to duplicate security info on every object).
Gaetan Delannay
2011-09-08 16:33:16 +0200
d2d3f9a745appy.gen: removed from some pages superfluous translations of inexistent labels.
Gaetan Delannay
2011-09-07 09:56:53 +0200
b9c6283d9eappy.gen: stopped generating properties on wrapppers by setting AbstractWrapper as new-style class and using __getattribute__.
Gaetan Delannay
2011-09-07 01:33:09 +0200
3c95ac083dappy.gen: added, for every Type, param 'label' allowing to specify an existing i18n label (the one from another field for instance), thus avoiding to generate i18n labels for this Type; optimized generation of appyWrappers.py (more than twice less code).
Gaetan Delannay
2011-09-06 21:46:57 +0200
813b47843cappy.shared: dicts can now be marshalled/unmarshalled.
Gaetan Delannay
2011-09-06 10:23:56 +0200
7514eb31a9appy.pod: bugfix in html2odt: in some situations, while using stylesMappings, some empty tags were present in the result, producing a superflous empty paragraph; bugfix while importing PNG files under Windows; appy.gen: began to implement a new global Appy-specific page template and styles.
Gaetan Delannay
2011-09-02 09:59:49 +0200
ddec7cd62cappy.gen: workflows are now implemented as full Appy worlflows. Plone (DC) workflow are not generated anymore. From the Appy user point of view (=developer), no change has occurred: it is a pure implementation concern. This is one more step towards Appy independence from Plone.
Gaetan Delannay
2011-07-26 22:15:04 +0200
93eb16670bappy.gen: in the default context of any pod field, added function '_' corresponding to obj.translate; appy.gen: xhtml2odt bugfix: when a <div> was contained in <ol><li> or <ul><li>, the whole function ouput was an empty string.
Gaetan Delannay
2011-07-07 09:43:16 +0200
02fce03143appy.pod: optimized image importing: when an image is imported several times in a pod template through a call to 'do ... from document(at=path)', pod inserts only one copy of the file into the ODT result.
Gaetan Delannay
2011-07-02 11:46:49 +0200
e38b78d10cappy.bin: job.py: allow to specify several commands to execute (to separate with semicolons); appy.gen: translate: added the possibility to escape XML special chars in translations; appy.pod: bugfix in buffers.write: if content is already utf-8-encoded it does not crash anymore.
Gaetan Delannay
2011-06-28 09:12:20 +0200
de8df53f42appy.gen: xhtml2odt: better management of 'div' tag (considered exactly like a 'p' tag).
Gaetan Delannay
2011-06-17 01:44:42 +0200
791ee42164appy.gen: added a session invalidation mechanism: authenticated users will be automatically logged out when their Zope session will expire; improvements in the CodeAnalysis system: more Zope-related extensions are recognized: .vpy, .cpy for Python files, .cpt for Zope Page Templates.
Gaetan Delannay
2011-06-10 17:20:09 +0200
b9e07f8c1cappy.bin: added a script for checking a LDAP connection; appy.gen: bugfix in xhtml2odt conversion (algorithm for checking ODT-invalid subtag hierarchies); appy.gen: xhtml2odt conversion: force continue-numbering to 'false' for every numbered list.
Gaetan Delannay
2011-05-20 16:20:49 +0200
bce384e2daappy.gen: added param 'maxChars' for any Type, allowing to limit the amount of data in user input fields. Wherever possible, it is implemented using HTML attribute 'maxlength'; on server-side, content that is bigger than specified by maxChars is truncated (ie, it is not possible to force a maxlength for html textareas); implemented a first protection against XSS attacks (Javasscript detection in user input).
Gaetan Delannay
2011-05-05 16:44:06 +0200
9e7ddcc771appy.shared: added support for country codes (iso-3166-1) - appy.gen: non-string variables are now allowed in i18n variable replacements; bugfix while browsing translation pages with the 'next' arrows in 'edit' mode.
Gaetan Delannay
2011-04-26 20:49:33 +0200
4e848ce0a8appy.pod: added param 'stylesMapping' for the 'text' function (which calls 'xhtml' internally); appy.gen: bufgix in the translation system (translation of group-related labels); appy.shared.dav: bugfix while getting the 'content-type' HTTP header key; appy.shared.dav: smart error handling when parsing wrong XML content.
Gaetan Delannay
2011-04-15 11:26:20 +0200
36237c3ee5appy.gen: bugfix with the master/slave mechanism while launching Zope in debug mode; added boolean attribute Date.reverseYears allowing to display years in reverse order in the widgets for choosing the year; bugfix in Javascript code for hiding slave widgets with Google Chrome.
Gaetan Delannay
2011-03-25 18:03:45 +0100
a608a9b43fappy.gen: minor improvements and IE fixes in the GUI.
Gaetan Delannay
2011-03-24 16:21:57 +0100
e87547b789appy.gen: bugfix while comparing values for historization purposes.
Gaetan Delannay
2011-03-22 16:45:46 +0100
4fe5c5e164appy.gen: bugfix in the validator for the default field 'UNO-enabled Python interpreter'; appy.pod: added default function 'text' that allows to dump a string containing carriage returns into the ODT, with statements like 'do... from text(someString)'; appy.pod: bugfix in the management of conflictual inner-tags in the odt2html conversion: in some cases (when style mappings are applied), empty tags that needed to be removed were not removed because of the presence of tag attributes.
Gaetan Delannay
2011-03-18 16:52:15 +0100
66a02c453eappy.gen: every field can now define a dict of i18n mappings that will be used for translating their label and/or description and/or help message(s).
Gaetan Delannay
2011-03-04 10:30:45 +0100
fd9dd569dbRegistration of the default Zope profile does not seem to work anymore. It is probably due to Plone hot fix from 2011-02-08. Here we have implemented an alternative way to register the profile, which works even with the hotfix.
Gaetan Delannay
2011-03-03 09:55:20 +0100
7294cc0c4dappy.gen: stop storing workflow task attribute '_v_appy_do' as a volatile attr in ZODB (renamed it '_appy_do'). It seems to be removed by a sub-transaction during a long transition.
Gaetan Delannay
2011-03-02 09:37:03 +0100
39321b2d38Bugfix while displaying content of textarea-entered text (Strings with format=String.TEXT): for displaying again textarea content, I replaced 'backslash n' with html br tags, but in some cases carriage returns are stored as a sequence of 'backslah r' and 'backslah n' chars. In this case, 'backslash r' chars were left alone in the HTML page, producing sometimes strange behaviour within the browser.
Gaetan Delannay
2011-02-23 11:30:44 +0100
3fc5bc8418appy.gen: bugfix while indexing empty string values: bugfix while accessing object from a query without security enabled.
Gaetan Delannay
2011-02-22 14:16:42 +0100
a8366379ddMinor changes in the test system; XmlUnmarshaller can unmarshall XML content from a string, file handler of file path; any Appy object now has a method 'getField(name)' that returns a given field (=Appy type); bugfix while counting number of tests found in a gen-application.
Gaetan Delannay
2011-02-17 18:13:42 +0100
fd896aebdcappy.gen: added the possibility to freeze, within Pod fields, documents that are normally generated with appy.pod.
Gaetan Delannay
2011-02-16 13:43:58 +0100
a18be357f5appy.gen: when redisplaying the 'edit' view, empty any password field.
Gaetan Delannay
2011-02-15 20:15:58 +0100
48ebbe85b1Merged with branch lp:~nezza/appy/nezza-_-. Thanks to Thomas Roth :-)
Gaetan Delannay
2011-02-15 16:06:12 +0100
6473ca8ef0appy.gen: implemented ToolMixin.performLogin (inspired from Plone authentication), minor bugfix while redirecting user to a page that must display a global status message; logged every translation deletion.
Gaetan Delannay
2011-02-15 15:59:55 +0100
2373525fefPulled from upstream
Thomas 'nezza-_-' Roth
2011-02-15 14:40:52 +0100
7e9cc1e909Added overwriteExisting option to Renderer for overwriting the result file if it already exists.
Thomas 'nezza-_-' Roth
2011-02-15 14:25:37 +0100
1bb4dbf20aappy.pod: improved html2odt conversion; appy.gen: added CSS tooltips and bugfix while querying several content type at once.
Gaetan Delannay
2011-02-14 16:04:30 +0100
39d68f6490appy.gen: added default validation for wrong dates; for Action fields, added value 'filetmp' for param 'result' for removing temp files that are returned as the result of an action; values entered by the user in the search screens are not stripped; wrapper method 'export' can now export an object in a CSV file; appy.pod: bullets for default list styles in any ODT file generated through pod are now smaller.
Gaetan Delannay
2011-02-12 17:09:11 +0100
9f418439aaAdded the possibility to customize the global message when validation fails.
Gaetan Delannay
2011-02-06 17:39:36 +0100
77112c45beAdded the concept of 'fake' workflow transitions: when a user can't trigger a transition but needs an explanation about why he can't, a fake button is shown, with a explanation.
Gaetan Delannay
2011-02-01 11:09:54 +0100
b48525c5bbAdded the possibility to give a custom context to the macro specified for a Computed field; added param 'confirm' to a workflow transition, allowing to show a confirm popup before triggering it; added param 'format' for translate method, allowing to produce strings that conform to HTML or JS.
Gaetan Delannay
2011-01-29 02:18:14 +0100
90553381a3Added the possibility to define POD templates for any search result (Pod field with param view='search'), bugfix while getting default value for a Ref field, added Computed fields that computes a ZPT macro given as a string to param 'method', added the possibility to define a global style mapping for every Pod field, stopped to generate a field-specific set of i18n labels for pod output formats, carry portal_status_message even through page redirections, added 'deprecatedAddRemove' tags in generated configure.zcml, onEdit can now return a customized message, added possibility to normalize strings for other usages than 'fileName', in appy.shared.utils.normalizeString (for alpha and alphanum usages)
Gaetan Delannay
2011-01-28 14:36:30 +0100
38f71be89aAdded method 'unlink' on any appy class, for unlinking objects from references. Bugfixes in display of workflow state in columns.
Gaetan Delannay
2011-01-19 20:51:43 +0100
defdc08dceappy.pod: Management of strike and underline in XHTML code.
Gaetan Delannay
2011-01-19 10:21:04 +0100
41fbedd279appy.pod: added .docx and .xlsx as conversion formats for converter.py. appy.gen: translation system: if not message is present, the label itself is used for the message.
Gaetan Delannay
2011-01-18 15:48:55 +0100
e5cef2b8a4Added a fallback mechanism for Appy translations. Bugfix while reindexing multivalued Strings.
Gaetan Delannay
2011-01-17 14:49:56 +0100
ead9f7c2deNew translation system, that generates screens for updating translations through the web, within the configuration.
Gaetan Delannay
2011-01-14 09:06:25 +0100
f3604624deImplemented management of HTML entities with expat (no need to get an external validating parser from _xmlplus). Works with Python2.4.4 and 2.4.6, but not from Python2.5.
Gaetan Delannay
2010-12-23 10:25:27 +0100
a30949a621Improved management of indexes; always provide str and not unicode strings as index values; search screen may now include javascripts and css like those required by the date chooser; removed CSS parser, basic XmlUnmarshaller can do it by itself.
Gaetan Delannay
2010-12-17 14:46:55 +0100
2124cffa5eWorflow state can not be used in ref fields; mayNavigate is not static anymore, but an instance method.
Gaetan Delannay
2010-12-06 11:11:40 +0100
e62e00d367SearchableText was broken.
Gaetan Delannay
2010-11-30 17:41:18 +0100
52816ec343Added script eggify.py for wrapping a Python module into an egg, and plenty of minor improvements and refactorings.
Gaetan Delannay
2010-11-26 17:30:46 +0100
aea19a819eFinalized implementation of attribute String.transform.
Gaetan Delannay
2010-11-23 17:25:00 +0100
0e83a6f490Bugfixes while dumping and converting a file from database to disk; bugfix and minor improvement in layouts.
Gaetan Delannay
2010-11-22 15:34:04 +0100
502c86dab8Custom messages can now be returned as result of triggering transitions; added a mechanism for asking a confirmation to the user before saving it; bugfix in navigation (navigation info disappeared when firing workflow actions.
Gaetan Delannay
2010-11-22 09:36:14 +0100
cccdc12372Bugfix in the system for refreshing layouts, and removed generation of '_valid' i18n labels, that almost doubled the size of po files and are almost never needed.
Gaetan Delannay
2010-11-16 15:32:47 +0100
3fd2d62b30Added the possibility to take into account layout modifications in Python files without needing to restart Zope while in debug mode.
Gaetan Delannay
2010-11-13 17:54:08 +0100
7dc55f23c2Several bugfixes for 0.6 series (bugfix while defining pod fields in a custom tool, bugfix in the creation flag, import of objects was broken...) and minor improvements in the layouting system (automatic generation of 'cell' layouts was optimized).
Gaetan Delannay
2010-11-10 15:15:00 +0100
3d87036f85The Resource object in shared/dav.py is now able to send SOAP requests, with marshalled and unmarshalled Python objects.
Gaetan Delannay
2010-11-08 11:40:41 +0100
ca6dd26906Required slaves fields that are not visible due to master/slave relationships are not considered mandatory anymore.
Gaetan Delannay
2010-11-05 13:05:10 +0100
ba877e061eDefine encodings on some files to be compliant to Python >= 2.6.
Gaetan Delannay
2010-11-04 15:18:55 +0100
30768655f6Bugfixes in master/slave relationships for groups; small bugfix in the way to express layouts; bugfixes while generating optional fields in the tool; obj.link can now links several objects at once; bugfix in page navigation.
Gaetan Delannay
2010-10-29 14:36:36 +0200
50c8a139fcUpdated new.py for installing Plone 4 without buildout and added an alternative way to insert POD expressions in POD templates via fields (track-changed text still works).
Gaetan Delannay
2010-10-27 12:06:21 +0200
feca97bda3Completed the WebDav library with standard GET and POST HTTP requests. MultiPart not yet implemented.
Gaetan Delannay
2010-10-22 16:06:27 +0200
2aedf8c88aAdded a new level of configurability in navigation: allow to hide/show every button on every page + bugfixes in page/phase navigation.
Gaetan Delannay
2010-10-19 10:47:42 +0200
3cfc24fe02Improvements in the WebDAV client. Transmission of binary files seems to have bugs.
Gaetan Delannay
2010-10-15 15:14:28 +0200
990e16c6e7Eradicated Flavour and PodTemplate classes (for the latter, use Pod fields instead); Added a code analyser; Groups can now be slaves in master/slaves relationships; Refs have more params (show a confirmation popup before adding an object, add an object without creation form); Code for Refs has been refactored to comply with the new way to organize Types; Added a WebDAV client library.
Gaetan Delannay
2010-10-14 14:43:56 +0200
9f4db88bdfWrong index type for selection strings that are not multivalued.
Gaetan Delannay
2010-09-20 11:33:54 +0200
7c2b8fed11Used 'nav' request param instead of session for storing info about the initiator of an object creation.
Gaetan Delannay
2010-09-19 15:04:44 +0200
c2a3551a94Improved and generalized intra- and inter-objects navigation.
Gaetan Delannay
2010-09-17 15:32:48 +0200
88cd4f7c46Optimized performance while rendering references and computed fields and allowed computed fields to be shown asynchronously.
Gaetan Delannay
2010-09-17 09:27:14 +0200
7d3ac9112bAllow different decimal separators for Floats.
Gaetan Delannay
2010-09-15 10:38:35 +0200
0b4f6e1f79Allowed to express layouts in a more concise manner and various graphical improvements.
Gaetan Delannay
2010-09-13 21:04:10 +0200
eb52c1bb7dBugfix in new.py; added new user management.
Gaetan Delannay
2010-09-02 16:16:08 +0200
fa974239f3Two important bugfixes: one security-related, one linked to Ref fields with link=True.
Gaetan Delannay
2010-08-27 08:59:53 +0200
dbcadc506dnew.py now can create instances for Plone 2.5.5, Plone 3.0 to Plone 3.3.5. specificWritePermission and specificReadPermission can hold named (string) permissions instead of simple boolean values (which is still allowed). frontPage can call a custom macro. When launching generate.py with -c option, labels prefixed with custom_ are kept.
Gaetan Delannay
2010-08-12 11:56:42 +0200
bfd2357f69Added a new system for layouting production-ready forms without any HTML coding, many performance improvements and more independence towards Archetypes.
Gaetan Delannay
2010-08-05 18:23:17 +0200
309ea921faBugfixes in appyObj.dump and in master/slave relationships.
Gaetan Delannay
2010-05-10 11:04:59 +0200
cb216a9e9cBugfixes in new sorting/filtering features.
Gaetan Delannay
2010-04-30 14:43:44 +0200
f5a92b7cb0New icons and a new pod test.
Gaetan Delannay
2010-04-30 12:06:49 +0200
fd775e17a2Reworked AJAX framework with a lot of new sorting and filtering possibilities.
Gaetan Delannay
2010-04-30 12:05:29 +0200
46cda3f755Several bugfixes while handling abstract classes (appy.gen) and added a first code chunk used while installing a gen-application for Plone 3.
Gaetan Delannay
2010-04-26 18:19:34 +0200
ca7b688c00Small bugfix while searching string fields and added the possibility to define a text-transform on String fields.
Gaetan Delannay
2010-04-16 17:07:34 +0200
ae4bfc9970One may now choose where Zope log files lie in the backup script.
Gaetan Delannay
2010-04-14 15:00:21 +0200
f82a0934d2Finished new.py, a simple script that automates the creation of Plone25 or Plone3-ready Zope instances.
Gaetan Delannay
2010-04-04 17:54:37 +0200