OpenImmo Import und Ausgabe für ProcessWire
ImmoImport ist ein ProcessWire Modul für die Immobilienbranche und ermöglicht die automatische Synchronisierung eines zentral gepflegten Objektbestandes mit der eigenen Website.
Nach Änderungen am Bestand wird ImmoImport im Hintergrund aktiv. Objekte werden im laufenden Betrieb angelegt, aktualisiert oder entfernt. Auf alle importierten Daten und Dateien kann über die Standard ProcessWire API zugegriffen werden. Der Datenaustausch erfolgt über den verbreiteten OpenImmo XML Standard.
Seiteninhalt » Überblick · Download · Details · Bilder · Performance · Ausgabe · Anforderungen · Nutzung und Lizenz · Fragen und Antworten · Support
Jedes Objekt wird eine Seite
Es drängt sich auf. Alle Objekte im Bestand sollten auch auf der eigenen Website verfügbar sein. Zusätzlich und unabhängig von externen Plattformen. Ein Hindernis ist der Datenaustausch zwischen Immobiliensoftware oder Immobilienwebsite und der eigenen Website. ImmoImport löst diese Herausforderung für das ProcessWire CMF/CMS.
Installiert und eingerichtet wartet ImmoImport auf Aktualisierungen, prüft diese und aktualisiert den kompletten Bestand automatisch im eigenen System. Jede Immobilie wird eine Seite, welche jeweils hunderte Attribute enthält. Jeder Anhang wird einzeln als logische Unterseite angelegt. Durch die native Abbildung aller Daten in ProcessWire gestaltet sich der Zugriff darauf genauso einfach wie auf beliebige andere Inhalte im System auch.
Der OpenImmo Standard wird fast vollumfänglich unterstützt. ImmoImport versteht sich nach einem ersten Vollabgleich auch auf Teilabgleiche und hält den Objektbestand im System autark und zuverlässig aktuell.
Download
ImmoImport Modul für Processwire
- Version 1.4.1 // August 2024
- Erfordert mindestens ProcessWire 3.0.148 und PHP 7.2
- Empfohlen ProcessWire 3.0.184+ und PHP 8+
- Enthaltenes Änderungsprotokoll beachten (CHANGELOG.txt)
- Enthaltene Nutzungsbedingungen und Informationen zum Datenschutz (EULA.txt) sowie Anleitung (HILFE.txt) beachten
Einstellungen und Objektattribute
Die ImmoImport Konfiguration lässt sich komfortabel im Modul anpassen. Von der maximalen Pfadnamenlänge (URL) bis zu speziellen Debug Funktionen. Erforderliche logische Templates und Systemfelder werden automatisch über die ProcessWire API vom Modul selbst erstellt. So erstellte Felder werden mit einem frei wählbaren Präfix im Namen und per Tags von bestehenden Feldern separiert. Alles bleibt übersichtlich, nichts gerät durcheinander oder in Konflikt mit bereits bestehenden Feldern.
ImmoImport wird immer über den Aufruf einer ProcessWire Frontend Seite gestartet. Manuell und oder automatisch per Cronjob. Sich gegenseitig beeinflussende Kreuzimporte werden unterbunden.
Alle primären Objektattribute wie „Wohnfläche“ werden automatisch in Systemfeldern korrekten Typs gespeichert. Auf diese Felder können beliebige ProcessWire API Abfragen zugreifen. Zum Beispiel finde alle Kaufobjekte zwischen 100 und 300m² Wohnfläche. Alle 400+ Attribute inkl. aller Angaben in Systemfeldern werden zusätzlich immer vollständig in einem speziellen Einzelfeld „Tabellenliste“ in der Objektseite gespeichert. Hier wird jedes Objektattribut vermerkt, ebenfalls mit Angabe des jeweils korrekten Typs (Text, Zahl usw.). Damit ist der performante Zugriff auf sämtliche Objektattribute über ein einziges Feld möglich. Statt extrem viele Einzelfelder träge und unübersichtlich auszulesen.
ImmoImport arbeitet im Hintergrund. Darum ist es wichtig zu wissen, was wann und wie lange getan wurde. Logs von allen erfolgreichen Import Aktivitäten des Moduls lassen sich per E-Mail zustellen und oder werden als interne Log Seite in ProcessWire gespeichert.
Bilder
Performanter Datenimport
Die Verarbeitungsdauer eines Imports hängt von mehreren Faktoren ab. Viele Objekte mit vielen Anhängen neu zu erstellen dauert natürlich länger als wenige Objekte ohne Anhang zu aktualisieren.
Grundsätzlich gibt es keine speziellen Anforderungen an den Webserver. ImmoImport läuft auf Shared Webhosting Paketen wie auf einem Dedicated Server. Auf einem Standard Shared Webhosting Paket wurden folgende Zeiten ausgemittelt für den Datenabgleich:
- Neues Objekt mit 10 Anhängen anlegen und alle Objektattribute hinterlegen: ca. 0,2 Sekunden
- Oder hochskaliert, 100 solcher Objekte werden in ca. 20 Sekunden erstellt, oder 300 Objekte in ca. 60 Sekunden
- Objekt mit 10 Anhängen aktualisieren und alle Objektattribute auf neuen Stand bringen: ca. 0,1 Sekunden
- Oder hochskaliert, 100 solcher Objekte werden in ca. 10 Sekunden aktualisiert, oder 300 Objekte in ca. 30 Sekunden
Eine Begrenzung der maximalen Objektanzahl beim Import existiert nicht. Das Modul kann mit 3 oder 300 Objekten umgehen. Je größer der Objektbestand, um so performanter sollte der Webserver sein. Schneller Server gleich schneller Import.
Bei größeren Objektbeständen mit vielen Anhängen kann eine Optimierung der Einstellungen oder ein Hosting Wechsel notwendig werden. Für den Umgang mit großen Dateien sollte entsprechend PHP Speicher zur Verfügung stehen. Die maximale PHP Ausführungszeit sollte ebenfalls flexibel sein. Damit jeder Import (auch große) stets komplett durchlaufen wird.
Die Import Logik selbst achtet auf eine möglichst performante Verarbeitung. So werden bestehende Daten und Objekte möglichst erhalten, ohne stumpfes löschen und neu anlegen. Bestehende Anhänge werden nur dann aktualisiert, wenn sich etwas an den Anhängen geändert hat.
Objekte auf der Website
Verfügbare Objekte werden im Normalfall in die Website eingebunden. Für den Zugriff auf sämtliche Objektdaten wird die ProcessWire API benutzt. Alle Daten liegen klar geordnet im System vor, als Seiten mit Feldern. Der Zugriff darauf erfolgt so einfach wie auf jeden anderen ProcessWire Inhalt.
Die Präsentation von Objekten kann simpel bis komplex ausfallen. Von der Kurzliste ohne Bilder bis zur mehrsprachigen Präsentation mit Suchmasken und spezieller Aufbereitung von Objektattributen plus Karten.
Eine Art „Standard Theme“ ergibt in der Welt von ProcessWire wenig Sinn. Vielmehr werden hilfreiche Funktionen für die neutrale Einbindung von Objektdaten und Anhängen in beliebigen Templates mitgeliefert. Jeweils mit Beispielen und Erklärungen zum besseren Verständnis (in deutsch). Durch Anpassung und Erweiterung lassen sich schnell alle denkbaren Präsentationen umsetzen und jedes Detail optimieren. Vom Bildzuschnitt bis zur Festlegung der Nachkommastellen einer Zahl. Enthaltene Funktionen & Beispiele:
- Objekte zählen, nach beliebigen Attributen suchen und listen
- Titelbild in Anhängen finden und ausgeben
- Anhänge wie Bilder finden und ausgeben
- Formatierung von Preisen, Zahlen und Flächenangaben
- Kurzexposé und Energiepass aus Objektattributen erzeugen
- Objektattribute einzeln abfragen, verarbeiten und ausgeben
- Objektattribute frei in Listen zusammenfassen und formatiert ausgeben
- die wichtigsten Objektattribute in bereits vordefinierten Listen (Basisdaten)
- eigene Objektattribute beliebig definieren und formatiert ausgeben
ImmoImport 1.3.6+ enthält Funktionen für die Zuordnung, Aufbereitung und formatierte Ausgabe der 400+ Objektattribute.
Minimale Anforderungen
ImmoImport funktioniert mit ProcessWire ab Version 3.0.148 und PHP 7.2. Empfohlen wird ProcessWire 3.0.184+ und PHP 8+. Der Feldtyp „Dezimal“ ist erforderlich für die korrekte Abbildung von Flächen- und Preisangaben in Systemfeldern. Dieser Feldtyp ist ab 3.0.184 im Core enthalten und wird in allen vorherigen Versionen als Zusatzmodul installiert (Info & Download).
Die zu importierenden Daten müssen im OpenImmo XML Format ab Version 1.2.6 vorliegen. Alle Anhänge und Objektdaten (XML) müssen in der übertragenen ZIP Datei enthalten sein (Standard).
Nutzung und Lizenzierung
Diese Software basiert auf dem Gedanken der fairen Nutzung. Sie kann kostenfrei ausführlich getestet und genutzt werden ohne Einschränkungen in der Grundfunktion. Der unlizenzierte Modus ist allerdings in der maximalen Anzahl der öffentlichen Objekte auf 10 beschränkt.
ImmoImport kann mit einem Freischaltschlüssel jederzeit in den lizenzierten Modus wechseln. Damit entfallen alle funktionalen Beschränkungen.
Die Lizenzgebühr pro Domain beträgt 1.023,40 € für deutsche Kunden (enthält 19,00 % USt. 860,00 € netto + 163,40 € USt.). Einmalgebühr, kein Abo, keine zeitlichen Limitierungen, alle Subdomains inklusive. Jede Lizenz ist an eine Domain (domain.tld) und die Hauptversionsnummer (aktuell 1.x) gekoppelt.
ImmoImport erspart Redaktionen wie Entwicklern massiv Zeit und Aufwand. Bitte unterstützen Sie die Entwicklung mit dem Erwerb einer Lizenz für Ihre Domain.
Fragen und Antworten
Support und Erweiterung
Unterstützung bei der Einrichtung ist ebenso möglich wie die Programmierung von maßgeschneiderten Frontend Templates.
Die Logik von ImmoImport kann bei Bedarf auf spezielle Bedürfnisse angepasst und um neue Fähigkeiten erweitert werden. Dabei werden Funktionen dynamisch ersetzt und oder hinzugefügt. Das Modul bleibt dadurch bis zu einem gewissen Grad der Anpassung normal updatefähig.