-
Notifications
You must be signed in to change notification settings - Fork 50
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #614 from openworm/development
Release 1.0.0
- Loading branch information
Showing
15 changed files
with
505 additions
and
541 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,27 +4,29 @@ | |
|
||
# [Geppetto](http://www.geppetto.org/) | ||
|
||
[![Stories in Ready](https://badge.waffle.io/openworm/org.geppetto.png?label=ready&title=Ready)](https://waffle.io/openworm/org.geppetto) | ||
[![StackShare](http://img.shields.io/badge/tech-stack-0690fa.svg?style=flat)](http://stackshare.io/tarelli/geppetto) | ||
|
||
#### [Website](http://www.geppetto.org/) | [Documentation](http://docs.geppetto.org/) | [Releases](https://github.com/openworm/org.geppetto/releases/) | ||
#### [Contribution guidelines](http://docs.geppetto.org/en/latest/contribute.html#how-to-contribute-code-to-geppetto) | [Development progress](https://waffle.io/openworm/org.geppetto) | ||
|
||
**Geppetto is an open-source platform to build web-based applications to visualize and simulate neuroscience data and models.** | ||
|
||
**If you just want to play with a demo Geppetto deployment you don't need to install anything, just visit <https://live.geppetto.org>.** | ||
**If you want to play with a demo application built with Geppetto just visit <https://live.geppetto.org>.** | ||
|
||
If you want to setup your own Geppetto deployment from sources use our [Setup Instructions](http://docs.geppetto.org/en/latest/osxlinuxsetup.html). If you need help building a neuroscience application using Geppetto or if you want to join the project as a contributor you can [send an email](mailto:matteo@geppetto.org) or just interact with us through GitHub! | ||
If you want to build your own Geppetto application follow these [instructions](http://docs.geppetto.org/en/latest/build.html) and [these steps](http://docs.geppetto.org/en/latest/osxlinuxsetup.html) to setup the source code using the Java Backend. | ||
|
||
This is the umbrella project that keeps together all the different Geppetto modules currently available: | ||
The demo application is available in [this repository](https://github.com/openworm/geppetto-application) which you can fork to build your own. Every Geppetto application has an npm dependency on [geppetto-client](https://github.com/openworm/geppetto-client/tree/development) which makes all the frontend Geppetto components and infrastructure available to the application. A Geppetto application can be deployed on different backends based on Java (via Eclipse Virgo) or Python (via [Jupyter Notebook](https://github.com/openworm/org.geppetto.frontend.jupyter) or [Django](https://github.com/MetaCell/pygeppetto-django)). | ||
|
||
#### Web client | ||
The [Geppetto Client](https://github.com/openworm/geppetto-client/tree/development) is reused in all Geppetto applications. It contains all the GUI components, the Javascript facilities to interact with the Geppetto Model and the infrastructure to communicae with the backend. The Geppetto client is available from [npm](https://www.npmjs.com/package/@geppettoengine/geppetto-client). | ||
|
||
#### Java backend | ||
The Java backend is used in client-server deployments of Geppetto. The Java backend is modular allowing each deployment to be customised only with the relevant bundles. | ||
The Java backend is the reference backend implementation and is used in client-server deployments of Geppetto. The Java backend is modular allowing each deployment to be customised only with the relevant bundles. | ||
* Essential | ||
* [org.geppetto.model](https://github.com/openworm/org.geppetto.model) [![Build Status](https://travis-ci.org/openworm/org.geppetto.model.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.model) | ||
* [org.geppetto.core](https://github.com/openworm/org.geppetto.core) [![Build Status](https://travis-ci.org/openworm/org.geppetto.core.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.core) | ||
* [org.geppetto.simulation](https://github.com/openworm/org.geppetto.simulation) [![Build Status](https://travis-ci.org/openworm/org.geppetto.simulation.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.simulation) | ||
* [org.geppetto.frontend](https://github.com/openworm/org.geppetto.frontend) [![Build Status](https://travis-ci.org/openworm/org.geppetto.frontend.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.frontend) (Note: The frontend is resused on all backends) | ||
* [org.geppetto.frontend](https://github.com/openworm/org.geppetto.frontend) [![Build Status](https://travis-ci.org/openworm/org.geppetto.frontend.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.frontend) (Note: the repository of the geppetto application you want to deploy in a Java Backend needs to be cloned inside this bundle) | ||
* Optional | ||
* [org.geppetto.persistence](https://github.com/openworm/org.geppetto.persistence) [![Build Status](https://travis-ci.org/openworm/org.geppetto.persistence.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.persistence) | ||
* [org.geppetto.datasources](https://github.com/openworm/org.geppetto.datasources) [![Build Status](https://travis-ci.org/openworm/org.geppetto.datasources.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.datasources) | ||
|
@@ -37,18 +39,20 @@ The Java backend is used in client-server deployments of Geppetto. The Java back | |
* Fluid mechanics (Currently in development) | ||
* [org.geppetto.sibernetic](https://github.com/openworm/org.geppetto.sibernetic) [![Build Status](https://travis-ci.org/openworm/org.geppetto.sibernetic.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.sibernetic) | ||
|
||
#### Python Backend (prototype, in development) | ||
The Python backend is based on a Geppetto Jupyter extension which allows the user to interact with the Geppetto frontend from Python. This deployment makes it ideal to use Geppetto as a visualization/computational local playground. | ||
* [org.geppetto.frontend.jupyter](https://github.com/openworm/org.geppetto.frontend.jupyter) [![Build Status](https://travis-ci.org/openworm/org.geppetto.frontend.jupyter.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.frontend.jupyter) | ||
#### Python Backend (working prototype, in development) | ||
|
||
Python backends are being developed both on top of [Django](https://github.com/MetaCell/pygeppetto-django) and as a [Jupyter Notebook extension](https://github.com/openworm/org.geppetto.frontend.jupyter). The Jupyter extension allows the user to host a Geppetto application inside a Jupyter Notebook environment. The application will talk to the Python kernel of the notebook which will act as a backend. Client-server deployments based on the Jupyter Notebook extension are also possible using Jupyter Hub. | ||
|
||
* [org.geppetto.frontend.jupyter](https://github.com/openworm/org.geppetto.frontend.jupyter) | ||
|
||
All Python backends will reuse pyGeppetto as the main library. pyGeppetto contains the code to work with a Geppetto model and to implement the REST and Websockets APIs which is independent of the specific server (e.g., Django, Jupyter, etc.). | ||
|
||
* [pyGeppetto](https://github.com/openworm/pygeppetto) | ||
|
||
#### Node.js Backend (proof of concept) | ||
* [org.geppetto.frontend.nodejs](https://github.com/openworm/org.geppetto.frontend.nodejs) [![Build Status](https://travis-ci.org/openworm/org.geppetto.frontend.nodejs.png?branch=master)](https://travis-ci.org/openworm/org.geppetto.frontend.nodejs) | ||
|
||
|
||
Geppetto is an open-source project with a growing community, if you want to contribute (with either new simulators support, visualisation widgets or backend magic) please do get in touch at <[email protected]> or fork any of the bundles and do what you please. | ||
|
||
|
||
#### [Website](http://www.geppetto.org/) | [Documentation](http://docs.geppetto.org/) | [Releases](https://github.com/openworm/org.geppetto/releases/) | ||
#### [Contribution guidelines](http://docs.geppetto.org/en/latest/contribute.html#how-to-contribute-code-to-geppetto) | [Development progress](https://waffle.io/openworm/org.geppetto) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,10 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<plan name="multi-artifact.plan" version="1.0.0" scoped="true" atomic="true" | ||
xmlns="http://www.springsource.org/schema/dm-server/plan" | ||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation=" | ||
http://www.springsource.org/schema/dm-server/plan | ||
http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd"> | ||
|
||
|
||
<artifact type="bundle" name="org.geppetto.model" version="0.4.2"/> | ||
<artifact type="bundle" name="org.geppetto.core" version="0.4.2"/> | ||
<artifact type="bundle" name="org.geppetto.model.neuroml" version="0.4.2"/> | ||
<artifact type="bundle" name="org.geppetto.simulation" version="0.4.2"/> | ||
<artifact type="bundle" name="org.geppetto.frontend" version="0.4.2"/> | ||
|
||
|
||
</plan> | ||
<?xml version="1.0" ?> | ||
<plan atomic="true" name="multi-artifact.plan" scoped="true" version="1.0.0" xmlns="http://www.springsource.org/schema/dm-server/plan" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springsource.org/schema/dm-server/plan http://www.springsource.org/schema/dm-server/plan/springsource-dm-server-plan.xsd"> | ||
|
||
<artifact name="org.geppetto.model" type="bundle" version="1.0.0"/> | ||
<artifact name="org.geppetto.core" type="bundle" version="1.0.0"/> | ||
<artifact name="org.geppetto.model.neuroml" type="bundle" version="1.0.0"/> | ||
<artifact name="org.geppetto.simulation" type="bundle" version="1.0.0"/> | ||
<artifact name="org.geppetto.frontend" type="bundle" version="1.0.0"/> | ||
|
||
</plan> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,15 @@ | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<groupId>org.geppetto</groupId> | ||
<artifactId>org.geppetto</artifactId> | ||
<name>Geppetto</name> | ||
<version>0.4.2</version> | ||
<packaging>pom</packaging> | ||
<modules> | ||
<module>../org.geppetto.model</module> | ||
<module>../org.geppetto.core</module> | ||
<module>../org.geppetto.model.neuroml</module> | ||
<module>../org.geppetto.simulation</module> | ||
<module>../org.geppetto.frontend</module> | ||
</modules> | ||
</project> | ||
<?xml version="1.0" ?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<groupId>org.geppetto</groupId> | ||
<artifactId>org.geppetto</artifactId> | ||
<name>Geppetto</name> | ||
<version>1.0.0</version> | ||
<packaging>pom</packaging> | ||
<modules> | ||
<module>../org.geppetto.model</module> | ||
<module>../org.geppetto.core</module> | ||
<module>../org.geppetto.model.neuroml</module> | ||
<module>../org.geppetto.simulation</module> | ||
<module>../org.geppetto.frontend</module> | ||
</modules> | ||
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,83 +1,71 @@ | ||
FROM java:8 | ||
MAINTAINER Stephen Larson "[email protected]" | ||
FROM metacell/java-virgo-maven:development | ||
LABEL maintainer="Facundo Rodriguez <[email protected]>" | ||
|
||
ARG aKey | ||
ENV aKey=${aKey} | ||
ARG sKey | ||
ENV sKey=${sKey} | ||
ARG mainBranch=development | ||
ENV mainBranch=${mainBranch} | ||
RUN echo "USE GIT BRANCH ------------ $mainBranch"; | ||
|
||
RUN apt-get update && apt-get install -qq -y sudo | ||
ARG targetBranch=master | ||
ARG originBranch=master | ||
ARG defaultBranch=master | ||
RUN /bin/echo -e "\e[1;35mORIGIN BRANCH ------------ $originBranch\e[0m" &&\ | ||
/bin/echo -e "\e[1;35mTARGET BRANCH ------------ $targetBranch\e[0m" &&\ | ||
/bin/echo -e "\e[1;35mDEFAULT BRANCH ------------ $defaultBranch\e[0m" | ||
|
||
# Install maven | ||
RUN apt-get update | ||
|
||
RUN useradd -ms /bin/bash developer | ||
|
||
RUN mkdir -p /home/developer && mkdir -p /etc/sudoers.d \ | ||
echo "developer:x:1000:1000:Developer,,,:/home/developer:/bin/bash" >> /etc/passwd && \ | ||
echo "developer:x:1000:" >> /etc/group && \ | ||
echo "developer ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/developer && \ | ||
chmod 0440 /etc/sudoers.d/developer && \ | ||
chown developer:developer -R /home/developer && \ | ||
chown root:root /usr/bin/sudo && chmod 4755 /usr/bin/sudo | ||
|
||
USER developer | ||
ENV HOME /home/developer | ||
WORKDIR /home/developer | ||
|
||
# get maven 3.5.2 | ||
RUN sudo wget --no-verbose -O /tmp/apache-maven-3.5.2-bin.tar.gz http://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/apache-maven-3.5.2-bin.tar.gz | ||
|
||
# install maven | ||
RUN sudo tar xzf /tmp/apache-maven-3.5.2-bin.tar.gz -C /opt/ | ||
RUN sudo ln -s /opt/apache-maven-3.5.2 /opt/maven | ||
RUN sudo ln -s /opt/maven/bin/mvn /usr/local/bin | ||
RUN sudo rm -f /tmp/apache-maven-3.5.2-bin.tar.gz | ||
ENV MAVEN_HOME /opt/maven | ||
|
||
#VIRGO INSTALL | ||
USER root | ||
RUN apt-get update && apt-get install -qq -y curl bsdtar locate && apt-get install -qq -y net-tools | ||
USER developer | ||
RUN mkdir -p /home/developer/virgo | ||
RUN curl -L 'http://www.eclipse.org/downloads/download.php?file=/virgo/release/VP/3.7.2.RELEASE/virgo-tomcat-server-3.7.2.RELEASE.zip&r=1' | bsdtar --strip-components 1 -C /home/developer/virgo -xzf - | ||
ADD dmk.sh /home/developer/virgo/bin/ | ||
RUN rm /home/developer/virgo/configuration/java-server.profile | ||
ADD java-server.profile /home/developer/virgo/configuration/ | ||
RUN rm /home/developer/virgo/configuration/tomcat-server.xml | ||
ADD tomcat-server.xml /home/developer/virgo/configuration/ | ||
USER root | ||
RUN chown developer /home/developer/virgo/bin/dmk.sh | ||
USER developer | ||
RUN chmod u+x /home/developer/virgo/bin/*.sh | ||
ENV SERVER_HOME /home/developer/virgo | ||
#VOLUME /home/developer/virgo | ||
#END VIRGO INSTALL | ||
|
||
RUN mvn --version | ||
|
||
#GET GEPPETTO SOURCES | ||
USER root | ||
RUN mkdir -p workspace && cd workspace && git clone http://github.com/openworm/org.geppetto && cd org.geppetto && git checkout master | ||
RUN chmod -R 777 workspace | ||
USER developer | ||
# get geppetto | ||
RUN mkdir -p workspace &&\ | ||
cd workspace &&\ | ||
../copy.sh http://github.com/openworm/org.geppetto.git "${targetBranch}" "${originBranch}" "${defaultBranch}" | ||
|
||
COPY config.json workspace/org.geppetto/utilities/source_setup/ | ||
RUN sudo mv /home/developer/workspace/org.geppetto/utilities/docker/geppetto-persistence/geppetto.plan /home/developer | ||
|
||
COPY geppetto.plan workspace/org.geppetto/ | ||
|
||
RUN sudo chmod -R 777 workspace; | ||
RUN cd workspace && git clone https://github.com/openworm/org.geppetto.model.git && cd org.geppetto.model && git checkout $mainBranch && mvn --quiet install; | ||
RUN cd workspace && git clone https://github.com/openworm/org.geppetto.core.git && cd org.geppetto.core && git checkout $mainBranch && mvn --quiet install; | ||
RUN cd workspace && git clone https://github.com/openworm/org.geppetto.model.neuroml.git && cd org.geppetto.model.neuroml && git checkout $mainBranch && mvn --quiet install; | ||
RUN cd workspace && git clone https://github.com/openworm/org.geppetto.simulation.git && cd org.geppetto.simulation && git checkout $mainBranch && mvn --quiet install; | ||
RUN cd workspace && git clone https://github.com/openworm/org.geppetto.frontend.git && cd org.geppetto.frontend && git checkout $mainBranch && mvn --quiet install; | ||
RUN cd workspace && git clone https://github.com/openworm/org.geppetto.persistence.git && cd org.geppetto.persistence && git checkout $mainBranch && mvn --quiet install; | ||
|
||
WORKDIR $HOME/workspace | ||
RUN ../copy.sh https://github.com/openworm/org.geppetto.model.git "${targetBranch}" "${originBranch}" "${defaultBranch}" &&\ | ||
cd org.geppetto.model &&\ | ||
/bin/echo -e "\e[96mMaven install org.geppetto.model\e[0m" &&\ | ||
mvn --quiet install &&\ | ||
rm -rf src | ||
|
||
RUN ../copy.sh https://github.com/openworm/org.geppetto.core.git "${targetBranch}" "${originBranch}" "${defaultBranch}" &&\ | ||
cd org.geppetto.core &&\ | ||
/bin/echo -e "\e[96mMaven install org.geppetto.core\e[0m" &&\ | ||
mvn --quiet install &&\ | ||
rm -rf src | ||
|
||
RUN ../copy.sh https://github.com/openworm/org.geppetto.model.neuroml.git "${targetBranch}" "${originBranch}" "${defaultBranch}" &&\ | ||
cd org.geppetto.model.neuroml &&\ | ||
/bin/echo -e "\e[96mMaven install org.geppetto.model.neuroml\e[0m" &&\ | ||
mvn --quiet install &&\ | ||
rm -rf src | ||
|
||
RUN ../copy.sh https://github.com/openworm/org.geppetto.simulation.git "${targetBranch}" "${originBranch}" "${defaultBranch}" &&\ | ||
cd org.geppetto.simulation &&\ | ||
/bin/echo -e "\e[96mMaven install org.geppetto.simulation\e[0m" &&\ | ||
mvn --quiet install &&\ | ||
rm -rf src | ||
|
||
RUN ../copy.sh https://github.com/openworm/org.geppetto.frontend.git "${targetBranch}" "${originBranch}" "${defaultBranch}" | ||
|
||
RUN cd $HOME/workspace/org.geppetto.frontend/src/main &&\ | ||
$HOME/copy.sh https://github.com/openworm/geppetto-application.git "${targetBranch}" "${originBranch}" "${defaultBranch}" &&\ | ||
mv geppetto-application webapp | ||
|
||
RUN cd $HOME/workspace/org.geppetto.frontend/src/main/webapp &&\ | ||
$HOME/rename.sh https://github.com/openworm/geppetto-client.git "${targetBranch}" "${originBranch}" "${defaultBranch}" | ||
|
||
RUN cd $HOME/workspace/org.geppetto.frontend &&\ | ||
mvn --quiet install &&\ | ||
rm -rf src | ||
|
||
RUN ../copy.sh https://github.com/openworm/org.geppetto.persistence.git "${targetBranch}" "${originBranch}" "${defaultBranch}" &&\ | ||
cd org.geppetto.persistence &&\ | ||
/bin/echo -e "\e[96mMaven install org.geppetto.persistence\e[0m" &&\ | ||
mvn --quiet install | ||
|
||
WORKDIR $HOME | ||
#END GET GEPPETTO SOURCES | ||
|
||
#INSTALL MYSQL | ||
|
@@ -87,7 +75,7 @@ ENV MYSQL_USER=mysql \ | |
MYSQL_RUN_DIR=/run/mysqld \ | ||
MYSQL_LOG_DIR=/var/log/mysql | ||
|
||
RUN apt-get update \ | ||
RUN apt-get -o Acquire::Check-Valid-Until=false update \ | ||
&& DEBIAN_FRONTEND=noninteractive apt-get install -qq -y mysql-server \ | ||
&& rm -rf ${MYSQL_DATA_DIR} \ | ||
&& rm -rf /var/lib/apt/lists/* | ||
|
@@ -114,7 +102,7 @@ RUN service mysql start && mysql -uroot < /home/developer/geppetto/init.sql | |
#END SETUP MYSQL INITIAL DATA | ||
|
||
USER developer | ||
RUN cd /home/developer/workspace/org.geppetto.persistence && mvn install --quiet && mvn install | ||
# RUN cd /home/developer/workspace/org.geppetto.persistence && mvn install --quiet && mvn install | ||
|
||
RUN sudo service mysql start && cd /home/developer/workspace/org.geppetto.persistence && mvn exec:java -Dexec.mainClass="org.geppetto.persistence.util.DBTestData" -Dexec.classpathScope=runtime | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
deb http://deb.debian.org/debian/ jessie main | ||
deb-src http://deb.debian.org/debian/ jessie main | ||
|
||
deb http://security.debian.org/ jessie/updates main | ||
deb-src http://security.debian.org/ jessie/updates main | ||
|
||
deb http://archive.debian.org/debian jessie-backports main | ||
deb-src http://archive.debian.org/debian jessie-backports main |
Oops, something went wrong.