[Zope3-dev] Mail delivery failed: returning message to sender

Mail Delivery System Mailer-Daemon at python.org
Mon Apr 5 17:06:31 EDT 2004


This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:

  rdmurray+keyword+z3wiki2.24c5b9 at twirl.bitdance.com
    SMTP error from remote mailer after RCPT TO:<rdmurray+keyword+z3wiki2.24c5b9 at twirl.bitdance.com>:
    host twirl.bitdance.com [208.210.83.50]: 550 <rdmurray+keyword+z3wiki2.24c5b9 at twirl.bitdance.com>:
    User unknown in local recipient table

------ This is a copy of the message, including all the headers. ------

Return-path: <zope3-dev at zope.org>
Received: from cache1.zope.org ([12.155.117.38])
	by mail.python.org with esmtp (Exim 4.22)
	id 1BAbGe-0007wk-Q5; Mon, 05 Apr 2004 17:04:28 -0400
From: zope3-dev at zope.org (jim)
Reply-To: zope3-dev at zope.org
To: ;
Subject: [Adding name control] (new) 
Message-ID: <20040405170428EST at dev.zope.org>
X-BeenThere: zope3-dev at zope.org
X-Zwiki-Version: 0.21.1
Precedence: bulk
List-Id:  <zope3-dev at zope.org>
List-Post: <mailto:zope3-dev at zope.org>
List-Subscribe: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/AddingNameControl/subscribeform>
List-Unsubscribe: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/AddingNameControl/subscribeform>
List-Archive: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/AddingNameControl>
List-Help: <http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture>
Date: Mon, 05 Apr 2004 17:04:28 -0400
X-Spam-Status: OK (default 0.000)

Adding name control

  Status: IsProposal

  Author
 
    JimFulton

  Problem 

    Adding objects and add views collaborate to provide a UI for
    adding objects to containers::

     -------------             -----------             ------------
     |           |  <<views>>  |          |  <<views>>  |          |
     | Container |<- - - - - - |  Adding  |<- - - - - - | Add View |
     |           |             | <<view>> |             | <<view>> |
     -------------             ------------             ------------

    The adding object represents the interests of the container:

    - It figures out what's addable

    - It manages naming, according to the container's naming
      policies.

    - It decides what page to display after an object is added.

    The add view is responsible for collecting necessary initial
    information and properly creating the object. It is *not*
    responsible for naming the object.

    To prevent the add view from being responsible for naming, we
    initially collected names on pages before displaying add views.
    This approach had two problems:

    - The user sometimes had to view an extra page, to input the name,

    - The name wasn't shown on the add view page(s). This meant that
      the user had less information than they wanted when viewing the
      add view and that the user couldn't change their mind about the
      name when filling out the other information. 

    To solve these problems, we recently added a new method,
    'renderAddButton', to adding objects. Add views use this method to
    display add buttons on forms.  If a name is needed, the adding
    will include an input box next to the add button.  This approach
    is too magic and doesn't give enough control to the add view.

  Proposal

    Simplify the colaboration for inputing new object names by
    shifting more responsability to add views.  Adding views will
    still be responsible for decising whether a name should be input,
    but add views will be responsible for collecting the name if it is
    allowed.

    Adding objects will implement a new boolean method nameAllowed::

      def nameAllowed():
          """Return whether names can be input by the user
          """

    We will deprecate and eventually remove the renderAddButton
    method.

    Add views will be responsible for checking nameAllowed and
    collecting a name if it returns true.  Adding views will then set
    contentName on the adding before calling add.

--
forwarded from http://dev.zope.org/Wikis/DevSite/Projects/ComponentArchitecture/AddingNameControl



More information about the Zope3-dev mailing list