Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Node-based communications hub for multi-user SproutCore applications, serving as a unified database interface and automating distribution of data changes
Failed to load latest commit information.
fixtures added example fixture
policies Adding policy reloading, fixing policy bugs, creating store request c…
tests adding reauthentication method to
.gitignore adding .gitignore
.gitmodules adding reauthentication method to
README updating README to reflect changes
myRPCHooks.sample.js getting rid of require('sys')
myUsers.sample.js removing isRoot setting and replace by role



Thoth is a Node.js-based communications hub for multi-user SproutCore applications, serving as a unified database interface and automating distribution of data changes

It simplifies the specification and maintenance of data models by only requiring them in your SproutCore application when used with a nonSQL database.

October 7th 2011:

As of traffic issues others and I encountered lately between Thoth and ThothSC, I decided to no longer
use my custom traffic specifications, but to replace them with
This means the master branch no longer contains the custom specifications but only the client.
I created a separate branch to keep the old version around (
I will try to update it with bug fixes, but the main development will be on the master branch.


 - based communication
 - Session support
 - Policy (role-based permissions) and record filtering support
 - Authentication support (async)
 - Easy to implement custom storage modules (example mySQL, Riak and OrionDB storage modules included)
 - Automated updates pushed to connected clients

Written with a SproutCore application in mind. (
You can use Thoth in your SproutCore application by using the SC framework, which can be found on

Status: Between alpha and beta status...  
	What works: 
    - all based traffic (currently on v0.8.4)
		- Authentication from user data in a file
		- Session support
		- Automatic distribution of changes based on users previous requests
		- support for sending queries to the server
		- support for custom storage modules, such as fixtures
		- SC.DataSource client code (see my Thoth-SC project)
		- MySQL support using mysql-client (you need the mysql client and bindings from my node-mysql-mysqlclient fork)
		- MySQL support using node-mysql 

   What should work properly soon, but is already included (so feel free to help getting it to work!):
      - LDAP authentication
      - CouchDB adapter
      - Riak adapter (had to switch deps on this one)
	What still needs to be implemented:
		- support for more Riak features in requests to the server
		- support for CouchDB automatic view creation based on Sproutcore models
		- additional authentication modules
		- binary data support

  The easiest way is cloning this repository. Be sure to also checkout the submodules by calling
  git submodule update --init 
  in the Thoth folder after cloning or forking.
  You will also need npm and install a few modules, depending on what you use:
  - (required)
  - node-mysql

Many thanks to juan77 and especially to Jeff Pittman (geojeff) for their continuing support and willingness to test and catch bugs!

License: MIT
Something went wrong with that request. Please try again.