Re: Documenting Packages for Future Developers

"Israel Saeta Pérez" <[email protected]>
Newsgroups gmane.comp.web.zope.plone.documentation
Message-ID <[email protected]>
On Sun, Jan 4, 2009 at 12:38 AM, George L wrote:

> Hi all,
>
> I have a large number of custom products and eggs that I have made for a
> Plone web site project that I am now documenting. Because eventually I will
> not be around to maintain the software, I am working to make it as clear as
> possible to the next tech people how to maintain the software and make
> changes small and big. I am sharing my thinking on this to get feedback and
> because it may be helpful to other people.
>
> Much of the documentation I have seen before falls under "Learn about how
> to
> create a product." The major perspective informing my documentation work
> right now is "Learn how to understand an existing product and be able to
> make some changes to it ... including how to know what exactly about
> Plone/Zope you need to learn in order to understand the product, without
> having to learn everything!"
>
> As an example, one product I use has documentation that says its code uses
> the following techniques:
> - Standard product coding and file structure
> - Standard Plone installation, including GenericSetup
> - Install a specific tool or utility within a site: Zope2 tool in site
> root,
> registered as a Zope3 utility
> - Adding property sheets
> - Code-level techniques: custom exceptions, helper classes and methods
> - Zope3 coding techniques: including Zope3 utilities
>
> I don't bother explaining in that product's documentation all the details
> of
> what coding for a standard Plone installation looks like, what property
> sheets are, or what a Zope3 utility is -- that's where a developer can go
> learn more if they don't already know. I try to strike a balance here.
> Someone might look at this and scoff and say, "What? Any real Plone
> developer should know what property sheets are," or "Any real Plone
> developer should know how to use Zope3 utilities." But to me it seems that
> the number of Plone developers out there who know all the different
> techniques isn't huge, and it took me a long time to learn these
> techniques.
> So without dumbing down the documentation to explain every detail, the
> documentation at least gives a general overview of some of the major
> techniques someone needs to know to understand the code.
>

Are you saying you're explaining how plone works in your products? Why don't
you just link existing documentation?


>
> So tada -- this is my general comprehensive list right now of techniques
> which I draw these shorter bullet points from. Almost every line of code in
> my product is captured somewhere in this list. It would be great to hear
> feedback on using a list like this, and what people think about this list
> in
> particular.
>
> [... long list ...]
>

Like Veda has already pointed out, this is very interesting material to help
us organizing plone.org manuals and quickstarts.

Regarding the inclusion of a list of neccessary knowledge to understand how
the product works, I think this can only help, but could be time-consuming
for the developer and too rigid. Maybe describing what's the purpose of the
product and linking documentation where neccessary would have a similar
effect, e.g.:

"""
This product creates two new content-types, FortuneCookie and FortuneSteak.
For more info about content-types, check http://plone.org/docs/content-types
.
"""

"""
This product adds a new (zope 3) view to the News Item content-type using
GenericSetup. For more info about z3 view, see http://... and for more info
about GS, see http://...
"""

However, searching appropiate keywords in Google should work for most
readers, too. :-)

-- israel

------------------------------------------------------------------------------

_______________________________________________
Plone-docs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plone-docs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.