0a1,2
Die ist eine Wiki-Seite zur geometa Directory-Programmentwicklung. Die offiziellen geometa Directory-Seiten befinden sich [http://gis.hsr.ch/wiki/Geometa_Directory hier].
3c5
* GeometaDirectoryHilfe
* GeometaInfoURLTypen
5c7,9
* Oaipmh2Delicious
* GeometaDirectoryCrawler
!!Erweiterungen/Bugs
7,24c11,53
Täglich, bzw. regelmässig:
* Demo und Tests durchspielen!
* 'Source' SFK schicken (später: ins Repository commiten)
* Doku. inkl. Wiki nachführen
!! Demo
* GeoBookmarks: Suche nach dem Prinzip "Was ist Wo?"
** Suche Karten, bzw. alles in Rapperswil [ karte rapperswil ]
** "Was gibt es alles in Rapperswil?" [ karte rapperswil ] oder [ rapperswil rapperswil ]
** "Restaurants in Genf": [ restaurants genf ]
** "Restaurants und Bars in Rapperswil": [ restaurants bars rapperswil ]
** "Restaurants in Pfäffikon": [ restaurants pfäffikon ]
** "Restaurants in St.Gallen" (ohne Abstand): [ restaurants st.gallen ]
* Normale Bookmarks:
** Suche mit Klick auf Tags: ...
** Freie Suche mit "Meine Bookmarks": ...
** Freie Suche mit "Alle Bookmarks": ...
GUI:
* Bug (Apache?): http://geometa.info/directory/search.php/all/%s => Bad Request - Your browser sent a request that this server could not understand.
* Bug: http://88.198.44.148/directory/search.php/all/r%fcti => Fatal error: SQL ERROR [ mysql4 ]
* Online-Karten-Client / wmsviewer (OpenLayers): Header/Footer sowie Sprach-Variablen ergänzen.
Backend:
* "...since 14 days" anpassen zu "...since 30 days"
* http://88.198.44.148/directory/rss.php/ funktioniert nicht richtig: Alles alte Bookmarks!?
* OAI-PMH-Refresh nochmals testen, z.B. wenn nicht als Admin eingeloggt kommt "Warning...".
* OAI PMH-zu-Delicious: via XML; dann über URL-calls (API/Import?)
Allgemein / Daten:
* Alles auch auf 88.xxx kopieren und dort testen
* WMS-Daten anpassen (REQUEST=GetCapabilities und SERVICE=WMS 'raus!)
!!History
Release Feb. 2008? (MF). Erledigt:
* CAPTCHA!
Release Aug. 2007 (MF). Erledigt:
* LayerSwitcher einfügen; siehe Doku. http://dev.openlayers.org/docs/ ([http://www.easywms.com/easywms/?q=de/node/139 hier] oder [http://www.nabble.com/google-zoom-t4261047.html hier])
* Layers und BBox richtig parsen, aus BBox Center berechnen
* Statt "http://88.198.44.148/directory" config.urls_oai.data => oai_pmh_data_providers
* Links mit 'webservice'-tag gelb hinterlegt + eigenes Logo
* Überlange Adressen werden abgeschnitten
* URL bei Bookmark-Ausgabe anzeigen
* Runden auf 5 Nachkommastellen
* CSS angepasst (Gelb abgedunkelt)
* Timeout von ws.geonames.org abfangen
* URL encoding für WMSVIEWER mittels rawurlencode
* Sort by Visits als neuer Default anstelle Datum.
* (zwischendurch) Neu besser ins Unterverzeichnis viewer (../directory/viewer/) tun?
!!Milestones MG/MF (ab 27.7.2007!):
* Timeout von ws.geonames.org abfangen (MG)
* Manager-Seite (neu: manager.php oder backend.php):
** Refresh OAI-PMH/DC bereit und getestet?
** Refresh WMS (vormals wms_manager.php, MG) fertigstellen
* Separater WMS Viewer bereitstellen auf http://www.geometa.info/wmsviewer/ (ex. rappi2, Cubewerx nicht verfügbar!): Web map site (WMS client) which handles a WMS base URL as a parameter, similar to this http://foreigndomain.org/freeclient?wmsurl=. The expected result would be an online web map from the WMS server, with all the layers switched on.
* [http://88.198.44.148/directory/tags.php/wms+webservice?sort=visits_desc WMS-Types] mit WMS Viewer verknüpfen
* Doku auf GeometaDirectory, GeometaInfoURLTypen und v.a. [http://www.gis.hsr.ch/wiki/Geometa_Directory Seite auf GISpunkt-Wiki] nachführen.
26a56
* GeoRSS: Siehe http://gis.hsr.ch/wiki/Google_Maps_Hacks und http:files/MobileGuideRappi_20070723.xml
29,82c59
* Test mit vielen Bookmarks
* Was funktioniert im Offlinebetrieb noch/nicht?
!! Realisierung
!!! Nicht-funktionale Anforderungen
* Erweiterungen intern dokumentieren (im Code, To do-Liste, etc.) sowie Webseite (dieses Wiki) mit Hinweisen zu Tools ergänzen.
* Deployment: Installation auf geometa.info
* Definitiv WM-Links, WMS und DC einfügen (wenn import.php funktioniert):
** WM-Links und WMS aktualisieren: Konverter vom CSV zu del.icio.us-XML (Csv2Delicious in Java). Wird in Zukunft über Import direkt ab EditGrid geschehen (falls Import neu Doubletten verhindert!).
** DC aktualisieren: Import über OAIPMH2DC (plus del.icio.us-XML) sowie Publikation der Dateien im Web.
!!! Erweiterungen 1. Phase Layout und Web Mapping-Links
* GeoBookmarks
** Erkennen von Geonamen.
** Umlaute (siehe die Funktionen im PHP, z.B. UTF)
* GUI:
** GeoBookmarks-Anzeige lat/lon etc...: "Rapperswil SG (SG), CH, 8640, 47°13'36"N, 8°49'6"E (47.22N, 008.81E)" ---> Teilweise fertig, funktioniert noch nicht in 'schöner' Angabeform --> Doch ;)
** Layout: Logo im Header statt im Background.
* Web Mapping-Links:
** Beim Bookmark-Erfassen Tags "wmlink" und "system:wmlink" zufügen.
** Als Web Mapping Link kennzeichnen in der Trefferliste (wie auch alle anderen URL-Types auch)
!!! Erweiterungen 2. Phase Erweitern um URL-Typ [WMS]-Links
* Beim Erfassen die Tags wms, system:wms und system:service zufügen.
* Typischer [http://www.geoland.at/geolandWMS/service.aspx?NAME=geoland_at_wms&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetCapabilities Eintrag] (entscheidend für Geometa-Directory ist "REQUEST=GetCapabilities")
* Bei Click darauf sollte ein WMS-Viewer mit diesem Bookmark (in einem neuen Tab/Fenster?) starten. Der Helper soll in dieser Form abgespeichert werden: [http://demo.cubewerx.com/demo/cubexplor/cubexplor.cgi?config=pav&serverUrl={wms} demo.cubewerx.com-Service], wobei {wms} durch den WMS ohne GetCapabilities ersetzt wird, also z.B. [http://demo.cubewerx.com/demo/cubexplor/cubexplor.cgi?config=pav&LAYERS=Borders&serverUrl=http://www2.demis.nl/mapserver/request.asp?LAYERS=Borders so] (funktioniert noch nicht ganz...).
!!! Erweiterungen 3. Phase BBox, DC und Verschiedenes
* Bookmark einfügen (action=add): Konsistenztests bei GeoBookmarks (check auf '{}' und allenfalls 'system:wmlink')?
* Einschränkende Suche über BBox irgendeines Bookmarks
** Die führende Angabe steht im (benutzerdefinierbaren) Feld Beschreibung in der Form "42.943 -71.032 43.039 -69.856" und wird beim Bearbeiten (edit.php) und Importieren (import.php) des Bookmarks in 'versteckten' DB-Attribute verwaltet, damit die Abfrage beschleunigt wird.
** DB-Erweiterung mit Attribute lowercorner und uppercorner (Punkte vom Typ 'geometry', siehe [http://mapki.com/wiki/Spatial_Data_in_MySQL hier]) allenfalls (via SQL "ALTER TABLE ADD ...") westlon eastlon southlat northlat nehmen. Ein Attribut urltype (ohne b) braucht es evtl. nicht, wenn das mit "system:wms" auch geht.
** Abfrage-Logik: Bookmarks, die über den räumlichen BBox-Index nicht in den aktuell gesuchten Ort fallen, werden zwar dargestellt, jedoch gekennzeichnet (ohne href-Syntax?)
* URL-Typ Dublin Core (DC): Erkennungsmerkmal Fileextension ".dc"
** (siehe GeometaDirectoryHilfe, [http://www.geometa.info/gmdb/oai_pmh_data_provider/ Demo] und [http://gis.hsr.ch/wiki/OAI-PMH#OAI-PMH_implementationsPHP-Code OAI-PMH])
** Zur Anzeige (Link) wird wie bei WMS erkannt, dass es "system:filetype:dc" ist und darum eine 'Helper-URL' verwendet (sinngemäss soll anstelle Erdoel_Leitungen.xml dann z.B. [http://geometa.info/metadata/oai_dc_1.dc oai_dc_1.dc] stehen): [http://88.198.44.148/showXML.jsp?xmlPath=http://www.geometa.info/metadata/Erdoel_Leitungen.xml Beispiel]
** Erhält beim Erfassen die Tags system:filetype:dc, system:media:document (vgl. config.inc.php).
* GUI:
** "Über" soll auch bei angemeldeten Benutzer angezeigt werden. --> Erledigt
** Link "Geometa Directory" (angemeldet), soll neu immer ("Alle Bookmarks") aktiv machen (nicht "Meine Bookmarks"). --> Erledigt
** Link "Meine Bookmarks" erzeugt bei den Tags immer "bookmark.php/..."-Links (was dann u.a. als "Meine Bookmarks: xxx" anstelle "Tags: xxx" dargestellt wird). Richtig sollten wohl "tags.php/..."-Links stehen.
!!! 2.Priorität falls Zeit bleibt
* '''Bookmarks importieren über del.icio.us-API (import.php)'''
** Bereits vorhandene Bookmarks nicht überschreiben ("Doubletten verhindern"). Die URL ist identifizierend (Attribut bAdress).
** Anpassungen gemäss den URL-Typen wmlinks, wms und dc.
* Stoppwörter herausfiltern (sprachabhängig, hier von "de"! dass/daß, in)
* GUI:
** Cursor-Fokus immer auf "Such-Input" nach Seite-Laden.
!!! Fragen:
* Wo wird Tag-Prefix "system:" überall speziell behandelt? Es gibt z.B. system:imported und firefox:toolbar
* Regelmässig: Demo und Tests durchspielen! 'Source' SFK schicken (später: ins Repository commiten) Doku. inkl. Wiki nachführen
85,86c62
Selber flicken?
* (Falscher) Aufruf mit http://geometa.info/directory/search.php/all/%s gibt "Page not found" zurück.
88,94c64,67
* Bei Click auf "Scuttle/Geometa-Directory" (index.php) sollte immer stehen "Alle Bookmarks" (nicht "Meine Bookmarks").
* Script-Probleme wegen Offline? z.B. bei Tag-Suche: Testen (wie bei GMail)?
An Scuttle gemeldet:
* API-Aufruf mit tags nicht implementiert (gemeldet)
* tagrename.php fehlt (gemeldet) --> Tagrename eingefügt
* An Scuttle gemeldet:
** API-Aufruf mit tags nicht implementiert (gemeldet)
** tagrename.php fehlt (gemeldet) --> Tagrename eingefügt
* GeoRSS-Log anpassen, so dass WMS und OAI-PMH (BBox) Koordinaten an den Feed liefern.
97,98c70,84
* Direkte Koordinaten-Eingabe [ 47.22, 8.81 ] und weitere [http://gis.hsr.ch/wiki/Geographische_Koordinaten Koordinaten-Tests]
* Parameters:
** Neu 'minlat/minlon/maxlat/maxlon' ({minlat}, ...), mindate, maxdate sowie (gesamte) 'query' als erlaubte URL-Parameter einführen.
** Genaue Ortsbezeichnung und/oder Kanton auch als Parameter, z.B. {state} (z.B. Rapperswil SG)
* Wie kann der Admin andere Bookmarks editieren (z.B. die Tags ohne Komma durch solche mit Komma ersetzen)?
* Daten-Datum 01-01-1970 (meist importuser) auf 01-01-2007 setzen.
* (Aufwand?) Sync-Tool anpassen: Automatische Synchronisation mit del.icio.us!
* [http://opensearch.org OpenSearch] dazu schreiben (simple XML-Datei im Root)
* Firefox-Extension/Add-in: siehe z.B. Scuttlelicious und diese [http://www.google.ch/search?q=%20scuttle%20firefox%20extension Websuche]
* Einbetten aktueller Ort in (index.php?) als [http://en.wikipedia.org/wiki/Geo_(microformat) Geo-Microformat]
* Frontend: 'Bookmarks' soll neu 'My Bookmarks' heissen.
* Anzeige "Populäre Tags" als Default zusätzlich zu "Neuste Tags"
* Backend: Automatisierter Refresh jeweils Dienstag und Freitag Morgen (03:00h)
* Backend: Refresh (WMS und OAI-PMH) in eine Logdatei schreiben. Link zuoberst?
* Spezielles CSS für's Handy?
* GeoRSS export => BBox! http://maps.google.com/maps?q=http://geometa.info/tmp/test.georss
110d95
* Synch-Tool: Export to del.icio.us?
115c100
* Import: DC/DClite4G über OAI-PMH-zu-xxx-Konverter
* Import: DC/DClite4G über OaiPmh2Scuttle-Konverter
Siehe auch:
Täglich, bzw. regelmässig:
- Demo und Tests durchspielen!
- 'Source' SFK schicken (später: ins Repository commiten)
- Doku. inkl. Wiki nachführen
- GeoBookmarks: Suche nach dem Prinzip "Was ist Wo?"
- Suche Karten, bzw. alles in Rapperswil [ karte rapperswil ]
- "Was gibt es alles in Rapperswil?" [ karte rapperswil ] oder [ rapperswil rapperswil ]
- "Restaurants in Genf": [ restaurants genf ]
- "Restaurants und Bars in Rapperswil": [ restaurants bars rapperswil ]
- "Restaurants in Pfäffikon": [ restaurants pfäffikon ]
- "Restaurants in St.Gallen" (ohne Abstand): [ restaurants st.gallen ]
- Normale Bookmarks:
- Suche mit Klick auf Tags: ...
- Freie Suche mit "Meine Bookmarks": ...
- Freie Suche mit "Alle Bookmarks": ...
- Firefox und Internet Explorer 6 oder höher
- Mit/ohne mod_rewrite?
- Test mit vielen Bookmarks
- Was funktioniert im Offlinebetrieb noch/nicht?
- Erweiterungen intern dokumentieren (im Code, To do-Liste, etc.) sowie Webseite (dieses Wiki) mit Hinweisen zu Tools ergänzen.
- Deployment: Installation auf geometa.info
- Definitiv WM-Links, WMS und DC einfügen (wenn import.php funktioniert):
- WM-Links und WMS aktualisieren: Konverter vom CSV zu del.icio.us-XML (Csv2Delicious in Java). Wird in Zukunft über Import direkt ab EditGrid geschehen (falls Import neu Doubletten verhindert!).
- DC aktualisieren: Import über OAIPMH2DC (plus del.icio.us-XML) sowie Publikation der Dateien im Web.
- GeoBookmarks
- Erkennen von Geonamen.
- Umlaute (siehe die Funktionen im PHP, z.B. UTF)
- GUI:
- GeoBookmarks-Anzeige lat/lon etc...: "Rapperswil SG (SG), CH, 8640, 47°13'36"N, 8°49'6"E (47.22N, 008.81E)" ---> Teilweise fertig, funktioniert noch nicht in 'schöner' Angabeform --> Doch ;)
- Layout: Logo im Header statt im Background.
- Web Mapping-Links:
- Beim Bookmark-Erfassen Tags "wmlink" und "system:wmlink" zufügen.
- Als Web Mapping Link kennzeichnen in der Trefferliste (wie auch alle anderen URL-Types auch)
- Beim Erfassen die Tags wms, system:wms und system:service zufügen.
- Typischer Eintrag (entscheidend für Geometa-Directory ist "REQUEST=GetCapabilities")
- Bei Click darauf sollte ein WMS-Viewer mit diesem Bookmark (in einem neuen Tab/Fenster?) starten. Der Helper soll in dieser Form abgespeichert werden: demo.cubewerx.com-Service, wobei {wms} durch den WMS ohne GetCapabilities ersetzt wird, also z.B. so (funktioniert noch nicht ganz...).
- Bookmark einfügen (action=add): Konsistenztests bei GeoBookmarks (check auf '{}' und allenfalls 'system:wmlink')?
- Einschränkende Suche über BBox irgendeines Bookmarks
- Die führende Angabe steht im (benutzerdefinierbaren) Feld Beschreibung in der Form "<georss:box>42.943 -71.032 43.039 -69.856</georss:box>" und wird beim Bearbeiten (edit.php) und Importieren (import.php) des Bookmarks in 'versteckten' DB-Attribute verwaltet, damit die Abfrage beschleunigt wird.
- DB-Erweiterung mit Attribute lowercorner und uppercorner (Punkte vom Typ 'geometry', siehe hier) allenfalls (via SQL "ALTER TABLE ADD ...") westlon eastlon southlat northlat nehmen. Ein Attribut urltype (ohne b) braucht es evtl. nicht, wenn das mit "system:wms" auch geht.
- Abfrage-Logik: Bookmarks, die über den räumlichen BBox-Index nicht in den aktuell gesuchten Ort fallen, werden zwar dargestellt, jedoch gekennzeichnet (ohne href-Syntax?)
- URL-Typ Dublin Core (DC): Erkennungsmerkmal Fileextension ".dc"
- (siehe GeometaDirectoryHilfe, Demo und OAI-PMH)
- Zur Anzeige (Link) wird wie bei WMS erkannt, dass es "system:filetype:dc" ist und darum eine 'Helper-URL' verwendet (sinngemäss soll anstelle Erdoel_Leitungen.xml dann z.B. oai_dc_1.dc stehen): Beispiel
- Erhält beim Erfassen die Tags system:filetype:dc, system:media:document (vgl. config.inc.php).
- GUI:
- "Über" soll auch bei angemeldeten Benutzer angezeigt werden. --> Erledigt
- Link "Geometa Directory" (angemeldet), soll neu immer ("Alle Bookmarks") aktiv machen (nicht "Meine Bookmarks"). --> Erledigt
- Link "Meine Bookmarks" erzeugt bei den Tags immer "bookmark.php/..."-Links (was dann u.a. als "Meine Bookmarks: xxx" anstelle "Tags: xxx" dargestellt wird). Richtig sollten wohl "tags.php/..."-Links stehen.
- Bookmarks importieren über del.icio.us-API (import.php)
- Bereits vorhandene Bookmarks nicht überschreiben ("Doubletten verhindern"). Die URL ist identifizierend (Attribut bAdress).
- Anpassungen gemäss den URL-Typen wmlinks, wms und dc.
- Stoppwörter herausfiltern (sprachabhängig, hier von "de"! dass/daß, in)
- GUI:
- Cursor-Fokus immer auf "Such-Input" nach Seite-Laden.
- Wo wird Tag-Prefix "system:" überall speziell behandelt? Es gibt z.B. system:imported und firefox:toolbar
Selber flicken?
- Copy/Speichern => übernimmt die Tags nicht!
- Bei Click auf "Scuttle/Geometa-Directory" (index.php) sollte immer stehen "Alle Bookmarks" (nicht "Meine Bookmarks").
- Script-Probleme wegen Offline? z.B. bei Tag-Suche: Testen (wie bei GMail)?
An Scuttle gemeldet:
- API-Aufruf mit tags nicht implementiert (gemeldet)
- tagrename.php fehlt (gemeldet) --> Tagrename eingefügt
- Direkte Koordinaten-Eingabe [ 47.22, 8.81 ] und weitere Koordinaten-Tests
- Tag bundles, tag clustering (Ontology based)?
- Sprache:
- ad-hoc wählen (User locale, Sprache en_UK, de_CH, de_DE) und in Cookie/Profile speichern
- aus Profil nehmen: Default User language (locale)
- passt sich automatisch an IP/User agent an, falls User kein Cookie/Registration vorhanden: Lösen mit Apache mod_rewrite oder mit PHP?
- GeoBookmarks-Aufrufe über externe Query/API:
- GeoBookmarks erscheinen im Suchfeld
- Bei search.inc.php umwandeln von '/tag&lat=8.88&lon=33.33' in '/tag/?lat=8.88&...'!
- New user entry via tools/webservices (API, PHP script) => genormt mit "Identity 2.0"?
- Profil erweitern mit Default User location (anstelle IP lookup)
- Link testen/verifizieren: Flag mit Counter speichern/darstellen, falls "ERROR 404: broken link"?
- Synch-Tool: Export to del.icio.us?
- Kleineres:
- Nach ./bookmarks.php/stefankeller?action=add kein Aufruf der eingetragenen Seite.
- Import: DC/DClite4G über OAI-PMH-zu-xxx-Konverter
- Search Log => generell lösen über grep auf Apache-Log!
- Link Verification (vgl. Mailinglisten!): separates Admin Tool?
- Falls zu langsam: User agent/Host IP lookup ersetzen durch eigenen Code
- Tag-Matching (vgl. 'Mister Wong.de')?