[Zope-PTK] Adding other types of news items

Tres Seaver tseaver@digicool.com
Fri, 16 Feb 2001 17:30:19 -0500


"Dan L. Pierson" wrote:
> 
> Jens Vagelpohl <jens@digicool.com> writes:
> 
> > What you need to do is go to the PTKDemo directory in your zope install (on
> > the file system) and check out the NewsItem.py file. you would need to
> > create a new python class for your "Market News" object and give it a
> > distinct add method and meta type and all that, and then you can override
> > whatever is necessary in that new class. once you are done with that you
> > need to go back to the types tool and put the name of the add method into
> > the field "Factory method in product".
> >
> > Make sure to add the correct product registration information for your
> > Market News object in the right places (like in __init__.py under PTKDemo),
> > just grep for NewsItem and emulate how it is being done.
> 
> If you're going to do this, I'd really advise creating a new Python
> product for your modifications.  What I did was:
> 
> 1. Create a new directory named 'PTKCCom' under Products.
> 
> 2. Copy __init__.py and the .py files I wanted to subclass or clone
> from PTKDemo to PTKCCom.
> 
> 3. Rename my .py files from Demo*.py to CCom*.py.  This is optional,
> but will help reduce confusion later.
> 
> 4. Edit my copied __init__.py to remove all references to stuff I
> wasn't doing and add my new files.
> 
> 5. Edit my copied files to subclass from the PTKDemo classes
> (e.g. make CComMembershipTool subclass from DemoMembershipTool instead
> of MembershipTool).  Obviously a bunch of imports need to be fixed up;
> watch out for ones that used to import from the local product
> directory.
> 
> 6. Delete all members that I don't plan to override from my new
> subclasses.
> 
> This should result in a structure that will survive future PTK changes
> a lot better than changing code in PTK directories.  It really isn't
> hard to do.

Dan,

Could you please write this up in a Document on the new dogbowl,
and submit it for publication?

  http://cmf.zope.org

Thanks!

Tres.
-- 
===============================================================
Tres Seaver                                tseaver@digicool.com
Digital Creations     "Zope Dealers"       http://www.zope.org