What's New in the Latest Build

This topic provides release notes for the very latest builds.  For information on different types of builds and a history of recent builds, see the Changes and Additions topic.

 

9.0.181.0

Build 181.0 is a Base Build that is recommended for all users. It implements a huge new GetFeatureInfo request capability that opens the door to WMS based click-to-get-data websites and OGC tools.  It incorporates all improvements from the 9.0.180.x series of builds.  Build 181.0 also introduces a new policy to remove expiration dates for Cutting Edge builds.  That prevents websites from timing out when Cutting Edge builds are used for production sites, and it positions builds for planned developmental projects.

 

Highlights  

 

 

9.0.180.8

Build 180.8 adds WMS server capability to Manifold Server's HTTP server capability.   The support is automatic and does not need any additional configuration.  

 

WMS Server  

 

 

Other

 

 

Fixes

 

 

9.0.180.7

Build 180.7 adds conveniences to the desktop user interface as well as more information in the web user interface.  Access keys in Windows provide keyboard shortcuts to launching commands from menus.  Those shortcuts can now be used whether access keys are displayed or not.   

 

Access keys are also turned on for automatic menus that are generated in Manifold dialogs and panes, for example, in the lists of fields that can be picked when choosing a field in the Transform pane.   That makes it easy to pick a field in the Transform pane field picker dropdown: click on the picker box and enter the first letter in the field name desired. That will jump to the fields that start with that letter, and then the up/down arrow keys will move between the fields to pick exactly the field desired.

 

In the web user interface, if a description has been entered for a location or a layer, that description will automatically appear just before the location or layer entry in the web UI's menu tools for picking a location or turning a layer on and off.

 

Desktop User Interface

 

 

Web User Interface

 

 

9.0.180.6

Build 180.6 expands the Info Tool in the Manifold Server web user interface to launch email and URL text values as hyperlinks in a new browser window.  The Info tool has also gained a dropdown list control that allows specifying the layer from which Info tool clicks show field data.  Build 180.6 also fixes quirks in the prior experimental build to create a robust cutting Edge build suitable for production use.  

 

Info Tool

 

 

Fixes

 

 

 

9.0.180.5

Build 180.5 is an experimental, cutting Edge build that adds an Info tool to the web server user interface.   The Info tool reports attributes (field values) for a clicked object.

 

Info Tool

 

 

9.0.180.4

Build 180.4 is a cutting Edge build that adds new web server capabilities, upgrades use of optional GDAL file import capabilities, adds useful capabilities when working with Z values, and provides fixes.

 

Serving Web Maps

 

 

GDAL and Z Values

 

 

Fixes

 

 

 

9.0.180.3

Build 180.3 is a cutting Edge build that extends Manifold Server capabilities for HTTP map serving, including automatic adjustment of the default web page user interface for mobile devices, the ability to turn layers off and on, support for locations, and the ability to set display image size.

 

ODBC

 

 

Serving Web Maps

 

 

 

9.0.180.2

Build 180.2 is a cutting Edge build that introduces many optimizations and improvements for Manifold Server when used as a TCP server to share data to Manifold clients or as an HTTP Server for Internet map serving to any browser.   Rendering enhancements increase performance for desktop use as well as map serving performance.  A new setting for resampling allows zooming in to see individual pixel boundaries in rasters, a useful feature for pixel based editing.

 

New caching capabilities for web server sources often used as backgrounds in maps served to the web by Server can result in dramatically faster performance, especially when many users are browsing maps on a Server-enabled web site.

 

A dramatic increase in the number of connections allowed, even in the limited map server built into inexpensive Manifold Universal licenses, allows sophisticated use of many connections from web browsers for an enhanced user interface.  Command buttons in the default web interface have been reworked to be more compact and easier to use.

 

Rendering

 

 

 

Manifold Server

 

 

Other

 

 

Illustration

 

 

 

Always Running Queries on TCP Server Data Sources

 

As is well known, Manifold allows accessing data from data sources other than the main .map file within a query.  An example:

 

--SQL9

SELECT * FROM [server]::[data];

 

The above will return records from the table named data on the data source named server.

 

If data is a query, however, the logic is more complicated.  All data sources may run queries using the Manifold query engine, with Manifold syntax. Some data sources, for example, databases like PostgreSQL or SQL Server, may also run queries using their own query engine, with their own syntax.

 

If the data source for server has its own query engine, the system checks whether data should be run using the server's native query engine or using the Manifold query engine. (The system does that by inspecting the text of the query and looking for a $manifold$ directive.)

 

If data is a native query, the system dispatches it to the server to run it. If data is a Manifold query, the system runs it on the Manifold client, since the server does not know how to run a Manifold query (only the Manifold client does).

 

The same logic also applies to:

 

--SQL9

EXECUTE [[ SELECT * FROM [data]; ]] ON [server];

 

In the above, it looks like the query asks the server to run SELECT * FROM [data]; -  that is superficially true, but to be precise, the system is asking the data source. The data source then follows the same logic as above: it checks whether data is a native query or a Manifold query, and then either asks the server to run it if it is not a Manifold query, or if it is a Manifold query, runs it on the Manifold client.  That makes sense if one assumes that only Manifold clients know how to run Manifold queries written in Manifold's implementation of SQL.

 

All of the above is generally desired.  But if the data source is Manifold Server running as a TCP server, then both of the above example queries will run on the server even if the query was a Manifold query.  That is because, unlike other types of server data sources, Manifold Server can run Manifold queries.  The general logic used by data sources to decide where a query should be run has been updated in build 180.2 to incorporate the exception that Manifold Server can run Manifold queries.

 

Before the enhancement in build 180.2, Manifold Server data sources already were running queries on the server in many circumstances. For example, if the served .map file had a query component, connecting to the server and then opening and running that query would run it on the server.  Connecting to the server with a Manifold client and then opening a command window for the server and running statements in that command window would also run those statements on the server.  

 

But opening a command window for the main .map file and running one of the above two example queries, or queries similar to those, would run the query on the client because of the previous logic that a data source should always run a Manifold query on the Manifold client.   That logic has now been updated in build 180.2 so attempting to run queries on a Manifold Server data source will now always run them on the

 

9.0.180.1

Build 180.1 is a cutting Edge build that introduces Internet map serving capability to Manifold Server within Manifold Release 9 Universal edition and Manifold Release 9 Server edition.  This allows Manifold users to create a GIS-enabled web page without any need for either a web server like Internet Information Server or Apache, or a map server.  The web server and map server are now built in parts of Manifold.  If you have a static IP address reachable from Internet, you can create GIS-enabled web pages.  No programming required.

 

Internet map serving uses the same Manifold Server internal engine proven through massive multiuser project and data sharing using Manifold clients. Build 180.1 now adds HTTP (web) serving of GIS powered map displays to standard Internet browsers as well, with Manifold itself acting as its own map server and web server and automatically generating default web pages for browsing maps.  

 

Build 180.1 is a first release of HTTP serving in Server with a focus on keeping it simple.  Future builds will add many additional features, such as many extensions to the map UI with new REST endpoints, support for WMS and other protocols, and other features.

 

Internet Map Serving

 

 

Other

 

 

For Web Developers

 

It is easy to put the map served by the HTTP server into an existing web site.  The HTML code to do so looks like this:

 

<script src="webscript.js"></script>

<script>

 

  window.onload = function () {

    let config = {

      bounds: { xmin: xxx, ymin: xxx, xmax: xxx, ymax: xxx, },

      cx: 800,

      cy: 800,

      urlbase: "/",

    };

    manifold.createMap(document.querySelector("#map"), config);

  };

 

</script>

 

...

 

<div id="map"></div>

 

The above can be put into an existing web site served by some other web server, like Microsoft Internet Information Server (IIS) or Apache. The URL for the script and the urlbase config parameter will have to be adjusted to point to an appropriate instance of the Manifold HTTP server.

 

When the web page loads, the script defines the manifold object and the call to manifold.createMap will create all necessary HTML elements for the map UI in the specified div, style them and wire them to events. The content of the div will then display the map served by the Manifold HTTP server and allow operating it.   Future extensions to the map UI will only affect the config section in the inserted code.

 

REST Endpoints

 

 

 

9.0.180

Build 180 is a base build that is recommended for all users.  It provides a number of conveniences requested by the user community and incorporates all improvements from the 9.0.179.x series of builds.

 

Conveniences

 

 

Fixes

 

 

9.0.179.4

Build 179.4 is a technical build that updates third party libraries, improves label performance, and introduces some user conveniences from the wishlist.

 

Conveniences

 

 

 

Updates

 

 

 

9.0.179.3

Build 179.3 introduces new capabilities for controlling the display of contents within layout frames by setting scale using new capabilities for setting scale as absolute values, by pixel sizes, or by the size of the view within the frame.  The new scale controls also work for map, drawing, image, and labels windows.

 

Scale and Position

 

 

Fixes

 

 

 

Illustration at right: The scale readout shows the size of the view in the Map window, 205 meters by 161.982 meters. Right click it to show the scale in meters per pixel like 0.529 m / px, or in absolute scale like 1:2000.

 

 

9.0.179.2

Build 179.2 is a quick update that incorporates community requests for the new Save as Image capability introduced in the prior build, 179.1.  See the 5 Minute Tutorial - DPI in Save as Image video and the 5 Minute Tutorial - Custom Views in Save as Image video for two essential Save as Image capabilities added in 179.2.  See also the new Edit - Save as Image topic.

 

Rendering Views as Images

 

 

SQL Functions

 

 

Fixes

 

 

9.0.179.1

Build 179.1 is a cutting edge build that introduces technology for high performance creation of raster images that capture visual displays in map windows (including drawing, image, and labels windows).   The new technology can be used from a user friendly Edit - Save as Image command, or from SQL functions.  Capabilities delivered in this build are just the visible tip of extensive technology inside the system that provides a foundation for fast generation of rendered views for use in upcoming new features, such as web serving.

 

See the First Look - Save Map Views as Images video for a quick introduction to new Save as Image capabilities.

 

 

Rendering Views as Images

 

 

SQL Functions

 

 

 

Fixes

 

 

 

9.0.179

Build 179 is a new Base build, incorporating all improvements in the 9.0.178.x series of builds.   It is recommended for all users.  The main changes since the prior cutting edge build, 9.0.178.6, is the provision of quick choices for which map layers are incorporated into the legend, as well as quick and easy customization of formatting for different legend entries.   See the First Look - Legends in Maps and Layouts video for a quick introduction to new legend capabilities.

 

Legends

 

 

Layouts

 

 

Library Updates

 

 

9.0.178.6

Cutting edge build 178.6  is a large build with many new features and improvements for legends, including a dynamic Legends virtual layer for map windows.  The build also includes significant improvements in automatic label placement and overlap resolution and improvements in Style.   Build 178.6 is the last cutting edge build in the current series focused on the cartography features and the last build for 2022. It will be the basis for the next base build early in 2023.

 

Labels and Overlaps

 

 

Style and Cartography

 

 

Legends

 

 

Fixes

 

 

9.0.178.5

Cutting edge build 178.5 provides label overlap management between layers in maps, as well as some technical improvements to multi-threaded rendering of layouts.

 

Label Overlaps

 

layer - labels in the layer may not overlap each other, but may overlap labels from other layers.  This is the default mode.

map - labels in the layer may not overlap each other and may not overlap labels from other layers whose overlap mode is also set to map. Labels from lower layers are given priority over labels from higher layers.

 

Layouts

 

 

Fixes

 

 

9.0.178.4

Cutting edge build 178.4 provides a variety of conveniences and user interface improvements for grids, North arrows, scale bars, Style, and layouts.  It also provides new query functions to work with interactive selections from SQL, a command line option to help manage serial numbers, and important updates to third party software used by Manifold, notably a migration to the latest Visual C++ environment from Microsoft.

 

Style

 

 

Grids, North Arrows, Scale Bars

 

 

Layouts

 

 

Command Line Option

 

 

manifold -showserial

 

That launches a Manifold session that in the Log window pane shows the first 8 characters of the serial number.  The first characters of the serial number are not written into the log file and are only shown in the Log window. This option allows administrators to see what serial number has been used on a given machine.  The new command line option works for all editions of Manifold, SQL for ArcGIS Pro, and Release 8, but not for Manifold Viewer (which does not use serial numbers).

 

Third Party Updates

 

 

Query Functions

 

 

 

SelectionReplace Examples

 

To use the following examples, create a new .map file, open the mfd_meta table, open a new command window, then dock the new command window below the mfd_meta table (right-click the tab for the command window and select Dock Down) so that you can run the example queries and immediately see what they do.

 

--SQL9

 

-- example 1

 

VALUE @a FLOAT64 =

  SelectionReplace(mfd_meta, (VALUES (2) AS (mfd_id)), TRUE);

 

-- example 2

 

VALUE @a FLOAT64 =

  SelectionReplace(mfd_meta, (VALUES (2), (3) AS (mfd_id)), TRUE);

 

-- example 3

 

VALUE @a FLOAT64 =

  SelectionReplace(mfd_meta, (VALUES (2), (3) AS (mfd_id)), FALSE);

 

-- example 4

 

VALUE @a FLOAT64 =

  SelectionReplace(mfd_meta, (SELECT * FROM mfd_meta WHERE name='mfd_root'), TRUE);

 

 

Fixes

 

 

 

9.0.178.3

Cutting edge build 178.3 extends North arrow and scale bar capability to layouts. North arrow and scale bar frames can now be added to layouts, with automatic context for those frames taken from component frames in the layout.  Grids have also been extended with more options. North arrows, scale bars, and grids have been integrated into the Info pane.

 
Layouts

 

 

Grids

 

 

Other

 

 

9.0.178.2

Cutting edge build 178.2 introduces virtual layers that provide North arrows, scale bars, and grids in maps.  See the First Look - North Arrows video for a quick introduction.

 

Virtual Layers

 

 

 

North Arrows

 

Configure a North arrow by double-clicking the North Arrow virtual layer.  The North Arrow dialog allows setting the following parameters:

 

 

 

Scale Bars

 

Configure a scale bar by double-clicking the Scale Bar virtual layer.  The Scale Bar dialog allows setting the following parameters:

 

 

Grids

 

Configure a grid by double-clicking the Grid virtual layer.  The Grid dialog allows setting the following parameters:

 

 

Other

 

 

Fixes

 

 

 

9.0.178.1

Cutting edge build 177.8 provides a variety of user interface conveniences, including the ability to Copy from tables and to Paste into third-party applications like Excel and Notepad.

 

Features

 

 

Fixes

 

 

9.0.178

Build 178 is a new Base build, incorporating all improvements in the 9.0.177.x series of builds.   It is recommended for all users.  The main changes since the prior cutting edge build, 9.0.177.4, are a new system for specifying zoom ranges in maps and also for rendering to a fixed scale.  Base builds starting with 9.0.178 for Release 9 and 8.0.34 for Release 8 are now exclusively 64-bit.  

 

Scales and Rendering

 

 

Label Styles

 

 

Fixes

 

 

9.0.177.4

Build 177.4 provides many controls for line labels and label overlap spacing.  It also adds an export control to Manifold Commander and two fixes.

See the updated Style: Labels topic for examples of new label style controls in action.

 

Labels

 

 

 

 

Manifold Commander and More

 

 

manifoldcmd "c:\world.map" -export:"Main Map" -out:"c:\world_map.gdb"

 

 

Fixes

 

 

9.0.177.3

Build 177.3 adds new capabilities to Manifold Commander, improves labels along lines, provides a vertical text alignment style in layouts, adds new dataports, and provides fixes.

 

Manifold Commander

 

 

manifoldcmd data.map -runquerytext:"SELECT * FROM blocks WHERE state='CA'" -out:out.jsonl

 

Labels, Layouts, Messages

 

 

Dataports

 

 

Fixes

 

 

9.0.177.2

Build 177.2 is a historic build in that it drops support for 32-bit versions of Manifold projects.  All Manifold products are now 64-bit and require 64-bit Windows operating systems.  

 

Build 177.2 expands the display viewport size in table windows to 2 billion records.  That is way more than anybody can read through, but together with Manifold speed plus reasonable safety measures now built in, increasing the number of records that can be interactively displayed in a table window greatly expands the reach of interactive procedures to very large tables.  

 

Build 177.2 supports ArcGIS Pro 3.x for SQL for ArcGIS Pro, and also adds features to various dataports and provides bug fixes.

 

32-bit Versions Deprecated

 

 

Discussion

 

Manifold was one of the first software companies to ship 64-bit products.  Despite being one of the first to move to 64-bit, for over 20 years Manifold has maintained both 64-bit and 32-bit versions of all Manifold products.

 

Over time most, if not all, Manifold users naturally moved to primarily use the 64-bit versions of the products. At the same time, maintaining obsolete 32-bit code has become a limiting factor for adding new features.  Manifold is therefore going exclusively 64-bit from build 177.2 onward.  That will make it more efficient to add new features, and will remove limits on how those new features must be designed.  That will make many things simpler for new users.  The first example of such a new feature is providing 2 billion record displays in table windows,  which would have been limited by 32-bit restrictions.  Going exclusively 64-bit also reduces the size of the Manifold download to less than 31 megabytes.

 

There are several areas users may be relying on 32-bit code directly or indirectly:

 

 

If you are currently relying on 32-bit code in any way, you don't have to switch immediately. The move to 64-bit only can be gradual. You can use the new 64-bit only builds of Release 8 and Release 9 as portable installs in parallel with the last base builds that still include 32-bit code. Eventually, you may be able to transition to using 64-bit builds all of the time, with only occasional use of legacy portable installs that have 32-bit code.

 

2 Billion Records Displayed in Table Windows

 

 

Watch the new 10 Minute Tutorial - Very Big Table Windows video to see 1.295 million records displayed in a table window.  Fast!

 

 

Other

 

 

Fixes

 

 

 

9.0.177.1

Build 177.1 introduces in Universal and Server editions a new version of Manifold: Manifold Commander is a console application version of Manifold that provides the full range of Manifold query and scripting capabilities from a command line, making it easy to automate almost any GIS, DBMS, or ETL job.  

 

Commander is provided as a manifoldcmd.exe executable file within the Manifold installation hierarchy.  The manifoldcmd.exe executable file launches from a command line such as in a Windows Command Prompt window, or in a .bat batch file, or from a Windows PowerShell script and so on.  Commander can run either queries or scripts from within a specified .map file, and Commander also can run scripts from a specified script file stored outside a Manifold project.  When Commander is used in conjunction with Windows Task Scheduler, you can launch command lines to have Manifold automatically do work on a regular schedule, such as updating a CSV file every night that is served via a CSV server.  

 

Build 177.1 also extends interactive selection capabilities, makes it easy to switch licenses, and provides bug fixes as well as improvements in the MapInfo MIF dataport.

 

Manifold Commander

 

 

Syntax:

 

manifoldcmd <command> [<options>] [<file>]

 

Commands:

 

-runquery:xxx - Open the file and run the specified query component.  The component can be in a nested data source.  

 

Supported options: -logfilter:xxx, -logfolder:xxx, -open:xxx, -out:xxx

 

-runscript:xxx - Open the file and run the specified script component.  The component can be in a nested data source.  

 

Supported options:  -logfilter:xxx, -logfolder:xxx, and -open:xxx

 

-runscriptfile:xxx - Run the specified script file.

 

Supported options:  -logfilter:xxx and -logfolder:xxx

 

Options:

 

-logfilter:min - Skip dates and prefixes when logging to console

 

-logfilter:minscript - Skip dates and prefixes, skip non-error non-script messages when logging to console, useful to limit output for further processing with command-line tools

 

-logfilter:none - Log full data to console (default)

 

-logfolder:xxx - Folder for log files

 

-open:readonly - Open file in read-only mode (default)

 

-open:readwrite - Open file in read-write mode

 

-open:readwritesave -  Open file in read-write mode, save file after operation completes, this includes saving all nested data sources

 

-out:xxx - Output file, for example, a CSV or JSON.  The type is determined by the file extension, .csv or .json, used.

 

Examples:

 

A .map project called Mexico.map contains a query called MexQuery that from a linked table generates a result table of all provinces in Mexico with a population greater than 3000000.  To run the query and save the result to a CSV file called Mex.csv:

 

manifoldcmd -runquery:MexQuery -out:"C:\Projects\Mex.csv" "C:\Projects\Mexico.map"

 

Save the result to a SQLite file called Mex.sqlite:

 

manifoldcmd -runquery:MexQuery -out:"C:\Projects\Mex.sqlite" "C:\Projects\Mexico.map"

 

Save the result to a Manifold .map file called Mex.map:

 

manifoldcmd -runquery:MexQuery -out:"C:\Projects\Mex.map" "C:\Projects\Mexico.map"

 

Save the result to an Esri file geodatabase within a folder hierarchy C:\Projects\Mex\gdb.gdb\ and create the Mex and gdb.gdb sub-folders:

 

manifoldcmd -runquery:MexQuery -out:"C:\Projects\Mex\gdb" "C:\Projects\Mexico.map"

 

Double-quotes around arguments like the names of files are not necessary if there are no spaces in the argument.   If the output file already exists, the above will overwrite it with the new version.

 

Interactive Selection

 

 

Other

 

 

Fixes

 

 

9.0.177

Build 177 is a new base build, incorporating all improvements in the 9.0.176.x series of builds.   It is recommended for all users. The main change since the prior cutting edge build, 9.0.176.7,  is the expansion from a single Release 9 Universal edition into three new licensing levels:  Professional, Universal, and Server.   The three different editions are distinguished by the availability and configuration of Manifold Server.   Over time, it is likely that other differentiations will emerge, with higher end features in the higher end editions.

 

Manifold Release 9 Professional Edition

 

 

Manifold Release 9 Universal Edition

 

 

Manifold Release 9 Server Edition

 

 

Other Features

 

 

9.0.176.7

Build 176.7 delivers small improvements to the user interface and a set of really convenient additions to Manifold Server.   Server can now run as a Windows service. The next build will likely be 9.0.177, a new base build.

 

Watch the new 10 Minute Tutorial - Manage Services video to see the new Manage Services dialog in action.  

 

Illustration: The new Service dialog makes it easy to create new Server instances on a server machine, without having to launch a Command Prompt window and configure new instances using command lines.

 

Manifold Server

 

 

Tech Tips:  When running Manifold Server on a machine, launch Manifold with administrator rights:  right-click the manifold.exe file and choose Run as Administrator.   When Manifold launches, in Help - About, press the Install button to install the license for all users if it has not yet been installed for all users.     To manage Server services, always launch Manifold with administrator rights.

 

Illustration: The new Manage Services dialog makes it a lot easier to manage Manifold Server instances running as services, without needing to hassle with Windows services dialogs.  Click the New toolbar button to add a new Server instance.  Ctrl-click a row to select it, and then press start, stop, or delete buttons as desired.  Double-click a row to change settings like auto or manual launch on system reboot.

 

Other

 

 

Fixes

 

 

9.0.176.6

Build 176.6 introduces dramatically faster spatial overlay functions and faster LiDAR performance with LAZ files.   Big jobs that previously took over two and a half hours now can be done in six minutes.

 

Spatial Overlay Improvements

 

 

LiDAR Improvements

 

 

The above improvements significantly improve the performance of spatial overlays when input data sets are not similar in size or do not significantly overlap.   That is a very common situation since often a smaller data set, such area objects for a particular town or parcel, is used to extract data of interest from a very much larger data set, which might cover an entire county or province.  The exact performance gains depend on the overlap size, and can easily be 5x, 10x or more. For LAZ, the improvements are even bigger.   A test example used a LAZ file 375 million points with a COPC index and fetched 3.5 million points covered by an area in a different drawing using GeomOverlayTouchingFilter.  The time to complete the job in prior builds was two hours and 38 minutes (9230 seconds).   Using build 176.6 the time dropped to only six minutes (363 seconds), 25 times faster.  If the area was even smaller, extracting fewer points from the LAZ file, the task would have taken even less time.

 

Fixes

 

 

9.0.176.5

Build 176.5 expands the license activation system to add an option for enabling installation of a license for all users on a machine at once.  That simplifies use for some organizations, for server use, and for IMS use in Release 8, which uses the same activation system.

 

Build 176.5 also introduces a new, integrated, parallel Download Manager, Manifold's new, high speed, parallel system for downloading tiles from web servers such as image servers, TMS servers, WMTS servers and ArcGIS REST servers.   The download manager is a built-in feature within Manifold that works automatically in background.  There is no need to install, configure, or administer any modules or other software.    Just use Manifold the way you always do and web servers seem to be much faster and more responsive.  

 

This build also provides conveniences such as persistent data types in the Schema dialog remembering the last-used type, Drag and Ctrl-Shift-Drop to link data sources read-only (which facilitates creating projects for Manifold Server and other shared use), a new email style in tables for rapid emailing, and a Suggest Locations toolbar button in the Register pane for faster georeferencing.  A variety of other features and a few fixes are also in the new build.

 

All Users Activation Option

 

 

 

Download Manager Features

 

 

 

Other Features

 

 

 

Fixes

 

 

 

9.0.176.4

Build 176.4 introduces Manifold Server, Manifold's new, high speed, fully parallel, multiuser spatial database. Server provides very powerful new technology for sharing vast amounts of data from Manifold .map project files, enabling many users at once to use data in projects shared by Server.  Server is a built in part of Manifold Release 9 Universal edition, build 176.4 or more recent.     Build 176.4 also includes new features for the Manifold ODBC driver, improvements to ArcGIS REST, GDB, ECW and TIFF dataports, as well as fixes.

 

Manifold Server, called Server for short, is a read-only spatial database server that shares the contents of a Manifold project to one or more Manifold clients. Clients are regular Manifold desktop sessions, or even free.   Because .map projects can contain nested links to other .map projects, the project shared by Server can be the top level entry point to a hierarchy that shares the contents of thousands of .map projects, containing many terabytes of data.

 

Manifold Server is automatically installed when installing Release 9 Universal.  Server can run on a machine at the same time as a regular Manifold session, and multiple Server instances can run at the same time on the same machine, with each Server instance sharing out a different .map file.   

 

See details in the new Manifold Server topic.   See also the First Look - Manifold Server video.

Manifold Server Highlights

Easy to Launch, Load, Administer - Server is the easiest to administer multiuser database server around. Simply launch Server in a command line with the Manifold project file containing data to use.  No need to mess around with loaders.  Change the data in the database?  Stop the server and then launch it again with an edited project, or an entirely different project.  Share the contents of the database with someone else?  Send the .map project file and you're done.  Same with backups - easy!

 

Many Clients and Many Servers -  Many Manifold client sessions can run on the same machine, with each such session connecting to many different Server instances on that same machine or on other machines.   Many Server instances can run on the same server machine, with each Server instance using a different port and/or IP address, and each Server instance can serve many Manifold clients from other machines or from the same machine.  

 

Parallel Connections - Manifold client sessions connect to Server using asynchronous, multithreaded, parallel connections for significantly better performance than narrow technology like ODBC.    Many threads are balanced on the fly to handle both large and small threads.

 

Server-Side Rendering Pipeline -  When rendering big layers most of the work is setting up the rendering task.  Server prepares layers for rendering server-side with full parallelism with only the final stages of rendering happening in the client.  That allows very large data in Server to be browsed by clients almost as fast as if it were local.  Server-side rendering eliminates the need to send tens or hundreds of gigabytes through the network connection to a client for rendering.  You can pan and zoom through a 100 GB vector project through a Server connection almost as fast as if it were local.

 

Server-Side Execution -  Queries in projects shared by Server are executed on the server machine, sending only results to clients.  Queries can be executed within the Server, within the client, or in a mix of both. Executing queries within Server avoids sending large amounts of data through network connections.

Distributed Parallel Computation - Manifold clients can connect to many different Server installations at the same time, pulling layers from those different Server installations to use together in maps. If a map includes three different layers from three different Server installations on three different machines, when that map is panned and zoomed each of the three different layers will be prepared for rendering and otherwise serviced by the Server machine sharing that layer, so that the computational resources of three different machines will be utilized.   Instead of parallel processing on a single computer handling all three layers, parallel processing on four different machines, the three Server machines plus the client machine, will be used to speed up the rendering pipeline for the map.  That can result in visibly faster response with big layers.

 

Database / Data Source Tunneling -  Tunneling allows users to reach through Server to utilize data sources within Server.   If a project shared by Server contains data sources that are databases, such as SQL Server, Oracle, PostgreSQL and others, a Manifold session connecting to Server can open those data sources in the Server hierarchy and reach down into them to use their contents.  Other data source content, such as linked files, linked Manifold .map projects, linked Esri geodatabases, and other data sources is also automatically tunneled.  Web sources like Bing or Google image servers or ArcGIS REST servers reachable through Internet is not tunneled, but instead automatically set up for direct connections from the Manifold client session to the web source.   In both cases layers and data sources shared through Server can simply be used without users worrying about the details of whether they are tunneled or not.

 

Servers Nested within Servers - Projects shared by Server can contain Manifold Server data sources, with nested Server data sources automatically setting up pass-through tunneling.   For example, a project shared by Server on machine A might include Server data sources using Server installations on machines B and C.   A Manifold client connecting to Server A will see the Server B and Server C data sources within that project and will be able to open them and use the data and links they contain.   Server A will automatically arrange pass-through tunneling to Servers B and C, which will in turn automatically arrange pass-through tunneling to the data sources they share.

 

Automatic Version Negotiation - Different build levels can be used for a Server installation and for Manifold clients connecting to that Server installation.  When the connection is formed the different versions will negotiate to use a common feature set despite different build levels.

 

Easy User Interface - Both Server and client user interfaces have been kept as simple as possible. Server launches in a simple command line, with a few simple configuration options.   Connections to Server within Manifold clients use the same New Data Source interface used for other databases and data sources.   

 

Copy / Paste Server Data Source - Server data sources in a Manifold project are just like any other data source.  They can be saved as Favorites for one-click addition to any new projects, they can be copied from one Manifold session and pasted into a different Manifold session, and they are saved as part of the project whenever a Manifold client project is saved, with automatic reconnection when the saved project is opened.

 

Secure Access - Server can be launched with a user login and password required, to control access when accessible from public Internet.

 

 

Manifold Server Features

 

manifoldsrv [<options>] <file>

 

The file is required and can be of any type supported by 9. If no file is provided, Server prints the command line syntax and exits. If the file is provided, Server opens it and starts serving connections to it.

 

-addr:xxx -- network interface to listen on, the default is the primary network interface.

-port:xxx -- port to listen on, the default is 9099, currently unassigned by IANA.

-user:xxx -- user required to connect, the default is none.

-password:xxx -- password required to connect, the default is none, ignored if user required to connect is not specified.

-connections:xxx -- maximum number of connections, the default is 20, use 0 to remove the limit.

-workers:xxx -- number of worker threads to process requests, the default is 4, the number can vary between 1 and 128.

 

 

Other Features

 

 

 

Fixes

 

 

 

 

See Also

Changes and Additions