wiki:MapGuideRfc108

Version 14 (modified by sparkliu, 14 years ago) ( diff )

--

MapGuide RFC 108 - Support Watermark

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

Status

RFC Template Version(1.0)
Submission Date July 30,2010
Last Modified Buddy Hu, July 30,2010
Author Buddy Hu
RFC Status Draft
Implementation Status(pending)
Proposed Milestone 2.3
Assigned PSC guide(s)(when determined)
Voting History(vote date)
+1
+0
-0
-1
no vote

Overview

This RFC updates MapGuide to support Watermark.

Motivation

Some customers complaint that there is no standard way to add watermark to the Map definition.

Proposed Solution

  1. Create a new resource type for watermark, which defines content (in the format of an inline symbol definition), appearance (rotation / transparency) and position information of watermark. The schema of watermark definition is attached below.

Referencing another symbol definition resource as content is not supported. There are three main reasons for this: 1) Usually, content of watermark is usually very simple (maybe just text / image). 2) The biggest reason of referencing symbol definition as a outer resource is for reusing. However, the concept of watermark already supports reuse. 3) Supports both inline and referencing outer resource is a complex idea and bring confusion to the end user (like "Which part of watermark is defined in the referenced symbol definition and which is defined in watermark definition itself?"). Using inline symbol definition will treat the watermark definition as a whole concept to the end user.

  1. User can add a watermark to MapDefinition or LayerDefinition by referencing corresponding watermark resource(s) in it. However, we do NOT support inline watermark in MapDefinition and LayerDefinition.

The inline-and/or-reference problem also shows here. Not supporting both mode is to reduce the complexity of watermark concept. As we need to support watermark as a separate resource so that user can reuse it very easily, inline watermark is not supported.

  1. When MapDefinition or LayerDefinition references a watermark resource, it can choose to override its appearance and position information to bring flexibility to the user. The override attributes defining in MapDefinition or LayerDefinition has a higher priority than that in watermark when rendering.

Sometimes users may want to move watermark a little (or change opacity) when using it in map / layer but don't want to change watermark in other maps referencing it. This often happens when user have two watermarks on the same map and there are some overlapping between these two watermarks. At that time, user can use this "override" mechanism to only change watermark a little in this map / layer.

  1. When being rendered, the watermark group of an MgMap is actually the collection of the watermarks referenced in its MapDefinition and the watermarks referenced in the LayerDefinition in it.
  1. When using watermark in LayerDefinition, user can decide in what situation the watermark is visible during rendering by defining “Usage” properties. For example, a watermark of a WMS layer is only visible when the value of its “Usage” properties is “WMS” or “ALL”. (There is no such problem when using watermark in MapDefinition, because it will never be used in WMS.)

Currently, the value of "Usage" can be "WMS" (WMS only), "Viewer" (AJAX /Fusion Viewer only) and "ALL".

Implications

MapGuide Mastro should update to add watermark into a Map and Layer.

Test Plan

Build/Run on Windows/Linux

Funding / Resources

Supplied by Autodesk

Attachments (3)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.