<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Dan,<br>
<br>
Good idea; we do need more user/implementer doc on Feature Reports.
But first I'd like your opinion on a small structural change to the
Feature Report service.<br>
<br>
Currently the service is defined as:<br>
<br>
<tt> <service name="feature_report" display="false"
keep-others="true"></tt><tt><br>
</tt><tt> <url>php/feature_report.php</url></tt><tt><br>
</tt><tt> <input type="hidden" name="layers"
value="lmic/fsa"/></tt><tt><br>
</tt><tt> <input type="hidden" name="src"/></tt><tt><br>
</tt><tt> <input type="hidden" name="PIN"/></tt><tt><br>
</tt><tt> </service></tt><br>
<br>
<br>
The inclusion of "PIN" identifier means that the service is specific
to a particular layer with a key attribute named "PIN". If I have
20 layers I'd like to do Feature Reports on, I'd need 20 different
services defined each with a different key name; possible but
painful.<br>
<br>
My solution is to not use the layer's key name, but use something
generic like "GM_FID", then change line 67 in feature_report.php
from:<br>
<br>
<span class="pl-s1"><tt><span class="pl-smi"> $layer</span></tt><tt><span
class="pl-k">-></span></tt><tt>setFilter(</tt><tt><span
class="pl-c1">str_replace</span></tt><tt>(</tt><tt><span
class="pl-s"><span class="pl-pds">'</span>%qstring%<span
class="pl-pds">'</span></span></tt><tt>, </tt><tt><span
class="pl-c1">urldecode</span></tt><tt>(</tt><tt><span
class="pl-smi">$_REQUEST</span></tt><tt>[</tt><b><tt><span
class="pl-smi">$qItem</span></tt></b><tt>]), </tt><tt><span
class="pl-smi">$query_info</span></tt><tt><span class="pl-k">-></span></tt><tt>getAttribute(</tt><tt><span
class="pl-s"><span class="pl-pds">'</span>string<span
class="pl-pds">'</span></span></tt><tt>)));</tt><br>
<br>
to<br>
</span><br>
<tt><span class="pl-s1"><span class="pl-smi"> $layer</span><span
class="pl-k">-></span>setFilter(<span class="pl-c1">str_replace</span>(<span
class="pl-s"><span class="pl-pds">'</span>%qstring%<span
class="pl-pds">'</span></span>, <span class="pl-c1">urldecode</span>(<span
class="pl-smi">$_REQUEST</span>[<b><span class="pl-smi">'GM_FID'</span></b>]),
<span class="pl-smi">$query_info</span><span class="pl-k">-></span>getAttribute(<span
class="pl-s"><span class="pl-pds">'</span>string<span
class="pl-pds">'</span></span>)));</span></tt><br>
<br>
With those changes only one feature_report service needs to be
defined (but you would still need separate identify and report
templates for each layer, but that's ok).<br>
<br>
To really get and understanding of the problem, pick two layers in
our demo data-set and configure them to do Feature Reports (it will
all become clear).<br>
<br>
<pre class="moz-signature" cols="72">Best Regards,
Brent Fraser</pre>
<div class="moz-cite-prefix">On 6/2/2015 8:35 AM, Dan Little wrote:<br>
</div>
<blockquote
cite="mid:CABqPoBaQ4c+RHCt3Dimnuunq3ifB0Z0sONSovhfnZykP6rG1gA@mail.gmail.com"
type="cite">
<div dir="ltr">Brent, <br>
<br>
Is there any chance you can create a summarized clarification in
an RST doc or a Google doc? I'm sorry, I don't follow every post
to full understanding so if you can get something I can get more
suitable for posting on the docs website then I'll do it!
<div><br>
</div>
<div>Thanks!</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Mon, Jun 1, 2015 at 7:02 PM Brent Fraser <<a
moz-do-not-send="true" href="mailto:bfraser@geoanalytic.com">bfraser@geoanalytic.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Ok, as it turns out it
IS necessary to put the key name in the service definition
(so follow my instructions sent at 10:57 below). For now.
<br>
<br>
I think the fix would be fairly simple: change
feature_report.php to reference the "PID" parameter (maybe
"FID" would be a better name?).<br>
<br>
Specifically, change line 67 from:<br>
<br>
<span><tt><span>$layer</span></tt><tt><span>-></span></tt><tt>setFilter(</tt><tt><span>str_replace</span></tt><tt>(</tt><tt><span><span>'</span>%qstring%<span>'</span></span></tt><tt>,
</tt><tt><span>urldecode</span></tt><tt>(</tt><tt><span>$_REQUEST</span></tt><tt>[</tt><tt><span>$qItem</span></tt><tt>]),
</tt><tt><span>$query_info</span></tt><tt><span>-></span></tt><tt>getAttribute(</tt><tt><span><span>'</span>string<span>'</span></span></tt><tt>)));</tt><br>
<br>
to<br>
</span><tt>$layer->setFilter(str_replace('%qstring%',
$_REQUEST['PID'],
$query_info->getAttribute('string')));</tt><br>
<br>
And an implementer would now specify:<br>
<br>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><big><big><span><tr><td
align="left"><b><a href = "<a
moz-do-not-send="true">javascript:GeoMOOSE.startService(</a></span><span>'<b>feature_report</b>'</span><span>,
{</span><span>'<b>PID</b>'</span><span> : '[</span><span>BF_ID</span><span>]',
'src' :
'Hydrography/Lakes'})">Report</a></b></td></tr></span></big></big></p>
<br>
(if the layer's unique key was named "BF_ID")<br>
<br>
<pre cols="72">Best Regards,
Brent Fraser</pre>
</div>
<div bgcolor="#FFFFFF" text="#000000">
<div>On 6/1/2015 5:15 PM, Brent Fraser wrote:<br>
</div>
</div>
<div bgcolor="#FFFFFF" text="#000000">
<blockquote type="cite"> I need to correct the information
is sent earlier. The first part of the instructions below
("Edit the feature_report service...") is not necessary as
the key field name is specified in the template
("<query item="), not the service definition.<br>
<pre cols="72">Best Regards,
Brent Fraser</pre>
<div>On 6/1/2015 10:57 AM, Brent Fraser wrote:<br>
</div>
There doesn't seem to be a lot of documentation for the
Feature Report service, so I made some notes:<br>
<span
style="font-size:19px;font-family:Arial;color:#000000;background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><br>
Feature Reports</span> </blockquote>
</div>
<div bgcolor="#FFFFFF" text="#000000">
<blockquote type="cite">
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">
Edit (or copy) the feature_report service in the
mapbook to add the key field, for example:</span></p>
</blockquote>
</div>
<div bgcolor="#FFFFFF" text="#000000">
<blockquote type="cite"> <br>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
<service name="feature_report</span><span>_Hydrography</span><span>"
display="false" keep-others="true"></span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span>
<url>php/feature_report.php</url></span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span> <input
type="hidden" name="layers"
value="Backgrounds/osm"/></span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span> <input
type="hidden" name="src"/></span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span> <input
type="hidden" name="</span><span>BF_ID</span><span>"/></span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</service></span></p>
<span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><br>
<br>
</span> </blockquote>
</div>
<div bgcolor="#FFFFFF" text="#000000">
<blockquote type="cite">
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Add
the metadata to the feature’s map file:</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span>METADATA</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span>'identify_record'
</span><span> </span><span>'BF_HYDRO_POLYGON_identify.html'</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span>'popups'
</span><span> </span><span>'BF_HYDRO_POLYGON_popups.html'</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span>'feature_report'
</span><span> </span><span> </span><span>'BF_HYDRO_POLYGON_report.xml'</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
</span><span> </span><span>END # of METADATA</span></p>
<br>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Edit
the _identify template to add a link to generate and
view the report. For example my </span><span>BF_HYDRO_POLYGON_identify.html
</span><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">template
has:<br>
</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span><tr><td
align="left"><b><a href = "<a
moz-do-not-send="true">javascript:GeoMOOSE.startService(</a></span><span>'feature_report_Hydrography'</span><span>,
{</span><span>'BF_ID'</span><span> : '[</span><span>BF_ID</span><span>]',
'src' :
'Hydrography/Lakes'})">Report</a></b></td></tr></span></p>
<br>
<br>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Create
the report xml file (in my case the file is named </span><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline"><span>BF_HYDRO_POLYGON_report.xml</span>)
modifying the key name and the PDF report name:<br>
</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
<query item="</span><span>BF_ID</span><span>"
string="%qstring%"/></span></p>
<br>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
<!-- This is the template --></span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>
<template>BF_HYDRO_POLYGON_template.pdf</template></span></p>
<br>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Create
the report PDF file</span></p>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">
</span><span
style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline">Copy
the parcel_template.pdf to the name you entered in the
report xml file, for example:</span></p>
<br>
<p dir="ltr"
style="line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span>copy
parcel_template.pdf BF_HYDRO_POLYGON_template.pdf</span></p>
<pre cols="72">--
Best Regards,
Brent Fraser</pre>
<br>
<fieldset></fieldset>
<br>
<pre>_______________________________________________
Geomoose-users mailing list
<a moz-do-not-send="true" href="mailto:Geomoose-users@lists.osgeo.org" target="_blank">Geomoose-users@lists.osgeo.org</a>
<a moz-do-not-send="true" href="http://lists.osgeo.org/mailman/listinfo/geomoose-users" target="_blank">http://lists.osgeo.org/mailman/listinfo/geomoose-users</a></pre>
</blockquote>
</div>
_______________________________________________<br>
Geomoose-users mailing list<br>
<a moz-do-not-send="true"
href="mailto:Geomoose-users@lists.osgeo.org" target="_blank">Geomoose-users@lists.osgeo.org</a><br>
<a moz-do-not-send="true"
href="http://lists.osgeo.org/mailman/listinfo/geomoose-users"
target="_blank">http://lists.osgeo.org/mailman/listinfo/geomoose-users</a></blockquote>
</div>
</blockquote>
<br>
</body>
</html>