The front-end for SlamEngine.
Table of Contents
The easiest way to get started with SlamData is to download the pre-built installers from SlamData.
If you are looking for a smaller footprint and don't mind a bit more set up work, the latest pre-built node-webkit version is available in the releases. To use the releases version, you will need to set up two config files: one for SlamEngine and one for SlamData.
In order for this configurations to take effect, they MUST be saved in platform specific locations with the names slamdata-config.json
and slamengine-config.json
for the SlamData and SlamEngine configurations, respectively.
If you're set up with XDG Base Directory: $XDG_CONFIG_HOME/slamdata
If not: $HOME/.config/slamdata
.
$HOME/Library/Application Support/slamdata
%LOCALAPPDATA%\slamdata
(this is usually C:\Users\<your user name>\AppData\Local\slamdata
)
The SlamData configuration is a JSON file with a couple of required fields. Everything else is ignored.
The field nodeWebkit
is a JSON object with one field: java
.
This should be absolute string path to a java 7 binary.
SlamEngine requires java 7 in order to run properly. A jre version is included in the pre-built installers and the releases as a convenience.
E.g. /usr/bin/java
, C:\Program Files (x86)\java\bin\java.exe
, or using the pre-built windows installer C:\Program Files (x86)\slamdata-0.1.0\jre\bin\java.exe
.
The field server
is a JSON object with two fields: location
and port
.
This should point to the location of SlamEngine you'd like to connect to.
If you're running this locally, you'll probably want these to be http://localhost
and 8080
for server
and port
respectively.
An example configuration is shown below:
{
"nodeWebkit": {
"java": "/usr/bin/java"
},
"server": {
"location": "http://localhost",
"port": 8080
}
}
Please see the documentation for this config file here
We use a few tools to develop SlamData. The main source code is written with PureScript, which is an altjs language, so it compiles to JavaScript. Most of the dependencies are resolved with Bower (though some still require npm). The native client uses node-webkit in order to provide a standalone version of SlamData.
In order to develop you'll need to install some things first:
- Node.js Any way you can install this is fine, you we only develop on version 10.x.
- Bower After you have node installed and can run
npm
from the terminal, this can be installed withnpm install -g bower
. - Gulp We use gulp as our main task runner. After node is installed, this can be installed with
npm install -g gulp
. - PureScript If you're on a 64-bit version of linux, you can most likely use the releases available here. Otherwise, you'll have to build it from source. For more information, please see purescript-installing.
- Wine We use wine for specifically one reason, in order to replace the windows icon for the node-webkit version. It's an unfortunate dependency, but there doesn't seem to be any way around it. This should be available in most linux repos or installation instructions can be found here. For OSX see these instructions here N.B. Wine is only necessary if you're developing on windows or you want to build the node webkit version for windows.
- Once everything is installed, verify the tests pass with
npm test
. Assuming the tests all pass you're ready to start developing.