Revamp Webseite: Übergreifende Suche

Aus revampedia

Die normale Suche im Joomla umfasst lediglich die Webseite.

Wir möchten für unsere Webseite eine Suchfunktion welche zusätzlich zur Webseite auch unser Wiki, sowie auch den Webshop durchsucht.

Diese soll im Joomla integriert sein.

Recherche / Information

Erweiterungsmöglichkeiten

Es gibt verschiedene Varianten Joomla zu Erweitern.

Module

Module sind die einfachste Erweiterungsmöglichkeit.

A module is a lightweight and flexible extension. They are used for small bits of the page that are generally less complex and are able to be seen across different components. [...]

Modules are lightweight and flexible extensions used for page rendering. These modules are often “boxes” arranged around a component on a typical page.

Plug-ins

A plugin is a kind of Joomla! extension. Plugins provide functions which are associated with trigger events. Joomla provides a set of core plugin events, but any extension can fire (custom) events. [...]

[It means that] either the Joomla! core or a third party component or module can trigger an event which causes one or more plugins to execute some code.

Komponenten

Komponenten sind in der Regel grössere Einheiten, wie ein CiviCRM oder ein Webshop (gem. Andreas). Die Anleitung sehen aber alle etwa gleich kompliziert aus... Auch hat es einige Komponenten welche nicht allzu gross aussehen z.B. Banner.

A component is a kind of Joomla! extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. [...] Created by a component, content is usually displayed in the center of the main content area of a template (depending on the template).

Vorarbeiten

Erste Versuche

Andru, 1.7.15:

Habe veruscht, ein com_caaz Modul zu schreiben, mit folgenden Dateien:

caaz.php
controller.php
views/first/view.html.php
views/first/tmpl/default.php

Hier eine Anleitung: https://docs.joomla.org/J3.x:Developing_a_MVC_Component/Adding_a_view_to_the_site_part Funktioniert jetzt.

Cem, 2015-06-30:

Hello world Komponente gem.: https://docs.joomla.org/J3.x:Developing_a_MVC_Component/Developing_a_Basic_Component

Unter: /var/www/revamp/jupgrade-test/components/com_helloworld/

Beim installieren gab es eine Fehlermeldung.

Funktioniert aber trotzdem. Erreichbar unter: http://test.revamp-it.ch/index.php/de/?option=com_helloworld

Besprechung, Lösungsweg

(2015-06-30, Cem) Besprechung mit Andreas:

Wir haben gesehen dass es bereits verschiedene Such Plugins gibt: "Suche: Inhalt", "Suche: Kontakte"...
Daher sollte es möglich sein einfach ein weiteres zu erstellen. Dieses verwendet dann das Standard Such-Modul (zur Eingabe).

Dafür wäre es doch besser zum testen eine Kopie der Seite zu erstellen.

Testumgebung

Unter: /var/www/revamp/

Kopie von joomla/jupgrade nach jupgrade-test gemacht.

Seite erreichbar unter: https://rochen.revamp-it.ch:25443/revamp/jupgrade-test/index.php/de/

Im phpmyadmin:

Datenbank kopie von joomla_revamp nach joomla_revamp_test erstellt.

Unter: localhost --> Rechte --> revamp_user --> Bearbeiten

Die kopierte DB hinzugefügt mit gleichen Rechten wie alt.

In jupgrade-test/configuration.php die neue DB eingetragen:

     public $db = 'joomla_revamp_test';

Unter jupgrade-test/images/stories logo.gif ersetzt ("testseite").

Wiki wird nicht angezeigt

--> Subdomain test.revamp-it.ch verwenden

In /etc/apache2/sites-available/revamp-it.ch eintragen:

# Test

<VirtualHost *:80>
ServerAdmin webadmin@revamp-it.ch

        DocumentRoot /var/www/revamp/jupgrade-test
        ServerName test.revamp-it.ch

</VirtualHost>

Seite erreichbar unter: http://test.revamp-it.ch

==> kein Effekt

==> es funktioniert, unklar warum, evtl. Tab im firefox neu geöffnet

Entwicklung

Hello Plugin

Ein erstes Suchplugin gemäss Tutorial erstellt: https://docs.joomla.org/J3.x:Creating_a_search_plugin

Unter: /var/www/revamp/jupgrade-test/plugins/search/hellocem/

Das meiste auskommentiert.

Ein Pseudo-Resultat zurückgegeben. Resultat Array gem. Tutorial.

Achtung: Beim Deinstallieren werden die Dateien gelöscht. Daher ist es sicherer im eigenen home zu entwickeln (auf rochen) und dann jeweils zu kopieren.

Datenbankabfrage Wiki

Zum testen die Seite aus der helloworld Komponente verwenden. (Siehe oben unter: #Erste Versuche.)

Mediawiki Plugin

Unter: /var/www/revamp/jupgrade-test/plugins/search/mediawiki/

Git repo (persönlich): https://github.com/rebootl/joomla-plg-search-mediawiki-git

Installation

Das Verzeichnis mediawiki aus obigem Pfad nach <joomla-root>/search/plugins/ kopieren.

Im Administrator unter Erweiterungen --> Erweiterungen --> Überprüfen, Überprüfen, dann Installieren.

Dann unter Erweiterungen --> Plugins, das Plugin aktivieren und konfigurieren.

Es braucht in der Mediawiki Datenbank einen Benutzer mit SELECT Berechtigung.

Weitere Anpassungen / ToDo / Bugs

  • Unser wiki ist als iframe eingebunden. Um per URL darauf weiterzuleiten müsste dort noch eine Anpassung gemacht werden.
  • Da wir den Suchindex von Mediawiki verwenden, funktioniert die exakte Suche so nicht.
  • Die Suche sollte auch angefangene wörter finden, e.g. "Compu" würde Computer finden etc.

VirtueMart Plugin

Es ist bereits ein VirtueMart Such-Plugin vorhanden. Dieses scheint aber nicht richtig zu funktionieren.

2015-08-25, cem:

Ich habe angefangen dieses zu debuggen. Das plugin liefert einfach ein leeres Array zurück. Ich habe den Eindruck, dass es ein Problem in der SQL Abfrage gibt. Dies ist aber etwas schwierig zu debuggen, da es einfach eine grosse Abfrage ist...


Das Plugin sucht in sprachspezifischen Tabellen e.g.:

FROM `#__virtuemart_products_de_de` AS a

_de_de ...