MS4W    Home  |  Docs  |  Support  |  Bugs  |  Downloads

MapTools.org

MS4W - Packaging an MS4W Application
====================================

.. contents:: Table of Contents
    :depth: 3
    :backlinks: top

The rationale behind MS4W is that it provides a 
pre-configured environment for applications to be installed 
into, and that applications are, in turn,pre-configured for 
this environment.  These instructions will assist in
ensuring that your application is correctly configured and 
packaged for MS4W.

Configuring Your Application
----------------------------

You are responsible for pre-configuring any configuration 
files and settings that may be required by your application, 
including temporary file locations and URLs.

MS4W provides the following built-in temporary file locations:

::

  /ms4w/tmp         - file system path to store temporary 
                      files (non-web-accessible)
  /ms4w/tmp/ms_tmp/ - file system path to store temporary 
                      web-accessible files
  /ms_tmp/          - URL to access temporary web-accessible 
                      files.

MS4W provides the /ms4w/apps/ directory to hold applications.  
Your application must be installed in a subdirectory of the 
/ms4w/apps/ directory, preferrably with a meaningful name.

MS4W provides the /ms4w/httpd.d/ directory to hold Apache 
Alias Files. In general, applications consist of some 
web-accessible pages and some other files that should not be 
web-accessible.  MS4W applications typically include an 
'htdocs' directory that would contain the web-accessible 
pages of the application.  The Apache Alias File 
(see below) would then provide a URL directly to this 
directory.

It is not necessary to have only one web-accessible directory, 
but each one should be given an alias in the Apache Alias 
File (see below).

Index Package File
------------------

The Index Package File provides a small HTML snippet that is 
automatically included in the MS4W index page.  This HTML 
snippet should provide a brief description of your application 
and provide links to access the aliases you have provided via 
the Apache Alias File.  The Index Package File resides in
/ms4w/Apache/htdocs and follows a strict naming convention:

::

  .pkg.html

Only files that end in .pkg.html will be included in the 
index page.

Apache Alias File
-----------------

The Apache Alias File provides a convenient mechanism for your 
application to provide a URL Alias by which it can be accessed.  
The Apache Alias File may contain any valid Apache directives, 
but in general it will contain one or more Alias and Directory 
directives.  An Alias directive tells Apache that a 
URL http://localhost/alias/ points at a specific directory, and 
a Directory directive tells Apache what privileges to allow 
in a specific directory.

In most cases, the following would be sufficient for an 
application named 'foobar':

::
  
  Alias /foobar/ /ms4w/apps/foobar/htdocs/

  
    AllowOverride None
    Options Indexes FollowSymLinks Multiviews
    Order allow,deny
    Allow from all
  

The Apache Alias File is stored in the /ms4w/httpd.d/ 
directory.  This directory is automatically scanned by 
Apache when it starts.  The name of the file is very 
important.  Apache will only load files that match the
following pattern:

::

  httpd_*.conf

Normally, you would replace * with your application name.  In 
the above example, the application would use httpd_foobar.conf 
in the /ms4w/httpd.d/ directory.  This would allow the user 
to connect to http://localhost/foobar/ to access the 
application.

Application Package (zip) File
------------------------------

Once the application is fully configured and working within 
the directory structure of MS4W, it can be packaged as a 
ZIP file for distribution.

The package file needs to be carefully set up to make sure 
that it does not affect other applications in the user's 
installation.  In general, you need to include:

- /ms4w/Apache/htdocs/foobar.pkg.html
- /ms4w/httpd.d/httpd_foobar.conf
- /ms4w/apps/foobar/*.*

It is very important to ensure that the zip file preserves 
full paths.

Archive Naming:

The name of the zip file should be:

::

  [package]-[version]_ms4w.zip
  
Such as:

::

  openlayers-2.8_ms4w.zip

Testing Your Package
--------------------

To test your newly created package, you should:

1. stop Apache
2. rename your existing MS4W folder to some other name
3. extract a clean MS4W installation
4. extract your application over the MS4W installation
5. start Apache
6. make sure that Apache doesn't report errors on start up
7. open http://localhost/index.phtml and make sure that your 
   pkg.html file was correctly processed
8. test all the aliases from the httpd_foobar.conf file to 
   make sure they work as expected.
9. test your application to make sure that it still works.

Adding Additional Documentation
-------------------------------

Sometimes install notes are needed outside of the
application package (especially if external dependencies
exist), and these can be linked on the `MS4W
Downloads`_ page in your application section (for example
see the Mapbender section and it's `doc`_).

- `download`_ sample documentation template



Distributing Your Package
-------------------------

Send a message to the `mailing list`_ so somone can 
contact you about posting your package, or contact 
`Gateway Geomatics`_ directly.

.. _`mailing list`: http://lists.maptools.org/mailman/listinfo/ms4w-users
.. _`Gateway Geomatics`: http://www.gatewaygeomatics.com
.. _`MS4W Downloads`: index.phtml?page=downloads.html
.. _`doc`: index.phtml?page=RELEASE_mapbender.html
.. _`download`: /dl/ms4w/release_notes_template.zip

Printer Friendly

 

Docs

Installing MS4W

Licensing

Professional Support

MS4W custom builds and MapServer support from Gateway Geomatics

Mailing list

MS4W Users List