[Zope-Annce] z3c.form 1.3.0, z3c.formui 1.0.1, and z3c.formdemo 1.1.0 released!

2007-06-22 Thread Stephan Richter
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

2007-06-22 Thread Zope Tests Summarizer
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

2007-06-22 Thread J Cameron Cooper

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

2007-06-22 Thread Miles

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

2007-06-22 Thread Miles

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

2007-06-22 Thread Joerg Baach
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

2007-06-22 Thread Tres Seaver
-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

2007-06-22 Thread J Cameron Cooper

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

2007-06-22 Thread Dieter Maurer
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!

2007-06-22 Thread Stephan Richter
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!

2007-06-22 Thread David Pratt
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