- Notifications
You must be signed in to change notification settings - Fork0
Node.js port of Multi-user SocialCalc
License
EthanKeng/ethercalc
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Overview:https://ethercalc.net/
REST API:http://docs.ethercalc.apiary.io/
Language:LiveScript
Runtime:Node.js (4.x preferred, should work with 0.8+)
Services:Redis (2.4+; fall-back to on-disk JSON storage if not present)
- Multi-server is supportedonly when running with Redis
- Note to Redis 2.2 users (e.g. on Ubuntu 12.04): Please disable the
timeout 300
setting in/etc/redis.conf
, or upgrade to Redis 2.4+ if possible at all. For more details, see#49.
Browsers tested: Safari, Chrome, Firefox, IE.
Integrated with content management systems:
For global installation (may need root)
npm i -g ethercalcethercalc
For local non-root installation
npm imake
Nodejs older than 6.0
downgrade Nodemailer to v2.7.2
Or install with ourDocker image, which comes withsupport for webworker-threads:
# Install docker and docker-composesudo ./misc/linux-install-docker-and-compose.sh# Run ethercalc on port 80 ( http://localhost/ )docker-compose up -d
Config database
set env vars: REDIS_PORT REDIS_HOST REDIS_SOCKPATH REDIS_PASS REDIS_DB OPENSHIFT_DATA_DIRDefaults: REDIS_HOST = localhost REDIS_PORT = 6379 OPENSHIFT_DATA_DIR= process.cwd!OPENSHIFT_DATA_DIR is used if redis is not Running.Code is here:https://github.com/audreyt/ethercalc/blob/df758d4c2f5cbcb00b50e9289a8ba237d4f8fa86/src/db.ls#L5
Send email
Optional - Send email formulas requires OAuth2 & cron e.g. =email(to, subject, body), =emailAt(time, to, subject, body)OAuth2 - Set environment vars1) Tutorial: follow the tutorial to get the 4 environment vars http://masashi-k.blogspot.com.au/2013/06/sending-mail-with-gmail-using-xoauth2.html2) Set 4 environment vars - see [src/emailer.ls] vars: user, clientId, clientSecret, refreshTokenTested using gmail, have not tested with other providorsCron - Required for emailAt formulas.See *curl* in [.openshift/cron/minutely/timetrigger] for openshift version (openshift](openshift.redhat.com)The curl checks the database for unsent emails and updates the database after sending.
Please seeAPI.mdfor the API Blueprint, orthe online version at Apiary.
Specify a specific host and/or a different port for the service.
By default EtherCalc listens at0.0.0.0:8000
(all IPv4 interfaces).
openssl genrsa -out ethercalc-key.pem 1024openssl req -new -key ethercalc-key.pem -out certrequest.csropenssl x509 -req -in certrequest.csr -signkey ethercalc-key.pem -out ethercalc-cert.pemethercalc --keyfile ethercalc-key.pem --certfile ethercalc-cert.pem
Useful when running behind a proxy without WebSocket support.
Useful when setting up EtherCalc as a public REST API server.
Useful when running under an URL rewriter. If running with a nginx reverseproxy, please add this section:
location /zappa/socket/__local/ { rewrite (.*) /path/prefix$1; }
Offers read-write vs. read-only modes. See issues#1 and#4 for details on setting this up.
Runs a single-thread background loop withvm.createContext
instead ofwebworker-threads
.
Useful for running custom functions in server side that requires full VM access.
Deletes a spreadsheet's content after N seconds of inactivity. Activities include accessing with REST API as well as Web UI, including moving the active cell cursor on an opened page.
- socialcalcspreadsheetcontrol.js
- socialcalctableeditor.js
- formatnumber2.js
- formula1.js
- socialcalc-3.js
- socialcalcconstants.js
- socialcalcpopup.js
- l10n/fr.json
- static/jquery.js
- static/vex-theme-flat-attack.css
- static/vex.combined.min.js
- static/vex.css
- static/jszip.js
- static/shim.js
- static/xlsx.js
- static/xlsxworker.js
- start.html (xlsx2socialcalc.js)
- src/*.ls
- images/sc_*.png
About
Node.js port of Multi-user SocialCalc
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Languages
- JavaScript57.4%
- LiveScript23.0%
- CSS14.7%
- HTML3.4%
- Shell0.9%
- Makefile0.4%
- Other0.2%