/ethercalc

Node.js port of Multi-user SocialCalc

Primary LanguageJavaScriptOtherNOASSERTION

EtherCalc

Installation

npm i -g ethercalc
ethercalc

REST API

GET /_/page

Fetch the page as a serialization in SocialCalc save format.

PUT /_/page

Replaces the page with a serialization in SocialCalc save format.

POST /_/page?command=...

Runs one or more commands specified as the command POST data parameter.

GET /_/page/cells

Returns a JSON representation of all defined cells in the page.

GET /_/page/cells/A1

Returns a JSON representation of a single cell in the page.

GET /_/page/html

Returns a HTML rendering of the page.

GET /_/page/csv

Returns a CSV rendering of the page.

Flags

Using SSL: --keyfile / --certfile

openssl genrsa -out ethercalc-key.pem 1024
openssl req -new -key ethercalc-key.pem -out certrequest.csr
openssl x509 -req -in certrequest.csr -signkey ethercalc-key.pem -out ethercalc-cert.pem
ethercalc --keyfile ethercalc-key.pem --certfile ethercalc-cert.pem

Disable Websocket: --polling

Useful when running behind a proxy without WebSocket support.

URL Prefix: --basepath /path/prefix

Useful when running under an URL rewriter.

Access Control: --key secret

Offers read-write vs. read-only modes. See issues #1 and #4 for details on setting this up.

Licensing

Common Public Attribution License (Socialtext Inc.)

  • socialcalcspreadsheetcontrol.js
  • socialcalctableeditor.js
  • images/*

Artistic License 2.0 (Socialtext Inc.)

  • formatnumber2.js
  • formula1.js
  • socialcalc-3.js
  • socialcalcconstants.js
  • socialcalcpopup.js

MIT License (John Resig, The Dojo Foundation)

  • static/jquery.js

CC0 Public Domain (唐鳳)

  • src/*.ls