-
Hintergrund
-
Elektronische Formulare (hierin allgemein als ”Formulare” bezeichnet) erlauben es einem Benutzer, Informationen schnell in einer organisierten Weise einzugeben. Typischer Weise wird ein Autor eines Formulars das Formular so entwerfen, dass es notwendige Information empfängt, indem er Formularfelder bereitstellt, um die Information zu erfassen. Der Benutzer gibt Information in die Formularfelder ein, was es ermöglicht, dass die gewünschte Information erfasst werden kann. Ein Formular erfasst oftmals ähnliche Information wie andere Formulare (z. B. Name, Adresse, und so weiter). Daher mag der Autor eines Formulars wünschen, dass das Formular Felder enthält, die ähnlich sind zu denjenigen eines bestehenden Formulars. Um jedoch das gewünschte Formular zu erstellen, mag es für den Autor jedoch notwendig sein, die Felder von Grund auf neu zu erstellen, oder ein bereits existierendes Formular zu verwenden. Das von Grund auf neu erstellen der Felder mag jedoch langwierig sein, und wenn ein bereits existierendes Formular verwendet wird, mag es sein, dass nicht alle gewünschten Informationen oder Formatierungen für das neue Formular erfasst sind. Und auch wenn es relativ einfach sein mag, ein einzelnes Formular zu erstellen, mag es, wenn der Autor viele Formulare erstellt, unpraktisch sein, neue Felder von Grund auf neu zu gestalten oder bereits bestehende Formulare zu verwenden.
-
Um Formulare schneller zu erstellen können Formularentwurfswerkzeuge verwendet werden. Derzeit erlauben es Formularentwurfswerkzeuge dem Autor, Formfelder oder bestehende Formularfragmente manuell oder mittels einer Ziehen-und-Platzieren bzw. Drag-und-Drop Funktionalität auf einem Formular zu platzieren. Der Autor kann auch ein existierendes Formular als einen Ausgangspunkt verwenden, und die gewünschten Änderungen an dem bestehenden Formular vornehmen. In einem derartigen Szenario muss der Autor jedoch weiterhin nützliche Formularfelder und Fragmente aus einem bestehenden Formular auswählen oder manuell neue Formularfelder und Fragmente erstellen.
-
Zusammenfassung
-
Diese Zusammenfassung wird bereitgestellt, um eine Auswahl von Konzepten in einer vereinfachten Form einzuführen, die in der nachfolgenden detaillierten Beschreibung weiter beschrieben werden. Diese Zusammenfassung ist weder dazu gedacht, Schlüsselmerkmale oder wesentliche Merkmale des beanspruchten Gegenstandes zu identifizieren, noch ist sie dazu gedacht, als eine Hilfe zum Bestimmen des Bereichs des beanspruchten Gegenstandes verwendet zu werden.
-
Ausführungsformen der vorliegenden Erfindung sind auf das Empfehlen von am besten bewerteten Formularfeldern oder Fragmenten für einen Autor oder Entwerfer von Formularen gerichtet. In einigen hierin beschriebenen Ausführungsformen werden Analytikdaten für Formularfelder und Fragmente in Formularen, die in einem Formulararchiv gespeichert sind, gesammelt. Wenn ein Autor oder Entwerfer eines Formulars nach einem Formularfeld oder Fragment sucht, werden basierend auf den gesammelten Analytikdaten, die am besten bewerteten Formularfelder und Fragmente angezeigt. Der Autor oder Entwerfer eines Formulars kann daher eines der am besten bewerteten Formularfelder oder Fragmente zur Verwendung in seinem Formular auswählen.
-
Kurze Beschreibung der Zeichnungen
-
Die vorliegende Erfindung wird nachfolgend im Detail beschrieben werden, mit Bezug auf die beigefügten Zeichnungen:
-
1 zeigt eine Benutzerschnittstelle zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung;
-
2 zeigt eine weitere Benutzerschnittstelle zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung;
-
3 zeigt ein Blockdiagramm eines beispielhaften Systems zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung;
-
4 zeigt ein Flussdiagramm eines Verfahrens zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung;
-
5 zeigt ein Flussdiagramm eines weiteren Verfahrens zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung; und
-
6 zeigt ein Blockdiagramm einer beispielhaften Rechnerumgebung, die geeignet ist, in Implementierungen der vorliegenden Offenbarung verwendet zu werden.
-
Detaillierte Beschreibung
-
Der Gegenstand der vorliegenden Erfindung wird hierin im Detail beschrieben, um die gesetzlichen Vorschriften zu erfüllen. Jedoch ist die Beschreibung selbst nicht dazu gedacht, den Bereich dieses Patents zu beschränken. Vielmehr haben die Erfinder in Betracht gezogen, dass der beanspruchte Gegenstand auch auf andere Weisen verkörpert sein kann, andere Schritte oder Kombinationen von Schritten umfassen mag, die ähnlich zu den in diesem Dokument beschriebenen sind, in Verbindung mit anderen gegenwärtigen oder zukünftigen Technologien. Weiter sollten, auch wenn die Begriffe ”Schritt” und/oder ”Block” hierin verwendet werden mögen, um unterschiedliche Elemente der verwendeten Verfahren zu bezeichnen, die Begriffe nicht so verstanden werden, dass diese irgendeine bestimmte Reihenfolge unter oder zwischen verschiedenen hierin offenbarten Schritten implizieren würden, solange nicht ausnahmsweise die Reihenfolge der einzelnen Schritte explizit beschrieben wird.
-
Derzeit erlauben es Formularentwurfswerkzeuge einem Autor eines Formulars, ein neues Formular zu erstellen, indem Formularfragmente manuell oder mittels einer Ziehen-und-Ablegen bzw. „drag and drop” Funktionalität in das Formular platziert werden. Ein ”Formularfragment” bezieht sich auf eine logische Sammlung von Elementen, die in einem Formular verwendet werden können. Ein Formularfragment kann zum Beispiel ein Formularfeld, ein Panel mit einer Gruppe von Feldern, oder andere Inhaltsdatenstrukturen sein. Ein ”Formularfeld” oder ”Feld” bezieht sich auf ein Benutzereingabefeld, in das ein Benutzer Information eingeben kann (zum Beispiel eine Textbox). Ein ”Panel mit einer Gruppe von Feldern” bezieht sich auf einen Container, der mehr als ein Feld enthält. So können zum Beispiel Textboxen für Vorname, Mittelname und Familienname in einem Panel „persönliche Information” enthalten sein. Ein Panel ermöglicht daher, dass eine logische Gruppe von Formularfeldern in einem einzelnen Formularfragment enthalten sind. Ein Formularfragment kann Formularfragmentattribute wie Validierungsregeln, Formatierungsregeln, Hilfeinhalt, Barrierefreiheitsinhalt oder andere Metadaten, welche das Formularfragment definieren oder beschreiben, besitzen. Zum Beispiel mag eine Validierungsregel für ein Formularfragment nur die Eingabe von Zahlen in das Formularfragment erlauben. In einigen Ausführungsformen mögen die Formularfragmentattribute spezifisch für ein Formularfragment sein und mögen nicht mit anderen Fragmenten geteilt sein. Es sei verstanden, dass Formularfelder in einem Panel Formularfragmentattribute teilen mögen, da sie in demselben Formularfragment enthalten sind. Die Formularfragmentattribute mögen vom Autor definiert sein (wie etwa für ein Formularfragment zum Erfassen spezifischer Informationen zum Sammeln eines spezifischen Informationselements, zum Beispiel Name) oder können durch das System definiert oder implizit definiert sein (wie etwa Regeln für eine Textbox oder eine Gruppe von Radiotasten). So können Formularfragmentattribute für eine Klasse von Feldern zum Beispiel implizit Daten für Elemente dieser Klasse definiert haben (zum Beispiel Größe). Wie hierin verwendet bezieht sich ein „Benutzer” auf eine Person, die Daten in ein Formular eingibt, und ein ”Autor” oder ”Entwerfer” bezieht sich auf eine Person, die ein Formular selbst erstellt und/oder modifiziert. Es sei verstanden, dass ”Autor” und ”Entwerfer” synonym verwendet werden mögen.
-
In herkömmlichen Implementierungen, wenn ein Autor ein neues Formular erstellt und bekannte Formularfragmente verwenden will, muss der Autor manuell existierende Formulare durchsuchen, um die gewünschten Fragmente aufzufinden, und diese dann in das neue Formular platzieren. Ein Autor kann alternativ mit einem existierenden Formular als ein Template beginnen und gewünschte Änderungen an dem Formular vornehmen (zum Beispiel Formularfragmente hinzufügen, modifizieren oder entfernen; Formularfragmentattribute modifizieren und so weiter), um das neue Formular zu erstellen. In beiden Szenarien muss der Autor jedoch mit bereits existierenden Formularen beginnen und bestimmen, welche Formularfragmente verwendet werden sollen. In Fällen, in denen es viele bereits existierende Formulare gibt, stellt dies eine Herausforderung dar, da die Formulare zum Beispiel die Namen von gemeinsamen Formularfragmenten gemeinsam haben mögen (zum Beispiel Name, Sozialversicherungsnummer (”social security number”, SSN), Postleitzahl und so weiter), aber unterschiedlichen Hilfeinhalt oder unterschiedliche Formatierungsregeln haben können. Ein Autor, der ein Formularfragment mit bestimmten Formularfragmentattributen haben möchte, muss daher entweder ein Formularfragment mit den gewünschten Formularfragmentattributen (zum Beispiel Regeln) unter den mehreren bereits existierenden Formularfragmenten auffinden, oder muss die Formularfragmentattribute für ein existierendes Formularfragment modifizieren. Im Allgemeinen ist diese Aufgabe nicht trivial, da der Autor alle der Formularfragmentattribute für das Formularfragment definieren muss, die nicht gegenwärtig mit dem Formularfragment assoziiert sind, oder die geändert werden müssen. Darüber hinaus gibt es keine Möglichkeit, auf einfache Weise die Formularfragmente mit den gewünschten Formularfragmentelementen einzeln aus unterschiedlichen Formularen herauszupicken und auszuwählen.
-
Ein Autor kann auch ein neues Feld erstellen oder ein existierendes Fragment verwenden, wo der Autor ein oder mehrere Felder ausdrücklich als ein Fragment definiert hat, und es als eine wiederverwendbare Komponente für das Erstellen verfügbar gemacht hat. Jedoch werden nur diejenigen Fragmente, die durch den Autor definiert wurden, zur Verwendung bei der Erstellung eines Formulars verfügbar.
-
Ausführungsformen der vorliegenden Erfindung stellen einen Mechanismus bereit, wobei jedes Feld auf einem Formular als implizites Fragment beibehalten und nachverfolgt wird, so dass, wenn ein Autor, der ein neues Formular erstellt, nach einem Feld sucht (zum Beispiel nach Namen, Beschreibung und so weiter sucht), dem Autor alle in Bezug stehenden (das heißt, passenden) Fragmente präsentiert werden. In einigen Ausführungsformen beinhaltet dies alle explizit erstellten Fragmente, sowie auch implizite Fragmente. Daher wird aus jedem Formularfeld, das in irgendeinem Formular verwendet wird, ein wiederverwendbares Artefakt und es kann beibehalten werden mit (a) Metadaten zum Suchen nach dem Feld und (b) Nachverfolgungsdaten von dessen Verwendung zum Bewerten des Feldes. In einigen Ausführungsformen wird das Feld auch Formularfragmentattribute beinhalten, wie Beschränkungen, Regeln, Hilfe und so weiter
-
In dieser Beziehung ermöglichen Ausführungsformen der vorliegenden Erfindung das Bereitstellen vor bereits existierenden Formularfragmenten basierend auf einer Leistungsfähigkeitsbewertung bzw. einem ”performance score”, zur Verwendung durch einen Autor. Zum Beispiel können Formularfragmente, wie bzw. wenn sie in einem Formular verwendet werden, automatisch in einem Formularfragmentarchiv gespeichert werden. Für jedes der Formularfragmente in dem Formularfragmentarchiv werden über die Zeit Analytikdaten gesammelt. Die Analytikdaten können zum Beispiel die Anzahl beinhalten, wie oft auf die Hilfe für das Formularfragment zugegriffen wurde, die Anzahl an empfangenen Validierungsfehlern, oder die Zeit, die mit einem Formularfragment verbracht wird. Der Autor kann nach einem Formularfragment in dem Archiv suchen. Das Archiv kann Formularfragmente abrufen, welche der Suche entsprechen, und die Ergebnisse basierend auf einer Leistungsfähigkeitsbewertung, die aus den Analytikdaten berechnet wird, ordnen. Die Ausführungsformen stellen daher einen Mechanismus für einen Autor bereit, um auf einfache Weise vorbestehende Formularfragmente zu verwenden, ohne die Formularfragmente erstellen oder modifizieren zu müssen, da die abgerufenen Formularfragmente basierend auf deren Leistungsfähigkeit bzw. Performanz geordnet sind.
-
Einige Ausführungsformen stellen einen Mechanismus für eine Suche nach einem Formularfragment in dem Archiv bereit, um zusätzliche kontextuelle Fakturen miteinzubeziehen. Eine Suche, welche zusätzliche kontextuelle Faktoren enthält, mag es dem Autor ermöglichen, nach Formlaren nicht nur auf Basis der Metadaten für ein Formularfragment zu suchen, sondern auch basierend auf kontextueller Information für das Formularfragment. Wenn zum Beispiel das Formularfragment A aus einem bereits existierenden Formular verwendet wird, kann den Formularfragmenten B und C aus demselben Formular eine höhere Gewichtung gegeben werden, wenn eine Suche ausgeführt wird, da der Autor gegenwärtig das Formularfragment A verwendet. In dem obigen Beispiel ist die kontextuelle Information, ob sich das Formularfragment in demselben Formular befindet wie andere Formularfragmente, die verwendet werden (das heißt, eine Beziehung eines Formularfragments zu anderen Formularfragmenten). In einigen Ausführungsformen mögen, wenn mehrere Formularfragmente, die ein selbes Formular bilden, verwendet werden, auch fragmentübergreifende Regeln und Validierungen abgerufen werden, was es dem Autor ermöglicht, nicht nur Formularfragmentattribute beizubehalten, die für ein Formularfragment spezifisch sind, sondern auch diejenigen Formularfragmentattribute für eine Gruppe von Formularfragmenten. Einige Ausführungsformen können auch einen Mechanismus bereitstellen, um Formularfragmente logisch zu verbinden, oder um Formularfragmente zu verwerfen. Zum Beispiel mag ein ”Postleitzahl” Formularfragment die Leistungsfähigkeitsbewertung für Formularfragmente, die sich nicht auf eine Adresse in den Vereinigten Staaten beziehen, senken. Andere kontextuelle Faktoren können das Erstellungsdatum des Formulars, wann das Formular zum letzten Mal verwendet wurde, wann das Formularfragment zum letzten Mal verwendet wurde, wie viele Formulare das Formularfragment enthalten und so weiter, beinhalten.
-
Beispielhafte Benutzerschnittstelle
-
1 und 2 zeigen eine Benutzerschnittstelle zum Empfehlen von Formularfragmenten mit der höchsten Leistungsfähigkeit in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. 1 zeigt eine beispielhafte Benutzerschnittstelle 100 eines Formularentwurfswerkzeugs in Übereinstimmung mit einigen Ausführungsformen. Die Benutzerschnittstelle 100 beinhaltet einen Empfehlungsbereich 110, in welchem ein Autor nach Formularfragmenten aus einem Formulararchiv (nicht dargestellt) suchen kann, und in welchem übereinstimmende bzw. passende Formularfragmente angezeigt werden. Das Formulararchiv kann die am besten bewerteten Formularfragmente zurückliefern zur Betrachtung durch den Autor in der Benutzerschnittstelle 100. Wie in größerem Detail beschrieben werden wird, können die Formularfragmente zum Beispiel unter Verwendung der Analytikdaten bewertet werden, und die am besten abschneidenden (das heißt, die am besten bewerteten) Formularfragmente können der Reihe nach zurückgeliefert werden. Wie in dem Empfehlungsbereich 110 gezeigt, kann der Autor zum Beispiel den Ausdruck ”uuid” in einem Suchfeld 112 eingeben, wenn er nach einer eindeutigen Benutzeridentifikationsnummer (”unique user identification number”, uuid) sucht. Eine Suche in dem Archiv kann darin resultieren, dass als für eine Suche nach „uuid” passende Formularfragmente zurückgeliefert werden, die einer persönlichen Kontonummer („Personal Account Number”, PAN), einem Veteranenangelegenheiten Aktenzeichen („Veterans Affairs”, VA, Aktenzeichen), und einer Sozialversicherungsnummer entsprechen, und der Empfehlungsbereich 110 mag die Ergebnisse als ”PAN” 114, ”VA Aktenzeichen” 116, und ”Sozialversicherungsnummer” 118 anzeigen. Weiter können die zurückgelieferten Formularfragmente nach ihrer Leistungsfähigkeitsbewertung geordnet werden, wobei ”PAN” 114 das Formularfragment mit der besten Bewertung ist und ganz oben angezeigt wird. Der Autor kann jedes der zurückgelieferten Ergebnisse in das Formular ziehen, zum Beispiel ”PAN” 114, um das Formularfragment in das Formular einzufügen. Das Formularfragment mag die Formularfragmentattribute von dessen ursprünglich verwendeten Formular beibehalten. Daher kann der Autor das Formularfragment verwenden, ohne neue Formularfragmentattribute definieren zu müssen (zum Beispiel da das Formularfragment vorbestehende Formularfragmentattribute wie Beschreibung, Hilfe, Formatierung, Bezeichner, Regeln und Inhalt enthält). Dies ermöglicht es dem Autor, Formularfragmente rasch einem Formular hinzufügen zu können, da Formularelemente schnell gefunden werden können und Formularfragmentattribute für die Formularfragmente bereits enthalten sind, so dass Zeit eingespart werden kann, da der Autor nicht alle damit in Bezug stehenden Attribute definieren muss.
-
In einigen Ausführungsformen mag der Empfehlungsbereich 110 einen Fragmentnamen, das Formular, aus welchem das Formularfragment aufgefunden wurde, eine Leistungsfähigkeitsbewertung, und einen Vorschauknopf anzeigen. Im Bereich der hierin beschriebenen Ausführungsformen wird in Betracht gezogen, dass alternativer oder zusätzlicher Inhalt in dem Empfehlungsbereich 110 präsentiert wird. Im Allgemeinen wird ein Autor ein Formularfragment mit der besten Leistungsfähigkeit auswählen. Als solches kann das den Suchkriterien entsprechende Formularfragment mit der höchsten Leistungsfähigkeitsbewertung an erster Stelle aufgeführt werden, um anzuzeigen, dass dieses spezielle Formularfragment basierend auf den Analytikdaten die höchste Leistungsfähigkeit aufweist. 2 zeigt eine beispielhafte Benutzerschnittstelle 200 des Formularentwurfswerkzeugs, worin der Vorschauknopf, wie der Vorschauknopf 219, eines Formularfragments ausgewählt wurde, in Übereinstimmung mit einigen Ausführungsformen. Die Benutzerschnittstelle 200 beinhaltet ein Fragmentvorschaufenster 210, in dem ein Formular angezeigt wird, entsprechend dem in dem Empfehlungsbereich 210 ausgewählten Formularfragment. Wenn zum Beispiel der Autor den Fragmentvorschauknopf 219 für ”Sozialversicherungsnummer” 218 aus dem Empfehlungsbereich 210 auswählt, wird das Fragmentvorschaufenster 220 für ”Sozialversicherungsnummer” 218 in der Benutzerschnittstelle 200 angezeigt. In einigen Ausführungsformen zeigt das Fragmentvorschaufenster 220 das ausgewählte Formularfragment 222 und den Namen des Formulars an, in dem das Formularfragment aufgefunden wird 224. Der Autor kann folglich sehen, wie das Formularfragment in dem ursprünglichen Formular, in dem es erstellt wurde, verwendet wird, und ob das Formularfragment in dem korrekten Kontext verwendet werden wird, wenn es in das Formular, das gegenwärtig erstellt wird, platziert wird. Der Autor kann aus dem Fragmentvorschaufenster 220 weiter sehen, welche anderen Formularfragmente verwendet werden, die in Beziehung zu dem ausgewählten Formularfragment 222 stehen. Wenn der Autor bestimmt, dass das ausgewählte Formularfragment 222 dasjenige ist, das er wünscht, kann der Autor das Formularfragment 222 seinem Formular hinzufügen, zum Beispiel mittels der Ziehen-und-Platzieren Funktionalität. Wenn das Formularfragment nicht das gewünschte Formularfragment ist, kann der Autor ein anderes Formularfragment aus dem Empfehlungsbereich 210 auswählen oder ein neues Formularfragment von Grund auf neu erstellen.
-
Beispielhaftes Empfehlungssystem
-
3 zeigt ein Blockdiagramm eines beispielhaften Systems 300 zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung. Das System 300 beinhaltet eine Formularentwurfskomponente 310, ein Formulararchiv 320, eine Suchmaschine 330, eine Analytikkomponente 340 und eine Bewertungskomponente 350. Es sei verstanden, dass das System 300 nicht auf die vorgenannten Komponenten beschränkt ist, und mehr oder weniger Komponenten umfassen kann. Weiter können die in 3 gezeigten Komponenten kombiniert oder über Komponenten in einem verteilten System hinweg verteilt sein. Zum Beispiel kann, auch wenn die Analytikkomponente 340 und die Bewertungskomponente 350 als separate Komponenten dargestellt sind, es eine einzelne Komponente geben, die sowohl die Analytiken als auch die Bewertungen ausführt.
-
In einigen Ausführungsformen kann die Formularentwurfskomponente 310 auf einer Computervorrichtung arbeiten, die mit einem Autor assoziiert ist, während die anderen Komponenten in einem System arbeiten, auf das über ein Netzwerk zugegriffen werden kann. In einigen Ausführungsformen kann das Formulararchiv 320 auf einem Server arbeiten, und die anderen Komponenten können auf einer Computervorrichtung arbeiten, die mit einem Autor assoziiert ist, wobei die Kommunikation zwischen dem Formulararchiv 320 und den anderen Komponenten über ein Netzwerk ausgeführt wird. In anderen Ausführungsformen mögen alle Komponenten auf der mit dem Autor assoziierten Computervorrichtung residieren. Die Komponenten können, einzeln oder in Kombination, mittels der in 6 beschriebenen Computervorrichtung eingesetzt werden.
-
Die Formularentwurfskomponente 310 kann von einem Autor verwendet werden, um ein Formular zu erstellen. Die Formularentwurfskomponente 310 kann die Benutzerschnittstelle wie in 1 und 2 beschrieben enthalten. Aus der Formularentwurfskomponente 310 kann ein Autor nach einem Formularfragment suchen. Wenn der Autor zum Beispiel zum Beispiel wünscht, nach einer Sozialversicherungsnummer zu suchen, kann der Autor ”Sozialversicherungsnummer” oder ”SSN” in die Formularentwurfskomponente 310 eingeben. Der Autor kann auch ”uuid” oder einen anderen Schlüsselwortindikator für eine Sozialversicherungsnummer eingeben. Sobald die Formularentwurfskomponente 310 Ergebnisse der Suche empfängt (zum Beispiel von der Suchmaschine 330), kann die Formularentwurfskomponente 310 einen Mechanismus bereitstellen, um ein Formularfragment in ein Formular zu platzieren. Zum Beispiel kann die Formularentwurfskomponente 310 die Anzeige von Formularfragmenten, die der Suche entsprechen, veranlassen, die nach Leistungsfähigkeit sortiert sein kann. Die Formularentwurfskomponente 310 kann auch einen Mechanismus für eine Vorschau der Formularfragmente bereitstellen, wie sie in einem der bestehenden Formulare verwendet werden.
-
Nachdem der Autor ein gewünschtes Formularfragment oder eine Menge von Formularfragmenten identifiziert, kann die Formularentwurfskomponente 310 die Erstellung oder Modifikation eines Formulars ermöglichen. Zum Beispiel kann die Formularentwurfskomponente 310 eine Ziehen und Ablegen Funktionalität für Formularfragmente bereitstellen. Es sollte verstanden werden, dass die Ziehen und Ablegen Funktionalität eine Möglichkeit ist, um Formularfragmente in ein Formular einzufügen, und dass es andere Möglichkeiten geben kann, um Formularfragmente einzufügen. Zum Beispiel kann die Formularentwurfskomponente 310 in einem Formular Anker für einzufügende Formularfragmente setzen, und die Formularfragmente können sich standardmäßig auf die Orte der Anker beziehen. Andere Möglichkeiten, um Formularfragmente in ein Formular zu platzieren, können auch angedacht werden.
-
Die Suchmaschine 330 kann den Suchausruck empfangen, der über die Formularentwurfskomponente 310 eingegeben wurde. Nachdem ein Suchausruck oder eine Menge von Suchausrücken empfangen wurde, kann die Suchmaschine 330 das Formulararchiv 320 nach Formularfragmenten durchsuchen, die zu dem Suchausdruck passen, diesem entsprechen oder mit diesem in Beziehung stehen. Die Suchmaschine 330 kann eine Suche nach dem Namen der Formularfragmente in dem Archiv 320 ausführen, oder kann eine Such basierend auf Metadaten für die Formularfragmente ausführen. Formularfragmente können einige Metadaten oder Attribute aufweisen, die mit dem Formularfragment assoziiert sind. Zum Beispiel können die Metadaten einen Bezeichner, einen Namen, einen Hilfeinhalt und so weiter des Formularfragments enthalten. Derartige Metadaten können verwendet werden, um nach relevanten Formularfragmenten zu suchen. Zum Beispiel können Postleitzahl, Post Code und Postindexcode („postal index number”, PIN) ein Tag ”Gebietscode” aufweisen. Wenn daher ein Autor nach ”Gebietskode” sucht, können Formularfragmente für Postleitzahl, Post Code und PIN Code zurückgeliefert werden. Als ein anderes Beispiel kann der Suchausruck ”uuid” als Metadaten in einem Sozialversicherungsnummer Formularfragment enthalten sein, so dass eine Suche nach ”uuid” auch das Sozialversicherungsnummer Formularfragment zurückliefern würde.
-
In einigen Ausführungsformen kann die Suchmaschine 330 auch eine Verarbeitung natürlicher Sprache ausführen. So kann zum Beispiel eine Suche nach ”SSN” oder ”Sozialversicherungsnummer” in beiden Fällen ein Sozialversicherungsnummer Formularfragment abrufen. Als ein weiteres Beispiel kann eine Suche nach „Name” Formularfragmente für Vorname, Nachname, vollständige Namen und so weiter abrufen. In einigen Ausführungsformen kann die Suchmaschine 330 zu dem Suchausdruck in Beziehung stehende Begriffe nachschlagen, und Formularfragmente abrufen, welche den in Beziehung stehenden Begriffen entsprechen. In einigen Ausführungsformen können Formularfragmente basierend auf einem Kontext identifiziert werden. Wenn zum Beispiel mehrere Formularfragmente, die in einem Formular verwendet werden, das gegenwärtig erstellt wird, von demselben Formular hochgezogen werden, kann geschlussfolgert werden, dass andere Formularfragmente, die sich auf das Formular beziehen, ebenfalls erwünscht sind, und daher kann die Suchmaschine 330 in Beziehung stehende Formularfragmente, falls existent, von demselben Quellenformular identifizieren und diesen Formularfragmenten eine höhere Leistungsfähigkeitsbewertung (die später beschrieben werden wird) geben.
-
Das Formulararchiv 320 kann die Formulare, die von dem Autor erstellt wurden, oder Teile davon, speichern. Wenn ein Autor ein neues Formular erstellt, kann das neue Formular, und alle dessen Formularfragmente (einschließlich Formularfeldern), in dem Formulararchiv 320 gespeichert werden. Das Formulararchiv 320 kann Formulare und Referenzen auf die Formularfragmente der Formulare speichern. Wenn daher die Suchmaschine 330 eine Suche ausführt, kann nach den Formularfragmenten gesucht werden. In einigen Ausführungsformen werden alle Formulare, die von einem Autor erstellt werden, automatisch in dem Formulararchiv 320 gespeichert. In anderen Ausführungsformen werden nur diejenigen Formulare in dem Formulararchiv 320 gespeichert, die der Autor spezifiziert. Weiter braucht das Formulararchiv keine Formulare speichern und kann ein virtuelles Archiv sein, das Referenzen auf jedes Formularfragment unterhält, das auf einem Formular auftaucht. In einigen Ausführungsformen mag das Formulararchiv 320 nur die Formularfragmente speichern, mit Referenzen auf die Formulare, auf denen die Formularfragmente aufgefunden werden (oder nur ausdrücklich erstellte Fragmente). Wenn daher Formularfragmente abgerufen werden, kann auch das Formular abgerufen werden, auf dem die Fragmente aufgefunden werden. In einigen Ausführungsformen kann das Formulararchiv 320 global für eine Gruppe von Autoren oder eine Organisation sein. In anderen Ausführungsformen mag das Formulararchiv 320 nur Formulare für einen einzelnen Autor speichern.
-
Die Analytikkomponente 340 kann über die Zeit Analytikdaten für die Formularfragmente in dem Formulararchiv 320 sammeln. Wenn zum Beispiel ein Formular in dem Formulararchiv ein Formularfragment für Sozialversicherungsnummer enthält, kann die Analytikkomponente 340 nachverfolgen, wie häufig auf die Hilfe für das Formularfragment zugegriffen wird, die Anzahl an empfangenen Validierungsfehlern (zum Beispiel wie oft die Benutzer ihre Antwort auf Grund eines Formatierungsfehlers in ihrer Antwort neu eingeben mussten), und die auf einem Formularfragment verbrachte Zeit und so weiter. In einigen Ausführungsformen können die Analytikdaten mit Hilfe einer JavaScript Bibliothek zur Laufzeit gesammelt werden, während der Benutzer mit dem Formular interagiert. Jedes Element der gesammelten Analytikdaten kann ein Ereignis sein. In einigen Ausführungsformen kann die JavaScript Ereignislogik Anweisungen umfassen, um Warteschlangen zu implementieren, um Ereignisse in einer Stapelverarbeitung an die Analytikkomponente 340 zu senden (konfigurierbare Stapelgröße/Verzögerung, nach der ein Stapel gesendet wird), um die Netzwerkverwendung zu optimieren. Diese Sammlung und/oder Analyse kann periodisch oder kontinuierlich ausgeführt werden. Wenn zum Beispiel ein Benutzer ein Formular verwendet, können Analytikdaten der Formularfragmente gesammelt werden, wenn ein Ereignis auf dem Formularfragment auftritt. Wenn ein Benutzer zum Beispiel eine große Zeitdauer auf einem bestimmten Formularfragment verbringt, kann dies ein Anzeichen dafür sein, dass das Formularfragment fehlerhaft ist oder schwierig zu verwenden ist. Diese Information kann für alle Benutzer des Formulars gesammelt werden, so dass die Leistungsfähigkeit der Formularfragmente verglichen werden kann mit der Leistungsfähigkeit ähnlicher Formularfragmente. Auch wenn die Anzahl, wie oft auf die Hilfe für das Formularfragment zugegriffen wurde, die Anzahl an empfangenen Validierungsfehlern und die auf einem Formularfragment verbrachte Zeit beschrieben wurden, können andere Analytikdaten für ein Formularfragment gesammelt werden. Zum Beispiel kann die Anzahl an falsch eingetippten Zeichen gesammelt werden. Weiterhin mögen die Analytikdaten nur für einige der Benutzer gesammelt werden. Zum Beispiel können die Analytikdaten basierend auf Benutzern, die einer bestimmten Bevölkerungsgruppe angehören (zum Beispiel Alter), gesammelt und in diesem Kontext verwendet werden. Die Analytikdaten können in dem Formulararchiv 320 gespeichert werden, oder können getrennt von den Formularfragmenten in dem Formulararchiv 320 gespeichert werden. Zum Beispiel kann die Analytikkomponente 340 Analytikdaten für die Formularfragmente sammeln und speichern.
-
Die Bewertungskomponente 350 nimmt Bezug auf (zum Beispiel empfängt, ruft ab, greift zu auf, und so weiter) die Analytikdaten für die Formularfragmente, welche zu dem Suchausruck passen bzw. mit diesem übereinstimmen, und berechnet eine Bewertung für die Formularfragmente. In einigen Ausführungsformen berechnet die Bewertungskomponente 350 die Bewertungen für die Formularfragmente, wenn sie aus dem Formulararchiv 320 abgerufen werden. In anderen Ausführungsformen berechnet die Bewertungskomponente 350 die Bewertungen für die Formularfragmente in regelmäßigen Intervallen und speichert die Bewertungen zum späteren Abruf. Zum Beispiel kann das Formulararchiv 340 auch eine Bewertung für jedes Formularfragment speichern, die von der Bewertungskomponente 350 berechnet wurde. Um eine Empfehlung des am besten bewerteten Fragments zu geben, können Fragmente, die am wahrscheinlichsten den Suchkriterien entsprechen oder mit diesen in Beziehung stehen, identifiziert werden. Wenn ein Autor eines Formulars zum Beispiel einen Suchausruck in ein Fragmentsuchfeld eingibt, wie etwa das Suchfeld 112 von 1, können die Fragmente, die dem Suchausdruck entsprechen oder mit diesem in Beziehung stehen, in einer Ordnung zurückgegeben werden, so dass der Autor eines Formulars das gewünschte Fragment finden und dieses auf das Formular anwenden kann. In einigen Ausführungsformen kann eine Bewertung für jedes Formularfragment berechnet werden.
-
In einigen Fällen wird, um eine Bewertung für ein Formularfragment zu erzeugen, eine Metrikbewertung für verschiedene Leistungsmetriken berechnet. Die Leistungsmetriken beziehen sich allgemein auf die Leistungsmaße von jedem der Formularfragmente. Die Analytikdaten, die für jedes Formularfragment gesammelt werden, enthalten diese Leistungsmetriken. Zum Beispiel kann die Leistungsfähigkeit eines Formularfragments durch die Zeitdauer gemessen werden, die auf einem Feld verbracht wird. Wenn Analytikdaten mit Bezug auf die auf einem Feld verbrachte Zeit gesammelt werden, können die Metriken gemessen und verwendet werden, um die Leistungsfähigkeit des Feldes zu bestimmen. Wie hierin verwendet werden ”Analytikdaten” und ”Metriken” synonym verwendet. In einigen Ausführungsformen kann die Bewertung eines Formularfragments i für eine gegebene Metrik j ausgedrückt werden durch die Gleichung: s(i,j) = [(sd(j) – k(i,j))/sd(j)·100] worin sd(j) eine Standardabweichung von Werten für alle identifizierten Formularfragmente für die Metrik j ist, und k(i) ist der Wert für die Metrik j für das Formularfragment i. Zum Beispiel sei für die auf einem Formularfragment, zum Beispiel Name, verbrachte Zeit angenommen, dass die Standardabweichung für alle Formularfragmente 50 ist, und der Wert für die Metrik 25 ist. Folglich ist s(Name, verbrachte Zeit) = (50 – 25)/50·100 = 50. Daher wäre die Bewertung für das Formularfragment ”Name” unter der Metrik ”verbrachte Zeit” 50. Abhängig von der gemessenen Metrik kann eine höhere Bewertung eine bessere Leistungsfähigkeit anzeigen. Zum Beispiel kann für die Metrik der Anzahl der Personen, die ein Feld ausfüllen, eine höhere Bewertung eine bessere Leistungsfähigkeit anzeigen. Für andere Metriken ist eine geringere Bewertung bevorzugt. So ist zum Beispiel für die Metrik für die verbrachte Zeit oder für die Anzahl an Fehlern eine geringere Bewertung bevorzugt. In dem obigen Beispiel wird eine Standardabweichung von Werten für alle identifizierten Formularfragmente verwendet. In einigen Ausführungsform mögen jedoch nur die Werte für diejenigen Formularfragmente verwendet werden, die als ähnlich betrachtet werden. Zum Beispiel mag die Bewertung für ein Formularfragment ”Postleitzahl” die Postleitzahl, den Post Code und den Gebietskode verwenden, um die Standardabweichung zu berechnen, mag aber den Namen ausschließen. Die obige Gleichung ist für eine Gleichung beispielhaft, die verwendet werden kann, um die Bewertung eines Formularfragments für eine gegebene Metrik zu berechnen. Es sei jedoch verstanden, dass andere Gleichungen verwendet werden können, um die Bewertung zu berechnen, und die Bewertung ist nicht auf die obige Gleichung beschränkt.
-
Danach kann eine Gesamtbewertung für ein Formularfragment bestimmt werden als die Summe der Bewertungen pro Metrik. Zum Beispiel kann die Gesamtbewertung ausgedrückt werden durch die Gleichung: s(i) = [Σw(j)·s(i,j)/Σw(j)] worin w(j) die definierte Gewichtung für die Metrik j ist, und s(i,j) eine Bewertung für das Formularfragment für die gegebene Metrik ist. Der Autor kann den Metriken unterschiedliche Gewichtungen geben, wenn die Bewertung für ein gegebenes Formularfragment berechnet wird. In einigen Ausführungsformen kann den Gewichtungen ein standardmäßig voreingestellter Wert bzw. standardmäßig voreingestellte Werte gegeben werden, der bzw. die von dem System bereitgestellt werden. Als ein Beispiel der Berechnung für die Gesamtbewertung mögen die Gewichtungen für verschiedene Metriken 25 für die Anzahl, wie häufig auf Hilfe zugegriffen wird, 25 für die Anzahl an empfangenen Validierungsfehlern, und 50 für die auf einem Formularfragment verbrachte Zeit sein. Wenn die Metrikbewertungen für die Metriken für das Formularfragment ”Name” 50 für die Anzahl, wie häufig auf Hilfe zugegriffen wird, 30 für die Anzahl an empfangenen Validierungsfehlern und 40 für die auf einem Formularfragment verbrachte Zeit sind, ist die Gesamtbewertung s(Name) = (25·50 + 25·30 + 50·40)/(25 + 25 + 50) = 60. Daher wäre die Bewertung für das Formularfragment ”Name” 60. In dem vorhergehenden Beispiel summieren sich die Gewichtungen auf 100. Dies muss jedoch nicht der Fall sein. Die Gewichtungen können sich auf einen beliebigen Wert aufsummieren. Weiter ist in dem obigen Beispiel eine einzige Menge von Gewichtungen bereitgestellt. Es sollte jedoch verstanden werden, dass je nach Formular die Gewichtungen variieren können. Weiter sollte verstanden werden, dass die Gewichtungen nach Autor variieren können. So mag zum Beispiel ein Autor die Gewichtungen so modifizieren, dass zum Beispiel Validierungsfehlern größeres Gewicht gegeben wird. In einigen Ausführungsformen können die Metriken, die für die Gesamtbewertung verwendet werden, sowohl Metriken umfassen, bei denen geringere Bewertungen bevorzugt sind, als auch Metriken, bei denen höhere Bewertungen bevorzugt sind. Um daher eine Gesamtbewertung zu erhalten, sind Metriken, bei denen geringere Bewertungen bevorzugt sind, vorzugsweise negativ, so dass sich die Gesamtbewertung erhöht, wenn die negative Metrik abnimmt. Es sollte verstanden werden, dass die Metriken, bei denen geringere Bewertungen bevorzugt werden, durch andere Mittel berechnet werden können und dies nicht auf die obige Beschreibung beschränkt ist. Zum Beispiel können getrennte Bewertungen für Metriken, bei denen niedrigere Bewertungen bevorzugt sind, und für Metriken, bei denen höhere Bewertungen bevorzugt sind, berechnet werden, und eine Gesamtbewertung kann aus den beiden Bewertungen berechnet werden.
-
In einigen Ausführungsformen kann das System beim Bereitstellen von empfohlenen Formularfragmenten auch kontextuelle Betrachtungen verwenden, um Formularfragmente zu empfehlen. Wenn ein Autor eines Formulars zum Beispiel mehrere Fragmente aus einem gespeicherten Formular in einem Formular verwendet hat, das er derzeit erstellt, mag eine Suche nach einem Formularfragment auch berücksichtigen, dass mehrere Fragmente aus demselben Formular in dem gegenwärtig erstellten Formular verwendet wurden, und kann Formularfragmenten aus dem gespeicherten Formular ein größeres Gewicht geben. Wenn zum Beispiel Formularfragmente für Stadt und Bundesstaat aus einem existierenden Formular verwendet werden, mag eine Suche nach Postleitzahl die Postleitzahl aus dem existierenden Formular als das am besten bewertete Formularfragment oder als eines der Formularfragmente, welche die höchste Leistungsfähigkeit aufweisen, zurückgeliefert werden. Die Bewertungskomponente 350 kann daher automatisch dem in Beziehung stehenden Formularfragment die höchste Leistungsfähigkeitsbewertung geben, oder dem in Beziehung stehenden Formularfragment ein zusätzliches Gewicht geben. Weiter kann Formularfragmenten, die mit dem Suchausruck besser übereinstimmen, ein höheres Gewicht gegeben werden. Wenn ein Autor zum Beispiel nach ”Handynummer” sucht und drei Fragmente zurückgeliefert werden, und eines der Formularfragmente aus einem Formular stammt, von dem der Autor bereits fünf andere Formularfragmente verwendet hat, dann würde sich die relative Gewichtung für ein ”Handynummer” Fragment aus dem Formular, aus dem andere Formularfragmente verwendet wurden, erhöhen, da die Wahrscheinlichkeit, dass sich das ”Handynummer” Fragment gut mit den anderen Formularfragmenten in dem Formular integriert, höher ist. Daher kann ein gewisses Gewicht aus dem Kontext stammen, in welchem die Felder verwendet werden. Der Autor kann jedoch dieses Kriterium überstimmen, wenn gewünscht (wenn der Autor zum Beispiel ein Formularfragment aus einem anderen Formular bevorzugt als das Formular, aus dem andere Formularfragmente verwendet wurden).
-
Beispielhaftes Verfahren zum Empfehlen von Formularfragmenten
-
4 zeigt ein Flussdiagramm eines Verfahrens zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung.
-
Bei 410 wird eine Vielzahl von Formularfragmenten in einem Formulararchiv gespeichert. Ein oder mehrere Formularfragmente können Teil eines Formulars sein. Jedes der Formularfragmente kann benutzerdefinierte Formularfragmentattribute enthalten, wie etwa Validierungsregeln, Formatierungsregeln, Hilfeinhalt, Barrierefreiheitsinhalt, Bezeichner, Beschreibung oder andere Metadaten für das Formularfragment. Zum Beispiel kann mit Bezug auf 2 ein Formular für einen ”Antrag auf Anerkennung als Härtefall” die Formularfragmente ”Name”, ”Sozialversicherungsnummer”, ”Private Telefonnummer” und ”Mobiltelefonnummer” umfassen. Das Formulararchiv kann das Formularfragment für das Formular ”Antrag auf Anerkennung als Härtefall” speichern. Die Formularfragmentattribute für die Formularfragmente werden für das Formular beibehalten. Als solches werden, wenn es Formatierungsregeln für das Formularfragment ”Name” gibt, die Formatierungsregeln in dem Formular ”Antrag auf Anerkennung als Härtefall” beibehalten. Zum Beispiel kann die Regel, dass Namen mit einem Großbuchstaben beginnen, für das Formularfragment beibehalten werden. Jedes Fragment wird, wenn bzw. wie es in einem. Formular verwendet wird, in dem Formulararchiv gespeichert. Wenn ein Autor die Formularfragmente auf einem Formular modifiziert, kann das Formulararchiv die Formularfragmentattribute für die modifizierten Formularfragmente speichern. In einigen Ausführungsformen können unterschiedliche Versionen von Formularfragmenten (wenn zum Beispiel das Formularfragment in einem Formular modifiziert wurde) in dem Formulararchiv beibehalten werden. Auch kann das Formulararchiv, obwohl dasselbe Formularfragment für unterschiedliche Formulare verwendet werden mag, jedes der Formularfragmente mit dem Formular speichern, in dem das Formularfragment aufgefunden werden kann.
-
Der Autor kann viele Formulare erstellen, wobei jedes Formularfragment der Formulare in dem Formulararchiv gespeichert wird. In einigen Ausführungsformen kann das Formulararchiv ein virtuelles Archiv sein, das Referenzen auf die Formularfragmente speichert. Wenn ein Formular erstellt wird, kann das eine oder die mehreren Formularfragmente des Formulars identifiziert werden. Dies kann automatisch ausgeführt werden, oder kann von dem Autor vorgenommen werden; zum Beispiel kann der Autor die Formularfragmente in dem Formular angeben. In einigen Ausführungsformen kann das eine oder können die mehreren Formularfragmente mit einem Identifikator getaggt werden. Zum Beispiel kann ein Formularfragment einen Bezeichner aufweisen. Daher kann, wenn eine Suche ausgeführt wird, das Formularfragment nach dem Bezeichner gesucht werden. In einigen Ausführungsformen kann das Tagging manuell vorgenommen werden. So kann der Autor zum Beispiel getaggte Identifikatoren bereitstellen; zum Beispiel kann der Autor den Bezeichner Name bereitstellen. Der Autor kann auch Schlüsselwörter, in Beziehung stehende Felder oder andere Identifikatoren bereitstellen, die verwendet werden können, um nach dem Formularfragment zu suchen. In einigen Ausführungsformen wird das Taggen automatisch ausgeführt. Zum Beispiel können, basierend auf den Metadaten und anderer kontextueller Information über ein Formularfragment getaggte Identifikatoren mit dem Formularfragment assoziiert werden.
-
Bei 420 werden über eine Zeitperiode Analytikdaten für Formularfragmente der Formulare gesammelt, die in dem Formulararchiv gespeichert sind. Die Analytikdaten können Validierungsfehler, Zugriffe auf die Hilfe und verbrachte Zeit beinhalten. Die Analytikdaten werden über die Zeit hinweg gesammelt, so dass die Leistungsfähigkeit der Fragmente gemessen werden kann, das heißt, damit Leistungsfähigkeitsbewertungen für jedes der Formularfragmente berechnet werden können. Daher werden mit Bezug auf das Formular ”Antrag auf Anerkennung als Härtefall” in dem obigen Beispiel Analytikdaten für die Formularfragmente ”Name”, ”Sozialversicherungsnummer”, ”Private Telefonnummer”, und ”Mobiltelefonnummer” Gesammelt. Wenn zum Beispiel ein Benutzer zwei Minuten bei einem Feld verbracht hat, mit zwei Validierungsfehlern und einem Zugriff auf die Hilfe, können diese Analytikdaten gesammelt und dazu verwendet werden, um eine Leistungsfähigkeitsbewertung für jenes Feld zu berechnen.
-
Bei 430 kann basierend auf einer Suchabfrage oder basierend auf Suchkriterien zumindest ein passendes Formularfragment aus dem Formulararchiv erhalten werden. Zum Beispiel kann mit Bezug auf 1 ein Benutzer ”uuid” in ein Suchfeld eingeben. Der Benutzer mag nicht wissen, nach welcher Art von Benutzeridentifikation er suchen soll, oder er mag wünschen, nach allen Formularfragmenten zu suchen, die mit uuid in Beziehung stehen. Der Benutzer kann daher nach jedem Ausdruck suchen, und Formularfragmente, die zu dem Suchausdruck passen bzw. mit dem Suchausdruck übereinstimmen, oder die mit dem Suchausdruck in Beziehung stehen, können gefunden werden.
-
Bei 440 wird zumindest ein passendes Formularfragment basierend auf der Leistungsfähigkeitsbewertung der Formularfragmente geordnet. Zum Beispiel mag das Formulararchiv durchsucht werden. Die zu den Suchkriterien passenden Formularfragmente werden basierend auf einer berechneten Leistungsfähigkeitsbewertung geordnet, wobei eine höhere Leistungsfähigkeitsbewertung ein Formularfragment mit einer besseren Leistungsbewertung anzeigt. Die Leistungsfähigkeitsbewertung kann auf den Analytikdaten basieren. Wenn zum Beispiel eine der Metriken die auf einem Feld verbrachte Zeit ist, kann ein geringerer Zeitwert ein Feld mit einer besseren Leistungsfähigkeit anzeigen, da ein Benutzer weniger Zeit damit verbringen mag, um zu verstehen, wie das Feld auszufüllen ist.
-
In einigen Ausführungsformen können die Metadaten des einen oder der mehreren Formularfragmente nach der Indikation eines Formularfragments durchsucht werden. In einigen Ausführungsformen kann eine Kontextsuche ausgeführt werden auf der Indikation eines Formularfragments, zum Beispiel eine Suchabfrage oder Suchkriterien. Zum Beispiel können für den Suchausruck ”uuid” die Formularfragmente ”PAN”, ”VA Aktenzeichen” und ”Sozialversicherungsnummer” abgerufen werden. Obwohl kein Formularfragment mit dem Namen ”uuid” aufgefunden wird, können, basierend auf dem Kontext und den Metadaten, in Beziehung stehende Fragmente zurückgeliefert werden. Das Ausführen der Kontextsuche verwendet daher die Beziehungen der Formularfragmente. In einigen Ausführungsformen wird eine Verarbeitung natürlicher Sprache auf dem Suchausdruck oder den Suchkriterien ausgeführt.
-
In einigen Ausführungsformen kann eine Leistungsfähigkeitsbewertung unter Verwendung einer Standardabweichung von Werten berechnet werden. Wenn zum Beispiel die Anzahl an Validierungsfehlern für ein Formularfragment eine Metrik zum Messen der Leistungsfähigkeit ist, kann eine Standardabweichung von Werten für die Anzahl an Validierungsfehlern von jedem der passenden Formularfragmente berechnet werden. Dies stellt die Validierungsfehlerkomponente für die Gesamtbewertung für ein Formularfragment bereit. Eine Gewichtung kann der Standardabweichung von Werten für die Anzahl an Validierungsfehlern zugewiesen werden, und eine Gesamtbewertung für jedes der passenden Formularfragmente kann berechnet werden unter Verwendung der Gewichtung und Standardabweichung von Werten für die Anzahl an Validierungsfehlern. Dies liefert eine Leistungsfähigkeitsbewertung für die Formularfragmente. Die passenden Formularfragmente, welche den Suchkriterien entsprechen, können nach Gesamtbewertung (das heißt, der Leistungsfähigkeitsbewertung) geordnet werden. In einigen Ausführungsformen kann eine andere Berechnung ausgeführt werden. Zum Beispiel kann eine Kontextbewertung für die passenden Formularfragmente basierend auf existierenden Formularfragmenten des Formulars bestimmt werden, wobei Formularfragmente, die ihren Ursprung in demselben Formular haben, am stärksten gewichtet werden. Wenn daher ein oder mehrere Formularfragmente aus einem in dem Formulararchiv existierenden Formular verwendet wurden, wird anderen Formularfragmenten, die in diesem Dokument aufgefunden werden, ein zusätzliches Gewicht gegeben. Die Logik dahinter ist, dass Formularfragmente, die in einem Formular zusammen gruppiert sind, wahrscheinlich dieselbe Gruppierung in anderen Formularen haben. Wenn zum Beispiel ein Formular Formularfragmente für ”Name”, ”Adresse”, und ”Telefonnummer” enthält, dann kann einem Formularfragment für ”Emailadresse” in diesem Formular ein größeres Gewicht gegeben werden, als einem Formularfragment ”Emailadresse” aus einem anderen Formular, selbst wenn das andere Formularfragment eine höhere ungewichtete Leistungsfähigkeitsbewertung aufweist. Die Kontextbewertung kann mit der Analytikbewertung kombiniert werden, um eine Gesamtbewertung zu bestimmen, und die passenden Formularfragmente können nach der Gesamtbewertung geordnet werden.
-
Bei 450 wird das zumindest eine passende Formularfragment zur Anzeige gebracht. Zum Beispiel zeigt mit Bezug auf 1 die Benutzerschnittstelle die Formularfragmente ”PAN”, ”VA Aktenzeichen” und ”Sozialversicherungsnummer” an, wenn der Suchausruck ”uuid” in das Suchfeld eingegeben wird. In einigen Ausführungsformen können auch eine Leistungsfähigkeitsbewertung und ein Formular, in welchem das Formularfragment enthalten ist, angezeigt werden. Die Formularfragmente sind basierend auf der Leistungsfähigkeitsbewertung geordnet, wobei das Formularfragment mit der höchsten Leistungsfähigkeitsbewertung zuerst angezeigt wird. In einigen Ausführungsformen können zusätzliche Hervorhebungen für das Formularfragment mit der höchsten Leistungsfähigkeit bereitgestellt werden. Zum Beispiel kann das Formularfragment mit der höchsten Leistungsfähigkeit in einer anderen Farbe als die anderen Formularfragmente angezeigt werden. Dies kann einen visuellen Hinweis geben, dass das Formularfragment mit der höchsten Leistungsfähigkeit das empfohlene Formularfragment ist. In anderen Ausführungsformen können weiter Formulare hervorgehoben werden, in denen Formularfragmente aktuell für das gegenwärtige Formular verwendet werden, um anzuzeigen, dass das Formularfragment in Beziehung mit anderen ausgewählten Formularfragmenten stehen mag.
-
5 zeigt ein Flussdiagramm eines weiteren Verfahrens zum Empfehlen von Formularfragmenten in Übereinstimmung mit Implementierungen der vorliegenden Offenbarung.
-
Bei 510 wird eine Vielzahl von Formularen in einem Formulararchiv gespeichert. Jedes Formular kann ein oder mehrere Formularfragmente aufweisen. Jedes der Formularfragmente kann Formularfragmentattribute beinhalten, wie etwa Validierungsregeln, Formatierungsregeln, Hilfeinhalt, Barrierefreiheitsinhalt oder andere Metadaten für das Formularfragment. Zum Beispiel kann mit Bezug auf 2 ein Formular für einen ”Antrag auf Anerkennung als Härtefall” die Formularfragmente ”Name”, ”Sozialversicherungsnummer”, ”Private Telefonnummer”, und ”Mobiltelefonnummer” aufweisen. Das Formulararchiv kann das Formular ”Antrag auf Anerkennung als Härtefall” speichern. Die Formularfragmentattribute für die Formularfragmente werden für das Formular beibehalten. Als solche werden, falls es Formatierungsregeln für das Formularfragment ”Name” gibt, die Formatierungsregeln in dem Formular ”Antrag auf Anerkennung als Härtefall” beibehalten. Zum Beispiel kann die Regel, dass Namen mit einem Großbuchstaben beginnen, für das Formularfragment beibehalten werden. In dem Formulararchiv wird jedes Fragment wie es in einem Formular verwendet wird gespeichert. Wenn ein Autor die Formularfragmente in einem Formular ändert, kann das Formulararchiv die Formularfragmentattribute für die geänderten Formularfragmente speichern. In einigen Ausführungsformen können unterschiedliche Versionen von Formularfragmenten (wenn zum Beispiel das Formularfragment in einem Formular modifiziert wurde) in dem Formulararchiv beibehalten werden. Auch kann, obwohl dasselbe Formularfragment für unterschiedliche Formulare verwendet werden kann, das Formulararchiv jedes der Formularfragmente mit dem Formular, in dem das Formularfragment verwendet wird, speichern.
-
Bei 520 werden Analytikdaten für das eine oder die mehreren Formularfragmente der Formulare gesammelt, die in dem Formulararchiv gespeichert sind. Die Analytikdaten können Validierungsfehler, Zugriffe auf die Hilfe, und auf einem Formularfragment verbrachte Zeit beinhalten. Die Analytikdaten können über die Zeit hinweg gesammelt werden, so dass die Leistungsfähigkeit bzw. Performanz der Fragmente gemessen werden kann, das heißt, so dass Leistungsfähigkeitsbewertungen für jedes der Formularfragmente berechnet werden können. Mit Bezug auf das Formular ”Antrag auf Anerkennung als Härtefall” in dem obigen Beispiel werden daher Analytikdaten gesammelt für die Formularfragmente ”Name”, ”Sozialversicherungsnummer”, ”Private Telefonnummer”, und ”Mobiltelefonnummer”. Wenn zum Beispiel ein Benutzer zwei Minuten auf einem Feld verbracht hat, mit zwei Validierungsfehlern und einem Zugriff auf die Hilfe, können diese Analytikdaten gesammelt und dazu verwendet werden, um eine Leistungsfähigkeitsbewertung für jenes Feld zu berechnen.
-
Bei 530 wird basierend auf einem kontextuellen Texttreffer für eine Suchabfrage oder Suchkriterien zumindest ein passendes Formularfragment aus dem Formulararchiv erhalten. Zum Beispiel kann eine Suche auf dem Archiv nach einem Formularfragment entsprechend der Suchabfrage oder den Suchkriterien ausgeführt werden und zumindest ein passendes Formularfragment aus dem Formulararchiv mag abgerufen werden. Zum Beispiel mag eine Suche nach ”uuid” mehrere Formularfragmente abrufen, welche ”uuid” entsprechen (zum Beispiel Sozialversicherungsnummer, PAN, VA Aktenzeichen und so weiter). Obwohl in dem Formulararchiv kein Formularfragment mit dem Bezeichner ”uuid” existieren mag, kann das Formulararchiv und/oder die Suchmaschine Felder zurückliefern, die mit ”uuid” in Beziehung stehen.
-
Bei 540 kann das zumindest eine passende Formularfragment basierend auf den Analytikdaten geordnet werden. In einigen Ausführungsformen können Metadaten des einen oder der mehreren Formularfragmente durchsucht werden, um zu bestimmen, ob das Formularfragment zu der Suchabfrage oder den Suchkriterien passt. In einigen Ausführungsformen kann eine Kontextsuche auf der Indikation eines Formularfragments ausgeführt werden. In einigen Ausführungsformen kann eine Kontextbewertung für die passenden Formularfragmente basierend auf existierenden Formularfragmenten des Formulars bestimmt werden. Zum Beispiel kann Formularfragmenten, die ihren Ursprung in demselben Formular haben, ein höheres Gewicht gegeben werden.
-
Bei 550 kann das geordnete zumindest eine passende Formularfragment zur Anzeige gebracht werden. Mit der Zeit können, wenn neue Formularfragmente erstellt und Analytikdaten gesammelt werden, Formularfragmente mit schlechter Leistungsfähigkeit ersetzt werden durch Formularfragmente mit guter Leistungsfähigkeit (zum Beispiel mögen Formularfragmente mit guter Leistungsfähigkeit eine höhere Leistungsfähigkeitsbewertung haben, was dazu führt, dass sie weiter oben in der Rangordnung eingeordnet werden als Formularfragmente mit niedrigeren Bewertungen, was dazu führt, dass diese mit größerer Wahrscheinlichkeit von dem Autor ausgewählt werden). Schließlich mögen mit der Zeit die Formularfragmente mit geringerer Leistungsfähigkeit auf Grund ihrer Leistungsfähigkeitsbewertung nicht mehr als empfohlene Formularfragmente angeboten werden. Das Entwerfen von Formularen kann daher einfacher werden und das Verwenden der Formularfragmente kann effektiver werden für Autoren, welche Formulare entwerfen.
-
Beispielhafte Arbeitsumgebung
-
Nachdem Implementierungen der vorliegenden Offenbarung beschrieben wurden, wird nachfolgend eine beispielhafte Arbeitsumgebung beschrieben, in der Ausführungsformen der vorliegenden Erfindung implementiert werden können, um einen allgemeinen Kontext für verschiedene Aspekte der vorliegenden Offenbarung zu geben. Mit Bezug zunächst insbesondere auf 6 ist eine beispielhafte Arbeitsumgebung zum Implementieren von Ausführungsformen der vorliegenden Erfindung gezeigt und allgemein als Computervorrichtung 600 bezeichnet. Die Computervorrichtung 600 ist lediglich ein Beispiel einer geeigneten Rechnerumgebung und ist nicht dazu gedacht, irgendeine Beschränkung hinsichtlich des Bereichs der Anwendung oder Funktionalität der Erfindung zu geben. Auch soll die Computervorrichtung 600 nicht so verstanden werden, dass sie eine Abhängigkeit oder ein Erfordernis hätte, die sich auf irgendeine dargestellte Komponente, oder Kombinationen davon, beziehen würde.
-
Die Erfindung kann im allgemeinen Kontext von Computerprogrammcode oder von einer Maschine verwendbaren Anweisungen beschrieben werden, einschließlich von einem Computer ausführbaren Anweisungen wie etwa Programmodule, welche von einem Computer oder einer anderen Maschine ausgeführt werden, wie etwa ein persönlicher Datenassistent oder eine andere handgehaltene Vorrichtung. Im Allgemeinen beinhalten Programmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen und so weiter, beziehen sich auf Code, der bestimmte Aufgaben ausführt, oder bestimmte abstrakte Datentypen implementiert. Die Erfindung kann auf einer Vielfalt von Systemkonfigurationen praktiziert werden, einschließlich handgehaltenen Vorrichtungen, Unterhaltungselektronikgeräten, Allzweckcomputer, spezialisiertere Computervorrichtungen und so weiter. Die Erfindung kann auch in verteilten Rechnerumgebungen praktiziert werden, worin Aufgaben von entfernten Verarbeitungsvorrichtungen ausgeführt werden, welche mittels einem Kommunikationsnetzwerk verbunden sind.
-
Mit Bezug auf 6 beinhaltet die Computervorrichtung 600 einen Bus 610, welcher direkt oder indirekt die folgenden Vorrichtungen koppelt: Speicher 612, einen oder mehrere Prozessoren 614, eine oder mehrere Präsentationskomponenten 616, Eingabe-/Ausgabe-(I/O)Anschlüsse 618, Eingabe-/Ausgabe-(I/O)Komponenten 620, und eine beispielhafte Stromversorgung 622. Der Bus 610 repräsentiert, was ein oder mehrere Busse sein können (wie etwa ein Adressbus, ein Datenbus, oder eine Kombination davon). Obwohl die verschiedenen Blöcke der 6 aus Gründen der Klarheit mit Linien gezeigt sind, ist es in der Realität oftmals nicht so klar, die verschiedenen Komponenten abzugrenzen, und die Linien wären metaphorisch eher grau und unscharf sein. So mag man zum Beispiel eine Darstellungskomponente, wie etwa eine Anzeigevorrichtung, als eine Eingabe-/Ausgabekomponente verstehen. Auch weisen Prozessoren Speicher auf. Die Erfinder erkennen an, dass dies in der Natur der Technik liegt, und wiederholen, dass das Diagramm der 6 lediglich eine beispielhafte Computervorrichtung veranschaulicht, die in Verbindung mit einer oder mit Ausführungsformen der vorliegenden Erfindung verwendet werden kann. Es wird keine Unterscheidung hinsichtlich solcher Kategorien wie „Arbeitsplatzrechner”, „Server”, „Laptop”, „handgehaltene Vorrichtung” und so weiter getroffen, da alle diese als innerhalb des Bereichs der 6 und dem Bezug auf „Computervorrichtung” gedacht sind.
-
Die Computervorrichtung 600 beinhaltet typischer Weise eine Vielfalt von computerlesbaren Medien. Computerlesbare Medien können alle Medien sein, auf welche die Computervorrichtung 600 zugreifen kann und beinhalten sowohl flüchtige als auch nichtflüchtige Medien, entfernbare und nicht entfernbare Medien. Zum Beispiel, und nicht als Beschränkung, können computerlesbare Medien Computerspeichermedien und Kommunikationsmedien umfassen. Computerspeichermedien beinhalten sowohl flüchtige als auch nichtflüchtige Medien, entfernbare und nicht entfernbare Medien, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Information, wie beispielsweise computerlesbare Anweisungen, Datenstrukturen, Programmodule oder andere Daten, implementiert sind, umfassen. Computerspeichermedien beinhalten, ohne hierauf beschränkt zu sein, RAM, ROM, EEPROM, Flashspeicher oder eine andere Speichertechnologie, CD-ROM, DVDs oder andere optische Plattenspeicher, Magnetkassetten, Magnetbandspeicher oder andere magnetische Speichervorrichtungen, oder jedes andere Medium, das dazu verwendet werden kann, um die gewünschte Information zu speichern und auf das die Computervorrichtung 600 zugreifen kann. Computerspeichermedien umfassen keine Signale als solche. Kommunikationsmedien verkörpern computerlesbare Anweisungen, Datenstrukturen, Programmmodule oder andere Daten typischer Weise in einem modulierten Datensignal, wie beispielsweise eine Trägerwelle oder einem anderen Transportmechanismus, und beinhalten jedes Informationsliefermedium. Der Begriff „moduliertes Datensignal” bedeutet ein Signal, bei dem eine oder mehrere Eigenschaften so gesetzt oder geändert werden, um Information in dem Signal zu kodieren. Als ein Beispiel, und nicht als Beschränkung, beinhalten Kommunikationsmedien drahtgebundene Medien, wie etwa ein drahtgebundenes Netzwerk oder direkt verdrahtete Verbindung, und drahtlose Medien, wie etwa akustische, HF, infrarote und andere drahtlose Medien. Kombinationen von beliebigen der obigen sollen auch in dem Bereich der computerlesbaren Medien enthalten sein.
-
Der Speicher 612 beinhaltet Computerspeichermedien in der Form von flüchtigem und/oder nichtflüchtigem Speicher. Der Speicher kann entfernbar, nicht entfernbar, oder eine Kombination davon sein. Beispielhafte Hardwarevorrichtungen beinhalten Halbleiterspeicher, Festplatten, optische Plattenlaufwerke und so weiter. Die Computervorrichtung 600 beinhaltet ein oder mehrere Prozessoren, welche Daten aus verschiedenen Entitäten auslesen, wie etwa dem Speicher 612 oder den Eingabe-/Ausgabekomponenten 620. Die Präsentationskomponente(n) 616 präsentieren einem Benutzer oder einer anderen Vorrichtung Indikationen. Beispielhafte Präsentationskomponenten beinhalten eine Anzeigevorrichtung, einen Lautsprecher, eine Druckerkomponente, eine Vibrationskomponente und so weiter.
-
Die Eingabe-/Ausgabeanschlüsse 618 ermöglichen der Computervorrichtung 600, logisch mit anderen Vorrichtungen verbunden zu werden, die Eingabe-/Ausgabekomponenten 620 beinhalten, von denen einige eingebaut sein können. Beispielhafte Komponenten beinhalten ein Mikrofon, einen Joystick, ein Gamepad, eine Satellitenschüssel, ein Scanner, einen Drucker, eine drahtlose Vorrichtung und so weiter. Die Eingabe-/Ausgabekomponenten 620 können eine natürliche Benutzerschnittstelle („natural user interface”, NUI) bereitstellen, welche Luftgesten, Stimme oder andere physiologische Eingaben verarbeitet, die von einem Benutzer erzeugt werden. In einigen Fällen können Eingaben an ein geeignetes Netzwerkelement zur Weiterverarbeitung übertragen werden. Eine natürliche Benutzerschnittstelle kann jede Kombination von Spracherkennung, Berührungs- und Eingabestifterkennung, Gesichtserkennung, biometrischer Erkennung, Gestenerkennung, sowohl auf als auch neben dem Schirm, Luftgesten und Augennachverfolgung, und Berührungserkennung, die mit Anzeigen der Computervorrichtung 600 assoziiert sind, implementieren. Die Computervorrichtung 600 kann mit Tiefenkameras, wie beispielsweise stereoskopischen Kamerasystemen, Infrarotkamerasystemen, RGB Kamerasystemen und Kombinationen dieser zur Gestenerfassung und Gestenerkennung ausgestattet sein. Darüber hinaus kann die Computervorrichtung 600 mit Beschleunigungssensoren oder Gyroskopen ausgestattet sein, welche die Erfassung von Bewegungen erlauben. Die Ausgabe der Beschleunigungssensoren oder Gyroskope kann auf der Anzeige der Computervorrichtung 600 bereitgestellt werden, um augmentierte Realität oder virtuelle Realität immersiv zu machen.
-
Ausführungsform 1. Eine erste Ausführungsform der Erfindung ist auf ein oder mehrere Computerspeichermedien gerichtet, welche computerlesbare Anweisungen speichern, welche, wenn sie von einer Computervorrichtung ausgeführt werden, welche einen Prozessor aufweist, den Computer dazu veranlassen, ein Verfahren auszuführen, um einem Formularentwerfer Formularfragmente zu empfehlen. Das Verfahren umfasst Speichern einer Vielzahl von Formularfragmenten in einem Formulararchiv, wobei jedes Formularfragment vordefinierte Formularfragmentattribute beinhaltet; Sammeln von Analytikdaten für die Vielzahl von Formularfragmenten über eine Zeitdauer, um eine Leistungsfähigkeitsbewertung für jedes der Vielzahl von Formularfragmenten zu berechnen; Erhalten zumindest eines passenden Formularfragments aus dem Formulararchiv basierend auf einer Suchabfrage oder Suchkriterien; Ordnen des zumindest einen passenden Formularfragments basierend auf der Leistungsfähigkeitsbewertung; und Veranlassen der Anzeige des geordneten zumindest einen Formularfragments.
-
Ausführungsform 2. Ein Medium bzw. Medien gemäß Ausführungsform 1, worin die Formularfragmentattribute zumindest eines umfassen von Validierungsregeln, Formatierungsregeln, Beschreibung, Metadaten, Hilfeinhalt, und Barrierefreiheitsinhalt; und die Formularfragmentattribute sind benutzerdefinierte oder implizit definierte Formularfragmentattribute.
-
Ausführungsform 3. Ein Medium bzw. Medien gemäß Ausführungsform 1 oder 2, worin das Sammeln von Analytikdaten umfasst Sammeln für jedes Formularfragment von zumindest einem von einer Anzahl, wie oft auf Hilfe für das Formularfragment zugegriffen wird, einer Anzahl von Validierungsfehlern, die für das Fragment empfangen werden, oder einer Zeit, die auf dem Formularfragment verbracht wird.
-
Ausführungsform 4. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 3, worin das Erhalten zumindest eines passenden Formularfragments umfasst Durchsuchen von Metadaten der Vielzahl von Formularfragmenten nach Suchausdrücken in der Suchabfrage oder den Suchkriterien.
-
Ausführungsform 5. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 4, worin das Erhalten zumindest eines passenden Formularfragments umfasst Ausführen einer Kontextsuche auf dem Formularfragment, worin die Kontextsuche Formularfragmentbeziehungen verwendet, um die Suche auszuführen auf zumindest eines von Name, Beschreibung, Metadaten, Hilfe.
-
Ausführungsform 6. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 5, worin das Erhalten zumindest eines passenden Formularfragments umfasst Ausführen einer Verarbeitung natürlicher Sprache auf der Suchabfrage oder auf den Suchkriterien auf zumindest eines von den Formularfragmentattributen.
-
Ausführungsform 7. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 6, worin das Ordnen des zumindest einen passenden Formularfragments umfasst Berechnen einer Standardabweichung von Werten für eine Anzahl von Validierungsfehlern von jedem der passenden Formularfragmente; Zuordnen einer Gewichtung zu der Standardabweichung von Werten für die Anzahl an Validierungsfehlern; Berechnen einer Gesamtbewertung für jedes der passenden Formularfragmente unter Verwendung der Gewichtung und Standardabweichung von Werten für die Anzahl an Validierungsfehlern; und Ordnen der passenden Formularfragmente nach Gesamtbewertung.
-
Ausführungsform 8. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 7, worin das Ordnen des zumindest einen passenden Formularfragments basierend auf den Analytikdaten umfasst Bestimmen einer Kontextbewertung für die passenden Formularfragmente basierend auf existierenden Formularfragmenten des Formulars, worin Formularfragmente, die ihren Ursprung in demselben Formular haben, eine höhere Gewichtung haben als Fragmente, die ihren Ursprung in einem anderen Formular haben; Kombinieren der Kontextbewertung mit einer Analytikbewertung, um eine Gesamtbewertung zu bestimmen; und Ordnen der passenden Formularfragmente nach Gesamtbewertung.
-
Ausführungsform 9. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 8, worin das Formulararchiv ein virtuelles Archiv ist, welches Referenzen auf die Formularfragmente der Vielzahl von Formularen speichert.
-
Ausführungsform 10. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 9, worin das Veranlassen der Anzeige des geordneten zumindest einen Formularfragments umfasst Veranlassen, dass für jedes des einen oder der mehreren Formularfragmente eine Leistungsfähigkeitsbewertung, und eine Vorschau eines bestehenden Formulars, auf dem das eine oder die mehreren Formularfragmente gefunden werden können, angezeigt wird.
-
Ausführungsform 11. Ein Medium bzw. Medien gemäß einer der Ausführungsformen 1 bis 10, worin das Verfahren weiter umfasst Taggen des einen oder der mehreren Formularfragmente mit einem Identifikator; und das Erhalten zumindest eines passenden Formularfragments umfasst Suchen nach dem getaggten Identifikator.
-
Ausführungsform 12. Eine weitere Ausführungsform der Erfindung ist gerichtet auf ein Verfahren, um einem Entwerfer eines Formulars Empfehlungen für Formularfragmenten zu geben. Das Verfahren umfasst Speichern einer Vielzahl von Formularen in einem Formulararchiv, wobei jedes der Vielzahl von Formularen ein oder mehrere Formularfragmente umfasst; Sammeln von Analytikdaten für das eine oder die mehreren Formularfragmente über eine Zeitperiode; Erhalten zumindest eines passenden Formularfragments aus dem Formulararchiv basierend auf einem kontextuellen Texttreffer für eine Suchabfrage oder Suchkriterien; Ordnen des zumindest einen passenden Formularfragments basierend auf den Analytikdaten; und Bereitstellen des geordneten zumindest einen Formularfragments.
-
Ausführungsform 13. Verfahren gemäß Ausführungsform 12, worin das Erhalten zumindest eines passenden Formularfragments umfasst Ausführen einer Suche auf dem Archiv basierend auf der Suchabfrage oder den Suchkriterien; und Abrufen von zumindest einem passenden Formularfragment aus dem Formulararchiv basierend auf dem kontextuellen Texttreffer, worin der kontextuelle Texttreffer andere Formularfragmente berücksichtigt, die in einem gegenwärtigen Formular verwendet werden.
-
Ausführungsform 14. Verfahren gemäß Ausführungsform 12 oder 13, worin das Ordnen des zumindest einen passenden Formularfragments umfasst Berechnen einer Standardabweichung von Werten für einen Teil der Analytikdaten von jedem der passenden Formularfragmente; Zuordnen einer Gewichtung zu der Standardabweichung von Werten für den Teil der Analytikdaten; Berechnen einer Gesamtbewertung für jedes der passenden Formularfragmente unter Verwendung der Gewichtung und Standardabweichung von Werten für den Teil der Analytikdaten; und Ordnen der passenden Formularfragmente nach Gesamtbewertung.
-
Ausführungsform 15. Ein Verfahren gemäß einer der Ausführungsformen 12 bis 14, worin das Ordnen des zumindest einen passenden Formularfragments basierend auf den Analytikdaten umfasst Bestimmen einer Kontextbewertung für die passenden Formularfragmente basierend auf existierenden Formularfragmenten des Formulars, worin Formularfragmente, die ihren Ursprung in demselben Formular haben, ein höheres Gewicht erhalten; Kombinieren der Kontextbewertung mit einer Analytikbewertung, um eine Gesamtbewertung zu bestimmen; und Ordnen der passenden Formularfragmente nach der Gesamtbewertung.
-
Ausführungsform 16. Ein Verfahren gemäß einer der Ausführungsformen 12 bis 15, worin jeder von dem einen oder den mehreren Formularfragmenten zumindest eines umfassen von Validierungsregeln, Formatierungsregeln, Hilfeinhalt und Barrierefreiheitsinhalt.
-
Ausführungsform 17. Eine weitere Ausführungsform der Erfindung ist auf ein System gerichtet, umfassend ein Formulararchiv, das konfiguriert ist, eine Vielzahl von Formularen zu speichern, welche ein oder mehrere Formularfragmente umfassen, wobei jedes von dem einen oder den mehreren Formularfragmenten zumindest eines umfasst von einem Bezeichner, Validierungsregeln, Formatierungsregeln, Hilfeinhalt und Barrierefreiheitsinhalt; eine Suchmaschine, die konfiguriert ist zum Durchsuchen des Formulararchivs nach Formularfragmenten basierend auf einem Suchkriterium; eine Analytikkomponente, die konfiguriert ist zum Sammeln von Analytikdaten für das eine oder die mehreren Formularfragmente über eine Zeitperiode, wobei die Analytikkomponenten zumindest eines sammelt von Validierungsfehlern, Hilfezugriffen und Zeit, die auf einem Formularfragment verbracht wird; und eine Bewertungskomponente, die konfiguriert ist, eine Bewertung für die Formularfragmente zu berechnen, die von der Suchmaschine zurückgeliefert werden.
-
Ausführungsform 18. Ein System gemäß Ausführungsform 17, weiter umfassend eine Formularentwurfskomponente, die konfiguriert ist zur Eingabe eines Suchausdrucks für ein Formularfragment in einem Suchfeld und zum Abrufen von am besten bewerteten Formularfragmenten, die von der Suchmaschine zurückgeliefert werden.
-
Ausführungsform 19. Ein System gemäß Ausführungsform 17 oder 18, worin die Suchmaschine weiter konfiguriert ist zum Abrufen eines Suchausdruckformularfragments; Abrufen der Formularfragmente aus dem Archiv, welche zu dem Suchausdruck passen, worin die Übereinstimmung in einem Fragmentnamen oder in Fragmentmetadaten vorliegt; und Zurückliefern der abgerufenen Formularfragmente.
-
Ausführungsform 20. Ein System gemäß einer der Ausführungsformen 17 bis 19, worin die Bewertungskomponente weiter konfiguriert ist zum Berechnen einer Standardabweichung von Werten für Validierungsfehler von jedem der passenden Formularfragmente von der Suchmaschine; Zuordnen einer Gewichtung zu der Standardabweichung von Werten für Validierungsfehler; Berechnen einer Gesamtbewertung für jedes der passenden Formularfragmente unter Verwendung der Gewichtung und Standardabweichung von Werten für Validierungsfehler; und Ordnen der passenden Formularfragmente nach Gesamtbewertung.
-
Wie oben beschrieben stellen Implementierungen der vorliegenden Offenbarung einem Entwerfer eines Formulars Empfehlungen von Formularfragmenten bereit. Die vorliegende Erfindung wurde mit Bezug auf bestimmte Ausführungsformen beschrieben, die in allen Aspekten als illustrativ und nicht als beschränkend gedacht sind. Den Fachleuten werden alternative Ausführungsformen ersichtlich werden, auf die sich die vorliegende Erfindung bezieht, ohne von deren Bereich abzuweichen.
-
Aus dem Vorstehenden wird ersichtlich sein, dass diese Erfindung wohl angepasst ist, all die Zwecke und Aufgaben, die im Vorstehenden dargelegt wurden, zu erreichen, zusammen mit anderen Vorteilen, die offensichtlich und dem System und dem erfahren inhärent sind. Es wird verstanden werden, dass bestimmte Merkmale und Unterkombinationen nützlich sind und ohne Bezug auf andere Merkmale und Unterkombinationen verwendet werden können. Dies wird in Betracht gezogen von und ist im Bereich der Ansprüche.