Immobiliensoftware & CMS für Makler mit Openimmo Import / Export
Datei, Öffnen: Ein Suchdialog, der nur zeigt, was man sehen darf

Datei, Öffnen: Ein Suchdialog, der nur zeigt, was man sehen darf

· Features

benutzerrechte feature maklersoftware suche windows-client

Der letzte Werkstattbericht endete mit einer Ankündigung: ein echter Dokument-Öffnen-Dialog mit Suche über alles, was man sehen darf. Der Hintergrund ist eine kleine Peinlichkeit. Unsere Maklersoftware ist eine Desktop-Anwendung auf .NET, und die Oberfläche kommt aus einem hauseigenen Baukasten, der ursprünglich für dateibasierte Dokumente gebaut wurde. Der Knopf Öffnen auf der Seite Datei tat deshalb bis heute das, was er im Baukasten immer tut: Er öffnete einen Dateidialog. Nur sind unsere Dokumente keine Dateien. Eine Immobilien-Website, eine Vorlage, ein Kontakt — das sind Zeilen auf dem Server, und ein Dateidialog findet davon nichts.

Diese Woche haben wir den Knopf umgehängt. Das klingt nach einer Nachmittagsarbeit. Es waren vier Bauteile, und jedes hatte seine eigene Entscheidung.

Ein Suchbegriff an jedem Datensatz

Eine Suche braucht etwas, worin sie suchen kann. Bisher kannte jeder Datentyp nur seinen Anzeigenamen, und eine Suche über Kontakte, Websites und Vorlagen zugleich hätte eine Abfrage je Typ bedeutet. Jetzt trägt jeder Datensatz einen Suchbegriff — eine Spalte am gemeinsamen Fundament aller Datentypen. Der Server berechnet sie beim Speichern: Beim Kontakt aus Name, E-Mail-Adresse, Telefonnummern und den Firmen, bei der Immobilie aus Objektnummern und Titel, bei der Website aus Name und Adresse.

Und weil Berechnen nicht immer reicht, gibt es einen Schalter. Wer im Eigenschaften-Dialog das Häkchen Manuell setzt, schreibt den Suchbegriff selbst — „Nachbar vom Eckhaus" steht dann an einem Kontakt, den man sonst nie wiederfände. Häkchen weg, und der nächste Speichervorgang stellt den berechneten Standard wieder her. Eine Spalte, ein Schalter, kein zweites Feld.

Eine Entscheidung darunter war weniger offensichtlich: Der Standard des Fundaments ist leer, nicht der Anzeigename. Der Anzeigename eines Firmenmitglieds löst die Firma auf, der einer Datei ihren Ordner — und das Speichern läuft auf einem Arbeitsthread, auf dem die Datenbankschicht keine solchen Nachlader duldet. Drei Tests haben uns das gezeigt, bevor es ein Anwender sehen konnte. Jetzt benennt jeder suchbare Datentyp seine eigenen Felder, und was beim Speichern nachgeladen werden müsste, merkt er sich vorher.

Die Suche läuft auf dem Server

Der Desktop-Client liest seine Daten über einen Lesetunnel, der die Benutzerrechte durchsetzt — davon handelte der letzte Bericht. Die neue Suche geht bewusst nicht durch diesen Tunnel, sondern ist ein eigener Endpunkt: eine einzige Abfrage über die gemeinsame Tabelle aller Datentypen, gefiltert nach Mandant, nach den gesuchten Typen und nach den Datensatzrechten der Rolle. Wer ein Objekt nicht sehen darf, findet es auch nicht über den Umweg der Suche. Das ist keine zweite Rechteprüfung, sondern dieselbe Regel an derselben Stelle.

Gesucht wird je Wort: Alle Wörter müssen vorkommen, * steht für beliebige Zeichen, ? für genau eines. „Meier Berlin" findet den Kontakt, dessen Firma in Berlin sitzt. „LoftPark"* findet den Titel, dessen Mitte man vergessen hat.

Zuletzt geöffnet, auf jedem Rechner

Der zweite Teil des Dialogs ist die Liste der zuletzt geöffneten Dokumente. Der Baukasten hätte sie lokal geführt, als Datei im Profil des Windows-Benutzers. Wir haben sie auf den Server gelegt, je Benutzer, zwanzig Einträge. Ein Makler, der morgens am Schreibtisch und nachmittags am Notebook arbeitet, sieht auf beiden dieselbe Liste. Und weil der Server jede Zeile beim Lesen noch einmal auflöst, verschwindet ein Dokument aus der Liste, sobald es gelöscht wurde oder das Team es einem anderen zugewiesen hat. Die Liste nennt nie etwas, das man nicht öffnen könnte.

Die Liste steckt an zwei Stellen: im Dialog, solange das Suchfeld leer ist, und im Aufklappmenü des Öffnen-Knopfs selbst. Ein Klick, und die Website vom Vormittag ist wieder da.

Dokumente heißen jetzt bei ihrem stabilen Namen

Ein Nebeneffekt, der uns wichtiger ist als der Dialog: Bisher merkte sich ein geöffnetes Dokument seine Website über die laufende Nummer aus der Datenbank. Das reicht, solange die Datenbank dieselbe bleibt. Für eine Recent-Liste, die einen Datenbank-Neuaufbau überleben soll, reicht es nicht. Jetzt tragen Website- und Vorlagen-Dokumente den weltweit eindeutigen Schlüssel ihres Datensatzes, und die Module melden ihre Dokumenttypen an einer zentralen Stelle an — der Dialog kennt kein einziges Modul beim Namen. Wenn im nächsten Schritt Kontakt, Firma und Immobilie eigene Dokumente bekommen, sind das je ein Eintrag in dieser Anmeldung, nicht ein Umbau des Dialogs.

Drei Fundstücke aus dem Livetest

Das erste: Die Suche fand nichts. Gar nichts. Die neue Spalte war da, aber für 26.000 Bestandszeilen leer, weil der Suchbegriff erst beim nächsten Speichern entsteht. Also eine Nachberechnung beim Serverstart — die beim zweiten Anlauf immer noch nichts fand, weil die Datenbank den neuen Schalter an alten Zeilen nicht mit aus, sondern mit nichts belegt hatte. Ein Kriterium, das nichts als aus liest, und die Liste füllte sich.

Das zweite: Eine kopierte Vorlage wurde gefunden, die mitgelieferte nicht. Mitgelieferte Vorlagen gehören einer geteilten Gruppe, die zu keinem Maklerbüro gehört und die der Lesetunnel jedem Benutzer stillschweigend dazurechnet. Die Suche rechnete sie nicht dazu. Jetzt zieht sie denselben Kreis wie der Tunnel — und die Vorlage Standard steht wieder in der Liste.

Das dritte war gar kein Fund dieser Woche, sondern einer aus der letzten: Ein Test im Branch war rot, seit der Wurzelordner eines Mandanten sich gegen jede Zuweisung wehrt. Der Test hatte seinen Ordner direkt unter die Speicherwurzel gehängt und war damit selbst diese Wurzel. Wer einen Branch übernimmt, übernimmt seine roten Tests mit; wir haben ihn mit einer Mandantenwurzel über dem Team-Ordner nachgestellt.

Die Bilanz in Zahlen

  • 1 Spalte und 1 Schalter am Fundament aller Datentypen, 6 Datentypen mit eigenem Suchbegriff
  • 2 neue Endpunkte: Suche und Recent-Liste, beide mit denselben Rechten wie der Tunnel
  • 5 Eigenschaften-Dialoge mit dem Feld Suchbegriff und dem Häkchen Manuell
  • 1 Dialog hinter Datei, Öffnen, der kein Modul beim Namen kennt
  • über 3.500 automatische Tests, alle grün — drei davon haben uns diese Woche vor uns selbst geschützt

Was Anwender davon sehen: einen Öffnen-Knopf, der tut, was er verspricht. Tippen, finden, öffnen — und nur das, was die eigene Rolle sehen darf. Ein Einzelmakler merkt von der Datentrennung nichts. Ein Maklerbüro mit dreißig Leuten merkt, dass die Suche eines Kollegen nicht seine Kontakte ausspuckt.

Der nächste Schritt steht schon in der Anmeldung der Dokumenttypen: Kontakt, Firma, Lead und Immobilie als eigene Dokumente, mit Eigenschaften für den schnellen Dialog und Öffnen für die ganze Akte.

Der Suchbegriff: berechnet oder von Hand

Der Suchbegriff: berechnet oder von Hand

Die Suche findet nur, was die Rolle sehen darf

Die Suche findet nur, was die Rolle sehen darf

Zuletzt geöffnet, auf jedem Rechner dieselbe Liste

Zuletzt geöffnet, auf jedem Rechner dieselbe Liste

Zurück zur Übersicht

Neu Eingestellt

Neu eingestellte Objekte erscheinen zuerst an dieser Stelle. So sehen Sie auf jeder Seite, was zuletzt dazugekommen ist, ohne dafür in die Übersicht wechseln zu müssen. Ein Klick öffnet das jeweilige Exposé mit allen Angaben, Bildern und der Lage auf der Karte. Die vollständige Liste finden Sie unter „Alle Immobilien“.

Haus zur Miete

01723 Wilsdruff

Objekt-Nr.:
MI-062
Kaltmiete:
1.850 EUR
Miete pro m²:
12,01 EUR
Wohnfläche:
154 m²
Zimmer:
5,0

Einfamilienhaus in Wilsdruff zur Miete: 154 m², Wärmepumpe, Garten, zwei Stellplätze

Haus zur Miete

01217 Dresden

Objekt-Nr.:
MI-061
Kaltmiete:
1.520 EUR
Miete pro m²:
14,07 EUR
Wohnfläche:
108 m²
Zimmer:
4,0

Reihenendhaus in Dresden-Mockritz zur Miete: 108 m², Erstbezug, Garten

Wohnung zum Kauf

01309 Dresden

Objekt-Nr.:
MI-060
Kaufpreis:
598.000 EUR
Kaufpreis pro m²:
4.397,06 EUR
Wohnfläche:
136 m²
Zimmer:
4,0

Neubau-Maisonette in Dresden-Striesen: 136 m², KfW 40, Erstbezug

Haus zum Kauf

01067 Dresden

Objekt-Nr.:
MI-059
Kaufpreis:
1.450.000 EUR
Kaufpreis pro m²:
7.250 EUR
Wohnfläche:
200 m²
Zimmer:
7,0

Stadtvilla in Dresden-Innenstadt: 200 m², 620 m² Garten, denkmalgeschützt

Haus zur Miete

01156 Dresden

Objekt-Nr.:
MI-058
Kaltmiete:
1.480 EUR
Miete pro m²:
11,94 EUR
Wohnfläche:
124 m²
Zimmer:
5,0

Doppelhaushälfte in Dresden-Cossebaude zur Miete: 124 m², Garten, Garage

Haus zur Miete

01156 Dresden

Objekt-Nr.:
MI-057
Kaltmiete:
1.050 EUR
Miete pro m²:
11,05 EUR
Wohnfläche:
95 m²
Zimmer:
3,0

Kleines Einfamilienhaus in Dresden-Cossebaude zur Miete: 95 m², Garten, Garage

    Kontaktieren Sie uns

    Software Entwicklung Sieg
    Rhönweg 5 
    01159 Dresden

    info@ses-realestate.com

    Interesannte Links

    Unsere Partner


    Hinweis: Alle Immobilien auf dieser Seite sind frei erfunden. Anschriften, Preise, Flächen und Energieangaben beschreiben keine tatsächlich vorhandenen Objekte, Anfragen werden nicht bearbeitet und ein Vertrag kommt nicht zustande. Was Sie sehen, ist die Oberfläche unserer Software im Betrieb: Suche, Exposé, Merkliste und Karte arbeiten genau so, wie sie es später mit echten Objekten tun.
    ©2026 SES Software Entwicklung Sieg