<html>
  <head>
    <style type="text/css">
      <!--
        body { margin-right: 4px; margin-bottom: 1px; margin-left: 4px; line-height: normal; margin-top: 4px; font-variant: normal }
        p { margin-bottom: 0; margin-top: 0 }
      -->
    </style>
    
  </head>
  <body style="margin-right: 4px; margin-bottom: 1px; margin-left: 4px; margin-top: 4px">
    <p style="margin-bottom: 0; margin-top: 0">
      <font size="3" face="Comic Sans MS">All&#44;</font>    </p>
<br>      
    <p style="margin-bottom: 0; margin-top: 0">
      <font size="3" face="Comic Sans MS">Most projects have some sort of printing capability already&#44; I&#39;m not too interested in rebuilding this type of functionality&#44; but rather in building out a much more functional print service that goes beyond just printing maps&#44; and enables typesetting functionality as well&#44; even adding in other elements like charts and fancy legends&#44; map details&#44; etc.</font>    </p>
<br>      
    <p style="margin-bottom: 0; margin-top: 0">
      <font size="3" face="Comic Sans MS">One additional item that I&#39;m interested in is being able to do is to mix and match sources for the data elements for the final output. &nbsp;&nbsp;This is mostly my reasoning for not trying to build something that is app specific up front. &nbsp;&nbsp;I want to be able to use the new spec to combine things from different applications &#40;desktop and web based&#41; &nbsp;into a output stream. &nbsp;&nbsp;I think going after the web approach up front gets things to the app agnostic level the soonest.</font>    </p>
<br>      
    <p style="margin-bottom: 0; margin-top: 0">
      <font size="3" face="Comic Sans MS">The pieces of such an app are still sort of swirling around in my head at the moment. &nbsp;But one big function I&#39;ve thought would be good in this type of application would be to build out a style manager &#40;and possibly a data manager&#41; in front of something like MapServer. Based on the comments so far though&#44; seems like most folks have their favorite application that they want to see added on to instead&#44; or am I reading too far between the lines&#63;</font>    </p>
<br>      
    <p style="margin-bottom: 0; margin-top: 0">
      <font size="3" face="Comic Sans MS">While thinking this through further &#40;since yesterday&#41; am I describing something that is different enough that it shouldn&#39;t be included in this thread&#63;</font>    </p>
<br>      
    <p style="margin-bottom: 0; margin-top: 0">
      <font size="3" face="Comic Sans MS">bobb</font>    </p>
    <p style="margin-bottom: 0; margin-top: 0">
      <br>
      <br>
      &gt;&gt;&gt; &quot;Tyler Mitchell &#40;OSGeo&#41;&quot; &lt;tmitchell@osgeo.org&gt; wrote:<br>    </p>
    <div style="margin-right: 0; background-color: #f3f3f3; margin-bottom: 0; margin-left: 15px; border-left: solid 1px #050505; margin-top: 0; padding-left: 7px">
      <p style="margin-bottom: 0; margin-top: 0">
        Landon Blake wrote:<br>&gt; Bob&#44;<br>&gt;<br>&gt; I&#39;m not a web developer by any stretch of the term&#44; so I didn&#39;t get<br>&gt; everything in your message. I did however like the concept of a<br>&gt; canvas where the user can assemble common layout elements. This<br>&gt; sounds like a way to make map layout a no brainer. Whether this<br>&gt; component of the map-making project was on the web or in a desktop<br>&gt; app&#44; I like it&#33;<br><br>All good ideas...<br><br>I think the biggest bang for the buck is to set up an engine in a way<br>that makes it easiest for as many other appliations &#40;desktop&#44; or web<br>enabled&#41; to easily push their configuration over and spit out a map file<br>&#40;e.g. at simplest level a postscript file that a plotter can print&#41;.<br>It&#39;s the specifications that will make it have the best possible<br>broadest application.&#160;&nbsp;Desktop&#44; server&#44; or web are implementation issues<br>in my opinion.<br><br>Here&#39;s the typical workflow I&#39;m envisioning&#44; at a technical level.<br><br>Scenario 1<br>-----------<br>I&#39;ll use a desktop app as an example.&#160;&nbsp;I open up my files in my desktop<br>GIS&#44; set my layer styles&#44; mock up a quick layout &#40;if the app supports<br>that&#41;.&#160;&nbsp;There would need to be a way of specifying what kind of output<br>would be expected &#40;e.g. PDF&#44; PS&#44; SVG&#44; etc&#41;.&#160;&nbsp;Then I export the new print<br>configuration files in our specification using a plugin.&#160;&nbsp;The plugin<br>will then run the engine with those configuration files as arguments to<br>the engine and spit out a file.&#160;&nbsp;Maybe it prompts the operating system<br>to launch it a viewer app like kpdf&#44; etc.<br><br>This is a similar approach to how Quantumnik works already&#33;<br><br>Scenario 2<br>-----------<br>I&#39;ll have a command line script that&#39;ll take a MapServer configuration<br>file or even a QGIS file and transform it into the output map specs.<br>Then I&#39;d also point to a layout and print spec config file and the<br>script passes it off to the engine and the output is produced.<br><br>Scenario 3<br>-----------<br>Web services could receive the config files&#44; pointers to data files and<br>then push back the output map file.&#160;&nbsp;Sounds like Web Processing Server<br>&#40;WPS&#41; spec could handle this is a general sense.&#160;&nbsp;There are no OGC web<br>based printing standards that I&#39;ve heard of - if someone knows of them&#44;<br>please point them out.&#160;&nbsp;It&#39;s basically that stuff we want to create I think.<br><br><br>Styles<br>-------<br>We all have/use apps that deal with layers and styles&#44; though they all<br>describe it a bit differently.&#160;&nbsp;The goal of having a spec would not be<br>to change the way another app does their styling&#44; but rather to make it<br>possible to transform a project file into the specification instead.<br><br>Layout<br>-------<br>Many apps really suffer with not having a layout app.&#160;&nbsp;In some cases&#44;<br>like web mapping&#44; layout for printing is a bit off-topic even.&#160;&nbsp;Still&#44;<br>having a specification to define how a map will appear is a key part of<br>this project.&#160;&nbsp;Of course&#44; at the basest level you are just passing a map<br>image that covers a whole page.&#160;&nbsp;At the more complex you&#39;re dealing with<br>graticules and classified legends&#44; etc.<br><br>Printing<br>--------<br>This third spec defines how the output dimensions&#44; resolution and file<br>formats to be used to create.<br><br>My push this year is to have people check out the Mapnik specifications.<br>It has an xml-based configuration system for defining styles and a bit<br>of layout.&#160;&nbsp;It also has a way to define output specs&#44; though I haven&#39;t<br>dug into that.&#160;&nbsp;Initially important to me is that it supports the Cairo<br>library for rendering into vector-based output formats &#40;PS&#44; PDF&#44; etc&#41; -<br>a simple raster output wouldn&#39;t meet the specs of this project.<br><br>Things change of course and I know MapServer &#40;and others&#33;&#41; are starting<br>to look at Cairo and there are other libraries likely available.&#160;&nbsp;I can<br>appreciate all that&#44; but think we should seriously look at Mapnik&#39;s XML<br>config file structure.&#160;&nbsp;Then we adopt it as the spec for this project<br>and then &#42;any&#42; other application that wants to serve as an engine&#44; must<br>meet that spec &#40;either directly writing to it&#44; or transforming their own<br>config files&#41;.<br><br>We&#39;d have to extend it to include the additional requirements of our<br>project&#44; but I&#39;m not 100&#37; sure where the holes are.<br><br>For what it&#39;s worth&#44; I&#39;m sticking with Python myself&#44; but if we really<br>stick with XML configuration specs for the short term&#44; then it won&#39;t<br>matter since we can all implement the concepts in our favourite apps :&#41;<br><br>Make sense&#63;&#160;&nbsp;Hope that helps&#33;<br>Tyler<br>_______________________________________________<br>Carto mailing list<br>Carto@lists.osgeo.org<br><a href="http://lists.osgeo.org/mailman/listinfo/carto">http://lists.osgeo.org/mailman/listinfo/carto</a><br>
      </p>
    </div>
  </body>
</html>