Sheetnode
Sheetnode integrates the JavaScript spreadsheet engine SocialCalc as a new node type in Drupal. SocialCalc was written by Dan Bricklin, co-author of the original VisiCalc spreadsheet app in 1979, and is used in the OLPC XO laptop and the SocialText Collaboration Platform.
WHAT CAN YOU DO WITH IT?
* Create nodes that are spreadsheets, complete with formulas and formatting
* Refer to cells in other spreadsheet nodes
* Use the standard Drupal search to find content inside cells
* Save sheets as templates that can be reused when creating new spreadsheets
* Import from / export to Microsoft Excel files
* Export to OpenOffice.org Calc files
* Import from Google Docs spreadsheets
* Create views that show results in spreadsheets, complete with formulas, formatting and result expansion
* Create views that let you export their data to Microsoft Excel and OOo Calc files
Check the Roadmap below for upcoming features.
INSTALLATION
NOTE: Drupal 5 is unsupported! The D5 dev release was just intended as an experiment but expect no more work on it.
Sheetnode module
* Go to the sheetnode folder.
* Download the latest SocialCalc tarball from the GitHub repo (you can use this link directly).
* Extract the downloaded tarball and rename the extracted folder to socialcalc.
* Apply the socialcalc.patch included with this module using the following:
cd /your/path/to/sheetnode
patch -p0 < socialcalc.patchNOTE: I am maintaining this patch manually against the latest version of SocialCalc. If the patch included in the module package fails because SocialCalc has been updated, please notify me to create a new version of the patch.
Patch tested against: SocialCalc commit dc908a15ae31a450dbe5865dde14a8e3d69cb7f2 on June 21, 2009.
Sheetnode XLS import/export module
* Install Sun's Java 6 JRE or equivalent.
* Install PHP/Java Bridge. Please make sure it works correctly before proceeding.
* Extract the folder META-INF contained in JavaBridge.rar to any folder that is accessible by the Web server.
* Activate module PHP/Java Bridge (included here) and configure its settings to point to the Java.inc folder.
* Download Apache POI 3.4-BETA5 and extract the bin package to any folder that is accessible by the Web server.
* Configure the Sheetnode XLS settings to point to the folder above.
* Go to Drupal's Status report page and make sure the entries Apache POI, PHP/Java Bridge extension, and PHP/Java Bridge include files are green.
Sheetnode ODS import/export module
* Install Sun's Java 6 JRE or equivalent.
* Install PHP/Java Bridge. Please make sure it works correctly before proceeding.
* Extract the folder META-INF contained in JavaBridge.rar to any folder that is accessible by the Web server.
* Activate module PHP/Java Bridge (included here) and configure its settings to point to the Java.inc folder.
* Download the ODFDOM 0.7 jar file and place it in any folder that's accessible by the Web server. Note that earlier versions of ODFDOM won't work because class names have changed.
* Download the latest Xerces2-J package (currently 2.9.1) and extract xercesImpl.jar to the same folder above.
* Configure the Sheetnode ODS settings to point to the folder above.
* Go to Drupal's Status report page and make sure the entries ODFDOM, PHP/Java Bridge extension, and PHP/Java Bridge include files are green.
Sheetnode Google Spreadsheets import/export module
* Download Zend Gdata Framework.
* Extract to a folder of your choice.
* Configure the Sheetnode Google Spreadsheets settings by entering the full path of the Zend Gdata folder that contains the subfolder named 'Zend' (typically /path/to/ZendGdata-x.y.z/library).
ROADMAP
Version update
Update SocialCalc "core" to latest version on GitHub (done)
Functionality
* On-page controls to insert/remove rows/cols, format cells, etc. (done)
* Export/import from CSV, XLS (in progress), ODS (in progress), Google Docs (in progress), etc.
* Template system to save and reuse spreadsheet layouts (done)
* User-defined functions including Ajax functions for backend processing
* Cell references to other sheetnodes (done: syntax is "Node title"!CellRef or "nid"!CellRef)
* UI-based resizing of worksheet
* Charts
* SUMPRODUCT function (done)
* Collaboration features
Drupal integration
* Packaging as CCK field
* Integration with Drupal theming system
* Integration with search module (done)
* Cell-level permissions
* Revision history with user information (done)
* Create a book and place all imported sheets inside it (done)
* Packaging as Views style plugin (in progress)
* Export Views to XLS, ODS (in progress)
Issues & limitations
* Xdebug interferes with PHP/Java Bridge (as reported on the Xdebug bugs database) and causes ODS export (at least) to fail
* No import of charts or images
* No export of HTML or Wiki text
* Only one sheet can be displayed on a single page at any time
Contributors/co-maintainers wanted! Please drop me a line.
Releases
| Official releases | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| 6.x-1.1 | 2009-Jun-28 | 42.92 KB | Download · Release notes | Recommended for 6.x | |
| Development snapshots | Date | Size | Links | Status | |
|---|---|---|---|---|---|
| 6.x-1.x-dev | 2009-Jul-05 | 50 KB | Download · Release notes | Development snapshot | |
| 5.x-1.x-dev | 2009-Jan-19 | 24.62 KB | Download · Release notes | Development snapshot | |
