Inhalte durchsuchen
Neueste Kommentare
- Remote Arbeit im Team eGovernment Entwicklung bei
- Bandbreitenschonung bei der Nutzung von Webkonferenzsystemen bei
- Bandbreitenschonung bei der Nutzung von Webkonferenzsystemen bei
- Bandbreitenschonung bei der Nutzung von Webkonferenzsystemen bei
- Dynamische QR-Codes im MS-Office Word Serienbrief (Mac/Windows) bei
RSS-Feed abonnieren
Kategorien
- Allgemein
- Behörden-Webspeicher
- Clearingstelle
- Cloudcomputing
- CMS
- Datenschutz
- DeMail
- Dokumentenmanagement
- eGovernment
- eGovernment-Suite
- eSuite App
- eVerfahrensverzeichnis
- Formularserver
- Greetings
- GSA
- iWorks
- Konferenz
- LibreOffice
- Lotus Notes
- Meinung
- Mobil
- MS-Office
- nPA
- Off topic
- Office-Programme
- OpenData
- OpenGovernment
- OpenOffice
- OpenSource
- OZG
- Saperion Archiv
- Servicekonto
- Sitzungsdienst
- Smartphone
- Tablet
- Tipps und Tricks
- Virtuelle Poststelle
- VPS
- Web 2.0
- Workflow
Empfehlungen / Blogroll
Inhalt
Integration der Verwaltungssuchmaschine
Die Verwaltungssuchmaschine wird derzeit in alle Internetauftritte im Verbandsgebiet integriert. Dabei werden die bisherigen Suchbegriffe sowie die Ergebnisse aus der Verwaltungssuchmaschine nach Suchbereichen in Reiter gruppiert. Die Suchbereiche umfassen für gewöhnlich den aktuellen Internetauftritt, den des zugehörigen Kreises sowie die Seiten des Landes Nordrhein-Westfalen und des Bundes.
In den Auftritten des Kreises werden Ergebnisse aus den Präsenzen der einzelnen Kommunen, des jeweiligen Kreises sowie Suchergebnisse aus Landesebene und Bundesebene ausgegeben. Hier wird jedoch nicht für jede Kommune ein eigener Reiter erzeugt, diese werden in einem einzelnen Reiter „Kommunen des Kreises“ gruppiert und so über Sprungmarken besser zugänglich gemacht.
Zur Umsetzung sind mehrere Schritte erforderlich.
Kernbestandteil ist bei den kommunalen Seiten eine XML-Datenquelle, bei den Seiten der Kreisverwaltungen sind es aufgrund der Gruppierung zwei. Diese sende den Suchbegriff an die GSA-Schnittstelle der Verwaltungssuchmaschine für jeden hinterlegten Suchbereich ab.
Wie ist nun diese Datenquelle aufgebaut? Zunächst wird in einer Zeile die max. Anzahl der Suchergebnisse festgelegt:
_maxresults := 10;
In der zweiten Zeile werden die Suchbereiche als Textliste hinterlegt:
_areas := "wesel:www.asgwesel.de" : "wesel:weselmarketing.de" : "krwesel" : "land" : "bund";
Hier ist es möglich, externe Seiten eines Auftritts durchsuchen zu lassen. Diese werden neben dem Suchbereich mit einem Doppelpunkt abgetrennt hinterlegt. Mehr muss an dieser Stelle nicht geändert werden. Zu beachten ist, dass jede durchsuchte Seite zusätzlich einen Eintrag im XSLT-Template benötigt, um den Titel des Suchbereichs auszugeben. An dieser Stelle muss unterschieden werden, ob eine spezifische Seite oder ein kompletter Suchbereich bezeichnet werden soll. Für einen Suchbereich sähe die Zeile folgendermaßen aus:
<xsl:when test="contains($con_url_area, 'krwesel')">Kreis Wesel</xsl:when>
Eine spezifische Seite hingegen unterscheidet sich leicht:
<xsl:when test="contains($con_url_site, 'asgwesel')">ASG Wesel</xsl:when>
Es muss darauf geachtet werden, dass die Definition einer Seite immer unterhalb der Bereichsdefinitionen liegt, da diese sonst überschrieben werden könnten.
Mit diesen Angaben gefüttert, gibt das XSLT-Template die Suchergebnisse für diese Seiten nun nacheinander in separaten Blöcken aus.
Doch wie kommt man nun von den Blöcken zu den eingangs erwähnten Reitern?
Hierzu wird das Plugin „AccessibleTabs“ von Dirk Ginader benötigt, was eine kompatible Version von jQuery voraussetzt. Dieses Plugin ist komplett über eine Tastatur bedienbar und auch für Screenreader zugänglich. Beide JavaScript-Dateien werden nun in der Ressourcen-Datenbank hinterlegt. Außerdem werden zusätzliche CSS-Anweisungen benötigt, die in der WebIO abgelegt werden müssen. Sollte Ihr Design bereits über Reiter verfügen, kann natürlich deren Design benutzt werden.
Die Ausgabeseite der Suchergebnisse erfordert außerdem ein eigenes Seitenlayout, in dem im Seitenkopf zunächst beide JavaScript-Dateien sowie die CSS-Anweisungen des Designs eingebunden werden müssen. Außerdem muss festgelegt werden, welche Bereiche als Reiter dargestellt werden soll, diese sind vom verwendeten CSS abhängig. Der dafür zuständige Code-Schnipsel sieht folgendermaßen aus:
<script type="text/javascript">
$(document).ready(function(){
$(".jquery-tabs").accessibleTabs({
tabhead:'h4.vsm-tabs-head',
tabheadClass: 'tabhead',
fx:"show",
fxspeed:null,
currentInfoText:"Aktueller Bereich: "
});
});
</script>
Nun fehlt uns nur noch ein kleiner Teil, nämlich die Hinterlegung der VSM-Datenquelle(n) im Seitenlayout:
<div class="jquery-tabs">
<div>
<h4>Stadt Moers</h4>
{~CONTENT~}
</div>
{~CONTENT~}
</div>
Für die SiteSearch müsste nun noch das erste {~CONTENT~} durch {~SEARCHRESULT~} ersetzt werden. Natürlich muss die VSM-Datenquelle auch in der Suchergebnisseite in der Content-Datenbank hinterlegt werden.
Um die nun funktionierende Integration nun „schön“ zu machen, müssen noch die Farben in den CSS-Anweisungen geändert werden. Außerdem muss eventuell die Suchausgabe der GSA bzw. der SiteSearch leicht abgeändert werden. Hier geht es nur darum, den Suchbegriff nur einmal auf der Seite darzustellen, wozu er wie in der Datenquelle aus der URL extrahiert wird:
_urlParams := @GetField("path_info") + "&";
_urlQuery := @If(@Contains(_urlParams;";"); @Left(@Right(_urlParams;"=q=");";"); @Left(@Right(_urlParams;"&q=");"&"));
_urlQuery := @URLDecode("Domino"; _urlQuery);
_urlQuery;
Nachdem die neue Suchseite funktioniert und ansprechend gestaltet wurde, müssen nur noch die bisherigen Suchformulare angepasst werden, da dies schneller geht als das neue Formular, dass zum Testen benutzt wurde, in alle Seitenlayouts einzuhängen. Hier müssen die Antwortseite angepasst und eventuell vorgenommene Änderungen an der Suchausgabe der Sitesearch hinterlegt werden.
Dieser Weg dient lediglich als Beispiel für den Ablauf einer Integration, da immer wieder kleinere Probleme eine Abweichung vom Standardweg erforderlich machen. Dies können zu alte jQuery-Versionen sein, inkompatible Bibliotheken wie Prototype oder CSS-Anweisungen, die die Stile der Tabs überschreiben.
No comments yet.
RSS-Feed für Kommentare zu diesem Beitrag · TrackBack URL