atschemaeditor是一个为at内容类型提供灵活的模式编辑的框架。
Products.ATSchemaEditorNG的Python项目详细描述
摘要
ATSchemaEditorNG is a framework to provide flexible schema editing for AT content-types.
要求:
3.x (for 2.5.x use version 0.5.x)
安装:
See docs/INSTALL.txt.
Short (buildout): Add ^{tt1}$ to eggs= section and in the context of your instance to zcml= section. Goto portal_quickinstaller and install ATSE. If you want to have demo types go to config.py and enable them.
当前维护者:
Simon Pamies (spamsch) EMail: s.pamies at banality dot de
许可证:
ATSchemaEditorNG is (C) by Andreas Jung, Simon Pamies, Rob Miller, and contributors, and published as open-source under the GNU Lesser General Public License V 2.1 (see LICENSE.txt). If this license does not meet your requirements, contact the maintainers for releasing ATSchemaEditorNG under a suitable license.
文件:
NOTICE: Please notice that since 0.4 objects that get created no longer automatically sync schema with editor schema. If you have changes in your editor and then create a new object this object will not get changes unless you call self.updateSchemaFromEditor() in manage_afterAdd. Please make sure the call is the first one before you call things like BaseContent.manage_afterAdd
Example for initializing content object based on ParentManagedSchema or such:
- def manage_afterAdd(self, item, container):
- self.updateSchemaFromEditor() BaseContent.manage_afterAdd(self, item, container)
Look at the examples directory and make sure you read docstrings in ParentManagedSchema.py. Also read the howto (doc/HOWTO.txt).
贡献:
Thanks to gocept for sponsoring some work in 0.4.5
Thanks to Aaron VanDerlip for useful hints about portal_factory failures in 0.4.1
Many thanks to coreblox (http://coreblox.com) for sponsoring all work on 0.4.0
Whit Morriss: examples and tests
Rob Miller (rafrombrc): Maintainership until 0.4 - much work for 0.3.x line.
- Simon Pamies: fixes, code cleanup, schema update mechanism
- revisited (and most of the stuff in V 0.2 and 0.4)
Sasha Vincic: storage registry implementation
- 0.6(未发布)
- 完全蛋化 [SPAMSCH]
- rest修复 [阿琼]
- 不同的plone 3修复 [澳洲坚果]
0.5.1(2010年3月24日)
- change atse_updateManagedSchema so it’s waking up only objects that need to be updated [amleczko]
0.5.0(2010年3月16日)
- Added Select to the StringField selection [spamsch]
- Fixed #13: Error during tool access via ZMI. [spamsch]
- Get rid of CMFCorePermissions [naro]
- Added new atse_addOrReplaceField method. [spamsch]
- Added more configuration options for text fields and for storage selection. Look at config.py. [spamsch]
0.4.7(2007年10月1日)
- Added schema template editor - allows defining re-usable schemata. [mkoch,ctheune]
0.4.6(从未发布)
- Fixed #12: isEmpty always shown als activated validator. [spamsch]
- Fixed #11: ReferenceBrowserWidget was not available. Thanks to Alexander Pilz for finding this. [spamsch]
- supplied missing import: this fixes #9 Broken uninstall method [lzdych]
0.4.6rc1(2007年8月17日)
Started writing some simple howto (doc/HOWTO.txt) [spamsch]
Added new feature flag HAS_MANAGEMENT_UI_FUNCTIONALITY that can be used to control if management functions are displayed. [spamsch]
UI p0rn (much more to come) [spamsch]
Fixed bug where a security check did not success for TTW added schemas. Thanks to Hedley Roos. [spamsch]
Added a patch for Products.validation.RangeValidator to relax the max value check (instead of value < maxval we check value <= maxval) and added there tolerance to string typed max and min. [spamsch]
Extended editor so that you can pass your own parameters to each validator that supports parameters (like inNumericRange). Also added a bridge to non-registered RegexValidator so that users can input their own regular expression. [spamsch]
Extended editor so that you can now upload a file to each field. Usecase: Fields based upon editor defined fields want to have a template.
Example:
- atse_config.field_registry.update({‘ExcelField’: {‘field’: ExcelField,
‘allowed_widgets’:[‘ExcelWidget’, ‘FileWidget’, ], ‘post_method’:’atse_attachFilePostMethod’, ‘post_macro’:’here/fileattach_macros/macros/upload’}})
简单地定义post_方法和post_宏。为了这个 例如,一个excel文件可以上传到excel字段并用作模板。 然后可以访问附加文件:schemaeditor.atse_getAttachedFieldFile(<;fieldname>;)。 [SPAMSCH]
修改了验证器选择,使其显示可用的列表 验证程序,而不是让用户输入它们。 [SPAMSCH]
增加了对ATVocabularyManager的支持,包括词汇的UI选择。 [SPAMSCH]
引入的新标志已启用字段可见性 如果用户界面应该显示字段的可见性控件。 [斯帕姆什]
引入了一个新的标志,启用了安全管理 如果ui显示字段安全管理相关的内容。 [SPAMSCH]
在seu hasfeature(name)中引入了新方法,可以用于 检查给定的特性(在config.py中定义)是否可用。 [SPAMSCH]
固定字段->;在config.py中定义的小部件关联。完整的 未包括选择行(如flex或radio)。 [斯帕姆什]
添加了重新初始化注册表的方法,因为在重新注册时 字段和小部件的实例不会得到更改。 [SPAMSCH]
文档更新-澄清维护和添加贡献 [SPAMSCH]
0.4.5(从未发布)
Fixed uninstall procedure - CMFQI does not remove configlets Thanks to IOhannes m zmoelnig for the fix. [spamsch]
Added permission handling for fields. For each field you can now select the permission from an predefined list (from site_properties/atsePossible*Permissions) [spamsch]
Added some constraints for allowed widgets. Look at config.py to see what changed (allowed_widgets). For each field we now define a set of acceptable widgets. Now you can’t select an IntWidget for a ReferenceField anymore :-) [spamsch]
Added type support for DataGridField. That means that you can specify a types for each of the fields you define. Needs patched version of DataGridField! Please make sure to apply the included diff (in doc/datagridfield-validatecolumn.diff) to a 1.5.0 version of DataGridField (MoreFieldsAndWidgets/DataGridField/tags/1.5.0). If you don’t do this ATSE will not include DataGridFieldSupport!
Do the following to patch correctly: $ cd <path_to_DataGridField> $ cat version.txt 1.5.0 $ patch -p 0 < ../ATSchemaEditorNG/doc/datagridfield-validatedcolumn.diff [spamsch]
0.4.4(2007年4月18日)
Fixed DataGridWidget failure [spamsch]
Fixed references to zLOG replacing with logging package [spamsch]
added MultiCheckbox widget - defined as MultiSelectionWidget(format=”checkbox”) [naro]
added vocabulary proxy method and option to use python scripts as vocabulary source. Additionaly to key|value and method:methodname as vocabulary source, there can be ‘script:’ (without script name). Script name is computed automaticaly as atse_<portal type>_<fieldname>Vocabulary.
Example:
Portal type: 'Target 1', field countryType:: atse_Target1_countryTypeVocabulary - this is name of the python script or external method [naro]portal_status_message is encoded to utf8 before sent to browser. Plone 2.5 returns translated strings in unicode. [naro]
made use of FD in atse_update consistent. Now you can always use dictionaries. [spamsch]
added one more test that uses atse_update to create field [spamsch]
0.4.3(2006年10月10日)
- more tests for portal_factory madness [spamsch]
- fixed DataGridField templates related to atseng: schema editor template was broken after DataGridField was selected as field type [lzdych]
- ATSE tool is no longer implicitly available [spamsch]
- fixed broken schema editor template after new schema is created [lzdych]
- Added one more check for portal_factory types. Could not model a test for parent of a folder being TempFolder when using PortalFactory but it seems that it fixes some errors on other instances and has no impact on running ones [spamsch]
0.4.2(2006年6月27日)
- disabled automatic creation of backup file. This configuration is done over property atseAutomaticBackupWhenUpdateSchema in site_properties. If users want to have automatic backup then this property needs to be enabled. [spamsch]
- disabled installation of example types in config.py If types should be installed then enable property in config.py [spamsch]
- some bugfixes to make ParentManagedSchema play nicely with portal_factory managed types. Bug reported by Aaron VanDerlip [spamsch]
- added support for DataGridField/Widget (if DG is available) Please read doc/DATAGRID.txt [naro]
- updated i18n, updated Czech translation [naro]
- fixed minor bug in ReferenceField/Widget handling [naro]
0.4.1(2006年6月8日)
- Fixed some documentation lack: Newly created objects not longer automatically update schema from Editor since 0.4. Added extensive documentation about this change. [spamsch]
- Added tests to test changes since 0.4 [spamsch]
0.4(2006年5月19日)
- SchemaEditor:
- Added xml import and export functionality
- Bugfix for non working ordering mode
- Fixes for schema syncing - Schemas are now never synced w/o explicit user action
- Added dynamic object registering support
- Added role based field permission settings [spamsch]
- reworked some of the template stuff to make dynamic registration of types possible [spamsch]
0.3.3(2006年4月2日)
- added support for ImageField max_size and sizes properties
- added support for AnnotationStorage and MetadataStorage
- moved “Create index” checkbox from widget setting so the field settings (field is indexed, not widget!) and renamed to “Searchable”
- installation of ATSchemaEditorNG now installs the schema editor tool. Additionaly, a configlet is registered that makes the schema editor available in the Plone control panel.
- use prefs_main_template macro (instead of main macro) when rendering schema editor
- handle the absence of a default schema gracefully by displaying a message instead of raising an exception
- handle more ReferenceField properties like ‘vocabulary_display_path_bound’, ‘multiValued’, ‘allowed_types’ and ‘checkbox_bound’.
- allow setting ‘startup_directory’ for ReferenceBrowserWidget.
- Fixed bug when computing default value for field.
- Allow selection of ReferenceWidget in addition to ReferenceBrowserWidget for reference fields.
- added support for allowable_content_types, default_output_type and default_content_type in TextField
0.3.2(2005年9月24日)
- SchemaEditor now overrides __setstate__ to do instance variable initialization, if necessary.
- added special edit accessor for ReferenceFields
- schema selector bug fix
0.3.1(未发布)
- added support for sync’ing unmanaged and new fields from the source code, to bring cached ATSE schemas into sync w/ any changes in the source. NOTE: must run schema_editor._migrateObjPtype() for each schema editor to convert the _obj_ptype attribute from a list to an OOBTree
0.3.0(未发布)
- added field, widget, and storage registry functionality
- added support for atse_managed field attribute
- schema editor now honors accessors and mutators explicitly defined in python schema, but only if the methods are actually defined on the object
0.23(未发行)
- fixed handling of widget.help
0.22(2005年1月8日)
- schemas can be exported as text
- Schemas can now be managed through a tool (SchemaEditorTool.py) and not only through a folder.
- new client mixin class ToolManagedSchema
- persistency fix in schema registration
0.21(2004年11月2日)
- added support for validators
- fixed some missing parameters in redirection URLs
0.2(2004年10月1日)
- Added developer mode: Look @ config.py for information
- Beautyfied view a little bit
- Added a selection box where you can select registered objects
- Added methods to register objects not only schematas
- Moved updateSchema method to SchemaEditor.py
- Fixed bug that caused the objects’ id to be saved in unicode
- Fixed tests
- Added some field to control if widget is visible
- added schema registration infrastructure (support for multiple schemas)
- lots of API changes
0.1(2004年9月17日)
- initial release (backport from PloneCollectorNG)
- refactored