Package: ng.schema
The ng.schema product=====================The ng.schema is zope3 product developed to provide some interface (schema)fields and widget. Current field and widget list are:interfaceswitcher-----------------Field can be used to dynamic switch subinterfaces ofsome interface;Sample of use ::from ng.schema.interfaceswitcher.interfacechoicefield import InterfaceChoicefrom ng.schema.interfaceswitcher.interfacesetfield import InterfaceSetclass IA(Interface) :passclass IA1(IA) :passclass IA2(IA) :passclass IOb(Interface) :ifc = InterfaceChoice(title=u'Interface of IA',interface = IA,)ifs = InterfaceSet(title=u'Interface of IA',interface = IA,with_title=True)regexp------Product can be used to check input text line with some set ofregexp and customize text line with some rewrite rules before set.Sample of use ::from ng.schema.regexp.regexpfield import Regexpclass IOb(Interface) :title = Regexp(title = u'Title',description = u'Title',default = u'',required = True,regexp = ((False, u"^.*/.*$", u"Title do not content symbol '/'"),),rewrite = ((u"^\s*(?P<name>\w+)\s*-\s*(?P<number>[0-9]+)\s*$", u"%(name)s-%(number)s"),(u"^\s*(?P<name>[^\s])\s*$", u"%(name)s"),))floatdayttime-------------The field allow present attribute containing float number astime string in "HH:MM:SS" format.Sample of use::from ng.schema.floatdaytime.floatdaytime import FloatDayTimeclass IOb(Interface) :time = FloatDayTime(title = u"Time",description = u"Time of day",required = False,min=u'00:00',max=u'24:00',default=u'00:00')principalidwidget-----------------The widget allow automaticaly assign text field by user Id. The field display as not-editable fieldwith current user name as vaue. User name and id gets from request attributes.Sample of use::<addformlabel="Add Article"name="AddArticle.html"schema="ng.content.article.interfaces.IDocShortLogo"content_factory="ng.content.article.article.article.Article"class=".nexturl.NextUrl"permission="zope.ManageContent"layer="...interfaces.GreenpsySkin"set_before_add="title"><widgetfield="author"class="ng.schema.principalidwidget.principalidwidget.PrincipalIdWidget" /></addform>dropdowndatewidget------------------The widget allow input date by means of select value from three dropdown list forday, mounth and year.Sample of use::<editformschema="..interfaces.IProfileAnnotation"for="..interfaces.IProfileAnnotation"label="Profile"name="profileannotation.html"permission="zope.ManageContent"menu="zmi_views" title="ProfileAnnotation"><widget field="birthday" class="ng.schema.dropdowndatewidget.dropdowndatewidget.DropDownDateWidget" /></editform>* Thu Feb 12 2009 Andrey Orlov <dbdt@dreambot.ru> 0.0.6- Widget multiselectwidget added;* Thu Oct 23 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.5- FloatDayTime enhanced- InterfaceVocabulary use docstring as title now- FloatDayTime field substantively rewrited, max, min, default values support added;- Interface switcher fields changed: them display doc-string as title now.* Mon Oct 20 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.4- DropdownDate widget added;- PrincipalId widget added;* Sun Jan 11 2008 Andrey Orlov <dbdt@dreambot.ru> 0.0.3- FloatDayTime field added- InterfaceSet field added- Initial interface of vocabulary changed* Wed Nov 7 2007 Andrey Orlov <dbdt@dreambot.ru> 0.0.2- first official release