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: 24) |
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 2010 (2007 got the old standard 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
- Zend_Search_Lucene_Document (ECMA-376 standard)
- PHPExcel (ECMA-376 standard)
- PHPWord (ECMA-376 standard)
- PHPPowerPoint (ECMA-376 standard)
- Spreadsheet_Excel_Write (only Excel 5 and outdated)
- MS Office 2010 support
The standard ISO/IEC 29500:2008:
- Download page (4 ISO documents + 2 with changes)
Note: (ISO/IEC 29500-1) beginning at page 5553, are 8 pages where the differences between ISO/IEC 29500:2008 and ECMA-376:2006 are written
Attachments:
- Spreadsheet parts
- Spreadsheet example structure
- Wordprocessing parts
- Wordprocessing example structure
- Shared parts (used by spreadsheet, wordprocessing, presentation
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
| UC-01 write |
|---|
...
| UC-02 open/read |
|---|
...
| UC-03 read + write |
|---|
...
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 |
|---|
| UC-02 read |
|---|
9. Class Skeletons
Labels:
None
2 Comments
comments.show.hideFeb 15, 2011
Martin Keckeis
I researched now around the different standards.
Options to continue the work are:
1) Implementing the ISO/IEC 29500, would be supported by a lot of office systems (see above in overview section), but * not so MS office 2007*
2) Implementing the ECMA-376, would also be supported by a lot of office systems and what is more important: by MS office 2007/2010
3) Implementing the ISO/IEC 29500, and implementing later "wrapper" classes to convert/read "ECMA-376" files
What are all of you thinking is better
Vote for option 3)
With option 1), it's not possible to read the current 2007 documents properly.
May 13, 2011
Muhammad Hussein Fattahizadeh
What a bout UTF-8 and Right to left languages ?