Map Server Overview

The Manifold Internet Map Server (IMS) is an integral part of all Manifold editions except Personal Edition. When Manifold System Professional Edition or above is installed on a Windows web server, that machine will acquire the ability to host IMS web sites. Manifold IMS provides the following capabilities:

 

·      An Internet Map Server for GIS-enabled websites using standardized templates that allow people visiting with ordinary browsers, such as Internet Explorer (IE), to view and query maps and other components within Manifold projects.

·      A programmatic interface to the Manifold Internet Map Server allowing creation of GIS-enabled websites that provide access to Manifold projects, such as viewing, querying and a wide variety of operations with data in Manifold projects.

·      An administration page for administrative access to IMS through the web.

·      Creation of a Manifold Image Server interface page, allowing remote applications and Manifold System clients to fetch image tiles on demand for served images, much as how TerraServer or other image servers provide access to images.

·      OGC WFS server functionality to enable OGC WFS clients to interact with vector data in the Manifold project, including altering data within served components.

·      OGC WMS server functionality providing image serving to OGC WMS clients, including to Manifold System clients fetching linked images through OGC WMS.

 

Note that Manifold System is both a client and a server for OGC WMS and the Manifold Image Server interface; however, although Manifold IMS can be a server for OGC WFS, Manifold does not yet provide OGC WFS client capabilities. Manifold provides OGC WFS server capabilities so that those users who are using OGC WFS clients can get data from a Manifold IMS website.

 

Web Requirements

 

This topic assumes the reader is familiar with Microsoft Internet Information Server (IIS) as well as web programming using HTML and Active Server Pages (ASP or ASP .NET). Creating web sites with IIS is a straightforward process supported by a vast array of books and other educational resources. If you are not familiar with the operation of IIS, please get a good book on the subject and learn elementary IIS operation and administration before attempting to work with Manifold IMS. The IMS topics in this documentation provide some tips on working with IIS and Windows, but they are not a replacement for reading and understanding Microsoft documentation on IIS and Windows.

 

It is not at all difficult to create and publish a simple web site with Microsoft IIS; however, if you are unable to do this you also will not be able to publish a web site that uses Manifold IMS: please resolve any difficulty with your IIS installation before beginning work with Manifold IMS.

 

Before attempting to use Manifold IMS, please take a moment to create an ordinary .HTML web site on your server and then browse it from a different machine. If you cannot do this, stop. Do not attempt to work with Manifold IMS until you can get a simple web site up and running. This step is recommended even for experts: it is amazing how often people are "sure" they can get a web site up when for some unexpected reason, perhaps a simple oversight, they cannot.

 

Very Important: By default, IIS 7 running in Windows Vista does not allow web applications to create files in the Temp folder. When using IIS 7 in Windows Vista you must allow web applications to create files in the Temp folder. See the IIS 7 and Vista Notes section below.

 

Manifold IMS

 

All editions of Manifold System except for Personal Edition include the ability to publish a map for viewing on Internet through ordinary browsers. The Manifold Internet Map Server (IMS) is an integral part of Manifold System. Manifold IMS can publish maps, drawings, images or surfaces from .map files to Internet in conjunction with Microsoft's Internet Information Server (IIS).

 

In addition to providing web sites that can be viewed with a browser, Manifold can also provide three specialized types of servers:

 

·      Manifold Image Server - A Manifold Image Server is a generic type of image server for which drivers can be created and installed via the Manifold Image Server Interface (ISI) to enable usage within Manifold System clients. ISI drivers have been written for TerraServer, Google Earth, Yahoo Maps and Microsoft Virtual Earth, to name a few image servers. Manifold includes a built-in ISI driver to enable Manifold clients to acquire images on demand from a Manifold IMS installation, which can function for those Manifold clients as an image server. See the Linked Images from Manifold Image Servers topic and the Linked Images from Manifold IMS Web Sites topic. Manifold is both a client and a server for the Manifold Image Server interface.

·      OpenGIS Consortium (OGC) WMS Server - An OGC WMS server synthesizes images to deliver upon request to OGC WMS clients. Manifold is both a WMS server and a WMS client. See the Linked Images from OGC WMS Servers topic for information on using Manifold as a WMS client.

·      OpenGIS Consortium (OGC) WFS Server - An OGC WFS server serves vector data to clients and can accept modifications to that data from clients. Manifold can function as an OGC WFS server for vector components such as drawings, themes and maps that contain drawing or theme layers. Manifold is a WFS server but is not a WFS client.

 

With Manifold IMS anyone with a Windows server and a DSL connection, cable modem with static IP or other full-time Internet connection with a static IP address can publish dynamic map projects to the web for the entire world to see. Organizational users can publish Manifold projects on their Intranets to provide convenient viewing of data through browsers.

 

There are four steps to using Manifold IMS to publish to the Internet:

 

§      Use Manifold to create a project containing the map or other component to be published. The entire rest of this documentation describes the many capabilities of Manifold at your disposal for creating cool maps.

§      Create the files required for a map server web page using File - Export - Web Page. This topic describes this step in detail.

§      Use the created files within a web site. If the files are created directly within a folder in your IIS directory tree (such as C:\InetPub\wwwroot\) the result of the File - Export - Web Page dialog will be an immediately "live" web site. This step is covered in the next topic, Creating a Web Site .

§      Check to make sure the IUSR_ account for the IIS machine (or, the NETWORK SERVICE account or ASPNET account if applicable) has access permissions to the web site you have created. Use Windows Explorer to view the security settings on all files involved in your web site. [This is an elementary part of setting up a web site within IIS and is really part of the third step above; however, it is so often overlooked by novice webmasters that Technical Support asks we include this as an explicit fourth step.]

 

Web programmers who understand ASP or ASP .NET technology can, of course, edit the files created by Manifold in the Export Web Page dialog to make their own customizations. Experienced web programmers can write their own ASP or ASP .NET files from the ground up, instantiating and working with Manifold objects as desired to create whatever Manifold-enabled web sites are desired.

 

Manifold exposes a very wide range of objects enabling the creation of rich web-based applications by programmers. There are many more capabilities made possible through customized programming, for example, display of terrains, than can be captured within the default templates within the automated Export Web Page dialog. Aspiring webmasters should study carefully the examples published by Manifold in the Free Stuff page on the manifold.net web page for ideas.

 

Installation and Activation

 

Manifold IMS is an integral part of Manifold System. Manifold System must be installed on the machine that runs a Manifold IMS web site.

 

§      During installation, the installation dialogs offer a choice to install Manifold System for anyone who uses the computer or just for the login in use. Manifold System must be installed for use by everyone who uses the computer in order for Manifold IMS to function.

§      When Manifold is running as a map server it will not raise the Activation dialog. Before attempting to use the map server within Manifold you must launch Manifold interactively at least once to provide a serial number for preliminary installation, or a serial number and Activation key for permanent installation. See the Activation Keys and Serial Numbers topic.

§      Note: after installing Manifold on a new IIS machine for the first time, do an iisreset command or reboot the system.

§      You cannot run Manifold interactively at the same time IMS is running, and you cannot run IMS at the same time that someone is using Manifold interactively on the same machine. If you are trying to use the same machine to run Manifold interactively and also to host an IIS / IMS web site, you must organize your activities so that an interactive session and IMS are not working together at the same time (or, one or both will not work). In such cases you must do an iisreset command after working with Manifold interactively before launching IMS, and you must stop the website and then do an iisreset command before launching Manifold interactively.

§      You can use a Manifold Runtime license to operate an IMS website. However, using a Runtime license requires more computer literacy because the Activation and administration of a Runtime license requires more advanced skills. Almost always, any serious application will deploy Manifold IMS using a Universal Runtime license because the price differential between a Professional Runtime license and a Universal Runtime license is slight and deploying with a Universal Runtime license assures that all extensions will be available in the future. Using a Universal Runtime license also eliminates the logotype that will otherwise be embedded within Manifold IMS displays.

 

Using the File - Export - Web Page Dialog

 

To publish a map page for use with Manifold IMS, open the component to be published and choose File - Export - Web Page to launch the Export Web Page dialog. This dialog creates a set of Active Server Page (.asp) pages or ASP.NET pages that can be used in a Microsoft IIS web site.

 

The Manifold project must have been saved at least once to enable the File - Export - Web Page command. A new project that has never been saved cannot be exported as a web page, since a physical .map project file must exist somewhere on disk for use by the web site.

 

The following instructions assume we have already created the Manifold project that will be published. Most users will have a working copy of the project in some development directory. They will then save a copy of the project to a directory on the server from which it will be published. The map server can then use the copy of the project for publishing.

 

To create a Manifold IMS web page:

 

1. Launch Manifold and open the .map project that contains the component to be published.

2. Open the component that is to be published.

3. Use File - Save to save the project .map file to the location on the server where you want the working copy of the .map file to be stored.

4. Choose File - Export - Web page.

5. In the Export Web Page dialog choose a folder in which the web page files should be created. This could a temporary folder or it could be the default folder at C:\InetPub\wwwroot that will be used for the web page. The dialog will automatically expand a dot character "." to the name of the current folder.

6. Specify other options as desired and choose OK.

7. Close the .map file and exit Manifold.

8. Use the created files within your web site as described in Creating a Web Site .

 

Dialog Options

 

Folder

Name of the folder in which to create the new default.asp page. Use the […] button to the right of the Folder box to call a standard Windows browse dialog.

Template

Choose a template to use to create the web page. Different templates will yield different site structures as well as different appearance styles.

Standard - Allows all options. Displays each new table in a new browser window.

Standard (framed) - Allows all options. Displays tables in a frame within the same browser window.

Compatible with 4.x browsers - Allows all options except the Info tool. Generates HTML compatible with older browsers. Displays tables in the same browser window, thus requiring a back command to see the map again.

Template selections also include ASP .NET versions of the templates. These should only be used when operating Manifold IMS in an ASP .NET environment. See the section at the end of this topic on using Manifold IMS in ASP .NET.

Size

Size of image to serve. The actual visualization of maps or layers within maps must be served to the browser as an image. Choosing this parameter chooses the size of image served. Any size may be specified, although usually settings are similar to aspect ratios seen in computer display monitors to provide pleasing proportions. Typical settings might be 320x240, 400x300, 640x480 to 800x600. Larger images will result in slower map server operation and slower downloads for viewers. Larger images will also require more of your Internet connection bandwidth.

Embed description info

If checked, write text properties into the .png image that is served in the web page using the component name as the Title property, the component's description text property as the Description property and the Software property set to the "Manifold System…" identification string displayed in the Help - About dialog. This option is a useful way of embedding copyright slogans: enter the copyright text or whatever other text you want embedded into the image into the component's Description property and it will be embedded into the .png image served. Virtually no one who saves your web site's image to their local machine will realize that you have, in effect, "watermarked" it with embedded .png text properties.

Title

Optional title string to use for the generated page. By default the title is set to the name of the component.

Subtitle

Optional subtitle string to use in the page. This string is often used to provide directions, such as "Click on a tool to choose it and then click in the map." When using the "Compatible" template, the directions might be "Click near the edges of the map to scroll in that direction."

Copyright

Optional copyright string to include in fine print at the bottom of the display. Set to a default copyright string by default.

Queries

If any queries exist in the project, they will be listed in this pane with a checkbox in alphabetical order. Check a query's checkbox to include it in a Queries pane on the web page. See the IMS Queries topic.

Find tool

Generates a control pane that allows searching for a particular value in a specified field. This control is for drawings and maps that contain drawings only. Note that the Find tool will list all fields in all drawings in a map that is published, excluding the ID field and intrinsic fields. To avoid confusing users, delete all undesired fields from drawings that are published. Objects found by Find will be shown in selection color.

Hyperlinks

Enable hyperlinks. If a drawing contains a field named URL (which may be any text type or URL type field) double clicking on an object will launch the contents of the URL field in a browser.

Info tool

Generates a toolbar button providing an information tool that displays fields of a clicked object or relevant information for a clicked label or pixel. The clicked object will be shown in selection color and a table will be displayed containing its fields. The Info tool will list all fields in all drawings in a map that is published, excluding the ID field and intrinsic fields

Layers

Generates a control menu that allows turning layers on and off. This control is available for maps only.

Legend

Include a legend in the web page.

Location

Generates a status note at the bottom of the display showing the latitude and longitude of the center of the current display.

Logo

Enabled in Enterprise Edition only. Uncheck to eliminate the "Powered by manifold.net" notice and hyperlink at the bottom of generated images.

Scale

Generates a status note at the bottom of the display specifying current scale in 1:xxx form. This control is for projected components only.

Views

Generates a pane containing a hyperlink for each named view. Named views (saved in the Views pane for that component) will appear under the names used for them in the Views pane. Available only if the component has views saved.

Launch hyperlinks in new browser window

If checked, when a user clicks a hyperlink a new browser window will be launched to display the link. Otherwise, the link will be displayed in the same window. The value of the option is saved into the hyperlinksNew entry within the config.txt file.

Refresh linked components every … minutes

Automatically refresh every given number of minutes any linked component, such as a linked drawing or other linked component, which is used in the published component. Refreshing a linked drawing will update it from the controlling database table and refreshing a linked table will guarantee that it uses the latest values from the external table. Choosing a value of 0 will cause the project to be refreshed on every browser request. Do not choose 0 unless a very small number of users will be visiting the website.

Include admin page

If checked, create an administrative page for the web site in the form of a default_admin.asp page. The administration page shows the number of current sessions, the dates of the first hit, last hit and last reload, the total hits and a Reload button that can be used to force a reload of all .map files used by all sites hosted by this IMS server.

If you create a default_admin.asp page for your IMS site, make sure to change access permissions on it so that ordinary Internet browsers cannot use it.

Include Manifold Image Server interface page

Creates an imageServer.asp page that allows Manifold clients to fetch images from this website using the Manifold Image Server interface via linked images. See the Linked Images from Manifold IMS Web Sites topic.

Include OGC WFS interface page

Create an wfs.asp file that allows OGC WFS clients to use this Manifold IMS web site as an OGC WFS server. Works with all web site templates. Turning on this option turns on OGC WFS server functionality via the resultant wfs.asp page.

Include OGC WMS interface page

Create a wms.asp file that allows OGC WMS clients to use this Manifold IMS web site as an OGC WMS server, supporting a variety of WMS protocol versions. Works with all web site templates. Turning on this option turns on OGC WMS server functionality via the resultant wms.asp page.

Use custom server capabilities document

Enabled only if the Include OGC WMS interface page option is checked. Allows specifying a custom XML capabilities document for the wms.asp file to use. If we enable this option we must provide a server capabilities document written in XML using the schema published by OGC for such documents. Note that this document is not something that is created automatically by Manifold. If desired, we must provide a capabilities document. Such documents normally include information of interest to WMS consumers, such as, perhaps, the pricing and availability of a WMS service or other information.

Save proxy connection and file locations in the config file

By default, this option is turned off, to minimize the risk of leaking sensitive data such as passwords or physical paths used on the system. In some cases, such as when the exported web page uses components linked from remote servers, it might be necessary to turn the option on to supply these components with data required for correct function. See the topic on config.txt options for details on config.txt lines written.

Note: Attempting to export a web page that contains an image linked from a remote server or a map that includes such an image as a layer will display a warning message if this option has not been checked. This is a reminder to reconsider if proxy connection info and file locations will be required in the config.txt file.

 

Default Controls

 

The following buttons are created if their control is selected in the web page dialog. Examine the image file names used in the created web page to see the names of the files. These may be opened and edited to alter the appearance of the buttons, if desired, or other graphics files may be substituted by editing the created web page.

 

images\btn_web_tool_zoom_in.gif

Zoom in - Zoom to a closer view.

images\btn_web_tool_zoom_out.gif

Zoom out - Zoom to a view farther away.

images\btn_ims_zoom_box.gif

Zoom Box - Zoom into the box drawn with the tool. Created only with Standard and Standard framed templates.

images\btn_web_tool_zoom_to_fit.gif

Zoom to Fit - Zoom to fit entire data set in current view.

images\btn_web_tool_center.gif

Center - Center view at clicked location.

images\btn_web_tool_info.gif

Info Tool - Show data fields for object. Shows all fields in all drawings in a map that is published, excluding the ID field and intrinsic fields

images\btn_web_arrow_down.gif

Expand Heading - Open a tool such as Find.

images\btn_web_arrow_up.gif

Contract Heading - Close a tool such as Find.

 

Controls used in sites generated with the Compatible template are simpler. The map is panned by clicking at different locations in the map with the mouse cursor. Other controls are simple links. Webmasters should experiment with the map server by creating the same web site using different templates to see the different pages created.

 

Files Created

 

The Export Web Page dialog creates several main files and one directory containing additional files that are used in the web site to create the web page seen by browsers. Files are created by default in the folder specified by the Tools - Options - File Locations - Web Pages option, by default, C:\Inetpub\Wwwroot.

 

Files created by the Export Web Page dialog include:

 

default.asp

Main .asp page. Calls other pages with or without frames depending on the template used.

default.css

Cascading style sheet file specifying fonts and other styles.

default_admin.asp

Administration page that shows the number of current sessions, the dates of the first hit, last hit and last reload, the total hits and a Reload button that can be used to force a reload of all .map files used by all sites hosted by this IMS server. This administration page is created if the Admin page box is checked in the Export Web Page dialog.

If you create a default_admin.asp page for your IMS site, make sure to change access permissions on it so that ordinary Internet browsers cannot use it.

config.txt

Configuration information. Provides path to the .map file to be used, the name of the component within the .map file to be published, x size in pixels of image, y size in pixels of image, an optional title and an optional subtitle. The path to the .map file to use is taken based on whatever .map file was being used when the Export Web Page dialog was used. The config.txt allows setting some other options, such as click radius, manually.

images

A directory containing image files in .png format that are used to create toolbar buttons and controls.

imageServer.asp

An interface page that allows Manifold clients to fetch images from this website using the Manifold Image Server interface via linked images. See the Linked Images from Manifold IMS Web Sites topic.

map.asp, mapview.asp, tableview.asp

Accessory .asp files that may be created by some templates that are used to create tables and manage the map view displayed.

wfs.asp

An OGC WFS interface file to be used by WFS clients, if the OGC WFS interface page option has been enabled.

wms.asp

An OGC WMS interface file to be used by WMS clients, if the OGC WMS interface page option has been enabled.

 

The .asp files work in concert to generate the HTML stream that is sent to a browser by IIS to display the map image, toolbar, status bar, menu panes and tables that result from queries. Scripting code within the .asp files calls the map server to generate the correct view. Toolbar buttons and other controls are drawn using images stored in an images subdirectory.

 

Default Configuration

 

Optional templates used within the Export Web Page dialog will create different pages. The configuration seen in the browser window depends on choices made in the dialog. The illustrations shown below use the Standard template, which is designed for use with newer browsers. The Compatible with 4.x browsers template uses a simpler style. The Compatible template provides all functions of the Standard templates except the Info button.

 

images\sc_map_server_01.gif

 

The default layout positions a toolbar above the main view. Buttons allowing zooming and positioning are in the toolbar

 

images\sc_map_server_02.gif

 

Optional tools such as the Find tool or Legend are positioned in menu bars to the right.

 

images\sc_map_server_03.gif

 

Clicking on the down arrows in the menu headings expands the tools.

 

Permissions

 

Manifold documentation assumes the user is working with a modern Windows release such as Vista, Windows Server 2003 or XP using the NTFS file system.

 

Manifold must be installed for everyone to use on the machine.

 

The .map file used with the web site must have security permissions such that the IUSR_ account used for Internet browsers has read access (or, the NETWORK SERVICE account or ASPNET account if applicable). This account begins with "IUSR_" and ends with the machine name. For example, if our machine is called MAPSERVER the account will be called IUSR_MAPSERVER.

 

Very important: In 32-bit and 64-bit versions Windows Server 2003 and in 64-bit Windows XP the account used for Internet visitors is not the IUSR_ account as with earlier Windows versions. Instead, the NETWORK SERVICE account is used. When ASP .NET is employed the ASPNET account is used.

 

Windows Server 2003 and 64-bit Windows XP operators should understand the NETWORK SERVICE account is meant in all cases where this documentation discusses the IUSR_ account.

 

Web pages operating in an ASP.NET environment may require different permission settings than those operating in an ASP environment. For example, the default login used by ASP.NET is ASPNET, while the default login used by ASP is either the IUSR_ account or the NETWORK SERVICE account. When running in ASP .NET, the .map file and all other data being accessed from the ASP.NET environment must be readable by the ASPNET user account.

 

ASP .NET operators should understand the ASPNET account is meant in all cases where this documentation discusses the IUSR_ account.

 

Very important: Failure to pay attention to permissions and to grant the IUSR_ account (or, the NETWORK SERVICE account or ASPNET account if applicable) read permissions to the .map file being used is the number one technical support call for IMS. If you experience difficulty browsing an IMS web site, save yourself a developer support incident, fire up Windows Explorer and check the permission on the .map file in use. To do so, right click on the file, choose the Security tab and make sure that the IUSR_ account appears in the list of account names that have access to that file. If it does not, Add the IUSR_ account and give it Read & Execute permissions.

 

Important: Make sure to use Windows Explorer to check permissions (and not the IIS management applet) and make sure you have Administrator privileges so you can view and change security settings for other accounts.

 

Important: If you use Manifold in interactive mode on the server machine to alter the .map file or even to open it, make sure to use Windows Explorer to check permissions on the IUSR_ account (or, the NETWORK SERVICE account or ASPNET account if applicable). Opening the .map in Manifold may reset its permissions to something other than having the read permissions for the Internet access account. Saving a .map file with Manifold will preserve file permissions on Windows 2000 and later systems, but this is always something worth checking.

 

If any linked drawings or table relations referring to external databases are used in the project that is published, the IUSR_ account must have read access to the tables that control those linked drawings or relations. In some cases, such as when .mdb files are used, the IUSR_ account must have write permissions to the folder in which those files are located, since the map server process must create a lock file as is required when working with .mdb.

 

Take time to think through all permissions issues. The Internet access account must have permissions to get to all the data that is used in the web site. For example, suppose our IMS project uses a linked image. Because linked images use data from the Data Cache folder (the default), we must also be sure to give the IUSR_ account (or, the NETWORK SERVICE account or ASPNET account if applicable) read permissions to access all files in that folder.

 

Windows administration errors that result in the IUSR_ login (or, the NETWORK SERVICE account or ASPNET account if applicable) not having read access to the .map file are one of the most frequent reasons why an IMS web site will not launch. If the IMS web site does not launch, use Windows Explorer to check the permissions on the .map file and on the folder in which it is located as well as on all other files and folders if they are involved, such as by use of a linked drawing or table relation. See the discussion in the Creating a Web Site topic for more information.

 

Please read the above Permissions paragraphs before contacting Tech Support with questions about IMS pages not working. Don't waste developer support incidents on easy stuff like this!

 

Geocoding SQL extensions will not work with Manifold IMS unless the US streets geocoding database is installed within the Manifold application installation folder (normally, C:\Program Files\Manifold System). Therefore, the US streets geocoding database should be installed in the Manifold application installation folder on machines on which Manifold IMS operates. The default installation path for the Manifold Geocoding Data product is C:\Program Files\Manifold System\GCDB, which satisfies the above criteria if Manifold has also been installed to the default path.

 

Note: Security permissions are part of modern Windows editions such as Windows 2003, Windows 2000 and Windows XP. However, security options are available within Windows 2000 only if the disk drive is formatted using NTFS. If a disk drive has been formatted using FAT32 (as is possible, for example, if someone has arranged a dual boot system that can be booted either as Windows 98 or Windows 2000) then security permissions will not be available.

 

Since FAT32 does not provide any security options all files and folders located on FAT32 volumes can be read by and written to by anyone (including IUSR_). This, of course, makes it entirely possible to host IIS and IMS on a FAT32 drive, albeit without any security options.

 

IIS 7 and Vista Notes

 

By default, IIS 7 running in Windows Vista does not allow web applications to create files in the Temp folder. When using IIS 7 in Windows Vista you must allow web applications to create files in the Temp folder. The easiest way to do this is to run the following commands from the Command Prompt with Administrator privileges as follows:

 

To allow web applications in IIS 7 and Vista to create files in the Temp folder:

1. Click on the Windows Start button and then use the Start Search box.

2. Enter "command" to begin searching for the Command Prompt program. A list of matches will appear.

3. Right click onto the Command Prompt program and choose Run as Administrator. Enter the Administrator password.

4. This launches the Command Prompt window with Administrator privileges. Enter the following two command lines, pressing Enter after each line (enter each line as a single line):

 

icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant Users:(CI)(S,WD,AD,X)

 

icacls %windir%\serviceprofiles\networkservice\AppData\Local\Temp /grant "CREATOR OWNER":(OI)(CI)(IO)(F)

 

5. Restart IIS using IISRESET and then close the Command Prompt window.

 

MapPoint and IMS

 

MapPoint geocoding will normally not work from IMS unless we map anonymous Internet connections to a user account that has more enhanced permissions than the default Internet access IUSR_xxx account (or, the NETWORK SERVICE account in Windows Server 2003).

 

To enhance permissions for the Internet access account:

 

1. Create a regular user account with default permissions that is a member of the Users group.

2. Open Control Panel - Administrative Tools - Internet Information Services (or the equivalent dialog in your version of Windows).

3. Right click the folder that contains the published website, select Properties, switch to Directory Security and click Edit under Anonymous access and authentication control.

4. Set the user account used for anonymous access to the account created in step 1 above.

 

See the Geocoding with MapPoint topic for use of MapPoint as an auxiliary geocoder.

 

How the Map Server Operates

 

The files created by File - Export - Web Page are placed in a directory within the IIS web site hierarchy, and an IIS application is created using that directory (see Creating a Web Site for details). On the first call to the map server, the map server reads the config.txt file to see what .map file is to be used, the component within the .map file to be published, the size of the map to generate and text to use for tile, subtitle and copyright lines.

 

When a user browses into the default.asp page, IIS executes the code in the default.asp page (which invokes the other .asp files) to create a web page that is served to the user's browser. Part of the code in the .asp files involves relatively simple HTML that is easily modified. For example, the table structures used to provide the title string or the copyright string are implemented using elementary HTML that may be modified to customize the appearance of the page as desired. Other parts of the code are more sophisticated, client-side or server-side scripting commands that manage the programmatic task of detecting and reacting to user commands and updating the display.

 

The actual image displaying the map is created by Manifold IMS in a call to the map server. Manifold IMS opens the .map file and works with the component specified to generate a view of the component fitting the zoom and pan commands issued by the user. The map server reads the config.txt file in the same folder as the default.asp file to know how to configure the display. The final view is rendered as a .png image (or other image format as settable in the IMS config.txt file options) and served by the map server to the browser within the stream of HTML commands created by IIS's processing of the .asp pages.

 

From the above description it should be clear that when we use File - Export - Web Page to create a default.asp file and attendant files we are not really exporting the component into a different form. Instead, we are creating a set of instructions that are executed by IIS to call Manifold through the map server to use the published component to create web views of our data. Note that when the map server is operating the .map file is in use and cannot be opened by Manifold.

 

To allow simultaneous editing of the .map file, make a copy of the map file and save the copy as the .map file that is published. See Creating a Web Site for additional operational tips.

 

When IMS operates updating the .map file (say, by copying a different version into the same location) will not update what is served to the web. To change the .map file dynamically the .map file must be reloaded into the MapServer object either using the Reload method programmatically or by using the administrative page to force a reload manually by pressing the Reload button. Reloading will cause a reload of all .map files used on the server hosting IMS.

 

For expert usage, IMS opens .map files for both reading and writing. This allows doing sophisticated analysis that involves creating temporary components, such as running queries the text of which is supplied by the user.

 

Operation as a WFS Server

 

The Manifold OGC WFS interface can be used with vector components, such as drawings, themes and maps that contain drawing or theme layers. The Manifold OGC WFS server supports HTTP POST as well as altering data within served component or other components.

 

Operation as a WMS Server

 

When an OGC WMS client connects to the wms.asp page created when the Include OGC WMS interface page option is selected, Manifold serves the image tiles requested by the client. Just as Manifold in regular IMS operation provides an image that is a view of whatever map layers are being displayed, the WMS server provides an image to the specifications requested by the client of whatever layers are the map and requested by the client. The Manifold OGC WMS server respects any transparent pixels in images used, rendering the resultant images with transparent pixels as well.

 

Suppose, for example, we create a map that shows member countries of the European Union. We export it to a folder called C:\InetPub\wwwroot\euro and we also check the Include OGC WMS interface page option. Suppose our Windows server is set up to serve the domain name mydomain.com. A visitor browsing to http://www.mydomain.com/euro or http://www.mydomain.com/euro/default.asp with their web browser would get the IMS version of the site for their browser. A visitor connecting with an OGC WMS client (such as Manifold) would use a URL of http://www.mydomain.com/euro/wms.asp to connect to Manifold running as a WMS server.

 

See the Linked Images from OGC WMS Servers topic for a discussion of WMS clients operation.

 

Enterprise Edition and OGC WMS Server Applications

 

Enterprise Edition is strongly recommended for OGC WMS server applications because Enterprise Edition allows suppression of the "Powered by manifold.net" logo that is added to all IMS images by Professional and Professional Runtime editions. Each tile transmitted to a WMS client will include the logo at the bottom of the tile. When using Enterprise Edition we can turn off the logo. Note that deploying a Manifold IMS application using a Universal Runtime license in effect installs Enterprise Edition on the server.

 

Projections and OGC WMS

 

There is no standard way for an OGC WMS server to describe the coordinate systems (projections) it supports that covers all coordinate systems supported by Manifold. There are several semi-standard ways using schemas to describe the coordinate system used by a WMS server that cover various subsets of coordinate systems.

 

When used as an OGC WMS client, Manifold supports all schemas for describing coordinate systems that have been uncovered by manifold.net, no matter how many or how few OGC WMS servers that currently exist actually use them. Given the tendency of OGC to come up with new "standards" that are never used to any significant degree, it is always possible yet another schema may be introduced in the future that is not recognized by Manifold as an OGC WMS client; however, we feel confident that the current edition of Manifold when used as an OGC WMS client covers all such schemas either proposed or in actual use.

 

In contrast, when used as an OGC WMS server, Manifold only supports EPSG codes. EPSG is arguably both the richest and the most widely used schema within the OGC community. Manifold running as a WMS server only supports EPSG mostly to avoid confusing various non-Manifold WMS clients, some of which, unlike Manifold, cannot auto-adapt to a variety of coordinate system encoding schemas.

 

As rich as it is, the EPSG schema only supports a fraction of the coordinate systems that can be used in Manifold. If the coordinate system used by the component served by Manifold can not be expressed using the EPSG schema, that is, if it does not have an equivalent EPSG code, then the Manifold OGC WMS server reports the coordinate system as latitude / longitude and will re-project the data for that component on the fly into Latitude / Longitude. For large components that will have a terrible impact on performance.

 

Obviously, it is essential that any webmaster setting up a Manifold application as an OGC WMS server should check the projections used by the components being served and should make sure that they are coordinate systems that can be expressed using the EPSG schema.

 

The current list of coordinate systems which have EPSG codes may be obtained free of charge from the following link, clicking the link to the epsg-v69.zip or subsequently published file.:

 

http://www.epsg.org/CurrentDB.html

 

If all we are doing is using Manifold as an OGC WMS client we don't need to worry about the above because any schema used by the OGC WMS server we access as an image server will be recognized by Manifold.

 

Operation as an Image Server

 

Manifold System can connect to image servers of various kinds (such as TerraServer or Google) to automatically fetch images that cover a desired region to create a linked image. Manifold can also function as a Manifold Image Server so that Manifold users can fetch linked images from that server using the Manifold Image Server interface built into Manifold.

 

When a Manifold System client connects to the imageServer.asp page created when the Include Manifold Image Server interface page option is selected, Manifold serves the image tiles requested by the client. Just as Manifold in regular IMS operation provides an image that is a view of whatever map layers are being displayed, the Image Server page provides an image to the specifications requested by the client for the region of interest.

 

See the Linked Images from Manifold IMS Web Sites topic.

 

The Administration Page

 

If desired, the Export Web Page dialog can create an administrative page if the Admin page box is checked.

 

The administrative page is a default_admin.asp page that is created in the same folder as the rest of the IMS web page. The administration page shows the number of current sessions, the dates of the first hit, last hit and last reload, the total hits and also provides a Reload button that can be used to force a reload of all .map files used by all sites hosted by this IMS server.

 

The administrative page makes it easy to update a .map file with a newer version without having to restart IIS. To do this, edit a copy of the .map file and save it under a similar name, making sure that after it has been saved permissions are as required. For example, if we are using myfile.map with the map server we could edit a copy and save it under the name myfile2.map. Next, change the config.txt file to use myfile2.map instead of myfile.map and then navigate to the administrative page and press the Reload button.

 

Because the administrative page's .asp file will be created in the same folder as the default.asp page that powers the site, it will also by default be created with the same access permissions as the default.asp page. That is, anyone going to http://(sitename)/default_admin.asp will be able to operate the administrative page. They will be able to see your web page's statistics and, more importantly, they will be able to force IMS to reload all .map files used by all IMS pages on that server by simply pressing the Reload button. Since a reload takes time, it is not a good idea to allow any visitor to force a reload however often they want to push the Reload button.

 

Very Important: If you create a default_admin.asp page for your IMS site, make sure to change access permissions on it so that ordinary Internet browsers cannot use it. To do this, in Windows Explorer right click on the default_admin.asp file, choose Properties and choose the Security tab. Remove all entries for allowed user names except Administrator or whatever other login name you wish to allow access to the administration page. Apply the settings and press OK.

 

Neglecting this important step will not create a security breach in that hackers will be able to steal your data, but it will allow a malevolent user to effectively shut down your map server by repeatedly causing it to Reload .map files.

 

Layers

 

When a map component is published via the map server, the Layers control menu option is enabled. Choosing the Layers option in the Export Web Page dialog will add a Layers menu to the web page.

 

images\sc_map_server_04.gif

 

Users can check or uncheck the layers they wish to appear in the map window and then press Apply.

 

Layers will appear using the same names they have in the map. Therefore, one should choose wisely the names of such layers. Rename any drawings or other components so their names will be useful to people browsing the web site. For example, if creating a map of Mexico one may import a drawing of Mexican railroads from a file called me_railroads.mfd. This will be imported into Manifold using the name Me_railroads Drawing. It would wise to rename such a drawing to "Railroads" so that when it appears as a layer in the map and thus in the Layers control in the web page it is also named "Railroads".

 

When a map is published using Export Web Page the map server shows all layers that are in the map in the Layers pane.

 

Layer Restrictions

 

Layer restrictions in maps are respected in that both hyperlinks and the Info tool in default web page templates will work only on layers that are clickable. To disable hyperlinks or the Info tool in a layer, open the map, right click onto that layer's tab and choose Restrictions and uncheck the clickable box. Interactive selection and editing layer restrictions are not factors in IMS web pages so these layer restrictions are ignored. See the layers pane topic for more information on layer restrictions.

 

Use of the clickable layer restriction is very important when creating a web page in which hyperlinks or the Info tool will be used. With such web pages there is usually a layer that contains the objects of interest while other layers serve as background layers only. The classic example is a web page that shows dealers that are near some location. The user would like to double click on a dealer point icon to launch a web page with information about that dealer, and the designer of the product wants to make sure that an accidental click on a background map layer, such as a state or nearby road, is ignored.

 

Accomplish this by having the layer containing the dealer points be clickable with the other layers not being clickable.

 

Click Accuracy

 

The default click accuracy in Manifold web pages is 4 pixels. Clicking within four pixels of the center of a point will be the same as clicking directly onto the center of the point. This is normally a good balance between not requiring too much manual dexterity of the user while allowing points to be reasonably close together but separately clickable in dense displays.

 

To decrease click tolerance, add a line such as the one below to the config.txt file:

 

clickAccuracy = 8

 

The above line increases the clicking tolerance to 8 pixels, so that a mouse click within eight pixels of the center of a point will be the same as clicking directly onto that point.

 

Control Layers with Zoom Ranges

 

Many Manifold IMS pages will not use the Layers control but will publish all layers in a map as a single image into which users can zoom. In such cases we will often want layers to appear and disappear automatically as users zoom in to or out of the map. For example, as users zoom into a map we might want major roads to appear and as they zoom further into the map we would like detailed streets to appear. Control the appearance of layers using Zoom Ranges .

 

Automatic Panning and Zooming

 

When objects are selected with the Find tool or by a query (if the query includes the ID field), Manifold IMS will automatically pan the display to the centroid of the selected set of objects. Zoom will be adjusted to zoom to fit to the selection.

 

If only one object is selected and it is a point, or if several points are selected that are coincident, Manifold IMS will center the point on screen and will adjust zoom so that the display shows approximately 1/100th of the total data set. The result is usually a good level of zoom for displaying a single point within an entire data set.

 

Customization

 

See Creating a Web Site for notes on customizing the configuration created by File - Export - Web Page. See the Manifold web site for examples of customized IMS applications programmed in ASP or ASP .NET.

 

Manifold IMS and ASP .NET

 

This is an advanced subject for those webmasters who will be operating Manifold IMS in a Microsoft ASP .NET environment. To run Manifold IMS in ASP .NET we must choose an ASP .NET version of the templates in the Export Web Page dialog. You must have ASP .NET enabled in your IIS installation (easily done using IIS Manager) if you want to use ASP .NET.

 

The Export Web Page dialog includes ASP.NET versions of the Standard, Standard framed and Compatible templates. These must be used when operating in an ASP .NET environment.

 

Automatic Refresh

 

If a published component is a linked component (such as a linked drawing or other linked component) or if a map is published that includes any linked components as layers, we can turn on the Refresh linked components every … minutes option and specify a reasonable number of minutes between refreshes. This will assure that the linked components displayed on the web site will be updated on a reasonably recent basis from the data sources from which they are linked.

 

Refreshes using this option apply only to that component published on the web site. For example, if the web site shows a linked drawing, this option will only refresh that drawing. If the web site shows a map incorporating as layers three linked drawings and one linked image but the project file in use also includes seven more linked drawings which are not used in the map, this option will refresh only the three drawings and the one linked image that participate in the map.

Automatic refreshes apply only to components in use in order to maximize performance, as there is normally no point to wasting machine time to refresh components that are not displayed. If for some reason we would like to refresh a particular linked component within the project other than those used in the web site, we can do this programmatically using Component.Refresh. If we want to refresh all linked components in the project file, we can easily do this using Document.RefreshAllLinked. These tasks are accomplished programmatically since it is presumed that anyone with the technical expertise to desire such customization also will have the technical wherewithal to be able to edit or write ASP or ASP .NET code.

 

The performance cost of refreshes varies widely depending upon the nature of the linked components and the nature of the data source providing data to the linked component. Manifold has immense flexibility and many options for creating linked components, which can get their data from many different sources.

 

A linked drawing, to name just a few examples from many possible, could be linked from a local table in the project, from a query or from an external data source. The external data source could be something as simple as a .csv text file or it could be something as sophisticated and powerful as an Oracle Spatial server. The communications path between the linked component could also vary. It might be as simple as a component within the same project file in the same server, or it could be a relatively slow connection via Internet to some server sitting half-way around the planet.

 

The data involved might be a small amount of data or a very large amount of data. Some technologies that might be used for linked components do better at providing changes (if any) when large amounts of data are involved while other technologies can be very inefficient, requiring a complete transmission of all data just to be sure any changes are incorporated.

 

None of these factors will surprise the experienced web developer, who is used to the notion that linking content into web pages from a variety of disparate sources and technologies exposes one to the vagaries of performance attendant to such varied sources. But the newbie web developer should think carefully about the architecture in play and not promiscuously jump to refresh frequently in a "just in case" manner to cover up any lack of understanding of how the project is put together.

 

It is also important not to be lured into false promises of accuracy or timeliness by refreshing a web site more frequently than makes sense given the nature of the data and the architecture of the application. For example, consider a web site that shows the positions of ocean buoys reporting weather data. The key component is a drawing linked from a geocoded table resident on some NOAA server. The geocoded table on the NOAA server is updated using some unknown software that acquires the locations of the buoys as reported by GPS devices and puts them into the table.

 

It doesn't make sense to refresh such a linked drawing every minute. Buoys drift very slowly to begin with, the GPS devices are not particularly accurate and ultimately it really doesn't matter for large scale weather observations over thousands of miles of ocean to know the location of a particular buoy give or take a kilometer or so. For that matter, we probably don't know how often the NOAA table is updated. Given these factors it could well be that some webmasters would choose to refresh their linked drawing every 60 minutes or so, while some more "gung ho" operators might choose a shorter interval, such as every 10 or 20 minutes.

 

It's true that if we don't have very many buoys (quite likely, only a few dozen and not tens of thousands) the cost of a refresh will likely be so low that it will be unnoticed even if done every minute. However, we should keep in mind that the data connection to the NOAA server might be slow even if only a small amount of data is exchanged. Therefore, it is better to think through the situation and choose a sensible refresh interval than to simply give up on thought and choose one minute "just in case."

 

Suppose our application works with more rapidly moving objects, such as a web site that reports the locations of vehicles, where waiting ten or twenty minutes between refreshes would give significantly inaccurate results? There are two strategies to follow in this case.

 

First, some vehicle tracking applications are intrinsically low resolution. Not all vehicle tracking applications provide reasonably real-time data into a database table that can also be accessed in real time. Other applications, such as the location of trucks in long-haul trucking services spanning an entire state or an entire continent, really don't care about the location of a truck give or take one or two kilometers. In such cases, we simply set the refresh interval to one minute and let it go at that. This is a good solution in such cases because such applications tend to have many more units being tracked. We usually don't need to track thousands of trucks in a small region, where it might matter how far the truck moves in one minute. Instead, we usually have to track thousands of vehicles only on a very large scale, such as over an entire state, where the precise position give or take a mile doesn't matter.

 

Second, for those higher resolution applications requiring faster response we can always use Component.Refresh programmatically to refresh as fast as we would like. However, here too it pays to use common sense: if there is a latency lag in the entire communications chain of plus or minus ten or twenty seconds between the movement of a vehicle and the ultimate availability of that changed position to the server running Manifold, then it doesn't make sense to refresh every second. In any case we will be looking at the approximate position of a vehicle and not some exact position accurate to one meter.

 

Manifold deliberately uses minutes as the unit of measure in the automated refresh setting to force web developers to explicitly think about their web site's implementation and to avoid the tendency of newbies to inappropriately pick the shortest refresh interval possible. A time scale measured in minutes is fine for lower resolution or large scale applications. Applications that need a refresh in seconds require greater professional attention which tends to come automatically with the enhanced technical skill required to use Component.Refresh programmatically.

 

Other HTTP Servers

 

Although Manifold IMS is aimed at use in a Microsoft IIS environment, one can write web pages to use IMS under any HTTP server provided the execution environment can instantiate and work with COM objects. The default templates for IMS create .asp files that are intended to be used within a Microsoft IIS environment; however, nothing prevents a user from adapting these files or writing their own script files or web pages for use with an HTTP server other than Microsoft's IIS. This assumes, of course, that the non-IIS HTTP server being used is running on a Windows system since Manifold System runs only under Windows operating systems.

 

Map Server FAQ

 

What is the licensing for the map server? Each machine running IIS and serving from the map server must have a Manifold System license installed. Only one Manifold license is required per machine even if multiple sites are served from that machine. Any Manifold license except Personal Edition (which does not include Manifold IMS) is OK. Most users will develop Manifold IMS applications using a full license and then deploy using a runtime license, usually a Universal Runtime license.

 

How about generated images? That depends upon the licensing structure of the data you are using. Manifold's license permits you to serve unlimited images of any kind created from the Manifold data sets you use for no additional charge. With public domain data there are no licensing issues either. Some vendors may or may not require more restrictive licenses as a condition of selling you proprietary data.

 

I don't have a full time Internet connection… how do I use the map server to publish images? If you do not have a full time Internet connection you must install such a connection or find someone who has such a connection. Or, you could hire time from an ISP using a managed server that provides you with a virtual machine, like having your own machine connected full time to the web, but managed for you by the ISP.

 

How do I publish my maps to a web site I have at my ISP? Your ISP must install Manifold System on the machine that hosts your web site and both your .map file and generated web pages must be uploaded to that machine. Most people will do so via a managed server or co-location plan with the ISP. Because the map server runs extremely well on modern PCs that anyone can afford, another possibility is to install a full-time Internet connection (like a cable modem or DSL line) and run the server on your own machine. Even a relatively low-speed direct connection like a 384K uplink can handle thousands of users per day. Another option is to use an Application Service Provider (ASP) or consultant who can set up and operate your Manifold web page for you.

 

How do I customize the appearance of the generated web page? Change the HTML in the default.asp file and the style settings in the default.css style sheet. Advanced users can tinker with the scripts as well. Changing table structure, background colors and other design elements within these files can create radically different appearances. Add your HTML to customize the page with user instructions, titles and other texts.

 

Can I program the map server? Yes. By writing customized ASP or ASP.NET files one can create very sophisticated interactions with the project through the map server. This is an advanced topic that is described via the programming documentation in Help as well as with examples in the Free Stuff page on the manifold.net website.

 

How do I remove the small "Powered by manifold.net" text and hyperlink to the manifold.net IMS page? In Manifold System Professional Edition the logo cannot be removed since it is part of the view generated by the map server itself and is required to be present by the End User License Agreement for Professional Edition. In Manifold System Enterprise Edition the "Powered by manifold.net" text and hyperlink may be removed by unchecking the Logo box in the Export Web Page dialog. This is also possible, of course, when using a Universal Runtime license to deploy a Manifold IMS application to a web server.

 

Can I use Manifold IMS to publish more than one map from the same server? Yes. The Manifold map server can use more than one project at a time using different .map files and can even publish more than one component at a time from the same .map file. See Publishing Multiple Pages .

 

How do I run the map server in my cluster / web farm? The map server bundled with Manifold System does not automatically cluster across systems. A simple approach to distributing load between multiple servers is to use a round-robin proxy to distribute clients among your servers.

 

What are the browser requirements? Any modern browser can view pages generated by the map server. The browser must be able to execute scripts and to display .png images (or other image format specified in the IMS config.txt options). All "4.x" and later IE browsers may be used.

 

Can the map server run with HTML servers other than IIS? Yes. One can write web pages that use IMS under any HTTP server provided the execution environment can instantiate and work with COM objects. However, such usage is not supported by manifold.net since the main development environment and all default templates are targeted at IIS.

 

What is the IUSR_ account? Because it does not make sense to allow everyone on Internet to have free access to do whatever they want with our web server, Microsoft has thoughtfully provided an IUSR_xxx (xxx is the machine name) login that is automatically assigned to visitors interacting with the web server via Internet. Microsoft also has had the foresight to restrict the IUSR_ account so it cannot rampage around in our machine.

 

Very important: In 32-bit and 64-bit versions Windows Server 2003 and in 64-bit Windows XP the account used for Internet visitors is not the IUSR_ account as with earlier Windows versions. Instead, the NETWORK SERVICE account is used. When ASP .NET is employed the ASPNET account is used.

 

Windows Server 2003 and 64-bit Windows XP operators should understand the NETWORK SERVICE account is meant in all cases where this documentation discusses the IUSR_ account.

 

Web pages operating in an ASP.NET environment may require different permission settings than those operating in an ASP environment. For example, the default login used by ASP.NET is ASPNET, while the default login used by ASP is either the IUSR_ account or the NETWORK SERVICE account. When running in ASP .NET, the .map file and all other data being accessed from the ASP.NET environment must be readable by the ASPNET user account.

 

ASP .NET operators should understand the ASPNET account is meant in all cases where this documentation discusses the IUSR_ account.

 

When we set up an Internet application by putting files in the InetPub/wwwroot folder hierarchy, by default visitors get reasonable IUSR_ account access to those files because Microsoft has set up those folders with inheritable permissions that grant the IUSR_ account access within those folders. However, if we want to use files that are not located in that folder hierarchy, we must explicitly grant permission to the IUSR_ account to read or execute such files. For example, if our website contains .asp files that instantiate an object that uses a .map file located somewhere else on our machine, we must make sure that the IUSR_ account can read the .map file.

 

Can Manifold IMS run on a Linux system? No. Manifold System runs only on Microsoft Windows operating systems.

 

How do I meet other developers working with IMS? Post on the Georeference forum. Visit the Forum page on the manifold.net web site or simply go directly to forum.manifold.net - if you are doing serious work with IMS, make sure to visit and participate in the forum where IMS programmers from all over the world meet to discuss IMS and exchange tips and advice.

 

Promote Your GIS Work

 

In just about any enterprise one must justify the resources invested into organizations and activities. Showing the tangible results of GIS work by publishing a cool IMS web site can be a spectacularly effective way of showing off your GIS work within your organization. It's easy to show off your GIS work on a web site that anyone with a browser can access from the convenience of his or her desktop. It is much easier to demo your work on a web site than it is to drag people one by one in front of a machine to show them a GIS demonstration.

 

Even if your mission does not require publishing a map-enabled website to Internet, it is usually a great idea to put up one or more IMS web sites on your organization's internal network just to make sure you get plenty of support within your organization for your GIS work.

 

If you are running a GIS business that could benefit from additional clients, running one or more IMS web sites that demonstrate your work is a great way to advertise your capabilities. Creating an IMS web site that provides some practical benefit for the industry you serve is a great way to generate links to your site. One good site that draws links from industry ezines and other sites can be worth tens of thousands of dollars in advertising per year.

 

Host Other Sites

 

Companies are now launching business plans to be Application Service Providers ("ASPs"), that is, to get into the business of providing hosting services over the Internet including the provision of GIS maps published over the web. At the present writing prices for such services are very high with startup fees of $1500 and recurring charges of $1500 per year for Internet map services that serve only 100 sessions ("hits") per day. Almost any computer that runs Manifold can host dozens of map server web sites at such low hit rates.

 

If you have a reasonably fast Internet link, IIS and Manifold System, you could provide hosting services for a fee to other Manifold users who do not want to host their own Internet server. Hosting Internet map server sites for government groups and other organizations is a great way to build a GIS consulting business as well, since such organizations often will want assistance in the preparation of the .map file used with the map server.

 

About .PNG Format

 

The images served to the browser within the map window are created by Manifold IMS by default in .png format (other image formats may be specified in the IMS config.txt options). "PNG" stands for "Portable Network Graphics" and is also known recursively as "PNG is Not GIF".

 

.png (pronounced "ping" by .png experts) is a format originally developed to replace .gif. The .png format is lossless like .gif but is more efficient than .gif. In addition, .png can save alpha channel transparency. Although .jpg and .gif are more frequently used on the web as a matter of inertia, in simple form (without transparency) .png is universally supported by all modern browsers. .png images therefore can be used anywhere in a web page just like a .jpg or .gif.

 

Manifold uses .png because it is more efficient than .gif and suffers no loss of information in compression as does .jpg. By using .png Manifold is able to save at least 10% bandwidth as compared to using .gif. Since bandwidth in most sites is precious the simple use of a more efficient format allows at least 10% more simultaneous users at a given hit rate that could otherwise be accomplished with the same hardware and ISP service levels.

 

.png is also better than .gif because it is not subject to moronic patent threats from Unisys. See Just Say No to GIFs for a quick history on the threat to .gif usage from Unisys.

 

Security and Access Permissions

 

See the Creating a Web Site topic for a discussion of security issues and access permissions.

 

Troubleshooting

 

Manifold cannot run interactively with the usual user interface at the same time Manifold is functioning as a map server. All interactive sessions must be shut down before IIS can call upon the map server to serve map pages to the web. Conversely, if the map server has been run Manifold can not run interactively until the map server has been unloaded either via an iisreset command (the usual method) or by rebooting the system.

 

See the troubleshooting topic Problems with the Internet Map Server for detailed checklists of what might be wrong. Check to make sure that you are not running Manifold System Personal Edition, which does not include the map server. You must be running Professional Edition or greater to have the map server.

 

The number one problem with IMS reported to tech support is that users neglect to add the IUSR_ account (or, the NETWORK SERVICE account or ASPNET account if applicable) with access permissions to the .map file in use. Using Windows Explorer (do not just depend on the IIS management console or other server management console), right click on the .map file, choose Properties and verify in the Security that the IUSR_ account (or, the NETWORK SERVICE account or ASPNET account if applicable) for the system has necessary read and execute permissions.

 

Note

 

You must be running Manifold System Professional Edition or greater to have the capabilities discussed in this topic. All Manifold editions except Personal Edition include the map server. If you are running Manifold System Personal Edition you will not have the capabilities discussed in this topic.

 

You must also have your Manifold license activated. At times inexperienced users attempt to use a Runtime license for an IMS server and then don't bother activating that Runtime license. That, of course, won't work.

 

See Also

 

Creating a Web Site

IMS Queries

Publishing Multiple Pages

Optimizing Performance