Difference between revisions of "MapGuide RFC 2 - Unmanaged Data APIs"

From OSGeo
Jump to navigation Jump to search
Line 1: Line 1:
 
 
  This page contains an change request (RFC) for MapGuide Open Source.   
 
  This page contains an change request (RFC) for MapGuide Open Source.   
 
  More MapGuide RFCs can be found on the [[MapGuide RFCs]] page.
 
  More MapGuide RFCs can be found on the [[MapGuide RFCs]] page.
Line 7: Line 6:
  
 
*Submission Date: 21:26, 1 November 2006 (CET)
 
*Submission Date: 21:26, 1 November 2006 (CET)
*Last Modified Date: 00:34, 3 November 2006 (CET)
+
*Last Modified Date: 01:07, 4 November 2006 (CET)
 
*Author: Tony Fang [[User:Tonyfang|Tonyfang]]  
 
*Author: Tony Fang [[User:Tonyfang|Tonyfang]]  
 
*RFC Status: draft
 
*RFC Status: draft
Line 18: Line 17:
 
Managed data is data contained inside the server's data repository. Unmanaged data is any data outside of the server's data repository.
 
Managed data is data contained inside the server's data repository. Unmanaged data is any data outside of the server's data repository.
  
We want to add server/web functionality and APIs which will allow Studio to create feature sources from unmanaged data. To accomplish this, certain directories on the server machine will be specified as unmanaged data directories. APIs will be added which will enumerate the available unmanaged data files from the specified unmanaged data directories.
+
We want to add server/web functionality and APIs which will allow Studio to create feature sources from unmanaged data. To accomplish this, directories accessible by the server machine can be specified as unmanaged data directories. APIs will be added which will enumerate the available unmanaged data files from the specified unmanaged data directories.
  
 
WebStudio can also make use of these APIs to create unmanaged feature sources.
 
WebStudio can also make use of these APIs to create unmanaged feature sources.
Line 28: Line 27:
 
Currently, a feature source which references unmanaged data can be created. But it must be done manually. The exact path to the data file on the server machine must be known. Then the Feature Source XML must be manually edited and uploaded to the server via the web tier. This is a cumbersome process.
 
Currently, a feature source which references unmanaged data can be created. But it must be done manually. The exact path to the data file on the server machine must be known. Then the Feature Source XML must be manually edited and uploaded to the server via the web tier. This is a cumbersome process.
  
We want to automate this workaround in Studio. To do this, additional APIs and functionality will be added to the server/web. Certain directories on the server machine will be specified to be unmanaged data directories. APIs will be added which will enumerate the available unmanaged data files. Thus direct access to the server machine's file system will no longer be required. Creation of unmanaged data feature sources can now be created remotely.
+
We want to automate this workaround in Studio. To do this, additional APIs and functionality will be added to the server/web. Directories accessible by the server machine can be specified as unmanaged data directories. APIs will be added which will enumerate the available unmanaged data files. Thus direct access to the server machine's file system will no longer be required. Creation of unmanaged data feature sources can now be created remotely.
  
 
The API will only enumerate data files contained in the directories and subdirectories specified by the server. For security reasons we do not want to allow the API to return data files in directories which are not specified. For windows, specified directories can be physical drives or network paths. For linux, it can be any accessible path.
 
The API will only enumerate data files contained in the directories and subdirectories specified by the server. For security reasons we do not want to allow the API to return data files in directories which are not specified. For windows, specified directories can be physical drives or network paths. For linux, it can be any accessible path.
Line 40: Line 39:
 
The proposed changes are open for discussion.
 
The proposed changes are open for discussion.
  
The server's unmanaged data directories will be specified using the serverconfig.ini. We will add a new property to General Properties called UnmanagedDataPaths. Multiple paths will be semi-colon delimited. We will also update the GetServerInfo API method to return this information.  
+
The server's unmanaged data directories will be specified using the serverconfig.ini. A new section defining directory aliases will be used to specify the unmanaged data directories.
 +
 
 +
For windows, it may look like this:
 +
<code>
 +
[Unmanaged Data Aliases]<br>
 +
SomeSdfFiles = c:\mydata\sdf<br>
 +
Some Shp Files = d:\otherdata\shp<br>
 +
BigArseImages = \\some_other_machine\data\images<br>
 +
Some 很大中文 DwfFiles = c:\mydata\很大中文Dwf<br>
 +
大きなsdf = c:\mydata\bigsdf
 +
</code>
 +
 
 +
Unicode characters are supported in the alias names. Spaces in the aliases are also supported. Square brackets [ and ] are not allowed.
 +
 
 +
We will add API methods to return the unmanaged drive aliases, set the aliases, and also verify that the aliases are valid and accessible.
  
 
We will add an API to enumerate the full paths to the unmanaged data files available on the server machine.
 
We will add an API to enumerate the full paths to the unmanaged data files available on the server machine.
 +
 +
A returned list may look something like:
 +
 +
<code>
 +
[SomeSdfFiles]world.sdf<br>
 +
[Some Shp Files]ecuador.shp<br>
 +
[Some 很大中文 DwfFiles]subdir/Big.dwf<br>
 +
[大きな sdf]reallybig.sdf
 +
</code>
 +
  
  

Revision as of 17:07, 3 November 2006

This page contains an change request (RFC) for MapGuide Open Source.  
More MapGuide RFCs can be found on the MapGuide RFCs page.


Status

  • Submission Date: 21:26, 1 November 2006 (CET)
  • Last Modified Date: 01:07, 4 November 2006 (CET)
  • Author: Tony Fang Tonyfang
  • RFC Status: draft
  • Implementation Status: pending
  • Voting History:
  • Assigned PSC guide(s):

Overview

Managed data is data contained inside the server's data repository. Unmanaged data is any data outside of the server's data repository.

We want to add server/web functionality and APIs which will allow Studio to create feature sources from unmanaged data. To accomplish this, directories accessible by the server machine can be specified as unmanaged data directories. APIs will be added which will enumerate the available unmanaged data files from the specified unmanaged data directories.

WebStudio can also make use of these APIs to create unmanaged feature sources.

Motivation

When Studio is used to create a feature source (e.g. using Load Procedure), the data files (e.g. sdf, shp, raster, dwf, odbc) are uploaded to the server's repository (managed data). This is not an issue when the data files are small. If Studio and Server are on the same machine, this uploading is an unnecessary duplication of the data file. If the data file is really large, the copying is slow and it consumes unnecessary hard-drive space.

Currently, a feature source which references unmanaged data can be created. But it must be done manually. The exact path to the data file on the server machine must be known. Then the Feature Source XML must be manually edited and uploaded to the server via the web tier. This is a cumbersome process.

We want to automate this workaround in Studio. To do this, additional APIs and functionality will be added to the server/web. Directories accessible by the server machine can be specified as unmanaged data directories. APIs will be added which will enumerate the available unmanaged data files. Thus direct access to the server machine's file system will no longer be required. Creation of unmanaged data feature sources can now be created remotely.

The API will only enumerate data files contained in the directories and subdirectories specified by the server. For security reasons we do not want to allow the API to return data files in directories which are not specified. For windows, specified directories can be physical drives or network paths. For linux, it can be any accessible path.

Funding/Resources

Tony Fang will be the resource to implement the changes outlined in this RFC.

Proposed Changes

The proposed changes are open for discussion.

The server's unmanaged data directories will be specified using the serverconfig.ini. A new section defining directory aliases will be used to specify the unmanaged data directories.

For windows, it may look like this: [Unmanaged Data Aliases]
SomeSdfFiles = c:\mydata\sdf
Some Shp Files = d:\otherdata\shp
BigArseImages = \\some_other_machine\data\images
Some 很大中文 DwfFiles = c:\mydata\很大中文Dwf
大きなsdf = c:\mydata\bigsdf

Unicode characters are supported in the alias names. Spaces in the aliases are also supported. Square brackets [ and ] are not allowed.

We will add API methods to return the unmanaged drive aliases, set the aliases, and also verify that the aliases are valid and accessible.

We will add an API to enumerate the full paths to the unmanaged data files available on the server machine.

A returned list may look something like:

[SomeSdfFiles]world.sdf
[Some Shp Files]ecuador.shp
[Some 很大中文 DwfFiles]subdir/Big.dwf
[大きな sdf]reallybig.sdf


Technical

TBD

Implications

TBD

Test Plan

TBD