gb_mapfish_appserver 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +42 -0
- data/lib/gb_mapfish_appserver/version.rb +1 -1
- data/lib/generators/mapfish/install/templates/geodatabase.yml +3 -3
- data/lib/tasks/mapfile.rake +1 -1
- data/lib/tasks/mapfish.rake +10 -2
- metadata +34 -29
- data/README.rst +0 -187
data/README.md
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Mapfish Appserver
|
|
2
|
+
=================
|
|
3
|
+
|
|
4
|
+
Mapfish Appserver is a platform for building web mapping applications
|
|
5
|
+
using OGC standards and the Mapfish REST protocol.
|
|
6
|
+
|
|
7
|
+
Features
|
|
8
|
+
--------
|
|
9
|
+
|
|
10
|
+
Mapfish Appserver comes with the following out-of-the box features:
|
|
11
|
+
|
|
12
|
+
- Organize maps by topics, categories, organisational units, keywords
|
|
13
|
+
and more
|
|
14
|
+
- Combine maps with background and overlay topics with adjustable
|
|
15
|
+
opacity
|
|
16
|
+
- Import UMN Mapserver mapfiles to publish new topics within seconds
|
|
17
|
+
- Fully customizable legends and feature infos
|
|
18
|
+
- Creation of complex custom searches
|
|
19
|
+
- Rich digitizing and editing functionality
|
|
20
|
+
- Role-based access control on topic, layer and attribute level
|
|
21
|
+
- Access control for WMS and WFS
|
|
22
|
+
- Rich library of ExtJS 4 based map components
|
|
23
|
+
- Multiple customizable viewers from minimal mobile viewer to full
|
|
24
|
+
featured portal
|
|
25
|
+
- Multi-site support
|
|
26
|
+
- Built-in administration backend
|
|
27
|
+
- Self-organized user groups
|
|
28
|
+
|
|
29
|
+
Documentation
|
|
30
|
+
-------------
|
|
31
|
+
|
|
32
|
+
For more documentation see the [github.io/gb_mapfish_appserver](http://pka.github.io/gb_mapfish_appserver/)
|
|
33
|
+
|
|
34
|
+
Authors and License
|
|
35
|
+
-------------------
|
|
36
|
+
|
|
37
|
+
Primary authors are Pirmin Kalberer and Matthias Walker, Sourcepole,
|
|
38
|
+
Stefan Zinggeler and Adrian Herzog, Canton of Zurich.
|
|
39
|
+
|
|
40
|
+
New BSD License
|
|
41
|
+
|
|
42
|
+
*Copyright (c) 2009-2013 Sourcepole AG & Canton of Zurich*
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
development:
|
|
2
|
-
adapter:
|
|
2
|
+
adapter: postgis
|
|
3
3
|
encoding: unicode
|
|
4
4
|
database: geodb #Production DB!
|
|
5
5
|
pool: 5
|
|
6
6
|
|
|
7
7
|
test:
|
|
8
|
-
adapter:
|
|
8
|
+
adapter: postgis
|
|
9
9
|
encoding: unicode
|
|
10
10
|
database: geodb_test
|
|
11
11
|
pool: 5
|
|
12
12
|
|
|
13
13
|
production:
|
|
14
|
-
adapter:
|
|
14
|
+
adapter: postgis
|
|
15
15
|
encoding: unicode
|
|
16
16
|
database: geodb
|
|
17
17
|
pool: 5
|
data/lib/tasks/mapfile.rake
CHANGED
|
@@ -6,7 +6,7 @@ namespace :mapfile do
|
|
|
6
6
|
desc "Create a topic from a mapfile. MAPFILE=file SITE=host"
|
|
7
7
|
task :import_topic => :environment do
|
|
8
8
|
mapfile = ENV['MAPFILE']
|
|
9
|
-
site = ENV['SITE'] ||
|
|
9
|
+
site = ENV['SITE'] || SITE_DEFAULT #Use empty string for unpublished map
|
|
10
10
|
if mapfile.nil?
|
|
11
11
|
puts "Error: Missing argument MAPFILE"
|
|
12
12
|
else
|
data/lib/tasks/mapfish.rake
CHANGED
|
@@ -9,8 +9,16 @@ namespace :mapfish do
|
|
|
9
9
|
name = ENV['name']
|
|
10
10
|
Rails::Generators.invoke 'mapfish:viewer', ["--name=#{name}", "--repo=#{repo}"]
|
|
11
11
|
app = Gbapplication.find_or_create_by_name(name)
|
|
12
|
-
|
|
13
|
-
app.categories <<
|
|
12
|
+
category = Category.find_or_create_by_title(ENV['category'] || 'Uncategorized')
|
|
13
|
+
app.categories << category
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
task :register => :environment do
|
|
17
|
+
name = ENV['name']
|
|
18
|
+
category = ENV['category'] || 'Uncategorized'
|
|
19
|
+
#Rails::Generators.invoke 'mapfish:viewer', ["--name=#{name}", "--template=#{template}"]
|
|
20
|
+
app = Gbapplication.find_or_create_by_name(name)
|
|
21
|
+
default_category = Category.find_or_create_by_title(category)
|
|
14
22
|
end
|
|
15
23
|
|
|
16
24
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: gb_mapfish_appserver
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2013-
|
|
12
|
+
date: 2013-07-16 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: rails
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &17509680 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ~>
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: 3.2.13
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *17509680
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: json
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &17509260 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *17509260
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: acts_as_tree
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &17508720 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - =
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 0.2.0
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *17508720
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: devise
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &17508220 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - =
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 2.0.4
|
|
55
55
|
type: :runtime
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *17508220
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: cancan
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &17507760 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - =
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: 1.6.7
|
|
66
66
|
type: :runtime
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *17507760
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rails_admin
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &17523680 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - =
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: 0.0.5
|
|
77
77
|
type: :runtime
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *17523680
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: fastercsv
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &17523300 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ! '>='
|
|
@@ -87,10 +87,21 @@ dependencies:
|
|
|
87
87
|
version: '0'
|
|
88
88
|
type: :runtime
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *17523300
|
|
91
|
+
- !ruby/object:Gem::Dependency
|
|
92
|
+
name: rgeo
|
|
93
|
+
requirement: &17522760 !ruby/object:Gem::Requirement
|
|
94
|
+
none: false
|
|
95
|
+
requirements:
|
|
96
|
+
- - =
|
|
97
|
+
- !ruby/object:Gem::Version
|
|
98
|
+
version: 0.3.20
|
|
99
|
+
type: :runtime
|
|
100
|
+
prerelease: false
|
|
101
|
+
version_requirements: *17522760
|
|
91
102
|
- !ruby/object:Gem::Dependency
|
|
92
103
|
name: rgeo-geojson
|
|
93
|
-
requirement: &
|
|
104
|
+
requirement: &17522260 !ruby/object:Gem::Requirement
|
|
94
105
|
none: false
|
|
95
106
|
requirements:
|
|
96
107
|
- - =
|
|
@@ -98,10 +109,10 @@ dependencies:
|
|
|
98
109
|
version: 0.2.1
|
|
99
110
|
type: :runtime
|
|
100
111
|
prerelease: false
|
|
101
|
-
version_requirements: *
|
|
112
|
+
version_requirements: *17522260
|
|
102
113
|
- !ruby/object:Gem::Dependency
|
|
103
114
|
name: pg
|
|
104
|
-
requirement: &
|
|
115
|
+
requirement: &17521800 !ruby/object:Gem::Requirement
|
|
105
116
|
none: false
|
|
106
117
|
requirements:
|
|
107
118
|
- - =
|
|
@@ -109,10 +120,10 @@ dependencies:
|
|
|
109
120
|
version: 0.14.0
|
|
110
121
|
type: :runtime
|
|
111
122
|
prerelease: false
|
|
112
|
-
version_requirements: *
|
|
123
|
+
version_requirements: *17521800
|
|
113
124
|
- !ruby/object:Gem::Dependency
|
|
114
125
|
name: activerecord-postgis-adapter
|
|
115
|
-
requirement: &
|
|
126
|
+
requirement: &17521340 !ruby/object:Gem::Requirement
|
|
116
127
|
none: false
|
|
117
128
|
requirements:
|
|
118
129
|
- - =
|
|
@@ -120,7 +131,7 @@ dependencies:
|
|
|
120
131
|
version: 0.4.1
|
|
121
132
|
type: :runtime
|
|
122
133
|
prerelease: false
|
|
123
|
-
version_requirements: *
|
|
134
|
+
version_requirements: *17521340
|
|
124
135
|
description: Mapfish Appserver is a framework for web mapping applications using OGC
|
|
125
136
|
standards and the Mapfish protocol.
|
|
126
137
|
email:
|
|
@@ -4601,7 +4612,7 @@ files:
|
|
|
4601
4612
|
- vendor/assets/javascripts/GbZh/store/GeoLionDatasets.js
|
|
4602
4613
|
- LICENSE
|
|
4603
4614
|
- Rakefile
|
|
4604
|
-
- README.
|
|
4615
|
+
- README.md
|
|
4605
4616
|
- test/dummy/public/favicon.ico
|
|
4606
4617
|
- test/dummy/public/422.html
|
|
4607
4618
|
- test/dummy/public/500.html
|
|
@@ -4645,18 +4656,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
4645
4656
|
- - ! '>='
|
|
4646
4657
|
- !ruby/object:Gem::Version
|
|
4647
4658
|
version: '0'
|
|
4648
|
-
segments:
|
|
4649
|
-
- 0
|
|
4650
|
-
hash: -96269627582562315
|
|
4651
4659
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
4652
4660
|
none: false
|
|
4653
4661
|
requirements:
|
|
4654
4662
|
- - ! '>='
|
|
4655
4663
|
- !ruby/object:Gem::Version
|
|
4656
4664
|
version: '0'
|
|
4657
|
-
segments:
|
|
4658
|
-
- 0
|
|
4659
|
-
hash: -96269627582562315
|
|
4660
4665
|
requirements: []
|
|
4661
4666
|
rubyforge_project:
|
|
4662
4667
|
rubygems_version: 1.8.11
|
data/README.rst
DELETED
|
@@ -1,187 +0,0 @@
|
|
|
1
|
-
Mapfish Appserver
|
|
2
|
-
=================
|
|
3
|
-
|
|
4
|
-
Mapfish Appserver is a platform for building web mapping applications using OGC standards and the Mapfish REST protocol.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Features
|
|
8
|
-
--------
|
|
9
|
-
|
|
10
|
-
Mapfish Appserver comes with the following out-of-the box features:
|
|
11
|
-
|
|
12
|
-
- Organize maps by topics, categories, organisational units, keywords and more
|
|
13
|
-
- Combine maps with background and overlay topics with adjustable opacity
|
|
14
|
-
- Import UMN Mapserver mapfiles to publish new topics within seconds
|
|
15
|
-
- Fully customizable legends and feature infos
|
|
16
|
-
- Creation of complex custom searches
|
|
17
|
-
- Rich digitizing and editing functionality
|
|
18
|
-
- Role-based access control on topic, layer and attribute level
|
|
19
|
-
- Access control for WMS and WFS
|
|
20
|
-
- Rich library of ExtJS 4 based map components
|
|
21
|
-
- Multiple customizable viewers from minimal mobile viewer to full featured portal
|
|
22
|
-
- Multi-site support
|
|
23
|
-
- Built-in administration backend
|
|
24
|
-
- Self-organized user groups
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
Usage
|
|
28
|
-
-----
|
|
29
|
-
|
|
30
|
-
To build a new Mapfish Appserver application, create a Rails application and include mapfish_appserver in your Gemfile::
|
|
31
|
-
|
|
32
|
-
rails new mfdemo --database=postgresql --skip-bundle --skip-javascript
|
|
33
|
-
cd mfdemo
|
|
34
|
-
echo "gem 'therubyracer', :platforms => :ruby" >>Gemfile
|
|
35
|
-
echo "gem 'gb_mapfish_appserver'" >>Gemfile
|
|
36
|
-
echo "gem 'gb_mapfish_print'" >>Gemfile
|
|
37
|
-
echo "gem 'ruby_mapscript', :platforms => :ruby" >>Gemfile
|
|
38
|
-
bundle install
|
|
39
|
-
|
|
40
|
-
Also make sure, you have MapScript installed::
|
|
41
|
-
|
|
42
|
-
sudo apt-get install ruby-mapscript1.9.1
|
|
43
|
-
|
|
44
|
-
Setup the Mapfish project, initialize the application database::
|
|
45
|
-
|
|
46
|
-
rake db:create
|
|
47
|
-
rails generate mapfish:install --default-site-name=maps.example.com
|
|
48
|
-
|
|
49
|
-
Keep the admin password for later.
|
|
50
|
-
|
|
51
|
-
Generate a basic viewer::
|
|
52
|
-
|
|
53
|
-
rake mapfish:viewer:create name=myviewer repo=https://github.com/pka/gb_gis_browser_viewer.git
|
|
54
|
-
rm public/index.html
|
|
55
|
-
|
|
56
|
-
Add a default route to your viewer in config/routes.rb::
|
|
57
|
-
|
|
58
|
-
root :to => "apps#show", :app => "myviewer"
|
|
59
|
-
|
|
60
|
-
Setup a PostGIS database and load some data::
|
|
61
|
-
|
|
62
|
-
export PGPORT=5432
|
|
63
|
-
createdb geodb
|
|
64
|
-
psql -d geodb -c "CREATE EXTENSION postgis"
|
|
65
|
-
psql -d geodb -c "GRANT ALL ON geometry_columns TO PUBLIC; GRANT ALL ON geography_columns TO PUBLIC; GRANT ALL ON spatial_ref_sys TO PUBLIC"
|
|
66
|
-
wget http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries_lakes.zip
|
|
67
|
-
unzip ne_10m_admin_0_countries_lakes.zip
|
|
68
|
-
ogr2ogr -f PostgreSQL PG:"dbname=geodb" -nln countries -nlt MULTIPOLYGON ne_10m_admin_0_countries_lakes.shp
|
|
69
|
-
|
|
70
|
-
Create a mapfile naturalearth.map in the directory mapconfig/maps.example.com::
|
|
71
|
-
|
|
72
|
-
MAP
|
|
73
|
-
NAME naturalearth
|
|
74
|
-
|
|
75
|
-
WEB
|
|
76
|
-
METADATA
|
|
77
|
-
"wms_title" "Natural Earth"
|
|
78
|
-
"wms_onlineresource" "http://wms.example.com/naturalearth"
|
|
79
|
-
"wms_srs" "EPSG:4326 EPSG:3857"
|
|
80
|
-
"wms_extent" "-180 -90 180 90"
|
|
81
|
-
"wms_feature_info_mime_type" "application/vnd.ogc.gml"
|
|
82
|
-
'ows_enable_request' '*'
|
|
83
|
-
"wms_encoding" "UTF-8"
|
|
84
|
-
END
|
|
85
|
-
IMAGEPATH '/tmp/'
|
|
86
|
-
IMAGEURL '/tmp/'
|
|
87
|
-
END
|
|
88
|
-
|
|
89
|
-
SIZE 512 512
|
|
90
|
-
MAXSIZE 8192
|
|
91
|
-
RESOLUTION 96
|
|
92
|
-
DEFRESOLUTION 96
|
|
93
|
-
|
|
94
|
-
UNITS DD
|
|
95
|
-
PROJECTION
|
|
96
|
-
"init=epsg:4326"
|
|
97
|
-
END
|
|
98
|
-
|
|
99
|
-
EXTENT -180 -90 180 90
|
|
100
|
-
|
|
101
|
-
IMAGECOLOR 255 255 255
|
|
102
|
-
|
|
103
|
-
#SYMBOLSET "../symbols/base.sym"
|
|
104
|
-
#FONTSET "../fonts/fonts.txt"
|
|
105
|
-
|
|
106
|
-
IMAGETYPE png
|
|
107
|
-
|
|
108
|
-
OUTPUTFORMAT
|
|
109
|
-
NAME png
|
|
110
|
-
DRIVER "AGG/PNG"
|
|
111
|
-
IMAGEMODE rgb
|
|
112
|
-
FORMATOPTION "INTERLACE=OFF"
|
|
113
|
-
END
|
|
114
|
-
|
|
115
|
-
LAYER
|
|
116
|
-
NAME 'countries'
|
|
117
|
-
METADATA
|
|
118
|
-
"wms_title" "Countries"
|
|
119
|
-
"wms_srs" "EPSG:4326"
|
|
120
|
-
"wms_extent" "-180 -90 180 90"
|
|
121
|
-
"wms_include_items" "name,pop_est"
|
|
122
|
-
"gml_include_items" "name,pop_est"
|
|
123
|
-
"gml_name_alias" "Name"
|
|
124
|
-
"gml_pop_est_alias" "Population"
|
|
125
|
-
END
|
|
126
|
-
|
|
127
|
-
EXTENT -180 -90 180 90
|
|
128
|
-
#MINSCALEDENOM 1
|
|
129
|
-
#MAXSCALEDENOM 500000.5
|
|
130
|
-
|
|
131
|
-
STATUS ON
|
|
132
|
-
TYPE POLYGON
|
|
133
|
-
CONNECTIONTYPE postgis
|
|
134
|
-
CONNECTION "dbname=mfdemo port=5432"
|
|
135
|
-
DATA "geom FROM countries"
|
|
136
|
-
|
|
137
|
-
CLASS
|
|
138
|
-
NAME 'All countries'
|
|
139
|
-
STYLE
|
|
140
|
-
WIDTH 0.91
|
|
141
|
-
OUTLINECOLOR 0 0 0
|
|
142
|
-
COLOR 0 255 0
|
|
143
|
-
END
|
|
144
|
-
END
|
|
145
|
-
END
|
|
146
|
-
|
|
147
|
-
END
|
|
148
|
-
|
|
149
|
-
Check your WMS setup::
|
|
150
|
-
|
|
151
|
-
#sudo apt-get install cgi-mapserver
|
|
152
|
-
wget -O map.png "http://localhost/cgi-bin/mapserv?map=$(pwd)/mapconfig/maps.example.com/naturalearth.map&SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&BBOX=-90,-180,90,180&CRS=EPSG:4326&WIDTH=706&HEIGHT=354&LAYERS=countries&STYLES=&FORMAT=image/png"
|
|
153
|
-
|
|
154
|
-
Open ``config/initializers/mapfish.rb`` to configure your application.
|
|
155
|
-
|
|
156
|
-
Import the mapfile into a new topic::
|
|
157
|
-
|
|
158
|
-
rake mapfile:import_topic MAPFILE=mapconfig/maps.example.com/naturalearth.map SITE=maps.example.com
|
|
159
|
-
|
|
160
|
-
Start the application server and open your first viewer application in your web browser::
|
|
161
|
-
|
|
162
|
-
rails server
|
|
163
|
-
x-www-browser localhost:3000/
|
|
164
|
-
|
|
165
|
-
To access the backend::
|
|
166
|
-
|
|
167
|
-
x-www-browser localhost:3000/gbadmin
|
|
168
|
-
|
|
169
|
-
Login as 'admin' with with the generated password. After your first login you will be redirected back to the root path.
|
|
170
|
-
Go to http://localhost:3000/gbadmin/user/1/edit to change the password.
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
Documentation
|
|
174
|
-
-------------
|
|
175
|
-
|
|
176
|
-
For more documentation see the `Github wiki <https://github.com/sourcepole/mapfish_appserver/wiki>`_
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
Authors and License
|
|
180
|
-
-------------------
|
|
181
|
-
|
|
182
|
-
Primary authors are Pirmin Kalberer and Matthias Walker, Sourcepole, Stefan Zinggeler and Adrian Herzog, Canton of Zurich.
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
New BSD License
|
|
186
|
-
|
|
187
|
-
*Copyright (c) 2009-2013 Sourcepole AG & Canton of Zurich*
|