<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AFinalConfig-Place-workdocument</id>
	<title>ICT:FinalConfig-Place-workdocument - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mwiki.costasano.club/index.php?action=history&amp;feed=atom&amp;title=ICT%3AFinalConfig-Place-workdocument"/>
	<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:FinalConfig-Place-workdocument&amp;action=history"/>
	<updated>2026-07-23T01:05:24Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://mwiki.costasano.club/index.php?title=ICT:FinalConfig-Place-workdocument&amp;diff=686&amp;oldid=prev</id>
		<title>Mngr: Created page with &quot;= PLACE Entity – Dashboard, Form, Coordinates &amp; Map Preview = &#039;&#039;Work document for building the PLACE dashboard with optional address → coordinates lookup and map preview.&#039;&#039;  This page describes the steps to create: * A Cargo table for PLACE entities   * A Template:Place that stores data and shows a map   * A PageForms form that allows   ** optional address input   ** automatic coordinate lookup   ** manual coordinate override   * A Dashboard:Place page listing all pl...&quot;</title>
		<link rel="alternate" type="text/html" href="https://mwiki.costasano.club/index.php?title=ICT:FinalConfig-Place-workdocument&amp;diff=686&amp;oldid=prev"/>
		<updated>2026-02-13T17:48:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= PLACE Entity – Dashboard, Form, Coordinates &amp;amp; Map Preview = &amp;#039;&amp;#039;Work document for building the PLACE dashboard with optional address → coordinates lookup and map preview.&amp;#039;&amp;#039;  This page describes the steps to create: * A Cargo table for PLACE entities   * A Template:Place that stores data and shows a map   * A PageForms form that allows   ** optional address input   ** automatic coordinate lookup   ** manual coordinate override   * A Dashboard:Place page listing all pl...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= PLACE Entity – Dashboard, Form, Coordinates &amp;amp; Map Preview =&lt;br /&gt;
&amp;#039;&amp;#039;Work document for building the PLACE dashboard with optional address → coordinates lookup and map preview.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
This page describes the steps to create:&lt;br /&gt;
* A Cargo table for PLACE entities  &lt;br /&gt;
* A Template:Place that stores data and shows a map  &lt;br /&gt;
* A PageForms form that allows  &lt;br /&gt;
** optional address input  &lt;br /&gt;
** automatic coordinate lookup  &lt;br /&gt;
** manual coordinate override  &lt;br /&gt;
* A Dashboard:Place page listing all places  &lt;br /&gt;
&lt;br /&gt;
Everything works without JavaScript and without interfering with Vector‑2022.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 1. Cargo Table ==&lt;br /&gt;
Create page: &amp;#039;&amp;#039;&amp;#039;Template:PlaceCargo&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{#cargo_declare:&lt;br /&gt;
table=Place;&lt;br /&gt;
fields=&lt;br /&gt;
Name=String,&lt;br /&gt;
Address=String,&lt;br /&gt;
Latitude=Float,&lt;br /&gt;
Longitude=Float&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This defines the storage for PLACE entities.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 2. Template:Place ==&lt;br /&gt;
Create page: &amp;#039;&amp;#039;&amp;#039;Template:Place&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{PlaceCargo&lt;br /&gt;
|Name={{{Name|}}}&lt;br /&gt;
|Address={{{Address|}}}&lt;br /&gt;
|Latitude={{{Latitude|}}}&lt;br /&gt;
|Longitude={{{Longitude|}}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
;Name: {{{Name}}}&lt;br /&gt;
;Address: {{{Address}}}&lt;br /&gt;
;Coordinates: {{{Latitude}}}, {{{Longitude}}}&lt;br /&gt;
&lt;br /&gt;
== Map ==&lt;br /&gt;
[[File:{{#urlencode:https://staticmap.openstreetmap.de/staticmap.php?center={{{Latitude}}},{{{Longitude}}}&amp;amp;zoom=15&amp;amp;size=400x300&amp;amp;markers={{{Latitude}}},{{{Longitude}}},red-pushpin}}|400px]]&lt;br /&gt;
&lt;br /&gt;
[https://www.openstreetmap.org/?mlat={{{Latitude}}}&amp;amp;mlon={{{Longitude}}}&amp;amp;zoom=16 View on OpenStreetMap]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This template:&lt;br /&gt;
* Stores the data in Cargo  &lt;br /&gt;
* Shows a static map preview  &lt;br /&gt;
* Provides a link to zoom on OpenStreetMap  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 3. PageForms Form ==&lt;br /&gt;
Create page: &amp;#039;&amp;#039;&amp;#039;Form:Place&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{{for template|Place}}}&lt;br /&gt;
&lt;br /&gt;
== Basic Information ==&lt;br /&gt;
{{{field|Name}}}&lt;br /&gt;
&lt;br /&gt;
== Address (optional) ==&lt;br /&gt;
{{{field|Address&lt;br /&gt;
 |input type=text&lt;br /&gt;
 |autocomplete on external data&lt;br /&gt;
 |external data URL=https://nominatim.openstreetmap.org/search?q=@@VALUE@@&amp;amp;format=json&lt;br /&gt;
 |external data JSON path=0&lt;br /&gt;
}}}&lt;br /&gt;
&lt;br /&gt;
== Coordinates ==&lt;br /&gt;
&amp;#039;&amp;#039;You may enter coordinates manually, or let the address field auto-fill them.&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{{{field|Latitude|external data property=lat}}}&lt;br /&gt;
{{{field|Longitude|external data property=lon}}}&lt;br /&gt;
&lt;br /&gt;
{{{end template}}}&lt;br /&gt;
&lt;br /&gt;
{{{standard input|save}}}&lt;br /&gt;
{{{standard input|cancel}}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This form allows:&lt;br /&gt;
* Optional address input  &lt;br /&gt;
* Automatic coordinate lookup via Nominatim  &lt;br /&gt;
* Manual coordinate override  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 4. Dashboard Page ==&lt;br /&gt;
Create page: &amp;#039;&amp;#039;&amp;#039;Dashboard:Place&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
= Place Dashboard =&lt;br /&gt;
&lt;br /&gt;
This dashboard allows you to create and edit PLACE entities.&lt;br /&gt;
&lt;br /&gt;
== Create a new Place ==&lt;br /&gt;
{{#formlink:form=Place|link text=Add a new Place}}&lt;br /&gt;
&lt;br /&gt;
== Existing Places ==&lt;br /&gt;
{{#cargo_query:&lt;br /&gt;
table=Place;&lt;br /&gt;
fields=Name,Address,Latitude,Longitude;&lt;br /&gt;
format=table;&lt;br /&gt;
order=Name;&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This page:&lt;br /&gt;
* Provides a button to create new PLACE entries  &lt;br /&gt;
* Lists all existing places  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 5. User Workflow ==&lt;br /&gt;
&lt;br /&gt;
=== Option A — Enter address ===&lt;br /&gt;
# User types an address  &lt;br /&gt;
# PageForms queries Nominatim  &lt;br /&gt;
# Latitude + Longitude auto-fill  &lt;br /&gt;
# User saves  &lt;br /&gt;
# Dashboard shows a static map preview  &lt;br /&gt;
# Clicking the map link opens OpenStreetMap for zooming  &lt;br /&gt;
&lt;br /&gt;
=== Option B — Enter coordinates manually ===&lt;br /&gt;
# User leaves Address blank  &lt;br /&gt;
# User enters Latitude + Longitude manually  &lt;br /&gt;
# Map preview still works  &lt;br /&gt;
&lt;br /&gt;
Both paths are supported.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 6. Notes for Successors ==&lt;br /&gt;
* No JavaScript is used  &lt;br /&gt;
* No API keys required  &lt;br /&gt;
* No Vector‑2022 interference  &lt;br /&gt;
* All logic is transparent and maintainable  &lt;br /&gt;
* Nominatim is stable and free for low-volume archival use  &lt;br /&gt;
* Static OSM maps are ideal for previews  &lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;End of work document.&amp;#039;&amp;#039;&lt;/div&gt;</summary>
		<author><name>Mngr</name></author>
	</entry>
</feed>