[Zope-Annce] z3c.form 1.3.0, z3c.formui 1.0.1, and z3c.formdemo 1.1.0 released!
Hello everyone, Roger and I have received a great deal of feedback about the z3c.form* packages. Several people reported that they immediately started using it for their development. Thanks to those people, we were able to identify many bugs and determined new features. The result is a new round of releases! Again for the curious and impatient ... --- We have added two more demos: * An Address Book implements a non-trivial example of an address book, including multiple addresses and E-mails. It demonstrates the use of sub-forms, writing custom widgets and composite content. * An SQL Message demo reimplemnets the simple Hello World! demo only using queries to the Gadfly database. The example adds to the original demo by also providing a message overview screen, since the ZMI is not helpful for pure SQL data. To run the demos do the following:: $ svn co svn://svn.zope.org/repos/main/z3c.formdemo/trunk formdemo $ cd formdemo $ python bootstrap.py $ ./bin/buildout -N $ ./bin/demo fg Now you can access the demo under: http://localhost:8080/ Note: Python's Cheeseshop seems to be extremely slow today, so this might take a while. Alternatively, you can use Zope's distribution server: http://download.zope.org/distribution. On the Javascript Front --- Paul Carduner, as part of his GSOC project, is developing a super-cool extension to the z3c.form* packages that will make it very easy for the Python developer to write AJAX-driven applications. My hope is that Paul will have the first iteration and a demo done in a few weeks! So stay tuned... Changes --- z3c.form - Feature: In an edit form applying the data and generating all necessary messages was all done within the Apply button handler. Now the actual task of storing is factored out into a new method called applyChanges(data), which returns whether the data has been changed. This is useful for forms not dealing with objects. - Feature: Added support for ``hidden`` fields. You can now use the ``hidden`` mode for widgets which should get rendered as ``input type=hidden /``. Note: Make sure you use the new formui templates which will avoid rendering labels for hidden widgets or adjust your custom form macros. - Feature: Added ``missing_value`` support to data/time converters - Feature: Added named vocabulary lookup in ``ChoiceTerms`` and ``CollectionTerms``. - Implemented support for ``FileUpload`` in ``FileWidget``. * Added helper for handling ``FileUpload`` widgets: + ``extractContentType(form, id) Extracts the content type if ``IBytes``/``IFileWidget`` was used. + ``extractFileName(form, id, cleanup=True, allowEmtpyPostFix=False)`` Extracts a filename if ``IBytes``/``IFileWidget`` was used. Uploads from win/IE need some cleanup because the filename includes also the path. The option ``cleanup=True`` will do this for you. The option ``allowEmtpyPostFix`` allows you to pass a filename without extensions. By default this option is set to ``False`` and will raise a ``ValueError`` if a filename doesn't contain an extension. * Created afile upload data converter registered for ``IBytes``/``IFileWidget`` ensuring that the converter will only be used for fiel widgets. The file widget is now the default for the bytes field. If you need to use a text area widget for ``IBytes``, you have to register a custom widget in the form using:: fields['foobar'].widgetFactory = TextWidget - Feature: Originally, when an attribute access failed in Unauthorized or ForbiddenAttribute exceptions, they were ignored as if the attribute would have no value. Now those errors are propagated and the system will fail providing the developer with more feedback. The datamanager also grew a new ``query()`` method that returns always a default and the ``get()`` method propagates any exceptions. - Feature: When writing to a field is forbidden due to insufficient priviledges, the resulting widget mode will be set to display. This behavior can be overridden by explicitely specifying the mode on a field. - Feature: Added an add form implementation against ``IAdding``. While this is not an encouraged method of adding components, many people still use this API to extend the ZMI. - Feature: The ``IFields`` class' ``select()`` and ``omit()`` method now support two ketword arguments prefix and interface that allow the selection and omission of prefixed fields and still specify the short name. Thanks to Nikolay Kim for the idea. - Feature: HTML element ids containing dots are not very good, because then the element#id CSS selector does not work and at least in Firefox the attribute selector (element[attr=value]) does not work for the id either. Converted the codebase to use dashes in ids instead. - Bug/Feature: The ``IWidgets`` component is now an adapter of
[Zope-dev] Zope Tests: 5 OK
Summary of messages to the zope-tests list. Period Thu Jun 21 12:00:00 2007 UTC to Fri Jun 22 12:00:00 2007 UTC. There were 5 messages: 5 from Zope Unit Tests. Tests passed OK --- Subject: OK : Zope-2.7 Python-2.3.6 : Linux From: Zope Unit Tests Date: Thu Jun 21 20:56:53 EDT 2007 URL: http://mail.zope.org/pipermail/zope-tests/2007-June/007919.html Subject: OK : Zope-2.8 Python-2.3.6 : Linux From: Zope Unit Tests Date: Thu Jun 21 20:58:24 EDT 2007 URL: http://mail.zope.org/pipermail/zope-tests/2007-June/007920.html Subject: OK : Zope-2.9 Python-2.4.4 : Linux From: Zope Unit Tests Date: Thu Jun 21 20:59:58 EDT 2007 URL: http://mail.zope.org/pipermail/zope-tests/2007-June/007921.html Subject: OK : Zope-2.10 Python-2.4.4 : Linux From: Zope Unit Tests Date: Thu Jun 21 21:01:30 EDT 2007 URL: http://mail.zope.org/pipermail/zope-tests/2007-June/007922.html Subject: OK : Zope-trunk Python-2.4.4 : Linux From: Zope Unit Tests Date: Thu Jun 21 21:03:01 EDT 2007 URL: http://mail.zope.org/pipermail/zope-tests/2007-June/007923.html ___ Zope-Dev maillist - Zope-Dev@zope.org http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
[Zope-PAS] Re: authentication via web services
Miles wrote: Hi, Has anyone used PAS to authenticate and get properties from a web service? We have a requirement for this in a project, but given the current general state of SOAP support in python, I'm not very clear on what the best solution might be on this. If anyone has any experience/advice that they're willing to share, I'd be very grateful. Well, if by web services you mean SOAP, then I don't know. But the GMailAuthPlugin (which is really just a demonstrator), the Salesforce connector, the OpenID plugin, and the LibertyAuthPlugin could be called using web services. Maybe the CAS plugin counts. If you can communicate with the auth source in Python, it's definite fodder for a PAS plugin. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ Zope-PAS mailing list Zope-PAS@zope.org http://mail.zope.org/mailman/listinfo/zope-pas
[Zope-PAS] todo
Man accs for aidan Bob AC contract Cashflow forecast Tommy's pitch SQLPASPlugin import steps + tz issue distribute meeting reminder t+ra invoice accounts ___ Zope-PAS mailing list Zope-PAS@zope.org http://mail.zope.org/mailman/listinfo/zope-pas
[Zope-PAS] Re: authentication via web services
J Cameron Cooper wrote: Miles wrote: Hi, Has anyone used PAS to authenticate and get properties from a web service? We have a requirement for this in a project, but given the current general state of SOAP support in python, I'm not very clear on what the best solution might be on this. If anyone has any experience/advice that they're willing to share, I'd be very grateful. Well, if by web services you mean SOAP, then I don't know. But the GMailAuthPlugin (which is really just a demonstrator), the Salesforce connector, the OpenID plugin, and the LibertyAuthPlugin could be called using web services. Maybe the CAS plugin counts. Yes, I did mean SOAP as that seems to be the only way this specific service is exposed. I wasn't aware of those plugins so will take a look. The salesforce plugin looks quite useful, from a cursory glance. Thanks, Miles ___ Zope-PAS mailing list Zope-PAS@zope.org http://mail.zope.org/mailman/listinfo/zope-pas
Re: [Zope] Auto Cataloging my ZCatalog
Hi Kamal, I tried to follow the tutorial to in the read me file building contact-database for PropertyTools. Also have a look at the demo.zexp in the PropertyTools folder, import it and look around. It quite nicely gives an idea of how the validation and the workflow engine works... a.. Go to the Manage-Tab: Set Object-Type = Contact, Unlock Extensible Properties. Did you also set the name of the catalog in the Catalog field? In your example it should be 'Catalog'. Cheers, Joerg ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: Several questions on Z3 Views backported thru Five
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Manuel Vázquez Acosta wrote: Hi all, I've been asked to deploy a Plone App which must satisfy a load of at least 1200 users over 8 min. I have tested a fresh Plone 2.5.3 with Zope 2.9.7, plus Squid + CacheFu and everything went just fine. The laptop didn't even notice such a load. But, when I installed the Plone App, even much smaller load didn't pass the test. Thus, I have to dig into the source code of the app to find the source of the problems. I have found that the app uses Z3 concepts, specially Views. This question poped into my mind: 1. Does Zope2+Five creates Views everytime they are used, and discard them afterwards? If this is the case, then maybe I should code a ViewFactory which caches frequently used views. This may help. Nope, that won't help, because views are bindings between context objects and requests. The time required to create views / adapters is completely negligible compared to the time required to *render* the Plone main template. You need to focus on stripping out features you don't need in that template, and / or caching fragments of it. Tres. - -- === Tres Seaver +1 540-429-0999 [EMAIL PROTECTED] Palladion Software Excellence by Designhttp://palladion.com -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGe92C+gerLs4ltQ4RAmVvAJ9+BXTwKTe9HqIq12XMYfu8CYtJkQCgpuce rRbBU2hqJKAQWXi3zFmS4V4= =zhVX -END PGP SIGNATURE- ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] Re: Several questions on Z3 Views backported thru Five
Manuel Vázquez Acosta wrote: Hi all, I've been asked to deploy a Plone App which must satisfy a load of at least 1200 users over 8 min. I have tested a fresh Plone 2.5.3 with Zope 2.9.7, plus Squid + CacheFu and everything went just fine. The laptop didn't even notice such a load. But, when I installed the Plone App, even much smaller load didn't pass the test. My first guess would be that the cache setup need to be configured to work with your application. CacheFu knows about the default setup, but not about a custom application. It may therefore not be caching, or be caching inappropriately. I think examining the response headers is the best way to determine this. --jcc -- Connexions http://cnx.org Building Websites with Plone http://plonebook.packtpub.com ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
Re: [Zope] Several questions on Z3 Views backported thru Five
Manuel Vázquez Acosta wrote at 2007-6-21 14:16 +: ... I have tested a fresh Plone 2.5.3 with Zope 2.9.7, plus Squid + CacheFu and everything went just fine. The laptop didn't even notice such a load. But, when I installed the Plone App, even much smaller load didn't pass the test. What is the Plone App? Use a profiler (e.g. ZopeProfiler) to obtain a timing profile. It will tell you where time is spent for. -- Dieter ___ Zope maillist - Zope@zope.org http://mail.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope-dev )
[Zope] z3c.form 1.3.0, z3c.formui 1.0.1, and z3c.formdemo 1.1.0 released!
Hello everyone, Roger and I have received a great deal of feedback about the z3c.form* packages. Several people reported that they immediately started using it for their development. Thanks to those people, we were able to identify many bugs and determined new features. The result is a new round of releases! Again for the curious and impatient ... --- We have added two more demos: * An Address Book implements a non-trivial example of an address book, including multiple addresses and E-mails. It demonstrates the use of sub-forms, writing custom widgets and composite content. * An SQL Message demo reimplemnets the simple Hello World! demo only using queries to the Gadfly database. The example adds to the original demo by also providing a message overview screen, since the ZMI is not helpful for pure SQL data. To run the demos do the following:: $ svn co svn://svn.zope.org/repos/main/z3c.formdemo/trunk formdemo $ cd formdemo $ python bootstrap.py $ ./bin/buildout -N $ ./bin/demo fg Now you can access the demo under: http://localhost:8080/ Note: Python's Cheeseshop seems to be extremely slow today, so this might take a while. Alternatively, you can use Zope's distribution server: http://download.zope.org/distribution. On the Javascript Front --- Paul Carduner, as part of his GSOC project, is developing a super-cool extension to the z3c.form* packages that will make it very easy for the Python developer to write AJAX-driven applications. My hope is that Paul will have the first iteration and a demo done in a few weeks! So stay tuned... Changes --- z3c.form - Feature: In an edit form applying the data and generating all necessary messages was all done within the Apply button handler. Now the actual task of storing is factored out into a new method called applyChanges(data), which returns whether the data has been changed. This is useful for forms not dealing with objects. - Feature: Added support for ``hidden`` fields. You can now use the ``hidden`` mode for widgets which should get rendered as ``input type=hidden /``. Note: Make sure you use the new formui templates which will avoid rendering labels for hidden widgets or adjust your custom form macros. - Feature: Added ``missing_value`` support to data/time converters - Feature: Added named vocabulary lookup in ``ChoiceTerms`` and ``CollectionTerms``. - Implemented support for ``FileUpload`` in ``FileWidget``. * Added helper for handling ``FileUpload`` widgets: + ``extractContentType(form, id) Extracts the content type if ``IBytes``/``IFileWidget`` was used. + ``extractFileName(form, id, cleanup=True, allowEmtpyPostFix=False)`` Extracts a filename if ``IBytes``/``IFileWidget`` was used. Uploads from win/IE need some cleanup because the filename includes also the path. The option ``cleanup=True`` will do this for you. The option ``allowEmtpyPostFix`` allows you to pass a filename without extensions. By default this option is set to ``False`` and will raise a ``ValueError`` if a filename doesn't contain an extension. * Created afile upload data converter registered for ``IBytes``/``IFileWidget`` ensuring that the converter will only be used for fiel widgets. The file widget is now the default for the bytes field. If you need to use a text area widget for ``IBytes``, you have to register a custom widget in the form using:: fields['foobar'].widgetFactory = TextWidget - Feature: Originally, when an attribute access failed in Unauthorized or ForbiddenAttribute exceptions, they were ignored as if the attribute would have no value. Now those errors are propagated and the system will fail providing the developer with more feedback. The datamanager also grew a new ``query()`` method that returns always a default and the ``get()`` method propagates any exceptions. - Feature: When writing to a field is forbidden due to insufficient priviledges, the resulting widget mode will be set to display. This behavior can be overridden by explicitely specifying the mode on a field. - Feature: Added an add form implementation against ``IAdding``. While this is not an encouraged method of adding components, many people still use this API to extend the ZMI. - Feature: The ``IFields`` class' ``select()`` and ``omit()`` method now support two ketword arguments prefix and interface that allow the selection and omission of prefixed fields and still specify the short name. Thanks to Nikolay Kim for the idea. - Feature: HTML element ids containing dots are not very good, because then the element#id CSS selector does not work and at least in Firefox the attribute selector (element[attr=value]) does not work for the id either. Converted the codebase to use dashes in ids instead. - Bug/Feature: The ``IWidgets`` component is now an
Re: [Zope] z3c.form 1.3.0, z3c.formui 1.0.1, and z3c.formdemo 1.1.0 released!
Hi Stephan. This is some really awesome work and some great new examples as well. There is more to explore and to anticipate with ajax - it is all really very excellent. When running the demo, I needed to add zope.rdb to the setup.py and its corresponding meta and configuration files to site.zcml. Other than this, everything worked great and some more things to learn for sure. :-) Many thanks for this fine work to help us all with forms! Regards, David Stephan Richter wrote: Hello everyone, Roger and I have received a great deal of feedback about the z3c.form* packages. Several people reported that they immediately started using it for their development. Thanks to those people, we were able to identify many bugs and determined new features. The result is a new round of releases! Again for the curious and impatient ... --- We have added two more demos: * An Address Book implements a non-trivial example of an address book, including multiple addresses and E-mails. It demonstrates the use of sub-forms, writing custom widgets and composite content. * An SQL Message demo reimplemnets the simple Hello World! demo only using queries to the Gadfly database. The example adds to the original demo by also providing a message overview screen, since the ZMI is not helpful for pure SQL data. To run the demos do the following:: $ svn co svn://svn.zope.org/repos/main/z3c.formdemo/trunk formdemo $ cd formdemo $ python bootstrap.py $ ./bin/buildout -N $ ./bin/demo fg Now you can access the demo under: http://localhost:8080/ Note: Python's Cheeseshop seems to be extremely slow today, so this might take a while. Alternatively, you can use Zope's distribution server: http://download.zope.org/distribution. On the Javascript Front --- Paul Carduner, as part of his GSOC project, is developing a super-cool extension to the z3c.form* packages that will make it very easy for the Python developer to write AJAX-driven applications. My hope is that Paul will have the first iteration and a demo done in a few weeks! So stay tuned... Changes --- z3c.form - Feature: In an edit form applying the data and generating all necessary messages was all done within the Apply button handler. Now the actual task of storing is factored out into a new method called applyChanges(data), which returns whether the data has been changed. This is useful for forms not dealing with objects. - Feature: Added support for ``hidden`` fields. You can now use the ``hidden`` mode for widgets which should get rendered as ``input type=hidden /``. Note: Make sure you use the new formui templates which will avoid rendering labels for hidden widgets or adjust your custom form macros. - Feature: Added ``missing_value`` support to data/time converters - Feature: Added named vocabulary lookup in ``ChoiceTerms`` and ``CollectionTerms``. - Implemented support for ``FileUpload`` in ``FileWidget``. * Added helper for handling ``FileUpload`` widgets: + ``extractContentType(form, id) Extracts the content type if ``IBytes``/``IFileWidget`` was used. + ``extractFileName(form, id, cleanup=True, allowEmtpyPostFix=False)`` Extracts a filename if ``IBytes``/``IFileWidget`` was used. Uploads from win/IE need some cleanup because the filename includes also the path. The option ``cleanup=True`` will do this for you. The option ``allowEmtpyPostFix`` allows you to pass a filename without extensions. By default this option is set to ``False`` and will raise a ``ValueError`` if a filename doesn't contain an extension. * Created afile upload data converter registered for ``IBytes``/``IFileWidget`` ensuring that the converter will only be used for fiel widgets. The file widget is now the default for the bytes field. If you need to use a text area widget for ``IBytes``, you have to register a custom widget in the form using:: fields['foobar'].widgetFactory = TextWidget - Feature: Originally, when an attribute access failed in Unauthorized or ForbiddenAttribute exceptions, they were ignored as if the attribute would have no value. Now those errors are propagated and the system will fail providing the developer with more feedback. The datamanager also grew a new ``query()`` method that returns always a default and the ``get()`` method propagates any exceptions. - Feature: When writing to a field is forbidden due to insufficient priviledges, the resulting widget mode will be set to display. This behavior can be overridden by explicitely specifying the mode on a field. - Feature: Added an add form implementation against ``IAdding``. While this is not an encouraged method of adding components, many people still use this API to extend the ZMI. - Feature: The ``IFields`` class' ``select()`` and ``omit()`` method now support two ketword