Update of /cvsroot/pydispatcher/dispatch/docs
In directory sc8-pr-cvs1:/tmp/cvs-serv12916/docs
Modified Files:
index.html
Log Message:
Began work on a "what it does for you" section, simple acquisition/installation instructions, link to mailing list added.
Index: index.html
===================================================================
RCS file: /cvsroot/pydispatcher/dispatch/docs/index.html,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** index.html 2 Jul 2003 03:11:22 -0000 1.2
--- index.html 6 Jul 2003 14:22:47 -0000 1.3
***************
*** 21,26 ****
various applications.<br>
</p>
<p>PyDispatcher welcomes contributions, suggestions, and feedback from
! users.<br>
</p>
<p class="footer">A SourceForge Open-Source project: <a
--- 21,101 ----
various applications.<br>
</p>
+ <p>To be more concrete about what PyDispatcher does for you:<br>
+ </p>
+ <ul>
+ <li>provides a centralized service for delivering messages to
+ registered objects (in the local process). It allows you to
+ register any number of functions (callable objects) which can receive
+ signals from senders.</li>
+ <ul>
+ <li>registration can be for all senders, particular sending
+ objects, or "anonymous" messages (messages where the sender is None)<br>
+ </li>
+ <li>registration can be for any signal, or particular signals</li>
+ <li>a single signal will be delivered to all appropriate registered
+ receivers, so that multiple registrations do not interfere with each
+ other<br>
+ </li>
+ </ul>
+ <li>there is no requirement for the sender or receiver to be
+ dispatcher-aware. Any Python object save the None object can act
+ as a sender, and any callable object can act as a receiver. There
+ is no need to inherit from a particular class or provide a particular
+ interface on the object.<br>
+ </li>
+ <li>the system uses weak references to receivers wherever possible</li>
+ <ul>
+ <li>object lifetimes are not affected by PyDispatcher registrations
+ (that is, when your object goes away, the registrations related to the
+ object also go away). <br>
+ </li>
+ <li>references to common transient objects (in particular instance
+ methods) are stored as compound weak references. <br>
+ </li>
+ <li>weak references can be disabled on a
+ registration-by-registration basis</li>
+ </ul>
+ <li>allows rich signal types, signals are simply hashable objects
+ used to store and retrieve sub-tables, they are otherwise opaque to the
+ dispatcher mechanism</li>
+ <li>allows sending more information when sending than any particular
+ receiver can handle, dispatcher automatically culls those arguments
+ which are not appropriate for the particular receiver. This
+ allows registering very simple functions dealing with general messages,
+ while still allowing natural passing of arguments to higher level
+ functions.<br>
+ </li>
+ </ul>
+ <p>The dispatcher mechanism is particularly useful when constructing
+ Model-View-Controller style applications where it is not desirable to
+ have the Model objects aware of the event model.</p>
+ <h2>Acquisition and Installation</h2>
+ <p>PyDispatcher is available as a standard Python distutils
+ installation package from the SourceForge project <a
+ href="https://sourceforge.net/project/showfiles.php?group_id=79755">file
+ repository</a>. To install, unzip the source archive into a
+ temporary directory and run:<br>
+ </p>
+ <pre>python setup.py install<br></pre>
+ <p>PyDispatcher does not include any binary packages, so there should
+ be no issues in installation. To use the <a
+ href="https://sourceforge.net/cvs/?group_id=79755">CVS version</a> of
+ PyDispatcher (useful for developers of PyDispatcher), simply check out
+ the module to a directory on your PythonPath.<br>
+ </p>
+ <p class="technical">Due to problems with the Python 2.2.2 (and
+ earlier) weak reference implementation, it is <strong>strongly
+ recommended</strong> that you use <strong>Python 2.2.3</strong> or later
+ when using PyDispatcher.<br>
+ </p>
+ <h2>Documentation</h2>
+ <p>You can find usage samples in the examples directory of the
+ distribution. The dispatcher module's documentation is currently
+ the major source of information regarding the usage patterns.<br>
+ </p>
<p>PyDispatcher welcomes contributions, suggestions, and feedback from
! users in the pydispatcher-dev <a
! href="http://lists.sourceforge.net/lists/listinfo/pydispatcher-devel">mailing
! list</a>.<br>
</p>
<p class="footer">A SourceForge Open-Source project: <a
|