Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

<ac:macro ac:name="unmigrated-inline-wiki-markup"><ac:plain-text-body><![CDATA[

Zend Framework: Zend\OfficeOpen Component Proposal

Proposed Component Name Zend\OfficeOpen
Developer Notes http://framework.zend.com/wiki/display/ZFDEV/Zend\OfficeOpen
Proposers Martin Keckeis
Zend Liaison TBD
Revision 1.0 - 1 February 2011: Initial Draft. (wiki revision: 20)

Table of Contents

1. Overview

Zend\OfficeOpen is a simple component that can read and write ISO/IEC 29500 Office Open XML File Formats.
This include: spreadsheets, wordprocessing and presentation documents.

Supporting of this standard (ISO/IEC 29500)

  • Microsoft Office, since version 2007/2010 (only old standard which was not accepted: ECMA-376)
  • SoftMaker Office 2010
  • Corel WordPerfect, since version X4 (only import)
  • ThinkFree Office, since version 3.5
  • NeoOffice MAC
  • OpenOffice, since version 3.0 (only import)
  • Gnumeric and AbiWord (import and export)
  • iPhone eMail file support
  • iWork, since version '08
  • TextEdit, since version Mac OS X 10.5

2. References

The standard ISO/IEC 29500:2008:

Attachments:

3. Component Requirements, Constraints, and Acceptance Criteria

  • This component will not read/write/convert old formats like .xls, .doc, .ppt, ...
  • This component will read/write ISO/IEC 29500 Office Open XML File Formats
  • This component will use Zend\Cache for caching readed files
  • This component will use Zend\Translate and/or Zend\Locale for translation
  • This component maybe will support both "ISO/IEC 29500" and "ECMA-376"

4. Dependencies on Other Framework Components

  • Zend\Exception
  • Zend\Cache
  • Zend\Translate
  • Zend\Locale
  • Zend\Config (maybe)

5. Theory of Operation

General for using this component, the ZipArchive and XML Manipulating from PHP is needed.

UC-01 write

1. User defines what shall be written to the output (texts, images, meta-data, formatting, ...)
2. Forwarding the provided data to the generation classes
3. Generate and write each single XML document
4. Putting it in the ZIP together

UC-01 open/read

1. Unzip the XMLs
2. open [Content_Types].xml and _rels/.rels (these two files are required minimal)
3. Looping through the needed files (from user)
4. Return output

6. Milestones / Tasks

  • Milestone 1: Reading/Understanding the whole XML parts which are possible in the ZIP of word, excel, powerpoint
  • Milestone 2: Concept
  • Milestone 3: Class/Folder structure
  • Milestone 4: Working prototype
  • Milestone 5: Feedback
  • Milestone 6: Writing Tests
  • Milestone 7: Final coding
  • Milestone 8: Documentation / Review

7. Class Index

  • Zend\OfficeOpen\Exception
  • ....

8. Use Cases

UC-01 write

use Zend\Excel;
$excel = new Excel(...);
$excel->setMetadata(...);

$worksheet = $excel->getWorksheet(...);
$worksheet->setHead(...);
$worksheet->setFooter(...);

$style1 = new Excel\Style();
$style1->setBorder(...);
$style1->setBackgroundColor(...);
$style1->setColor(...);

$cell = new Excel\Cell();
$cell->setText('cellText');
$cell->setStyle($style1);

$worksheet->setCell('A', '1', $cell);

$excel->render('test.xlxs');

9. Class Skeletons

]]></ac:plain-text-body></ac:macro>

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.