Odds and Ends

Bits and pieces here without a more specific home

Class Hierarchy

pptx
|
+--.packaging
   |
   +--_PartCollection
   |  |
   |  +--ImageParts
   |  +--SlideLayoutParts
   |  +--SlideMasterParts
   |  +--SlideParts
   |  +--ThemeParts
   |
   +--Part
      |
      +--CollectionPart
      |  |
      |  +--ImagePart
      |  +--SlideLayoutPart
      |  +--SlideMasterPart
      |  +--ThemePart
      |
      +--PresentationPart
      +--PresPropsPart
      +--SlidePart
      +--TableStylesPart
      +--ViewPropsPart

Also try something like this:

Exception hierarchy
-------------------

The class hierarchy for built-in exceptions is:

.. literalinclude:: ../../Lib/test/exception_hierarchy.txt

Feature adding process:

  • Analysis
    • Use case
    • Aspects of the spec and PowerPoint conventions that bear on the feature
  • Implementation strategy
  • Test Cases
  • Documentation
  • Implementation
  • Commit

Odds and Ends

  • DOC: Reserved Terms, e.g. package, part, item, element, etc. These have special meaning because of the terminology of Open XML packages and ElementTree XML conventions. Singleton, collection, perhaps tuple.
  • DOC: Variable naming conventions. Variables containing XML elements are named the same as the tag name of the element they hold. For example: sldMaster = etree.parse(‘sldMaster1.xml’)
  • DOC: Suitable for server-side document generation, database publishing, taking tedium out of building intricate slides that have a distinct pattern, etc.
  • DOC: Content Types mapping is discussed in ECMA-376-2 10.1.2 Mapping Content Types
  • DOC: Explicit vs. Implicit relationships are discussed in section 9.2 of ECMA-376-1. Basically relationships to whole parts are explicit and relationships to one of the elements within another part (like a footnote) are implicit.
  • DOC: [Open XML SDK How To’s (How do I…)| http://207.46.22.237/en-us/library/cc850828.aspx]
  • DOC: [Good hints on where formatting comes from in template|http://openxmldeveloper.org/discussions/formats/f/15/t/1301.aspx]
  • Set work template slide layouts to standard type names for better layout re-mapping on theme/template change [http://msdn.microsoft.com/en-us/library/office/cc850846.aspx]
  • spTree in cSld is a GroupShape (ShapeGroup?) perhaps Shape and ShapeGroup are … ? not sure who should inherit from the other. GroupShapes can include other GroupShapes.