Skip to content

Commit cc36621

Browse files
authored
Text updates and fixes in final review (#15)
1 parent f93c390 commit cc36621

22 files changed

Lines changed: 109 additions & 82 deletions

workshop/content/docs/advanced/apache.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66

77
## Overview
88

9-
The Apache web server is used by the workshop Docker image. Since version 8.0 MapServer has a global config file.
10-
119
At its heart MapServer is a command-line application that can be accessed through a web server.
1210

11+
The Apache web server is used by the workshop Docker image.
12+
1313
Apache has a [configuration file](https://github.com/MapServer/getting-started-with-mapserver/blob/main/docker/runtime/etc/apache2/conf-enabled/mapserver.conf).
14-
The Docker image uses a [start-up script(https://github.com/MapServer/getting-started-with-mapserver/blob/main/docker/runtime/usr/local/bin/start-server).
14+
The Docker image uses a [start-up script](https://github.com/MapServer/getting-started-with-mapserver/blob/main/docker/runtime/usr/local/bin/start-server).
1515

1616
MapServer uses the [mod_fcgid module](https://httpd.apache.org/mod_fcgid/), which is an Apache module that provides FastCGI support.
1717

@@ -24,9 +24,9 @@ FcgidIdleTimeout ${IDLE_TIMEOUT}
2424
FcgidIOTimeout ${IO_TIMEOUT}
2525
```
2626

27-
These are all documented on the [reference page(https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html).
27+
These are all documented on the [reference page](https://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html).
2828

29-
These all have defaults in the Docker file, but can be overridden using environment variables.
29+
These all have defaults in the Docker file, but can be overridden using Docker environment variables.
3030

3131
```
3232
ENV MS_DEBUGLEVEL=0 \

workshop/content/docs/advanced/debugging.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Debugging MapServer
22

3-
TODO
3+
!!! warning
4+
5+
This page is currently in a draft form.
46

57
```scala
68
LAYER
@@ -14,4 +16,6 @@ TODO
1416

1517
Then follow live logs:
1618

17-
docker logs -f mapserver
19+
```
20+
docker logs -f mapserver
21+
```

workshop/content/docs/advanced/gdalg.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ MapServer reads a vector pipeline using the [GDALG: GDAL Streamed Algorithm](htt
1515
<iframe src="https://mapserver.github.io/getting-started-with-mapserver-demo/gdalg.html"></iframe>
1616
</div>
1717

18+
The pipeline we will be running in this example reads a dataset from a FlatGeoBuf file, and applies
19+
a buffer to it:
20+
21+
<div>
22+
<object
23+
type="image/svg+xml"
24+
data="/assets/images/roads.gdalg.svg"
25+
width="100%"
26+
height="200">
27+
</object>
28+
</div>
29+
30+
1831
## Checking the Pipelines with GDAL
1932

2033
Before configuring MapServer, it is often easier to test your pipelines directly with GDAL, to ensure they run correctly.

workshop/content/docs/credits.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,17 @@ title: Credits
44

55
# Authors
66

7-
- [Seth Girvin](https://geographika.net/) (found on GitHub at [@geographika](https://github.com/geographika)). Please get in touch if you'd like a particular topic added to the workshop, or require any MapServer development.
7+
- [Seth Girvin](https://geographika.net/) (found on GitHub at [@geographika](https://github.com/geographika),
8+
and Mastodon at [@geographika](https://mastodon.social/@geographika)).
9+
Please get in touch if you'd like a particular topic added to the workshop, or require any MapServer development.
810

911
# Thanks
1012

1113
Thanks to the following for helping this workshop to be created and improved:
1214

15+
- The workshop participants at [FOSS4G Europe 2025](https://2025.europe.foss4g.org/) in Mostar, for their enthusiasm and feedback.
16+
- [Even Rouault](https://www.osgeo.org/member/even-rouault/) and [Tom Kralidis](https://www.osgeo.org/member/tom-kralidis/) for
17+
assisting, and valuable comments and additions at FOSS4G Europe 2025.
1318
- The workshop participants at [FOSS4G Europe 2024](https://2024.europe.foss4g.org/) for their participation, feedback, and for having everything installed ready for a 9am start!
1419
- [Michael Smith](https://www.osgeo.org/member/michael-smith/) for co-hosting the FOSS4G Europe 2024 workshop, and providing valuable tips and assistance.
1520
- Colleagues at [Compass Informatics](https://compass.ie/) for trialling the workshop and providing valuable feedback.

workshop/content/docs/inputs/databases.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ MapServer can connect to most geospatial databases. There are native MapServer d
66
[Oracle](https://mapserver.org/input/vector/oracle.html), and [Microsoft SQL Server](https://mapserver.org/input/vector/mssql.html). Other databases
77
can be accessed through OGR, for example [MySQL](https://mapserver.org/input/vector/mysql.html).
88

9-
In this exercise we'll be connecting to a PostGIS database to display water polygon features using a MapServer WMS. [PostGIS](https://postgis.net/) spatially enables the [PostgreSQL](https://www.postgresql.org/)
10-
databases.
9+
In this exercise we'll be connecting to a PostGIS database to display water polygon features using a MapServer WMS.
10+
[PostGIS](https://postgis.net/) spatially enables [PostgreSQL](https://www.postgresql.org/) databases.
11+
1112

1213
## Docker Setup
1314

14-
To avoid having to install and setup a database we'll be using the [PostGIS Docker image](https://hub.docker.com/r/kartoza/postgis/) provided
15+
To avoid having to install and set up a database we'll be using the [PostGIS Docker image](https://hub.docker.com/r/kartoza/postgis/) provided
1516
by [Kartoza](https://kartoza.com/).
1617

1718
!!! info
@@ -52,7 +53,7 @@ creating a new PostgreSQL connection:
5253

5354
## Adding Data to The Database
5455

55-
We can use the OGR tool [ogr2ogr](https://gdal.org/programs/ogr2ogr.html) installed on the MapServer container to add datasets to the PostgreSQL database.
56+
We can use the GDAL CLI tool [gdal vector convert](https://gdal.org/en/stable/programs/gdal_vector_convert.html) installed on the MapServer container to add datasets to the PostgreSQL database.
5657

5758
```bash
5859
# connect to the MapServer Docker image which includes OGR tools for importing data
@@ -95,10 +96,10 @@ Online example not available as no PostGIS installation on the server
9596

9697
## Exercises
9798

98-
1. Try and load another dataset into the database using the `ogr2ogr` approach above.
99+
1. Try to load another dataset into the database using the `gdal vector convert` approach above.
99100
2. Now add a new layer to the Mapfile to display the layer. You can make a direct request to MapServer in the form:
100101
<http://localhost:7000/?map=/etc/mapserver/postgis.map&mode=map&layers=water%20NEWLAYERNAME>.
101-
3. Now update the JS file so the layer is visible as part of the interactive map, through WMS:
102+
3. Now update the JS file so the layer is visible in the interactive map via WMS:
102103

103104
```js
104105
source: new ImageWMS({

workshop/content/docs/inputs/raster.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
## Overview
44

55
MapServer can serve both [vector](https://mapserver.org/input/vector/index.html) and [raster](https://mapserver.org/input/raster.html) data.
6-
76
The dataset used in this example is elevation data from the [Estonian Geoportal](https://geoportaal.maaamet.ee/eng/Spatial-Data/Elevation-Data-p308.html),
8-
and data provided by the Estonian Land Board 2024. It covers Tartu center and is from map sheet 474659.
7+
provided by the Estonian Land Board (2024). It covers Tartu center and is from map sheet 474659.
98

109
<div class="map">
1110
<iframe src="https://mapserver.github.io/getting-started-with-mapserver-demo/raster.html"></iframe>
@@ -47,7 +46,7 @@ LAYER
4746
END
4847
```
4948

50-
There are a few points to note in this Mapfile.
49+
There are a few points to note about this Mapfile.
5150

5251
## Include Files
5352

@@ -80,7 +79,7 @@ END
8079

8180
## Composite Blocks
8281

83-
A [COMPOSITE](https://mapserver.org/mapfile/composite.html) block is used on the layer to make it 20% transparent.
82+
A [COMPOSITE](https://mapserver.org/mapfile/composite.html) block is used to make the layer 20% transparent.
8483

8584
## Code
8685

workshop/content/docs/inputs/vector.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ MapServer documentation.
1919
## Remote Datasets using Virtual File Systems
2020

2121
GDAL's [Virtual File Systems](https://gdal.org/user/virtual_file_systems.html) can be used to
22-
access data over stored on a network, for example on a server or Amazon S3 bucket.
22+
access data stored on a network, for example on a server or Amazon S3 bucket.
2323

2424
```scala
2525
CONNECTIONTYPE OGR
@@ -75,7 +75,7 @@ than a huge GeoTIFF file.
7575
END
7676
```
7777

78-
In the `stars.js` you will need to ensure the `milkyway` layer is added to the OpenLayers map:
78+
In the `stars.js` file you will need to ensure the `milkyway` layer is added to the OpenLayers map:
7979

8080
```js
8181
params: { 'LAYERS': 'constellations,stars,stars2,milkyway'},

workshop/content/docs/introduction/commandline.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ INPUT=OGR INPUT=GDAL INPUT=SHAPEFILE INPUT=FLATGEOBUF
1919
```
2020

2121
When run through a web server, data is passed to the `mapserv` application, which generates output that is then sent back through the web server.
22-
All web requests can be recreated and tested on the command line, this makes it a handy debugging tool.
22+
All web requests can be recreated and tested on the command line, making it a handy debugging tool.
2323

2424
To test a URL such as <http://localhost:7000/?map=/etc/mapserver/countries.map&mode=map> run the following command:
2525

@@ -31,21 +31,21 @@ This will output a PNG image to the command line - this will look like garbage!
3131

3232
We can save the output by redirecting it to a file using `>`.
3333
As the `mapserv` program returns responses for a web client it also returns HTTP headers. To create a valid image file we need to strip these
34-
header by using the `-nh` (no headers) switch.
34+
headers by using the `-nh` (no headers) switch.
3535

3636
```bash
3737
mapserv -nh "QUERY_STRING=map=/etc/mapserver/countries.map&mode=map" > /etc/mapserver/test.png
3838
```
3939

40-
`test.png` should now be on your local disk at `getting-started-with-mapserver/workshop/exercises/mapfiles`.
40+
`test.png` should now be available on your local disk at `getting-started-with-mapserver/workshop/exercises/mapfiles`.
4141

4242
![Test output generated at the command line](../assets/images/command-line-test.png)
4343

4444
!!! tip
4545

4646
The `docker-compose.yml` file maps local folders to folders on the Docker container. Files created in the Docker
4747
container will be visible on your local disk, and files on your local disk will be visible in the container.
48-
This is set in in the `volumes` section, using the syntax ` - LOCAL_FOLDER:CONTAINER_FOLDER`
48+
This is set in the `volumes` section, using the syntax ` - LOCAL_FOLDER:CONTAINER_FOLDER`
4949

5050
```yaml
5151
volumes:

workshop/content/docs/introduction/docker.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@ We will be using MapServer on a Docker image for the workshop. This ensures that
66

77
A custom MapServer Docker image has been created for the workshop, and the Dockerfile is found [here](https://github.com/MapServer/getting-started-with-mapserver/blob/main/docker/Dockerfile).
88

9-
MapServer runs on the Apache web server - see the [Apache page](../advanced/apache.md) page for further details.
9+
MapServer runs on the Apache web server - see the [Apache page](../advanced/apache.md) for further details.
1010

11-
It uses the Apache [mod_fcgid module](https://httpd.apache.org/mod_fcgid/), module that provides FastCGI support.
11+
It uses the Apache [mod_fcgid module](https://httpd.apache.org/mod_fcgid/), a module that provides FastCGI support.
1212

1313
MapServer runs on port `8080` on the Docker container, which is mapped to port `7000` on the local machine, as can be seen in the Docker compose file
14-
located at `workshop\exercises\docker-compose.yml`:
14+
located at `workshop/exercises/docker-compose.yml`:
1515

1616
```yaml
1717
mapserver:
@@ -30,7 +30,7 @@ located at `workshop\exercises\docker-compose.yml`:
3030
3131
## JavaScript Application
3232
33-
A second container that serves the JavaScript example pages is also run using Docker. This uses Node and runs on port 7001 on both the container and the host machine.
33+
A second Docker container serves the JavaScript example pages. This uses Node and runs on port 7001 on both the container and the host machine.
3434
3535
```yaml
3636
node:

workshop/content/docs/introduction/introduction.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ MapServer. Both vector data and raster data are covered.
1818

1919
4. MapServer **Outputs**. These exercises show how MapServer can publish data. When first
2020
created MapServer was used to produce map images, but now it can serve data out in
21-
a large number of open geospatial formats. Focus is given to [OGC](https://www.ogc.org/standards/)
21+
a large number of open geospatial formats. The focus is on [OGC](https://www.ogc.org/standards/)
2222
standards as these are free, open and interoperable.
2323

2424
5. **Advanced** topics. These are a collection of miscellaneous exercises that cover
2525
a wide range of MapServer functionality. Selected exercises will be chosen based on the
26-
needs to the workshop participants. MapServer has over 25 years of development and
26+
needs of the workshop participants. MapServer has over 25 years of development and
2727
features, so new topics will be added over time.
2828

2929
## Workshop Outline
3030

31-
Below is a rough timeline for how the timings of the 4-hour workshop, with a 15 minute break.
31+
Below is a rough timeline for the 4-hour workshop, including a 15-minute break.
3232
These can be adapted based on the needs of the participants.
3333

3434
- 0h00 - 0h30 - Introduction to the workshop, Docker setup and tests
@@ -43,7 +43,7 @@ These can be adapted based on the needs of the participants.
4343
## Test the Docker Compose config
4444

4545
Before making any changes, we will make sure that the initial Docker Compose
46-
setup provided to you is actually working. The configuration file for Docker Compose is found at the following location:
46+
setup provided to you is actually working. The Docker Compose configuration file is located at:
4747

4848
* `workshop/exercises/docker-compose.yml`
4949

@@ -59,9 +59,9 @@ setup provided to you is actually working. The configuration file for Docker Com
5959
2. Open <http://localhost:7000> in your browser, you should see an error message!
6060
3. Close by pressing `CTRL-C`
6161

62-
# Displaying your First Map
62+
# Displaying Your First Map
6363

64-
- Ensure that you have MapServer setup and running at <http://localhost:7000>.
64+
- Ensure that you have MapServer set up and running at <http://localhost:7000>.
6565
- Now try opening the following MapServer URL in your browser - <http://localhost:7000/?map=/etc/mapserver/countries.map&mode=map>
6666

6767

0 commit comments

Comments
 (0)