Giter Site home page Giter Site logo

shogun-legacy's Introduction

SHOGun

No Maintenance Intended Build Status

Note: This project is deprecated and not maintained anymore. Please make use of shogun-core instead.

SHOGun, a Java based WebGIS framework.

SHOGun is based on several high-quality Open Source frameworks, such as

First steps

These first steps will get you up and running on a linux system. The notes described here were gathered and tested on an Ubuntu 12.04.

Prerequesites

SHOGun is based upon Maven, so make sure it is installed on your system:

$ (sudo) apt-get install maven2

We also need a servlet container to deploy SHOGun in; Let's use Tomcat for this:

$ (sudo) apt-get install tomcat7

Database

Currently SHOGun also needs a database to work with. The easiest setup is to use a file-based H2-database. You only need to configure the path to store the database contents in the file src/main/webapp/WEB-INF/spring/db-config.xml in a clone of the SHOGun repository:

<property name="url" value="jdbc:h2:file:/absolute/path/to/db-file" />

The file will be created for you on initialisation.

If instead you want to go with PostgreSQL, here is some advice:

$ (sudo) apt-get install postgresql

Also create a postgresql user and a database only for shogun. Execute the following SQLs inside of psql:

CREATE USER shogun SUPERUSER PASSWORD 'shogun';
CREATE DATABASE shogun OWNER shogun;

Please make sure that the user shogun can log in. See the PostgreSQL documentation for ways to achieve this.

Next, in a clone of the SHOGun repository, configure SHOGun to use the database we just created. Open the file src/main/webapp/WEB-INF/spring/db-config.xml and find the <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">-tag. Change it to look like this:

<!-- database connection via JDBC driver -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName"><value>org.postgresql.Driver</value></property>
    <property name="url"><value>jdbc:postgresql://localhost/shogun</value></property>
    <property name="username"><value>shogun</value></property>
    <property name="password"><value>shogun</value></property>
</bean>

In any case, make sure the hibernate.dialect is configured accordingly (also in the file db-config.xml).

Packaging SHOGun

Now, let's run the maven package-phase. In the root of you clone (where the file pom.xml is located) issue:

mvn package

This will download the dependencies of SHOGun and will eventually create a war-file that we can deploy on our tomcat. So, when you see the lines

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Mon Oct 01 10:32:22 CEST 2012
[INFO] Final Memory: 17M/42M
[INFO] ------------------------------------------------------------------------ 

on your terminal, you are ready to copy the created war-file to tomcats webapp-folder:

$ (sudo) cp target/SHOGun.war /var/lib/tomcat7/webapps/ 

Checking visually

Now you can visit http://localhost:8080/SHOGun/ with you favorite web browser an you should be greeted with very basic login page. Try to log in as user terrestris with the password xxxx. On the top of the page you should now see a notice, that you are logged in with the role 'ROLE_SUPERADMIN'.

shogun-legacy's People

Contributors

ahennr avatar annarieger avatar buehner avatar chrismayer avatar dependabot[bot] avatar dnlkoch avatar hwbllmnn avatar jansule avatar marcjansen avatar weskamm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

shogun-legacy's Issues

Introduce inline Application model

Here an idea I have for an enhancement of SHOGun:

Since we merged the refactoring-branch, the application-context does not contain all information anymore which is needed to build a full webgis application. Therfore you have to make several requests to gather the complete information.
To improve this I would like to introduce an Application (JSON-) model which will not be persisted. Furthermore the information of this model will be derived by the data we already have associated to users, groups and roles. The application-data could be delivered by the application-context as a new element.
This could be an intermediate step having an application model without rewriting the database model and not breaking the existing projects build upon SHOGun.

Do you have any opinions on that or maybe reasons why this is not a good idea?

Provide a demo-mapclient

As discussed at the SHOGun BOF at FOSSGIS 2014 in Berlin we should offer a demo-mapclient based on current mapping libs in order to have an easy-to-use startingpoint for non-developers.
Due to license issues we should (as discussed) provide the client in a separate repository.

For the first step I suggest to provide a simple GeoExt2 client. Features can then be extended step by step.

Change of license

We must get forward changing the license from GPL especially for the server-side stuff.

Me and @marcjansen suggest to move to 3-Clause BSD-License ("Revised BSD License", "New BSD License", or "Modified BSD License", see wikipedia, and opensource.org) as it it quite simple.

Steps to be done:

  • every committer has to agree, that his/her code is switched to above license
  • change of license header in the code

For the client all code must fall under the ExtJS license conditions.

For the future I'd prefer to divide SHOGun in SHOGun Server (3-clause BSD) and SHOGun Client (follow ExtJS License) in general and perhaps a switch away from ExtJS.

Steps for completion:

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.