DE102013203526A1 - Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung - Google Patents

Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung Download PDF

Info

Publication number
DE102013203526A1
DE102013203526A1 DE102013203526A DE102013203526A DE102013203526A1 DE 102013203526 A1 DE102013203526 A1 DE 102013203526A1 DE 102013203526 A DE102013203526 A DE 102013203526A DE 102013203526 A DE102013203526 A DE 102013203526A DE 102013203526 A1 DE102013203526 A1 DE 102013203526A1
Authority
DE
Germany
Prior art keywords
web page
handles
editor
dynamic layout
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102013203526A
Other languages
English (en)
Inventor
Nadav ABRAHAMI
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wix com Ltd
Original Assignee
Wixpress Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wixpress Ltd filed Critical Wixpress Ltd
Publication of DE102013203526A1 publication Critical patent/DE102013203526A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Abstract

Ein Webseiteneditor, der auf einer Rechenvorrichtung implementierbar ist. Der Editor weist eine Editierkomponente für das Editieren einer Webseite zumindest entsprechend dynamischen Layout-Regeln und intelligente Handles zum Aktivieren oder zum Ignorieren der dynamischen Layout-Regeln auf der Webseite auf.

Description

  • Die vorliegende Erfindung betrifft das dynamische Layout und insbesondere die Verwendung von Einstellungs-Handles.
  • Gegenwärtige visuelle Designsysteme verwenden eine WYSIWYG(What You See Is What You Get)-Metapher, um eine zweckmäßige, hochproduktive und einfach zu verwendende Umgebung für die Erzeugung und das Editieren graphischer Anwendungen und Erzeugungen bereitzustellen. Diese Erzeugungen oder Anwendungen können Webseiten, Kataloge, Präsentationen, e-Shops, Flussdiagramme sowie andere Anwendungskategorien einschließen. Diese Erzeugungen werden auf Systeme, die sie auf einem Anzeigebildschirm darstellen, oder auf Systeme, die sie drucken, übertragen. Diese visuellen Designsysteme ermöglichen es dem Designer (und manchmal den Benutzern), die Größe von Komponenten, die sich in Anwendungsseiten befinden, zu ändern und die Komponenten zu verschieben.
  • Ein visuelles Designsystem kann sowohl statischen als auch dynamischen Inhalt in die darin erzeugten Anwendungen integrieren. Statischer Inhalt kann lokal gespeichert werden, und dynamischer Inhalt kann von einer Anzahl von Quellen, wie von der Anwendung selbst, einer Datenbank, externen dynamischen Datenquellen (oder Streams), in der Art eines RSS-Feeds, oder von anderen Benutzern desselben Systems erzeugtem Inhalt ausgehen.
  • Visuelle Designsysteme können alleinstehende Systeme (wie der Microsoft-Visio-Diagrammeditor oder das Microsoft-PowerPoint-Präsentationsprogramm) sein, oder sie können in ein größeres Editiersystem (in der Art des Microsoft-Word-AutoShape-Editors) eingebettet sein.
  • Ein Designer, der ein solches System verwendet, kann eine neue Anwendung von Beginn an (ausgehend von einem leeren Bildschirm) entwickeln, oder er kann sich auf vordefinierte Templates verlassen, die vom Anwendungsdesigner, vom Systemerzeuger oder von der Gemeinschaft der Designer erzeugt worden sind. Wenn ein Template bereitgestellt wird, kann es der Designer nach Wunsch spezifisch einrichten und alle Elemente des Templates hinzufügen, entfernen oder modifizieren, um seine Version des Templates zu erzeugen.
  • Solche Anwendungen bestehen im Allgemeinen aus mehreren Seiten. Eine Anwendung kann eine beliebige Anzahl von Seiten aufweisen, und Seiten können typischerweise vom Systemdesigner und/oder vom Endbenutzer nach Bedarf hinzugefügt oder entfernt werden. Seiten enthalten Komponenten, die weiter entweder als atomar (jene, die nicht in Unterkomponenten zerlegt werden können) oder Container (welche einen gegebenen Bildschirmbereich belegen und eine oder mehrere weitere Unterkomponenten enthalten können) klassifiziert werden können. Komponenten können in der Form und im Inhalt fest sein, auf einem Inhaltsverwaltungssystem beruhen oder auf Benutzerspezifiziertem Inhalt, wie einem Textbereich, in den der Designer Text eingibt, beruhen. Dynamische Komponenten können auf externen Informationen (statisch oder dynamisch) beruhen, wie einem RSS-Feed, der Informationen von einer externen Datenquelle oder den Inhalt einer gegebenen Internetseite darstellt.
  • Containerkomponenten können in einer Anzahl von Ebenen verschachtelt sein und Komponenten mehrerer Typen enthalten. Einige Container sind auch darauf beschränkt, spezifische Klassen von enthaltenen Komponenten zu enthalten, wie ein Fotoalbum-Container, der nur Bildkomponenten enthalten kann. Das Aussehen und Bildschirmbereiche von Komponenten können durch Bewegen, Größenändern, Drehen und ähnliche Operationen modifiziert werden. Ihr Aussehen und ihr Verhalten kann durch verschiedene Modifizierer, wie ein Unscharfmachen und eine Animation, modifiziert werden (wobei die Komponente beispielsweise unscharfe Ränder hat oder durch Ausdehnen von einem einzigen Pixel auf dem Bildschirm erscheint usw.). Während des Anwendungserzeugungs- und Editierprozesses kann der Inhalt einer Komponente auf eine Anzahl von Arten eingegeben und modifiziert werden.
  • Bei visuellen Designsystemen sind typischerweise die Seiten (welche die Komponenten enthalten) sowie die Komponenten selbst (Container und atomare Komponenten) Rechtecke, deren Seiten parallel zueinander und zu den Seiten des Anzeigebildschirms sind. Sie sind auch parallel zur X- und Y-Achse des Systems, auf dem die Seiten dargestellt oder gedruckt werden. In manchen Fällen sind die Komponenten selbst keine achsenparallelen Rechtecke. Sie können ein gedrehtes Rechteck sein, aus einer Kombination angehängter Rechtecke bestehen oder eine ganz andere Form aufweisen. In diesen Fällen behandeln visuelle Designsysteme (und ihr Layout-Verwaltungselement) die Komponenten typischerweise unter Verwendung eines minimal einschließenden achsenparallelen Rechtecks pro Komponente, das die unregelmäßig geformte Komponente enthält.
  • Komponenten brauchen keine zueinander exklusive Bildschirmbereiche belegen, und sie können einander tatsächlich geometrisch schneiden. Eine Komponente kann sich auch vollständig innerhalb der Grenzen einer anderen Komponente befinden. Die Bildschirmbereichsüberlappung kann mit einer logischen Einschließung gekoppelt sein (d. h. die Komponente ”gehört” zu einem gegebenen Container und bewegt sich mit dem Container, wohin immer er geht), oder sie kann eine lediglich geometrische Überlappung sein, die auf keiner Einschließungsbeziehung beruht. Immer dann, wenn sich Komponenten schneiden, steuert eine Anzeigepriorität, welche jeder Komponente zugeordnet ist, welche Komponente über welcher Komponente dargestellt wird. Ein visuelles Designsystem verwendet typischerweise einen Layout-Manager, der Komponentenorte, -größen, die Darstellungsreihenfolge und verwandte Punkte verwaltet.
  • Visuelle Designsysteme können häufig als Absolutpositionssysteme oder Relativpositionssysteme (nachstehend in weiteren Einzelheiten beschrieben) klassifiziert werden. Bei absoluten Positionierungssystemen liegt der Brennpunkt auf der genauen Komponentenpositionierung. Der Ort der Komponente wird als ein absoluter Positionswert (x, y) in Bezug auf die enthaltende Einheit definiert, ob in Bezug auf die Seite selbst oder auf einen Container, der die Komponente enthält. Die Position wird typischerweise als ein Versatz zwischen der oberen linken Ecke der enthaltenden Einheit und der oberen linken Ecke der Komponente ausgedrückt.
  • Bei relativen Positionierungssystemen liegt der Brennpunkt auf dem Konzept des Flusses oder der natürlichen Reihenfolge. Das System ordnet Komponenten entlang einem logischen Inhaltsfluss an, der typischerweise der Lesereihenfolge der Komponenten entspricht, wann immer eine solche Reihenfolge anwendbar ist. Beispielsweise ist ein Textverarbeitungsprogramm für die Sprache Englisch im Wesentlichen ein Layout-System für Zeichen (und Wörter), das die natürliche Lesereihenfolge der englischen Sprache (von oben nach unten und dann von links nach rechts) verwendet, um die dargestellten Zeichen und Wörter anzuordnen. Ein anderes Beispiel ist ein Blogeditiersystem (in der Art der von wordpress.org kommerziell erhältlichen Wordpress-Blogging-Plattform), das Seitenelemente (Blogeinträge, Rückantworten usw.) entsprechend einem natürlichen Lesefluss auf einer Seite anordnet.
  • Demgemäß werden die Komponenten in einem relativen Positionierungssystem in Bezug zueinander positioniert, so dass eine Komponente (in Bezug auf die Position) nach Ende der Darstellung einer vorhergehenden Komponente dargestellt wird. Existierende absolute und relative Positionierungssysteme definieren sowohl eine Standardbildschirmgröße als auch eine Seitengröße, die für alle dargestellten Seiten verwendet wird. Alle relativen Positionierungssysteme (und einige absolute Positionierungssysteme) können diese Größe nach Bedarf erhöhen, um dem Hinzufügen von Inhalt zu der Seite Rechnung zu tragen.
  • Visuelle Designsysteme, die eine absolute Positionierung verwenden, sind am besten für das exakte Layout und das exakte Design der dargestellten Seite geeignet. Eine solche exakte Anordnung ermöglicht es, dass Komponenten geeignet in der Größe festgelegt, positioniert und auf dem angezeigten Bildschirm ausgerichtet werden. Beispielsweise werden, wie in 1 dargestellt ist, die Komponenten [a], [b], [c] und [d] auf der Seite P angeordnet. Die Komponenten [e] und [f] werden dann in dem verfügbaren Platz (der Seite Q) hinzugefügt, so dass alle geeignet ausgerichtet werden – [a], [e] und [c] in der ersten Reihe und [b], [f] und [d] in der zweiten Reihe – ohne dass es erforderlich wäre, Komponenten beiseite zu drücken oder den korrekten Lesefluss zu berechnen.
  • Es gibt auch zwei Haupttypen von absoluten Positionierungssystemen, nämlich Randbedingungs-basierte Systeme und Anker-basierte Systeme. Die Typen schließen einander nicht aus, und Systeme können Elemente beider Systeme enthalten. Bei visuellen Designsystemen können Randbedingungen und Anker explizit durch den Designer (durch die Systembenutzer-Schnittstelle) spezifiziert werden oder auf der Grundlage des existierenden Komponenten-Layouts und existierender Informationen automatisch durch das System abgeleitet werden. Bei einem Randbedingungs-basierten System definiert der Designer dynamische mathematische Randbedingungen zu den Beziehungen zwischen den auf dem Bildschirm vorhandenen Komponenten. Bei Anker-basierten Systemen wird das dynamische Layout in Bezug auf zwischen Komponenten und Rahmenelementen sowie zwischen den Komponenten selbst festgelegte Anker definiert.
  • Das dynamische Layout, die automatische Einstellung von Komponenten entsprechend ihrem Inhalt, um auf eine Seite zu passen, ist auf dem Fachgebiet bekannt. Bei existierenden System ist das dynamische Layout typischerweise in relativen (an Stelle von absoluten) Positionierungssystemen vorhanden. Aktuelle verfügbare Verfahren stellen sowohl manuelle als auch automatische Lösungen unter Verwendung von Standardverfahren in der Art des Verankerns bereit. Das dynamische Layout umfasst das Bewegen und Größenverändern von Komponenten auf dem Bildschirm auf der Grundlage dynamischer Layout-Trigger. Diese Trigger können Inhaltsänderungen, mehrere Zielplattformen (Darstellung der Anwendung unter Verwendung verschiedener Technologien auf verschiedenen Betrachtungsplattformen), mehrere Bildschirmgrößen (Darstellung der Anwendung unter Verwendung einer Anzahl von Anzeigen mit unterschiedlichen Größen und Auflösungen), dynamische Daten (die Verwendung von Komponenten, die dynamische Daten enthalten, welche sich im Laufe der Zeit ändern), Endbenutzeränderungen und Anwendungsinitiierte Layout-Änderungen enthalten.
  • Es wird nun auf 2 Bezug genommen, worin die Implementation des dynamischen Layouts an Komponenten [a] und [b], die sich auf einer Seite W befinden, dargestellt ist. Wie ersichtlich ist, befindet sich die Komponente [a] etwas über der Komponente [b] mit einer kleinen Trennung zwischen ihnen. Während des Editierens beginnt sie, wenn die Komponente A nach unten bewegt wird, die Komponente [b] zu überlappen und zu verbergen, wie auf Seite X dargestellt ist. In einem solchen Szenario wäre es wünschenswert, auch die Komponente [b] entsprechend nach unten zu bewegen, um den Inhalt der Komponente [b] zu betrachten, wie auf Seite Y dargestellt ist, oder sogar ihre Größe entsprechend zu ändern (d. h. sie zu verkleinern), wie auf Seite Z dargestellt ist, ohne den Inhalt der Komponente [b] aus dem Sichtfeld zu verlieren. Solche Änderungen umfassen nicht nur Modifikationen am Inhalt der dargestellten Komponenten ([a], [b]), sondern auch Modifikationen an ihrem Stil und anderen Darstellungsparametern in der Art der Textgröße und des Textfonts.
  • Die am 20. Februar 2013 eingereichte US-Patentanmeldung 13/771 119, die auf den Erwerber der vorliegenden Erfindung übertragen wurde, beschreibt das dynamische Layout und dynamische Layout-Regeln in weiteren Einzelheiten und wird hier durch Verweis aufgenommen.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist ein Webseiteneditor vorgesehen, der auf einer Rechenvorrichtung implementierbar ist. Der Editor weist eine Editierkomponente zum Editieren einer Webseite zumindest gemäß dynamischen Layout-Regeln und intelligente Handles zum Aktivieren oder Ignorieren der dynamischen Layout-Regeln auf der Webseite auf.
  • Ferner weist der Webseiteneditor gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung auch auf: ein Handle-Modul zum Empfangen durch an den Webseitenelementen entsprechend mindestens einer der intelligenten Handles vorgenommene Änderungen ausgelöster Ereignisse und einen Koordinator zum Koordinieren dynamischer Layout-Aktualisierungen entsprechend den Ereignissen und zugeordneten dynamischen Layout-Regeln.
  • Ferner weist der Webseiteneditor gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung auch eine Datenbank zum Speichern von Elementen der Webseite und der zugeordneten Regeln auf.
  • Ferner weisen die Ereignisse gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung Attribut- und Parameterwerte auf.
  • Zusätzlich sind die intelligenten Handles gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung mindestens eine von einer dynamischen Layout-Handle und einer Handle zum Überschreiben des dynamischen Layouts.
  • Weiter weist der Webseiteneditor gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung auch eine Schnittstellenvorrichtung zur Darstellung der intelligenten Handles auf.
  • Ferner ist die Darstellung der intelligenten Handles gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zumindest eines von folgenden: entsprechend der Funktionalität der intelligenten Handles vom Designer definiert und entsprechend der Funktionalität der intelligenten Handles vom Webseiteneditor definiert.
  • Ferner ist die Darstellung der intelligenten Handles gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zumindest eines der folgenden: unsichtbar, transparent und ein Darstellungskonstrukt des Webseiteneditors.
  • Zusätzlich weist das Handle-Modul gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung einen Modifizierer zum manuellen Modifizieren der Darstellung und der Funktionalität der intelligenten Handles unter Verwendung zumindest einer der folgenden auf: einer Tastatur, einer Maus und einem Touchscreen.
  • Ferner umfassen die Aktualisierungen gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung die Manipulation der Webseitenelemente gemäß den Ereignissen und den zugeordneten Regeln.
  • Überdies definieren die Regeln gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung die Beziehungen zwischen den Webseitenelementen und mindestens einem anderen sekundären Webseitenelement.
  • Ferner sind die Beziehungen gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zumindest einer von expliziten Ankern, automatischen Ankern und semi-automatischen Ankern.
  • Ferner sind Webseitenelemente gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zumindest eine von einer Komponente und einem Framework.
  • Gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung ist ein Verfahren zum Editieren einer Webseite vorgesehen, wobei das Verfahren folgende Schritte aufweist: Editieren einer Webseite zumindest entsprechend dynamischen Layout-Regeln und Aktivieren oder Ignorieren der dynamischen Layout-Regeln auf der Webseite unter Verwendung intelligenter Handles.
  • Überdies weist das Verfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung auch folgende Schritte auf: Empfangen durch an den Webseitenelementen entsprechend mindestens einer der intelligenten Handles vorgenommene Änderungen ausgelöster Ereignisse und Koordinieren dynamischer Layout-Aktualisierungen entsprechend den Ereignissen und zugeordneten dynamischen Layout-Regeln.
  • Überdies weist das Verfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung das Speichern der Webseitenelemente und der zugeordneten Regeln in einer Datenbank auf.
  • Ferner weisen die Ereignisse gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung Attribut- und Parameterwerte auf.
  • Überdies weist das Verfahren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung auch das Darstellen der intelligenten Handles auf.
  • Zusätzlich ist die Darstellung der intelligenten Handles gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zumindest eines von folgenden: entsprechend der Funktionalität der intelligenten Handles vom Designer definiert und entsprechend der Funktionalität der intelligenten Handles vom Webseiteneditor definiert.
  • Überdies ist die Darstellung der intelligenten Handles gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung zumindest eines von folgenden: unsichtbar, transparent und ein Darstellungskonstrukt des Webseiteneditors.
  • Ferner weist das Empfangen gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung das Modifizieren der Darstellung und der Funktionalität der intelligenten Handles unter Verwendung zumindest einer von einer Tastatur, einer Maus und einem Touchscreen auf.
  • Ferner weist das Koordinieren gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung die Manipulation der Webseitenelemente entsprechend den Ereignissen und den zugeordneten Regeln auf.
  • Der als die Erfindung angesehene Gegenstand wird im abschließenden Teil der Beschreibung eingehend dargelegt und gesondert beansprucht. Die Erfindung kann jedoch in Hinblick auf die Organisation und das Betriebsverfahren zusammen mit ihren Aufgaben, Merkmalen und Vorteilen am besten anhand der folgenden detaillierten Beschreibung beim Lesen in Zusammenhang mit der anliegenden Zeichnung verstanden werden.
  • Es zeigen:
  • 1 eine schematische Darstellung der Verwendung der absoluten Positionierung beim Webseitendesign,
  • 2 eine schematische Darstellung der Verwendung des dynamischen Layouts während der Online-Editierung,
  • 3 eine schematische Darstellung der Verwendung einer spezifischen Handle für das Modifizieren des für einen existierenden Anker spezifizierten Abstands,
  • 4 eine schematische Darstellung einer spezifischen Handle für das Modifizieren eines komplexen Mehrkomponentenankers,
  • 5 eine schematische Darstellung der Verwendung von Einstellungs-Handles für das visuelle Editieren,
  • 6 eine schematische Darstellung der Verwendung des inneren Bereichs einer Komponente für eine Positionsänderung,
  • 7 eine schematische Darstellung eines Systems zur Verwendung intelligenter Handles für das Auslösen oder Ignorieren dynamischer Layout-Regeln für eine bestimmte Komponente gemäß der vorliegenden Erfindung,
  • 8 eine schematische Darstellung der Verwendung mehrerer Handles für das Ermöglichen oder Deaktivieren des dynamischen Layouts für das automatische Verankern gemäß der vorliegenden Erfindung,
  • 9 eine schematische Darstellung der Verwendung mehrerer Handles für das Ermöglichen oder Deaktivieren des dynamischen Layouts für das explizite Verankern gemäß der vorliegenden Erfindung,
  • 10 eine schematische Darstellung einer nähebasierten automatischen Ankererzeugung gemäß der vorliegenden Erfindung,
  • 11 eine schematische Darstellung der Verwendung mehrerer Handles für das Spezifizieren verschiedener Näheschwellen für die nähebasierte automatische Ankererzeugung gemäß der vorliegenden Erfindung,
  • 12 eine schematische Darstellung der Verwendung mehrerer Handles für das Steuern einer expliziten Ankerbrechregel gemäß der vorliegenden Erfindung und
  • 13 eine alternative Ausführungsform für die Installation des Systems aus 7 gemäß der vorliegenden Erfindung.
  • Es sei bemerkt, dass die in den Figuren dargestellten Elemente aus Gründen der Einfachheit und Klarheit der Erläuterung nicht notwendigerweise maßstabsgerecht gezeichnet sind. Beispielsweise können die Abmessungen einiger der Elemente aus Gründen der Klarheit in Bezug auf andere Elemente übertrieben sein. Ferner können Bezugszahlen, wo dies als angemessen angesehen wird, zwischen den Figuren wiederholt werden, um entsprechende oder analoge Elemente anzugeben.
  • In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Einzelheiten dargelegt, um ein gründliches Verständnis der Erfindung zu ermöglichen. Fachleute werden jedoch verstehen, dass die vorliegende Erfindung auch ohne diese spezifischen Einzelheiten verwirklicht werden kann. In anderen Fällen wurden wohlbekannte Verfahren, Prozeduren und Komponenten nicht detailliert beschrieben, um die vorliegende Erfindung nicht unklar zu machen.
  • Es sei bemerkt, dass es bei existierenden auf dem Fachgebiet bekannten Systemen häufig mehrere komplexe Regeln gibt, welche die Anwendung des dynamischen Layouts bestimmen. Diese können vom Designer spezifizierte Anker oder Randbedingungen sowie vom System automatisch oder semi-automatisch erzeugte Anker oder Randbedingungen einschließen. Ein dynamisches Layout-System ist sehr gut im Behandeln von Änderungen an einer im Wesentlichen abgeschlossenen Anwendungsseite, d. h. wenn lokale Änderungen auf spezifische Komponenten angewendet werden und der Designer das allgemeine Aussehen und Erscheinungsbild der entwickelten Seite behalten möchte, insbesondere wenn das Design im Wesentlichen abgeschlossen ist.
  • Allerdings kann es ein Designer während des Entwickelns einer Seite manchmal wünschen, einige schnelle Änderungen an bestimmten Komponenten vorzunehmen, wobei es sich um Änderungen handeln kann, die das bestehende Aussehen und Erscheinungsbild des Seitendesigns umbrechen könnten, um ein neues und besseres Design zu erzeugen. Die Situation kann auch komplexer sein, weil es mehrere vordefinierte dynamische Layout-Regeln geben kann, und der Designer kann es wünschen, eine gegebene Komponente oder einen gegebenen Satz von Komponenten zu modifizieren, wobei er einige der festgelegten dynamischen Layout-Regeln aktiviert und andere umgeht.
  • Es wird nun auf 3 Bezug genommen, worin zwei Komponenten [a] und [b] dargestellt sind, die durch einen Anker E miteinander verankert sind, so dass sich bei einer Bewegung der Komponente [a] nach unten auch die Komponente [b] nach unten bewegt. Der Designer möchte den unteren Rand a1 der Komponente [a] mit den unteren Rändern der Komponenten [c] und [d] ausgerichtet bewegen, ohne die Komponente [b] zu beeinflussen.
  • Es wird nun auf 4 Bezug genommen, worin ein anderes Beispiel einer Situation dargestellt ist, in der das Überschreiben eines dynamischen Layouts erforderlich sein kann. Wie dargestellt, ist die Komponente [a] durch den Anker A mit den Komponenten [b1], [b2] und [b3] verankert. Der Designer möchte die Komponente [a] zu einer neuen Position (wie durch die Komponente [a2] dargestellt ist), deren Position sowohl horizontal als auch vertikal abweicht, repositionieren. Der Designer kann es auch wünschen, den Anker A intakt zu halten, ohne die Komponenten [b1], [b2] und [b3] zu beeinflussen oder zu bewegen, er kann jedoch die Komponenten [c] und [d] nach rechts bewegen möchten.
  • Es sei bemerkt, dass häufig eine einfache Lösung, wie das Abschalten des dynamischen Layouts während einer Editiersitzung, keine vollständige Lösung für den Bereich von Regelausnahmeszenarien bietet und dass viele existierende Systeme diese Ausschaltoption nicht bereitstellen. Eine andere einfache Lösung, nämlich das Entfernen der an der gegebenen Komponente angebrachten Anker, das Editieren der Komponente und das Neuerzeugen der Anker, kann sehr schwer zu implementieren oder verwenden sein. Ferner können einige der Anker automatisch oder semi-automatisch sein und sind möglicherweise nicht durch den Designer selbst erzeugt worden, wodurch es für den Designer schwieriger wird, sie zu entfernen und wiederherzustellen. Zusätzlich kann diese Lösung sehr arbeitsintensiv werden, sobald Komponenten zahlreiche daran angebrachte Anker zu haben beginnen.
  • Es sei auch bemerkt, dass die meisten visuellen Designsysteme (und viele andere Systeme) Handles (auch als Einstellungs-Handles bekannt) als die Hauptbenutzerschnittstellenvorrichtung verwenden, durch die Komponenten visuell manipuliert werden. Handles werden typischerweise in Ecken und/oder Randzentren der Komponenten bereitgestellt und ermöglichen das Verschieben der Komponenten, das Ändern ihrer Größe und möglicherweise das Drehen von ihnen, wie in 5 dargestellt ist, worauf nun Bezug genommen wird. Es können auch zusätzliche Editiermechanismen bereitgestellt werden, wie (beispielsweise) ein Dialogkästchen, welches das direkte Festlegen der geometrischen Eigenschaften (wie Höhe und Breite) einer Komponente ermöglicht. Diese Aktionen (Verschieben, Größe Ändern und Drehen) können manchmal unter Verwendung der Nicht-Handle-Bereiche der Komponente erreicht werden. Insbesondere können viele auf dem Fachgebiet bekannte Systeme das Ändern der Größe von Komponenten durch Ziehen eines Teils eines Komponentenrands ermöglichen (beispielsweise die Größenänderung von Tabellenzeilen und spalten in Microsoft Word). Ferner können es viele Systeme ermöglichen, dass eine Komponente durch Ziehen eines beliebigen Bereichs innerhalb der Komponente verschoben wird, wie in 6 dargestellt ist, worauf nun Bezug genommen wird.
  • Anwender haben erkannt, dass die Verwendung mehrerer anpassbarer Einstellungs-Handles mit dynamischen Layout-Regeln integriert werden kann, um Aktionen mit verschiedenen zugeordneten Parametern zu aktivieren. Anwender haben ferner erkannt, dass dies in Situationen besonders nützlich sein kann, in denen eine einzige Operation (wie ”Verschieben einer Komponente”) mehrere stark abweichende Semantiken infolge der Verwendung mehrerer parametrisierter dynamischer Layout-Regeln und der Kombination expliziter und automatischer Anker haben kann.
  • Es wird nun auf 7 Bezug genommen, worin ein System 100 für die Verwendung intelligenter Handles für das Auslösen oder Ignorieren dynamischer Layout-Regeln für eine bestimmte Komponente dargestellt ist. Im Interesse der Klarheit wird ein Web-basiertes Seiteneditiersystem als ein Beispiel eines visuellen Designsystems verwendet. Das System 100 kann einen dynamischen Layout-Editor 105 und eine Webseite 110 aufweisen. Der dynamische Layout-Editor 105 kann einen dynamischen Layout-Koordinator 120 und eine Datenbank 130 aufweisen. Die Datenbank 130 kann die dynamischen Layout-Regeln in Zusammenhang mit der Webseite 110 sowie Informationen zu den Komponenten, ihrem Inhalt und ihrer Anordnung enthalten. Die Webseite 110 kann ein Handle-Modul 140 und einen internen Komponentenaktualisierer 150 aufweisen. Das Handle-Modul 140 kann einen manuellen Modifizierer 145 aufweisen. Es sei bemerkt, dass die Webseite 110 Handles H1, H2 und H3 als Teil ihrer Benutzerschnittstelle bieten kann, um Komponenten zu verschieben und/oder ihre Größe zu ändern. Das Handle-Modul 140 kann die Anzeige der Handles H1, H2 und H3 steuern und jegliche von einem Designer und/oder einem Benutzer an Komponenten über Handles H1, H2 und H3 vorgenommene Änderungen interpretieren. Der manuelle Modifizierer 145 kann es dem Designer 5 ermöglichen, die vordefinierte Anzeige und/oder Funktionalität der Handles H1, H2 und H3 zu überschreiben, wie nachstehend in weiteren Einzelheiten beschrieben wird. Es sei bemerkt, dass das System 100 lokal oder auf einem Remote-Server, auf den durch ein Kommunikationsmedium zugegriffen wird (wie nachstehend in weiteren Einzelheiten beschrieben wird), installiert sein kann. Aus Gründen der Klarheit wird ein lokal installiertes System 100 erörtert.
  • Der Benutzer 5 kann sich entscheiden, die Größe, Form oder Position einer bestimmten Komponente X unter Verwendung der von der Webseite 110 für die Komponente X bereitgestellten verfügbaren Handles (H1, H2 und H3) manuell einzustellen. Das Handle-Modul 140 kann jegliche vom Benutzer 5 unter Verwendung der Handles H1 und H2 vorgenommene Änderungen empfangen und diese Informationen zum dynamischen Layout-Koordinator 120 weiterleiten. Es sei bemerkt, dass ein durch eine Handle ausgelöstes Ereignis Aktionen in Zusammenhang mit einer einzigen oder mit mehreren Handles aufweisen kann. Der dynamische Layout-Koordinator 120 kann dann innerhalb der Datenbank 130 prüfen, ob es zur Komponente X gehörende dynamische Layout-Regeln gibt, wie das Verankern an einer nahe gelegenen Komponente. Der dynamische Layout-Koordinator 120 kann dann den internen Komponentenaktualisierer 150 über an der Komponente X und/oder anderen Komponenten vorzunehmende betreffende Änderungen informieren. Der interne Komponentenaktualisierer 150 kann dann die erforderlichen Einstellungen vornehmen. Es sei bemerkt, dass die Handle H3 eine Handle zum Überschreiben des dynamischen Layouts sein kann und daher keine sichtbare dynamische Layout-Aktivität auslösen kann, aber dennoch eine interne dynamische Layout-Aktivität, wie das Ändern der Länge eines Ankers usw., hervorrufen kann. Die Handle H3 kann es daher ermöglichen, dass eine Komponente verschoben wird oder dass ihre Größe geändert wird, ohne dass benachbarte Komponenten beeinflusst werden.
  • Es sei bemerkt, dass es zwei mögliche Konventionen für das Verwenden intelligenter Handles in Zusammenhang mit dynamischen Layout-Regeln geben kann. Die erste ist das standardmäßige dynamische Layout, wobei die für die Komponenten vorgesehenen gewöhnlichen Einstellungs-Handles als Auslöser für die dynamische Layout-Aktivität wirken. Es können auch getrennte Handles bereitgestellt werden, die die dynamische Layout-Auslösung entweder vollständig oder für spezifische Anker und/oder Regeln absichtlich umgehen. Die zweite Konvention ist standardmäßig kein dynamisches Layout. In diesem Szenario lösen gewöhnliche Handles keine dynamischen Layout-Ereignisse aus, und es sind spezifische Handles vorgesehen, die dynamische Layout-Ereignisse auslösen. Es kann auch eine Kombination beider Konventionen verwendet werden.
  • Es sei ferner bemerkt, dass ein Designer unter Verwendung eines Typs eines visuellen Attributs (wie Form, Farbe oder Animation), ihrer Position an der betreffenden Randkomponente oder über eine Pop-up-Meldung oder ein Graphiksymbol, das auftauchen kann, wenn sich die Maus dem Handle-Bereich nähert, zwischen den verschiedenen vorstehend erörterten Handle-Typen unterscheiden kann. Es sei auch bemerkt, dass Handles unsichtbar oder virtuell sein können, wobei sie verschiedene Darstellungsverfahren haben können, wie die Verwendung eines spezifischen Bereichs (innerhalb oder außerhalb des eigentlichen Komponentenbereichs) als eine Handle, die Verwendung eines Teils einer anderen Steuerstruktur (in der Art der Komponentenbegrenzung) zur Bereitstellung einer zusätzlichen Handle-Funktion und die Verwendung eines anderen Bereichs oder Komponentenelements als oben, wobei sich bei einer Annäherung der Maus, einem Überstreichen mit der Maus oder bei einem Mausklick eine visuelle Eigenschaft des Bereichs ändert.
  • Es sei bemerkt, dass visuelle Editiersysteme typischerweise spezifische Handles für die Hauptdesignfunktionen, wie das Verschieben und Größenändern, bereitstellen. Daher kann zum Steuern eines automatischen Ankers für jede gewünschte Funktion, die jegliche dynamische Layout-Regeln überschreiben kann und außerhalb der Regeln liegen kann, eine andere Handle bereitgestellt werden. Es wird nun auf 8 Bezug genommen, worin ein Beispiel eines dynamischen Layouts nach der Standardkonvention für automatische Anker dargestellt ist. Die Komponente [a] hat vier Handles b1 (nach unten), b2 (nach oben), b3 (nach rechts) und b4 (nach links) gewöhnlicher Größe. Die Komponente [a] kann auch zusätzliche das dynamische Layout überschreibende Abwärts/Aufwärts-Größenänderungs-Handles c1 (nach unten) und c2 (nach oben) aufweisen, die nur in den spezifischen Richtungen auftreten, in denen das dynamische Layout verfügbar ist, d. h. wo die Komponente [a] einen automatischen Anker haben kann. In Szenario I kann das System 100, wenn die Komponente [a] unter Verwendung der gewöhnlichen Handle b1 nach unten ausgedehnt wird, ausgelöst werden, wobei es einen automatischen Anker zwischen a1, dem unteren Rand der Komponente [a], und d1, dem oberen Rand der Komponente [d], erzeugt, sobald der Abstand zwischen a1 und d1 kleiner als ein Schwellenwert x wird. Wenn dies geschieht, kann die Komponente [a] die Komponente [d] nach unten drücken, um Platz für die Ausdehnung der Komponente [a] zu schaffen. In den Szenarien II und III wird die Größenänderungs-Handle c1 an Stelle der gewöhnlichen Handle b1 verwendet, so dass jegliche vorgegebenen dynamischen Layout-Regeln überschrieben werden und ermöglicht wird, dass die Komponente [d] an derselben Position bleibt, wenn die Größe der Komponente [a] nach unten zur Komponente [d] geändert wird (Szenario II) oder die Komponente [a] die Komponente [d] vollkommen überlappt (Szenario III).
  • Explizite Anker können in ähnlicher Weise behandelt werden. Es sei bemerkt, dass explizite Anker permanent sind, bis sie vom Designer entfernt werden. Die zusätzlichen Einstellungs-Handles können nur an den Rändern auftreten, die explizite Anker haben, und nicht an den Rändern, bei denen dies nicht der Fall ist. Es wird nun auf 9 Bezug genommen, worin ein Beispiel eines dynamischen Layouts nach der Standardkonvention für explizite Anker dargestellt ist. Die Komponente [a] hat an allen vier Rändern gewöhnliche Größenänderungs-Handles (b1, b2, b3, b4), jedoch nur am oberen und am rechten Rand, womit die expliziten Anker verbunden sind, das dynamische Layout überschreibende Größenänderungs-Handles c1 und c2. In Szenario I kann eine Größenänderung der Komponente [a] nach oben oder nach rechts unter Verwendung der Handles b1 oder b2 die expliziten Anker D1 und D2 (respektive) aktivieren und die Komponenten [e] und [f] entsprechend verschieben. In Szenario II kann eine Größenänderung unter Verwendung der Handles c1 und c2 die Größe der Komponente [a] ändern, ohne die Komponenten [e] und [f] zu beeinflussen.
  • Es sei bemerkt, dass die Webseite 110 mehrere Handles darstellen kann, die das System 100 veranlassen können, verschiedene Parameterwerte für die gleichen Layout-Regeln zu verwenden. Es wird nun auf 10 Bezug genommen, worin eine dynamische Layout-Regel dargestellt ist, bei der die Komponente [a] verschoben wird und einen Abstand von weniger als X Pixel von der Komponente [b] erreicht, wodurch ein automatischer Anker zwischen den Komponenten [a] und [b] erzeugt wird und die Komponente [b] dementsprechend nach unten gedrückt wird. Allerdings kann die Webseite 110 zwei verschiedene Handle-Typen (c und d) bereitstellen, um die in 11 dargestellte Komponente [a] zu behandeln, worauf nun Bezug genommen wird. Wenn die Handle c verwendet wird, um den unteren Rand a1 der Komponente [a] nach unten zu verschieben, wie in Szenario I dargestellt ist, wird der Wert von X als Abstandsschwelle verwendet. Ebenso wird, wenn die Handle d verwendet wird, der Wert von Y als Abstandsschwelle verwendet. Auf diese Weise kann der Designer Komponenten umher bewegen und sich der Vorteile des dynamischen Layouts während des Editierens erfreuen und leicht Bereiche erzeugen, in denen Komponenten dicht beieinander angeordnet oder weit voneinander beabstandet sind. Dies kann erreicht werden, ohne zwischen Systemmodi umschalten zu müssen oder mehrere Änderungen pro Komponente oder pro Ankereinstellung während des Editierens vorzunehmen.
  • Es sei bemerkt, dass von der Webseite 110 verschiedene Handles verwendet werden können, um zu steuern, ob dynamische Layout-Regeln zu aktivieren sind oder nicht, und dass die Regeln selbst von Handle zu Handle variieren können. Es sei ferner bemerkt, dass Handles für spezifische Regeln oder Regelgruppen zugewiesen werden können. Es können auch Handles zugewiesen werden, welche existierende Regeln oder Regelgruppen deaktivieren oder überschreiben. Es sei ferner bemerkt, dass ein Benutzer oder Designer auf verschiedenen Ebenen Handles auf Regeln abbilden kann, wie auf der Ebene des gesamten Systems, auf einer spezifischen Anwendungsebene (beispielsweise als Teil der Anwendungserzeugungsinformationen) oder sogar auf der Ebene einer Seite, eines Containers, einer Komponente oder einer Komponentenklasse. Handles können durch das System 100 auch mittels des Handle-Moduls 140 automatisch konfiguriert werden, auf dessen Grundlage Regeln auf eine bestimmte Komponente auf der Grundlage des Typs und der Position der Komponente innerhalb einer Seite sowie entsprechend existierender Anker, nahe gelegener Komponenten oder anderer Kriterien, angewendet werden können. Handles können auch auf der Grundlage der Geschichte der Verwendung von Regeln und/oder Handle-Typen durch einen spezifischen Benutzer automatisch konfiguriert werden. Beispielsweise kann das System 100 Regeln für das dynamische Layout horizontaler Ränder und das dynamische Layout vertikaler Ränder bereitstellen. Es können zwei Handle-Typen bereitgestellt werden. Der erste Typ kann das Verschieben einer Komponente ermöglichen, während alle Regeln berücksichtigt werden, einschließlich Anker für horizontale Ränder und vertikale Ränder. Der zweite Typ kann das Verschieben einer Komponente ermöglichen, während nur Regeln für den horizontalen Rand berücksichtigt werden und die Regeln für den vertikalen Rand ignoriert werden. Auf diese Weise kann ein Designer eine Komponente umher bewegen, wobei er alle relevanten Regeln aktiviert, die horizontale Ränder betreffen, und individuell festlegt, welche Regeln für vertikale Ränder zu verwenden sind. Die Funktionalität von Handles kann vom Designer 5 auch unter Verwendung einer Tastatur, einer Maus oder eines Touchscreens von Hand umkonfiguriert werden. In diesem Szenario kann der manuelle Modifizierer 145 die vordefinierte Funktionalität für die im Handle-Modul 140 enthaltene betreffende Handle überschreiben.
  • Es wird nun auf 12 Bezug genommen, worin eine Komponente [a] dargestellt ist, die zwischen den Komponenten [b] und [c] verschoben worden ist. Die Komponenten [b] und [c] sind durch einen Anker D miteinander verankert. In Szenario I wird die Komponente [a] unter Verwendung der Handle a1 verschoben, wodurch der Anker D gebrochen wird. In Szenario II wird die Komponente [a] unter Verwendung der Handle a2 verschoben, und der Anker D wird nicht gebrochen.
  • Es sei bemerkt, dass es visuelle Editiersysteme manchmal einem Endbenutzer (statt dem Designer) erlauben, begrenzte Layout-Editieroperationen durch direktes Manipulieren der Größe und/oder der Position einiger der Komponenten auszuführen, wodurch eine dynamische Layout-Einstellung während der Laufzeit erforderlich ist, um Benutzeränderungen zu kompensieren. Es sei ferner bemerkt, dass die Webseite 110 Designern und Endbenutzern verschiedene Sätze von Handles zeigen kann. Beispielsweise kann das System 100 für die Verwendung durch den Designer Handles bereitstellen, die das dynamische Layout (vollständig oder nur spezifische Regeln) umgehen, und Endbenutzern nur gewöhnliche dynamische Layout-Handles bereitstellen. Das System 100 kann Designern Handles für alle Komponenten bereitstellen und Endbenutzern nur Handles für spezifische Komponenten bereitstellen. Das System 100 kann Designern auch einen Satz von Handles mit spezifischen Parametern und Endbenutzern einen Satz von Handles mit verschiedenen stärker einschränkenden Parametern bereitstellen.
  • Es sei auch bemerkt, dass, wenn mehrere Einstellungs-Handles für eine bestimmte Komponente bereitgestellt werden, die visuelle Überlastung zu groß werden kann, insbesondere für kleine Komponenten oder kleine Komponentenränder, die nicht genügend Platz für das Anbringen mehrerer Handles haben können. Ein Weg zum Verringern der Anzahl der erforderlichen Handles kann in der Verwendung einer Auswahl mehrerer Handles bestehen. Bei diesem Verwendungsmodus kann jede Handle eine andere spezifische Funktion haben. Der Designer kann wünschen, die auf mehrere Handles abgebildeten Funktionen zu verwenden und sie auf eine einzige an der Komponente ausgeführte Operation, wie das Verschieben von ihr oder das Ändern, ihrer Größe, anwenden. Dies kann durch Ausführen einer Mehrfachauswahloperation erreicht werden, um mehrere Auswahlen unter den an einer gegebenen spezifischen Komponente oder einem gegebenen spezifischen Komponentenrand verfügbaren Handles vorzunehmen. Die Verwendung einer Auswahl mehrerer Handles kann es (beispielsweise) ermöglichen, dass drei Handles sieben verschiedene Funktionskombinationen (7 = 23 – 1) repräsentieren.
  • Es sei auch bemerkt, dass die Anzahl der verwendeten Handles durch dynamisches Darstellen nur der relevantesten Handles verringert werden kann. Ein Beispiel hiervon ist (wie vorstehend beschrieben wurde) eine Größenänderungs-Handle, die dargestellte explizite Anker nur für Ränder beeinflusst, die diese expliziten Anker aufweisen. Es können auch andere Kriterien verwendet werden, um die Darstellung von Handles zu verringern, wie Handles, die auf der Grundlage auf eine gegebene Komponente auf der Grundlage des Komponententyps, der Position, benachbarter Komponenten usw., anwendbarer Regeln dargestellt werden. Handles können auch entsprechend ihrer Verwendungsgeschichte dargestellt werden, wobei beispielsweise Handle-Typen, die von einem Designer in jüngerer Zeit verwendet wurden, eine höhere Priorität hätten als jene, die nur selten verwendet wurden. Für alle vorstehend erwähnten Fälle kann eine Darstellungspriorität zugewiesen werden, und es werden nur Handles mit den höheren Prioritäten dargestellt.
  • Ein alternatives Verfahren zum Verringern der Anzahl der dargestellten Handles besteht in der Verwendung von Maus-, Tastatur- oder Bildschirmgesten in Zusammenhang mit der Verwendung spezifischer Handles, um sie zu verschieben bzw. zu entfernen. Beispiele können unter anderem darin bestehen, dass eine Handle gezogen wird, während eine gegebene Tastaturtaste gedrückt gehalten wird, um die Funktion der Handle zu ändern, und dass eine Handle gezogen wird, während bei einer Maus, die mit zusätzlichen Steuertasten versehen ist, eine Maustaste gedrückt gehalten wird. Andere Beispiele können ohne Einschränkung darin bestehen, dass eine Komponente oder ein Rand unter Verwendung eines Touchscreens gezogen wird und vorübergehend auf einen Bildschirmmodifizierbereich geklickt wird oder eine Taste mit der gleichen Wirkung gedrückt wird, wobei die Wirkung entweder kontinuierlich ist (bis erneut gedrückt wird) oder auf die vordefinierte dynamische Layout-Operation beschränkt ist, die gleich nach dem vorübergehenden Klick ausgeführt wird. Es sei bemerkt, dass der manuelle Modifizierer 145 dieses manuelle Überschreiben der Handle-Darstellungsparameter, die im Handle-Modul 140 enthalten sind, ausführen kann.
  • Es sei bemerkt, dass die Implementation mehrerer Handles unter Verwendung des Handle-Moduls 140 in Zusammenhang mit der Webseite 110 vorgenommen werden kann. Es sei bemerkt, dass die Handles unter Verwendung der verschiedenen vorstehend beschriebenen Definitionen erzeugt werden können, wie Handles, die auf spezifische dynamische Layout-Regeln abgebildet sind, Handles, die von der Existenz spezifischer Ankertypen abhängen, Handles, die vom Benutzer definiert wurden und auf gegebene dynamische Layout-Regeln abgebildet wurden, und Handles, die auf der Geschichte der Verwendung der Handles durch den Benutzer beruhen. Das Handle-Modul 140 kann die Webseite 110 anweisen, alle anwendbaren Handles darzustellen. Das Handle-Modul 140 kann die Webseite 110 auch anweisen, einen kleineren Handle-Satz entsprechend verschiedenen vorstehend beschriebenen Prioritäten darzustellen. Es sei bemerkt, dass die Darstellung von Handles auch ganz unterdrückt werden kann (für Handles, die vollkommen unsichtbar oder virtuell sind) oder auf der Grundlage der Mausposition usw. bedingt sein kann.
  • Gemäß einer alternativen Ausführungsform der vorliegenden Erfindung kann das System 100 auf einem Remote-Server installiert sein, der es ermöglichen kann, dass die Webseite 110 mehr als einem Benutzer gleichzeitig zugänglich ist. Es sei bemerkt, dass der an einem Client 200A arbeitende Benutzer 5A die Handle H1 verwenden kann, um ein dynamisches Layout-Ereignis auszulösen, das nicht nur eine Aktualisierung für eine bestimmte Komponente auf seinem Bildschirm erfordern kann, sondern auch an dem Bildschirm des Clients 200B, den der Benutzer 5B betrachten kann. Es wird nun auf 13 Bezug genommen, worin ein System 100A dargestellt ist, das eine alternative Ausführungsform des Systems 100 für die Verwendung intelligenter Handles ist, um dynamische Layout-Regeln für eine bestimmte Komponente auszulösen oder zu ignorieren. In diesem Szenario ist zu verstehen, dass der dynamische Layout-Koordinator 120 den internen Komponentenaktualisierer 150 anweisen kann, die Komponente X lokal auf dem Client 200A zu aktualisieren, und auch den externen Aktualisierer 180 anweisen kann, die auf dem Client 200B dargestellte Komponente X zu aktualisieren. Es sei auch bemerkt, dass das System 100 mit einem größeren Softwaresystem (wie Facebook) integriert werden kann, um eine Rich-Media-Anwendung für Editier-, Layout- und Darstellungsdienste innerhalb dieses größeren Softwaresystems bereitzustellen.
  • Sofern nichts anderes spezifisch ausgesagt wird, wird anhand der vorstehenden Erörterungen verständlich geworden sein, dass in der gesamten Beschreibung Erörterungen, die Begriffe wie ”Verarbeiten”, ”Berechnen”, ”Rechnen”, ”Bestimmen” oder dergleichen verwenden, die Aktion und/oder Prozesse eines Computers, Computersystems oder einer ähnlichen elektronischen Rechenvorrichtung betreffen, die Daten, die als physikalische Größen, beispielsweise elektronische Größen, innerhalb der Register und/oder Speicher des Computersystems dargestellt sind, in andere Daten manipuliert und/oder transformiert, die in ähnlicher Weise als physikalische Größen innerhalb der Speicher, Register oder einem anderen derartigen Informationsspeicher, Übertragungsvorrichtung oder Anzeigevorrichtung des Computersystems dargestellt sind.
  • Ausführungsformen der vorliegenden Erfindung können eine Vorrichtung zum Ausführen der hier vorgestellten Operationen aufweisen. Diese Vorrichtung kann für die gewünschten Zwecke speziell konstruiert sein, oder sie kann einen Computer für allgemeine Zwecke aufweisen, der durch ein in dem Computer gespeichertes Computerprogramm selektiv aktiviert oder rekonfiguriert wird. Ein solches Computerprogramm kann in einem computerlesbaren Speichermedium gespeichert werden, wie beispielsweise, ohne Einschränkung, irgendeinem Typ einer Platte, einschließlich Disketten, optischen Scheiben, magnetooptischen Platten, Nurlesespeichern (ROMs), Compact-Disc-Nurlesespeichern (CD-ROMs), Direktzugriffsspeichern (RAMs), elektrisch programmierbaren Nurlesespeichern (EPROMs), elektrisch löschbaren und programmierbaren Nurlesespeichern (EEPROMs), magnetischen oder optischen Karten, einem Flash-Speicher oder einem anderen Typ eines Mediums, das für das Speichern elektronischer Befehle geeignet ist und mit einem Computersystembus gekoppelt werden kann.
  • Die hier vorgestellten Prozesse und Anzeigen beziehen sich nicht inhärent auf irgendeinen bestimmten Computer oder eine andere Vorrichtung. Verschiedene Systeme für allgemeine Zwecke können mit Programmen gemäß den hier dargelegten Lehren verwendet werden, oder es kann sich als zweckmäßig erweisen, eine spezialisiertere Vorrichtung zum Ausführen des gewünschten Verfahrens zu konstruieren. Die gewünschte Struktur für eine Vielzahl dieser Systeme wird anhand der nachstehenden Beschreibung verständlich sein. Zusätzlich werden Ausführungsformen der vorliegenden Erfindung nicht mit Bezug auf eine bestimmte Programmiersprache beschrieben. Es sei bemerkt, dass eine Vielzahl von Programmiersprachen verwendet werden kann, um die hier beschriebenen Lehren der Erfindung zu implementieren.

Claims (22)

  1. Webseiteneditor, der auf einer Rechenvorrichtung implementierbar ist, wobei der Editor aufweist: eine Editierkomponente für das Editieren einer Webseite zumindest gemäß dynamischen Layout-Regeln und intelligente Handles zum Aktivieren oder zum Ignorieren der dynamischen Layout-Regeln auf der Webseite.
  2. Webseiteneditor nach Anspruch 1, welcher auch aufweist: ein Handle-Modul zum Empfangen durch an den Webseitenelementen entsprechend mindestens einer der intelligenten Handles vorgenommene Änderungen ausgelöster Ereignisse und einen Koordinator zum Koordinieren dynamischer Layout-Aktualisierungen entsprechend den Ereignissen und zugeordneten dynamischen Layout-Regeln.
  3. Webseiteneditor nach Anspruch 1, welcher auch eine Datenbank zum Speichern von Elementen der Webseite und der zugeordneten Regeln aufweist.
  4. Webseiteneditor nach Anspruch 2, wobei die Ereignisse Attribut- und Parameterwerte aufweisen.
  5. Webseiteneditor nach Anspruch 1, wobei die intelligenten Handles zumindest eine von einer dynamischen Layout-Handle und einer Handle zum Überschreiben des dynamischen Layouts sind.
  6. Webseiteneditor nach Anspruch 1, welcher auch eine Schnittstellenvorrichtung zur Darstellung der intelligenten Handles aufweist.
  7. Webseiteneditor nach Anspruch 6, wobei die Darstellung der intelligenten Handles zumindest eines von folgenden ist: entsprechend der Funktionalität der intelligenten Handles vom Designer definiert und entsprechend der Funktionalität der intelligenten Handles vom Webseiteneditor definiert.
  8. Webseiteneditor nach Anspruch 6, wobei die Darstellung intelligenter Handles zumindest eines von folgenden ist: unsichtbar, transparent und ein Darstellungskonstrukt des Webseiteneditors.
  9. Webseiteneditor nach Anspruch 2, wobei das Handle-Modul einen Modifizierer zum manuellen Modifizieren der Darstellung und der Funktionalität der intelligenten Handles unter Verwendung mindestens einer von einer Tastatur, einer Maus und einem Touchscreen aufweist.
  10. Webseiteneditor nach Anspruch 2, wobei die Aktualisierungen die Manipulation der Webseitenelemente entsprechend den Ereignissen und den zugeordneten Regeln aufweisen.
  11. Webseiteneditor nach Anspruch 1, wobei die Regeln die Beziehungen zwischen Webseitenelementen und mindestens einem anderen sekundären Webseitenelement definieren.
  12. Webseiteneditor nach Anspruch 11, wobei die Beziehungen zumindest einer von expliziten Ankern, automatischen Ankern und semi-automatischen Ankern sind.
  13. Webseiteneditor nach Anspruch 1, wobei die Webseitenelemente mindestens eine von einer Komponente und einem Framework sind.
  14. Verfahren zum Editieren einer Webseite, welches folgende Schritte aufweist: Editieren einer Webseite zumindest entsprechend dynamischen Layout-Regeln und Aktivieren oder Ignorieren der dynamischen Layout-Regeln auf der Webseite unter Verwendung intelligenter Handles.
  15. Verfahren nach Anspruch 14, welches auch folgende Schritte aufweist: Empfangen durch an den Webseitenelementen entsprechend mindestens einer der intelligenten Handles vorgenommene Änderungen ausgelöster Ereignisse und Koordinieren dynamischer Layout-Aktualisierungen entsprechend den Ereignissen und zugeordneten dynamischen Layout-Regeln.
  16. Verfahren nach Anspruch 14, wobei auch die Webseitenelemente und die zugeordneten Regeln in einer Datenbank gespeichert werden.
  17. Verfahren nach Anspruch 15, wobei die Ereignisse Attribut- und Parameterwerte aufweisen.
  18. Verfahren nach Anspruch 14, wobei auch die intelligenten Handles dargestellt werden.
  19. Verfahren nach Anspruch 18, wobei die Darstellung der intelligenten Handles zumindest eines von folgenden ist: entsprechend der Funktionalität der intelligenten Handles vom Designer definiert und entsprechend der Funktionalität der intelligenten Handles vom Webseiteneditor definiert.
  20. Verfahren nach Anspruch 18, wobei die Darstellung der intelligenten Handles zumindest eines von folgenden ist: unsichtbar, transparent und ein Darstellungskonstrukt des Webseiteneditors.
  21. Verfahren nach Anspruch 15, wobei das Empfangen das Modifizieren der Darstellung und der Funktionalität der intelligenten Handles unter Verwendung zumindest einer von einer Tastatur, einer Maus und einem Touchscreen aufweist.
  22. Verfahren nach Anspruch 15, wobei das Koordinieren die Manipulation der Webseitenelemente entsprechend den Ereignissen und den zugeordneten Regeln aufweist.
DE102013203526A 2012-03-01 2013-03-01 Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung Pending DE102013203526A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261605243P 2012-03-01 2012-03-01
US61/605,243 2012-03-01

Publications (1)

Publication Number Publication Date
DE102013203526A1 true DE102013203526A1 (de) 2013-09-05

Family

ID=48916390

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013203526A Pending DE102013203526A1 (de) 2012-03-01 2013-03-01 Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung

Country Status (3)

Country Link
US (1) US10169307B2 (de)
DE (1) DE102013203526A1 (de)
IL (2) IL225016B (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140149906A1 (en) * 2012-11-26 2014-05-29 Bank Of America Corporation Electronic Bookshelf
US9507520B2 (en) 2013-12-16 2016-11-29 Microsoft Technology Licensing, Llc Touch-based reorganization of page element
CA3024078C (en) 2016-05-29 2024-04-09 Wix.Com Ltd. Creation and update of hierarchical websites based on collected business knowledge
US11449573B2 (en) 2016-07-27 2022-09-20 Wix.Com Ltd. System and method for smart interaction between website components
CA3030814A1 (en) * 2016-07-27 2018-02-01 Wix.Com Ltd. System and method for implementing containers which extract and apply semantic page knowledge
CA3117852A1 (en) 2018-11-14 2020-05-22 Wix.Com Ltd. System and method for creation and handling of configurable applications for website building systems
USD924892S1 (en) * 2019-10-15 2021-07-13 Canva Pty Ltd Display screen or portion thereof with graphical user interface
US11269501B2 (en) * 2019-11-13 2022-03-08 Figma, Inc. System and method for implementing design system to provide preview of constraint conflicts
US11733973B2 (en) 2020-09-16 2023-08-22 Figma, Inc. Interactive graphic design system to enable creation and use of variant component sets for interactive objects

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5570281A (en) 1995-01-31 1996-10-29 International Business Machine Corporation Method and system for facilitating visual connections between objects using handles
US5649133A (en) 1995-06-13 1997-07-15 Apple Computer, Inc. Method for collision avoidance for user interface for object with multiple handles
CA2175148C (en) * 1996-04-26 2002-06-11 Robert Cecco User interface control for creating split panes in a single window
US7567916B1 (en) * 2000-09-12 2009-07-28 Capital One Financial Corporation System and method for performing Web based in-view monitoring
US20050108620A1 (en) * 2003-11-19 2005-05-19 Microsoft Corporation Method and system for selecting and manipulating multiple objects
JP4332477B2 (ja) * 2004-08-06 2009-09-16 キヤノン株式会社 レイアウト調整方法及び装置並びにプログラム
JP4829662B2 (ja) * 2006-04-05 2011-12-07 キヤノン株式会社 自動レイアウトシステムおよび情報提供方法およびサーバーシステム
US8489984B1 (en) * 2006-04-27 2013-07-16 Oracle America, Inc. Cross platform layout
US8117556B2 (en) * 2008-03-31 2012-02-14 Vistaprint Technologies Limited Target-alignment-and-drop control for editing electronic documents
US8171401B2 (en) * 2009-06-19 2012-05-01 Microsoft Corporation Resizing an editable area in a web page
US9043698B2 (en) * 2011-03-28 2015-05-26 Aleksandar Tucovic Method for users to create and edit web page layouts
US8949321B2 (en) * 2012-09-28 2015-02-03 Interactive Memories, Inc. Method for creating image and or text-based projects through an electronic interface from a mobile application

Also Published As

Publication number Publication date
IL225016A0 (en) 2013-06-27
IL225016B (en) 2020-03-31
US20130232403A1 (en) 2013-09-05
IL273456A (en) 2020-05-31
US10169307B2 (en) 2019-01-01

Similar Documents

Publication Publication Date Title
DE102013203526A1 (de) Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung
DE102013202782A1 (de) Server-basiertes Webseiten-Designsystem, das ein dynamisches Layout und dynamischen Inhalt integriert
DE69629120T2 (de) Lesehilfe
DE60109434T2 (de) Systeme und verfahren zur erzeugung von visuellen darstellungen von graphischen daten
DE60314563T2 (de) Überlagerung mit elektronischer Tinte
DE10051680B4 (de) Schema zur Darstellung mehrerer Druckauftragsabänderungselemente in einer Drucksoftware-Benutzerschnittstelle
DE69726167T2 (de) Verfahren zur verwaltung der darstellung von bildschirmanzeigen in einer multifenster-rechnungsumgebung
DE69817634T2 (de) Vorrichtung und Verfahren zur Anzeige von Fenstern
DE202004009752U1 (de) Computersystem mit einer Benutzerschnittstelle, Datenträger und Signalfolge
DE69909886T2 (de) Elektronisches Notizbuch zum Festhalten von Entwurfsdaten
DE102013203831A1 (de) Verfahren und System für ein Master-Seiten-basiertes integriertes Editieren und eine dynamische Layout-Aktivierung
DE202011110886U1 (de) Synthetische Navigationselemente für elektronische Dokumente
DE102013215438A1 (de) System zum Unterstützen einer flexiblen Farbzuweisung in komplexen Dokumenten
DE112013004457T5 (de) System und Verfahren zum Erzeugen von bearbeiteten Bildern unter Nutzung eines eingebetteten Plug-ins
DE202011110891U1 (de) Scrollen in umfangreichen gehosteten Datenbestand
CH698761B1 (de) Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, Computervorrichtung und Computerprogrammprodukt.
DE10140874A1 (de) Graphische Benutzeroberfläche
DE102018001136A1 (de) Interaktive Farbpalettenschnittstelle zum digitalen Malen
DE112008003584B4 (de) Ein einheitliches Aussehen und Anfühlen schaffende Bios-Graphikmaschine
DE202016107451U1 (de) Systeme zur interaktiven Darstellung eines sichtbaren Teils einer Rendering-Oberfläche auf einem Benutzergerät
EP1536377B1 (de) Verfahren zur Veränderung der Abmessungen eines elektronisch gespeicherten Bildes
DE102012224365A1 (de) Schnelle Cursor-Lokalisierung
DE102015105022B4 (de) Datenverarbeitungsverfahren und Elektronikgerät
DE102012215488A1 (de) Adaptive Anwenderschnittstelle für ein kreatives Multimedia-Gestaltungssystem
DE69930352T2 (de) Verfahren und Vorrichtung zur Animierung von Videospezialeffekten

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE

R081 Change of applicant/patentee

Owner name: WIX.COM LTD., IL

Free format text: FORMER OWNER: WIXPRESS LTD, TEL AVIV, IL

Effective date: 20150227

R082 Change of representative

Representative=s name: VOSSIUS & PARTNER PATENTANWAELTE RECHTSANWAELT, DE

Effective date: 20150227

R012 Request for examination validly filed
R016 Response to examination communication