GithubHelp home page GithubHelp logo

cloudxtreme / ethercalc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from audreyt/ethercalc

0.0 1.0 0.0 7.54 MB

Node.js port of Multi-user SocialCalc

Home Page: http://ethercalc.net/

License: Other

Shell 0.06% Makefile 0.07% JavaScript 92.76% HTML 0.60% LiveScript 4.05% CSS 2.42% Nginx 0.04%

ethercalc's Introduction

EtherCalc

Installation

For global installation (may need root)

npm i -g ethercalc
ethercalc

For local non-root installation

npm i
make

Or install with our Docker image, which comes with support for webworker-threads:

# Run a redis Docker using the official redis Docker image with persistant database in <host-directory>
sudo docker run --name redis -d -v <host-directory>:/data redis:latest redis-server --appendonly yes

# Run ethercalc on default port 8000
sudo docker run -d -p 8000:8000 --link redis:redis audreyt/ethercalc

# Run ethercalc on custom port 80
sudo docker run -d -p 80:8000 --link redis:redis audreyt/ethercalc

Send email - Optional - Send email formulas requires OAuth2 & cron e.g. =email(to, subject, body), =emailAt(time, to, subject, body)

OAuth2 - Set environment vars 
1) Tutorial: follow the tutorial to get the 4 environment vars http://masashi-k.blogspot.com.au/2013/06/sending-mail-with-gmail-using-xoauth2.html 
2) Set 4 environment vars - see [src/emailer.ls](src/emailer.ls) vars: user, clientId, clientSecret, refreshToken
Tested using gmail, have not tested with other providors

Cron - Required for emailAt formulas.
See *curl* in [.openshift/cron/minutely/timetrigger](.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. 

REST API

Please see API.md for the API Blueprint, or the online version at Apiary.

Runtime Flags

Listening Interface: --host / --port

Specify a specific host and/or a different port for the service.

By default EtherCalc listens at 0.0.0.0:8000 (all IPv4 interfaces).

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

Prefers polling over Websocket: --polling

Useful when running behind a proxy without WebSocket support.

Enable Cross-Origin Resource Sharing: --cors

Useful when setting up EtherCalc as a public REST API server.

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.

Disable server-side WebWorkers: --vm

Runs a single-thread background loop with vm.createContext instead of webworker-threads.

Useful for running custom functions in server side that requires full VM access.

Expires inactive spreadsheets: --expire 86400

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.

Licensing

Common Public Attribution License (Socialtext Inc.)

  • socialcalcspreadsheetcontrol.js
  • socialcalctableeditor.js

Artistic License 2.0 (Socialtext Inc.)

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

Artistic License 2.0 (Framasoft)

  • l10n/fr.json

MIT License (John Resig, The Dojo Foundation)

  • static/jquery.js

MIT License (HubSpot, Inc.)

  • static/vex-theme-flat-attack.css
  • static/vex.combined.min.js
  • static/vex.css

MIT License (Stuart Knightley, David Duponchel, Franz Buchinger, Ant'onio Afonso)

  • static/jszip.js

Apache License 2.0 (SheetJS)

  • static/shim.js
  • static/xlsx.js
  • static/xlsxworker.js
  • start.html (xlsx2socialcalc.js)

CC0 Public Domain (唐鳳)

  • src/*.ls

Mozilla Public License Version 2.0

  • images/sc_*.png

ethercalc's People

Contributors

acthieph avatar arnaudlecam avatar audreyt avatar avoidik avatar bestian avatar bingooo avatar bruce534 avatar cbrunet avatar clkao avatar cryptogopher avatar dsix avatar eddyparkinson avatar filirom1 avatar framartin avatar frlan avatar gagern avatar gierschv avatar gkz avatar infojunkie avatar joequant avatar ldidry avatar mscherer avatar neynah avatar pjrobertson avatar samejack avatar tg90nor avatar uho avatar xshadow avatar yakulu avatar youchenlee avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.