Google Spreadsheets are cool, but their problem is that they are hosted at Google instead of in your intranet portal. That means that they don't integrate easily with your other Web documents, in terms of classification, indexing, permissions, etc. The API provided by Google does help there, it's true. But what about adding new features? Google Docs simply isn't open source, and therefore is not ideal.
Enter Dan Bricklin, co-author of Visicalc, the original spreadsheet application back in 1979. Dan has recently been working on SocialCalc, an open source spreadsheet engine written in Javascript. This engine is bundled with SocialText, an "Enterprise 2.0" collaboration tool, as well as the OLPC XO laptop. With these credentials, you can expect SocialCalc to be a neat piece of code. Well, it is, and it's open source!
Enter Drupal. To me, Drupal is the ultimate glue for Web technologies. Its flexible architecture allows pretty much any Web component or protocol to be integrated within a coherent framework, and that's why it powers a large percentage of the modern Web. Marketing aside, I decided to integrate SocialCalc into Drupal, and the Sheetnode module is the result. Here are some of its features:
- 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
This last point is the most exciting to me, as it allows for real-time reports to be created out of Drupal data. Simply create a new view, choose the Style to be "Spreadsheet", then you're shown a sheet where you place and format the fields that should be rendered, as well as the calculations needed. Invoking that view expands the results onto the sheet and you get your results!
Sheetnode is still hot off the oven at version 1.0. I'm excited to see it adopted as part of Drupal intranet installations. Your feedback is wanted!




Comments
Brilliant
I would never have thought of something so logical. I look forward to using this module on a current project.
Very very cool
Very very cool. Well done on turning around a Drupal module including this great FOSS. Can't wait to have a play :)
Thanks
Justin
Superb
Great contribution!
Amazing
This looks really amazing!! I was thinking may be openoffice could be integrated with drupal someday but this looks better than anything else. Can't wait to play with it
Perfect for a feature?
Hi..
This looks very promising. Summer is coming along and to keep our developers inside we need to come up with some interesting work.
Writing a feature to embed Sheetnode inside a certain intranet installation, that should keep them busy!
Hi Roel, I spent an hour
Hi Roel,
I spent an hour trying to wrap Sheetnode as a feature, but ran into many issues. I'd be happy to collaborate on this. Contact me if you're interested.
Great contribution! xf
Great contribution!
xf
PERFECT
NICE CAUSE I'M ALWAYS BUZZY WITH IT.
Cool - import Excel into Drupal!
I am eager to try this module in my next project!
Keep up the good work!
Let me know, if you need help.
Collaboration
What about cell- or row-level locking? It would be great to learn more about the possibility of this as a feature in order to propel this into competition against google docs or office.live.com spreadsheet.
Looking forward to giving this module a go in drupal soon.Thanks
Post new comment