You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+57-11Lines changed: 57 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@
6
6
[DataSpread][dataspread-github] is a _spreadsheet-database hybrid system_, with a spreadsheet frontend, and a database backend. Thus, DataSpread inherits the flexibility and ease-of-use of spreadsheets, as well as the scalability and power of databases. A paper describing DataSpread's architecture, design decisions, and optimization can be found [here][dataspread-site]. DataSpread is a multi-year project, supported by the National Science Foundation via award number 1633755.
7
7
8
8
### Version
9
-
The current version is 0.3.
9
+
The current version is 0.5.1.
10
10
11
11
### Features
12
12
DataSpread is built using [PostgreSQL][postgressite] and [ZKSpreadsheet][zksite], an open-source web-based spreadsheet tool.
@@ -33,25 +33,71 @@ In future releases, DataSpread will support SQL on the spreadsheet frontend, alo
33
33
34
34
## Setup Instructions:
35
35
36
-
You can directly use DataSpread via our cloud-hosted [site][siteinfo].
36
+
You can directly use DataSpread via our cloud-hosted [site][siteinfo] (Temporarily offline).
37
37
38
-
To host DataSpread locally you can either use one of the pre-build war files, available [here][warlink], or build the war file yourself from the source.
38
+
DataSpread can be deployed locally through Docker (recommended) or through Apache Tomcat. To start a new book, import a `csv` file or use the `/sample.csv` provided.
39
+
40
+
## Docker Method
41
+
42
+
### Required Software
43
+
44
+
*[Docker][docker] >= 1.13.0
45
+
46
+
### Deploying DataSpread locally.
47
+
48
+
1. Clone the DataSpread repository and go the directory in your terminal. Alternatively, you can download the source as a zip or tar.gz.
49
+
50
+
2. Install Docker. [Docker][docker] makes it easy to separate applications from underlying infrastructure so setting up and running applications is quick and easy.
51
+
52
+
3. Start Docker and start the application. It should be accessible at [http://localhost:8080/][install_loc]. Stop the application with `CTRL+C`.
53
+
```
54
+
docker-compose up
55
+
```
56
+
57
+
58
+
### Rebuilding Changes
59
+
60
+
Any changes to the code can be rebuilt by adding the build tag when starting the application.
61
+
```
62
+
docker-compose up --build
63
+
```
64
+
65
+
If there are any errors or the docker image needs to be built from scratch, run the following.
66
+
```
67
+
docker-compose down
68
+
docker-compose build --no-cache
69
+
docker-compose up
70
+
```
71
+
72
+
### Data Persistance
73
+
74
+
Data is automatically persisted in a Docker volume across shutdowns. Erase the persisted data by running the following.
75
+
```
76
+
docker-compose down -v
77
+
```
78
+
79
+
### Additional Information
80
+
81
+
Docker uses the `/docker-compose.yml` to startup the application. For more information about how the application is deployed, look at `/docker-compose.yml`, `/Dockerfile`, and the files in the `/build-db` and `/build-web` folders.
82
+
83
+
## Tomcat Method
84
+
85
+
To host DataSpread locally on Tomcat, you can either use one of the pre-build WAR files, available [here][warlink], or build the WAR file yourself from the source.
39
86
40
87
### Required Software
41
88
42
89
*[Java Platform (JDK)][java] >= 8
43
-
*[PostgreSQL][posrgres] >= 10.5
90
+
*[PostgreSQL][postgres] >= 10.5
44
91
*[PostgreSQL JDBC driver][jdbc] = 42.1.4
45
92
*[Apache Tomcat][tomcat] >= 8.5.4
46
93
*[Apache Maven][maven] >= 3.5.0
47
94
*[NodeJS][node] >= 10.9
48
95
49
-
50
-
### Building Instructions (To generate a war file)
96
+
### Building Instructions (To generate a WAR file)
51
97
52
98
1. Clone the DataSpread repository. Alternatively, you can download the source as a zip or tar.gz.
53
99
54
-
2. Use maven to build the `war` file using the following command. After the build completes the war is available at `webapp/target/DataSpread.war`.
100
+
2. Use maven to build the `war` file using the following command. After the build completes, the WAR is available at `webapp/target/DataSpread.war`.
55
101
56
102
```
57
103
mvn clean install
@@ -81,7 +127,7 @@ To host DataSpread locally you can either use one of the pre-build war files, av
81
127
82
128
5. Copy `postgresql-42.1.4.jar` (Download from [here][jdbc]) to `lib` folder under `TOMCAT_HOME`. It is crucial to have the exact version of this file.
83
129
84
-
6. Deploy the war file within Tomcat. This can be done via Tomcat's web interface or by manually copying the war file in the `webapps` folder under `TOMCAT_HOME`.
130
+
6. Deploy the WAR file within Tomcat as the root application. This can be done via Tomcat's web interface by undeploying any application located at `/` and deploying the WAR file with the context path `/`. To do this manually, delete the `webapps/ROOT` folder under `TOMCAT_HOME` while the application is not running, copy the WAR file to the `webapps` folder, and rename it to `ROOT.war`.
85
131
86
132
7. Now you are ready to run the program. Visit the url where Tomcat is installed. It will be typically [http://localhost:8080/][install_loc] for a local install.
0 commit comments