Septima / spatialsuite-formular

Formular modul til Spatial Suite
4 stars 6 forks source link

HTML dokument som kvitering #111

Closed gis-haderslev closed 9 years ago

gis-haderslev commented 9 years ago

Vi kunne godt tænke os at generere statisk HTML dokument baseret på data fra ansøgningen "create-html". Er det muligt?

moelgaard730 commented 9 years ago

Hej Haderslev. Eftersom jeg ikke har udviklet selve koden til formularmodulet kan jeg ikke sige om det er let eller svært - ideen er dog god. Men der kan være en masse ting at overveje. Er det I gerne vil have blot et opslag i en tabel og så får man en hjemmeside ala:

: eks (drikkevandsforsyning): DGUNr: abc-123 Vej: Skolebakken Husnummer: 1 Postnummer: 0001 Ejer: Jens Hansen Eller skal det være mere dynamisk: :: id -> DGUNr: abc-123 vejnavn -> Vej: Skolebakken husnr ->Husnummer: 1 postnr -> Postnummer: 0001 ejersnavn ->Ejer: Jens Hansen Skal der være plads til en overskrift eller andre faste tekster? Skal man kunne søge sig frem til en specifik bruger/id/område, eller skal det bare være hele tabellen, man dumper ud i html? Og hvordan med formateringen. Skal det bare være fortløbende celler, eller skal man kunne lave et span på en eller flere celler? Mvh. Kåre Rasmussen Randers kommune
gis-haderslev commented 9 years ago

Hej Kåre Vi har tidligere snakket på workshoppen i Randers om at det burde være muligt at presentere data på mange forskellige måder så snart man har data struktureret og gemt i en Database. Vi har vores data i PostgreSQL(Postgis). Det vi tænkte er bare et opslag i tabelen. Der skal være muligt at vise kun specifike felter. Der skal være plads til overskrift og evt. andre tekster. Hvad angår formateringen kan man selv indstille visningen via en CSS, dvs. der skal være muligt at koble bestemt CSS-fil til den genererede side.

Mvh. Nicolai Ceavdar Haderslev Kommune

karstenpihl commented 9 years ago

At generere noget HTML ud fra nogle data i databasen er ikke noget problem. Det er helt oplagt at bruge en page med en datasource handler og bruge XSL til at transformere XML'en til HTML. Det er noget vi ofte gør.

Dette behøver ikke at have noget med formularmodulet at gøre.

moelgaard730 commented 9 years ago

Hej Karsten. Har du tid til at smide et lille eksempel? Så kan vi altid selv udvide det.

Mvh. Kåre

gis-haderslev commented 9 years ago

Det har ikke noget med selve formularmodulet at gøre, men det kan være del af "pages-include" lige som page name="formular.create-pdf"

mvh Nicolai

gis-haderslev commented 9 years ago

Jeg har fundet lignede i en af vores existerende moduler, prøver og skriver svar.

karstenpihl commented 9 years ago

Page:

    <page name="formular.detaljer" contenttype="text/html" sessionreqiured="false">
        <stylesheet>[module:formular.dir]/xsl/detaljer.xsl</stylesheet>
        <data handler="datasource" operation="execute-command"/>
    </page>

detaljer.xsl:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="[cbinfo.html.encoding]" indent="yes"
                doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
                doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
    <xsl:decimal-format decimal-separator="," grouping-separator="."/>
    <xsl:template match="/">
        <html>
            <head>
            </head>
            <body>
                <xsl:for-each select="//row">
                    <div>
                        <xsl:for-each select="col">
                            <div><xsl:value-of select="."/></div>
                        </xsl:for-each>
                    </div>
                </xsl:for-each>
            </body>
        </html>
    </xsl:template>
</xsl:stylesheet>
gis-haderslev commented 9 years ago

mange tak mit eksempel der virker er:

http://sandkasse/cbkort?page=loading&page=metadata.detaljer&tema='temanavnet'

    <page name="metadata.detaljer" contenttype="text/html" sessionrequired="false">
        <stylesheet>[module:formular-haderslev.dir]/xsl/detaljer.xsl</stylesheet>
        <data handler="datasource" operation="execute-command">
            <url-parameters>
                <url-parameter name="datasource" value="ds-metadata"/>
                <url-parameter name="command" value="read-all"/>
            </url-parameters>
        </data>
    </page> 
    <datasource name="ds-metadata" displayname="Metadata" endpoint="ep_k510_formular">
        <table pkcolumn="ogc_fid" geometrycolumn="wkb_geometry" name="metadata"/>
        <sql command="read-all">SELECT * FROM formular.metadata WHERE tema=[tema];</sql>
    </datasource>