DE102014215621A1 - Template system to generate user-customized documents - Google Patents

Template system to generate user-customized documents

Info

Publication number
DE102014215621A1
DE102014215621A1 DE201410215621 DE102014215621A DE102014215621A1 DE 102014215621 A1 DE102014215621 A1 DE 102014215621A1 DE 201410215621 DE201410215621 DE 201410215621 DE 102014215621 A DE102014215621 A DE 102014215621A DE 102014215621 A1 DE102014215621 A1 DE 102014215621A1
Authority
DE
Germany
Prior art keywords
template
document
user
data objects
placeholder
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
DE201410215621
Other languages
German (de)
Inventor
Andy Isaacson
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.)
Palantir Technologies Inc
Original Assignee
Palantir Technologies Inc
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
Priority to US201361863814P priority Critical
Priority to US201361863792P priority
Priority to US61/863,814 priority
Priority to US61/863,792 priority
Priority to US61/909,949 priority
Priority to US201361909949P priority
Priority to US14/148,568 priority
Priority to US14/148,568 priority patent/US9223773B2/en
Application filed by Palantir Technologies Inc filed Critical Palantir Technologies Inc
Publication of DE102014215621A1 publication Critical patent/DE102014215621A1/en
Application status is Pending legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing

Abstract

Systeme und Verfahren für ein flexibles Generieren von benutzerangepassten Dokumenten aus Datenobjekten werden hier beschrieben. Systems and methods for flexible generation of user-customized documents from data objects are described here. Vorlagen mit eingebetteten Code-Anweisungen, die getrennt von einem Dokument-Lese- oder -Editierprogramm ausgewertet werden können, können verwendet werden, um benutzerangepasste Dokumente zu generieren. Templates with embedded code instructions that can be evaluated separately from a document read or -Editierprogramm can be used to generate user-customized documents. Das Vorlagensystem kann die eingebetteten Code-Anweisungen verwenden, um auf Eigenschaften von Datenobjekten dynamisch zuzugreifen. The master system can use the embedded code instructions to dynamically access properties of data objects. Ein Editierprogramm kann anfänglich verwendet werden, um ein Testmodell-Dokument (Mockup-Dokument) zu generieren, das als Basis für eine Vorlage verwendet werden kann. An editing program can be initially used to generate a test model document (mockup document), which can be used as the basis for a template.

Description

  • Diese Anmeldung beansprucht die Priorität der provisorischen US-Patentanmeldung Serien-Nr. This application claims the benefit of US Provisional Patent Application Ser. 61/909,949, eingereicht am 27. November 2013, wobei deren Offenbarung hiermit durch Bezugnahme vollinhaltlich in das vorliegende Dokument aufgenommen wird. 61 / 909.949, filed November 27, 2013, the disclosure of which is hereby incorporated by reference in full in this document.
  • Außerdem beansprucht diese Anmeldung die Priorität der provisorischen US-Patentanmeldung Serien-Nr. In addition, this application claims the benefit of US Provisional Patent Application Ser. 61/863,792 mit dem Titel „Cable Reader Labeling”, eingereicht am 8. August 2013, und die Priorität der provisorischen US-Patentanmeldung Serien-Nr. 61 / 863.792, entitled "Cable Labeling Reader" filed on August 8, 2013, and the priority of US Provisional Patent Application Ser. 61/863,814 mit dem Titel „Cable Reader Snippets and Postboard”, eingereicht am 8. August 2013, wobei deren Offenbarungen hiermit durch Bezugnahme vollinhaltlich in das vorliegende Dokument aufgenommen werden und auf diese Anmeldungen hier insgesamt als „Schnipsel-Quellenangaben” („Snippet References”) Bezug genommen wird. 61 / 863.814, entitled "Cable Reader snippets and Post Board," filed on August 8, 2013, the disclosures of which are hereby incorporated by reference in full in this document, and here (in these applications as a whole as "Paring Sources" "snippet References ") by reference.
  • Diese Anmeldung bezieht sich auf das US-Patent 8,489,623 mit dem Titel „Creating Data in a Data Store Using a Dynamic Ontology”, eingereicht am 12. Mai 2011, wobei dessen Offenbarung hiermit durch Bezugnahme vollinhaltlich in das vorliegende Dokument aufgenommen wird und auf das Patent hier als „Ontologie-Quellenangabe” Bezug genommen wird. This application is related to US Patent 8,489,623, entitled "Creating Data in a Data Store Using a Dynamic Ontology" filed on May 12th 2011, the disclosure of which is hereby incorporated by reference in full in this document and on the patent to herein as "ontology source" reference.
  • Auf dem Gebiet computerbasierter Plattformen können Dokumente aus strukturierten Daten programmatisch generiert werden. In the field of computer-based platforms documents from structured data can be programmatically generated.
  • Die hier beschriebenen Systeme, Verfahren und Techniken haben jeweils mehrere Aspekte, wobei kein einzelner von diesen allein für deren gewünschte Attribute verantwortlich ist. The systems described herein, methods and techniques have several aspects, respectively, wherein no single of which is solely responsible for its desired attributes. Ohne Einschränkung des Schutzumfangs dieser Offenbarung werden nachfolgend mehrere nicht einschränkende Merkmale kurz erörtert. Without limiting the scope of this disclosure, a number of non-limiting features are discussed briefly below.
  • Bei einigen Ausführungsformen weist ein Computersystem zum Generieren von benutzerangepassten vorlagenbasierten Dokumenten eine Vorlagen-Speichervorrichtung auf. In some embodiments, a computer system to generate user-customized template-based documents in a template storage device. Das Computersystem kann weiter einen oder mehrere Hardware-Prozessoren aufweisen, die mittels ausführbarer Code-Anweisungen programmiert werden. The computer system may further include one or more hardware processors that are programmed by means of executable code instructions. Bei ihrer Ausführung können die ausführbaren Code-Anweisungen das Computersystem veranlassen, einen Vorlagengenerator zu implementieren. When executed, the executable code statements can cause the computer system to implement a template generator. Der Vorlagengenerator kann konfiguriert sein, um auf eine Platzhalter-Vorlage zuzugreifen, die eine oder mehrere Platzhalter aufweist, welche Orte zum Einfügen von ausführbaren Anweisungen angeben. The presentation generator may be configured to access a placeholder template that has one or more placeholders that specify for inserting executable instructions which places. Der Vorlagengenerator kann weiter konfiguriert sein, ausführbare Anweisungen zu erhalten, die in die Platzhalter-Vorlage zu inkludieren sind. The template generator may be further configured to receive executable instructions that are to be included in the placeholder template. Der Vorlagengenerator kann weiter konfiguriert sein, um in der Vorlagen-Speichervorrichtung eine Vorlage zu speichern, die einen oder mehrere Sätze der erhaltenen ausführbaren Anweisungen beinhaltet, welche in entsprechende Platzhalter der Platzhalter-Vorlage eingefügt sind. The presentation generator may be further configured to store in the template storage device a template that includes one or more sets of the obtained executable instructions, which are inserted into corresponding placeholder, the placeholder template. Bei weiterer Ausführung der ausführbaren Code-Anweisungen können diese das Computersystem veranlassen, eine Vorlagen-Auswahleinheit zu implementieren. Upon further execution of the executable code instructions they can cause the computer system to implement a template selection unit. Die Vorlagen-Auswahleinheit kann konfiguriert sein, um eine Auswahl der Vorlage und eine Auswahl eines oder mehrerer Datenobjekte zu empfangen, die in ein generiertes benutzerangepasstes Dokument zu inkludieren sind, basierend auf Eigenschaften des einen oder der mehreren Datenobjekte. The master selection unit may be configured to receive a selection of the template, and a selection of one or more data objects that are to be included in a generated user-customized document, based on characteristics of the one or more data objects. Bei weiterer Ausführung der ausführbaren Code-Anweisungen können diese das Computersystem veranlassen, einen Vorlagen-Prozessor zu implementieren. Upon further execution of the executable code instructions, this can cause the computer system to implement a template processor. Der Vorlagen-Prozessor kann konfiguriert sein, um den einen oder die mehreren Sätze von ausführbaren Anweisungen, die in die Vorlage inkludiert sind, zu parsen. The template processor may be configured to parse the one or more sets of executable instructions that are included in the template. Der Vorlagen-Prozessor kann weiter konfiguriert sein, um einen jeweiligen Satz von ausführbaren Anweisungen auszuführen, wobei zumindest einige Sätze von ausführbaren Anweisungen Anweisungen beinhalten, um auf Eigenschaften der ausgewählten Datenobjekte zuzugreifen, die in einer oder mehreren Datenquellen gespeichert sind. The template processor may be further configured to execute a respective set of executable instructions, wherein at least some sets of executable instructions include instructions to access properties of the selected data objects that are stored in one or more data sources. Der Vorlagen-Prozessor kann weiter konfiguriert sein, um eine Ausgabe für einen jeweiligen Satz von ausführbaren Anweisungen zu generieren. The template processor may be further configured to generate an output for a respective set of executable instructions. Der Vorlagen-Prozessor kann weiter konfiguriert sein, um das benutzerangepasste Dokument zu generieren, und zwar dadurch, dass Sätze von ausführbaren Anweisungen in der Vorlage durch die Ausgabe ersetzt werden, die durch Ausführen entsprechender Sätze von ausführbaren Anweisungen generiert wird. The template processor may be further configured to generate the user-customized document, namely by the fact that sets of executable instructions are replaced in the template with the output that is generated by executing respective sets of executable instructions. Zumindest ein Teil der Ausgabe beinhaltet Eigenschaften der ausgewählten Datenobjekte und/oder Übersichtsdaten betreffend die Eigenschaften der ausgewählten Datenobjekte. At least part of the issue involves properties of the selected data objects and / or summary data concerning the properties of the selected data objects.
  • Bei einigen Ausführungsformen kann ein Verfahren zum Generieren von benutzerangepassten vorlagenbasierten Dokumenten ein Empfangen einer Auswahl einer Vorlage umfassen, wobei die Vorlage einen oder mehrere Sätze von ausführbaren Anweisungen beinhaltet. In some embodiments, a method for generating user-adapted template-based documents receiving a selection of a template may include, wherein the template includes one or more sets of executable instructions. Das Verfahren kann weiter ein Empfangen einer Auswahl von einem oder mehreren Datenobjekten umfassen, auf die zuzugreifen ist, ansprechend darauf, dass der eine oder die mehreren Sätze von ausführbaren Anweisungen ausgeführt werden. The method may further include receiving a selection of one or more data objects comprise, to be accessed in response to the fact that the are executed one or more sets of executable instructions. Das Verfahren kann weiter umfassen, dass durch ein Computersystem, das einen oder mehrere Computerprozessoren und eine elektronische Speichervorrichtung aufweist, ein jeweiliger Satz von ausführbaren Anweisungen ausgeführt wird, wobei zumindest einige Sätze von ausführbaren Anweisungen Anweisungen beinhalten, um auf Eigenschaften zumindest einiger der ausgewählten Datenobjekte zuzugreifen. The method may further include that, by a computer system comprising one or more computer processors and electronic memory device, a respective set running of executable instructions, wherein at least some sets of executable instructions including instructions for accessing characteristics of at least some of the selected data objects , Das Verfahren kann weiter ein Generieren einer Ausgabe für einen jeweiligen Satz von ausführbaren Anweisungen umfassen. The method may further comprise generating an output for a respective set of executable instructions. Das Verfahren kann weiter ein Generieren eines benutzerangepassten Dokuments umfassen, dadurch, dass Sätze von ausführbaren Anweisungen in der Vorlage durch die entsprechende generierte Ausgabe ersetzt werden, einschließlich Eigenschaften der ausgewählten Datenobjekte und/oder Übersichtsdaten betreffend die Eigenschaften der ausgewählten Datenobjekte. The method may further comprise generating a user-adapted document, characterized in that records are replaced with executable instructions in the template with the corresponding generated output, including properties of the selected data objects and / or summary data concerning the characteristics of the selected data objects.
  • Bei einigen Ausführungsformen enthält eine transitorische oder nicht-transitorische Computerspeichereinrichtung Anweisungen, um ein Computersystem zu veranlassen, benutzerangepasste vorlagenbasierte Dokumente zu generieren. In some embodiments, a transitory or non-transitory computer storage device containing instructions for causing a computer system to generate user-customized template-based documents. Bei ihrer Ausführung können die Anweisungen eine Vorlage erhalten, die mittels Ersetzen von Platzhaltern durch Sätze von ausführbaren Anweisungen modifiziert wurde. When executed, the instructions can be obtained by a template that has been modified by substituting wildcards by sets of executable instructions. Bei ihrer Ausführung können die Anweisungen eine Auswahl der Vorlage empfangen. When executed the instructions to receive a selection of the template. Bei ihrer Ausführung können die Anweisungen eine Auswahl von einem oder mehreren Datenobjekten erhalten, die in ein generiertes benutzerangepasstes Objekt zu inkludieren sind, basierend auf Eigenschaften von dem einen oder den mehreren Datenobjekten. When executed the instructions may receive a selection of one or more data objects which are to be included in a generated user-customized object based on characteristics of the one or more data objects. Bei ihrer Ausführung können die Anweisungen den einen oder die mehreren Sätze von ausführbaren Anweisungen aus der Vorlage mittels des Computersystems parsen. When executed the instructions may parse the one or more sets of executable instructions from the template by means of the computer system. Bei ihrer Ausführung können die Anweisungen einen jeweiligen Satz von ausführbaren Anweisungen ausführen, wobei zumindest einige Sätze von ausführbaren Anweisungen Anweisungen beinhalten, um auf Eigenschaften der ausgewählten Datenobjekte zuzugreifen, die von einer oder mehreren Datenquellen gespeichert werden. When executed, the instructions may perform a respective set of executable instructions, wherein at least some sets of executable instructions include instructions to access properties of the selected data objects that are stored by one or more data sources. Bei ihrer Ausführung können die Anweisungen eine Ausgabe für jeden Satz von ausführbaren Anweisungen generieren. When executed, the instructions can generate output for each set of executable instructions. Bei ihrer Ausführung können die Anweisungen ein benutzerangepasstes Dokument generieren und zwar durch Ersetzen von Sätzen von ausführbaren Anweisungen in der Vorlage durch die entsprechende generierte Ausgabe, einschließlich Eigenschaften der ausgewählten Datenobjekte und/oder Übersichtsdaten betreffend die Eigenschaften der ausgewählten Datenobjekte. When executed the instructions may generate a user-customized document by replacing sets of executable instructions on the template by the corresponding generated output, including properties of the selected data objects and / or summary data, the properties of the selected data objects.
  • Gewisse Aspekte der Offenbarung werden anhand der folgenden detaillierten Beschreibung, und zwar bei Betrachtung in Verbindung mit den anliegenden Zeichnungen, leichter verständlich. Certain aspects of the disclosure will become apparent from the following detailed description, and when viewed in conjunction with the accompanying drawings easier to understand.
  • 1 1 ist ein Blockdiagramm, das ein beispielhaftes Vorlagensystem darstellt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. is a block diagram illustrating an exemplary presentation system, according to some embodiments of the present disclosure.
  • 2 2 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Generieren eines Dokuments aus einer Vorlage darstellt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. is a flow diagram illustrating an exemplary process for generating a document from a template, in accordance with some embodiments of the present disclosure.
  • 3A 3A zeigt eine beispielhafte Platzhalter-Vorlage, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. illustrates an exemplary place holder template, according to some embodiments of the present disclosure.
  • 3B 3B zeigt ein beispielhaftes XML-Dokument (XML = Extensible Markup Language = erweiterbare Auszeichnungssprache) der Platzhalter-Vorlage, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. shows an exemplary XML document (XML = Extensible Markup Language = extensible markup language) of the placeholder template, according to some embodiments of the present disclosure.
  • 3C 3C zeigt ein beispielhaftes XML-Dokument einer Vorlage mit ausführbaren Code-Anweisungen, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. shows an exemplary XML document of an original with executable code instructions, in accordance with some embodiments of the present disclosure.
  • 3D 3D zeigt ein beispielhaftes XML-Dokument eines Ausgabedokuments, folgend auf die Ausführung von eingebetteten Code-Anweisungen, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. shows an exemplary XML document of an output document, following the execution of the embedded code instructions, in accordance with some embodiments of the present disclosure.
  • 3E 3E zeigt ein beispielhaftes benutzerangepasstes Dokument, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. illustrates an exemplary user-customized document, according to some embodiments of the present disclosure.
  • 4A 4A zeigt eine beispielhafte Benutzerschnittstelle des Vorlagensystems zum Laden und/oder Betrachten von Datenobjekten, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. shows an exemplary user interface of the presentation system to load and / or viewing of data objects, according to some embodiments of the present disclosure.
  • 4B 4B zeigt eine beispielhafte Benutzerschnittstelle des Vorlagensystems zum Auswählen einer Vorlage, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. shows an exemplary user interface of the master system for selecting a template, according to some embodiments of the present disclosure.
  • 4C 4C zeigt eine beispielhafte Benutzerschnittstelle des Vorlagensystems zum Auswerten von Code-Anweisungen, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. shows an exemplary user interface of the master system for evaluating code instructions, in accordance with some embodiments of the present disclosure.
  • 5 5 ist ein Blockdiagramm, das ein beispielhaftes Vorlagensystem darstellt, mit dem verschiedene hier erläuterte Verfahren und Systeme implementiert werden können. is a block diagram illustrating an exemplary presentation system may be implemented with the various methods and systems discussed herein.
  • Berichte und/oder Dokumente können aus strukturierten Daten programmatisch generiert werden. Reports and / or documents can be generated from structured data programmatically. Beispielsweise kann ein Computersystem mit Code-Anweisungen programmiert werden, um Berichte und/oder Dokumente aus strukturierten Daten in einheitlicher Weise zu generieren. For example, a computer system with code instructions can be programmed to generate reports and / or documents from structured data in a uniform manner. Um das Format eines Berichts und/oder eines Dokuments zu modifizieren, kann eine Ausgabe von neuer Software erforderlich sein, um Änderungen an dem Bericht und/oder dem Dokument vorzunehmen. To modify the format of a report and / or a document, a copy of new software may be necessary to make changes to the report and / or document. Bei einem weiteren Beispiel kann ein Bericht und/oder ein Dokument aus den eingebetteten Merkmalen einer Dokumentverarbeitungsanwendung generiert werden. In another example, a report and / or a document from the embedded features of a document processing application can be generated. In Microsoft Word können Funktionen zum Ausführen von Code-Anweisungen in ein Dokument eingebaut sein, beispielsweise Makros zum Ausführen von Visual Basic. In Microsoft Word functions to execute code statements can be incorporated into a document, such as macros to run Visual Basic.
  • Zusätzlich zu Computersystemen, die zum Generieren einheitlicher Berichte und/oder den eingebetteten Merkmalen einer Dokumentverarbeitungsanwendung programmiert sind, sind hier Systeme, Verfahren, Techniken und Vorrichtungen zum dynamischen Generieren von benutzerangepassten Dokumenten offenbart, die Information betreffend eines oder mehrere Datenobjekte und/oder Eigenschaften dieser Datenobjekte beinhalten. In addition to computer systems which are programmed to generate uniform reports and / or the embedded features of a document processing application, systems, methods, techniques and apparatus for dynamically generating user-customized documents are disclosed herein, the information concerning one or more data objects and / or properties of these data objects include. Unter Verwendung der hier beschriebenen Techniken und Systeme kann eine effiziente, flexible, skalierbare und benutzerangepasste Dokumentgenerierung bewerkstelligt werden. Using the techniques and systems described herein an efficient, flexible, scalable and user-customized document generation can be accomplished. Bei einer speziellen beispielhaften Implementierung der hier erläuterten Systeme und Verfahren können benutzerangepasste Dokumente basierend auf Eigenschaften eines oder mehrerer vom Benutzer ausgewählter Datenobjekte und basierend auf Microsoft Word-Vorlagen generiert werden, die eingebettete ausführbare Code-Anweisungen beinhalten, welche außerhalb von Microsoft Word ausgewertet werden können. In one specific example implementation of the systems and methods described here use customized documents based on characteristics of one or more are generated based on Microsoft Word templates that contain embedded executable code instructions, which can be analyzed outside of Microsoft Word user-selected data objects and , Zwar betreffen gewisse hier angeführte Beispiele Microsoft Word, jedoch sind die Systeme und Verfahren auf ein beliebiges Datenformat und eine beliebige Lese- und/oder Editier-Software anwendbar. Although concerns some examples given here Microsoft Word, but the systems and processes onto any data format and any reading and / or editing software are applicable.
  • Generierung einer beispielhaften Vorlage Generation of an exemplary template
  • 1 1 zeigt ein Vorlagensystem gemäß einigen Ausführungsformen der vorliegenden Offenbarung. shows a presentation system according to some embodiments of the present disclosure. In der beispielhaften Ausführungsform von In the exemplary embodiment of 1 1 weist die Vorlagen-Umgebung has the templates environment 190 190 ein Netzwerk a network 160 160 , ein Vorlagensystem A template system 100 100 , eine Benutzer-Rechnervorrichtung A user's computing device 102 102 , und eine Objektspeichervorrichtung And an object storage device 130 130 auf. on. Verschiedene Kommunikationen zwischen diesen Vorrichtungen sind dargestellt. Various communications between these devices are shown. Beispielsweise ist eine Kommunikation einer Platzhalter-Vorlage For example, a communication of a placeholder template 110 110 , einer Datenauswahl , A data selection 120 120 , von Objektdaten , Object data 140 140 und eines benutzerangepassten Dokuments and a user-customized document 150 150 in verschiedenen Aktionen 1 bis 5 dargestellt, wie in den eingekreisten Zahlen in der Figur dargestellt ist. is illustrated in various actions 1 to 5 as shown in the circled numbers in the figure. Bei dieser Ausführungsform beinhaltet das Vorlagensystem In this embodiment, the system includes template 100 100 einen Vorlagengenerator a template generator 104 104 , eine Vorlagenspeichervorrichtung A template storage device 106 106 , eine Auswahleinheit , A selection unit 108 108 und einen Vorlagenprozessor and a template processor 109 109 , wobei jeder von diesen nachfolgend detaillierter beschrieben wird. , Each of these is described in more detail below.
  • Wie in As in 1 1 dargestellt, wird bei Aktion 1 eine Vorlage mit Code-Platzhaltern, der hier als „Platzhalter-Vorlage” bezeichnet wird, von der Benutzer-Rechnervorrichtung illustrated, a template with code placeholders, referred to herein as a "placeholder template" for action 1, by the user's computing device 102 102 zum Vorlagengenerator for Template Builder 104 104 des Vorlagensystems the template system 100 100 übertragen. transfer. Bei einigen Ausführungsformen beinhaltet die Platzhalter-Vorlage In some embodiments, the placeholder template includes 110 110 Code-Platzhalter, die Orte in einem Vorlagen-Dokument angeben, an denen der Benutzer ein dynamisches Hinzufügen von Inhalt wünscht, basierend auf den Eigenschaften eines oder mehrerer ausgewählter Datenobjekte. Code placeholder that places specify in a template document to which the user desires a dynamic adding content, based on the characteristics of one or more selected data objects. Beispielsweise stellt For example, 3A 3A eine beispielhafte Platzhalter-Vorlage an exemplary placeholder template 300 300 dar, wobei Platzhalter hinzugefügt wurden und/oder mittels einer Dokumentverarbeitungsanwendung angezeigt werden. represents, wherein wildcards are added and / or displayed by means of a document processing application. Die Platzhalter-Vorlage The placeholder template 300 300 kann der Platzhalter-Vorlage can the placeholder template 110 110 von from 1 1 entsprechen. correspond. Möglicherweise wurde die Platzhalter-Vorlage Perhaps the placeholder template was 300 300 von einer Bedienperson in einer Dokumentverarbeitungsanwendung erzeugt, beispielsweise in, jedoch nicht eingeschränkt auf, Microsoft Word. produced by an operator in a document processing application, for example, but not limited to, Microsoft Word. Die Platzhalter-Vorlage The placeholder template 300 300 kann statischen Text und/oder Merkmale beinhalten, die in allen Berichten und/oder Dokumenten verwendet werden können, welche aus Vorlagen basierend auf der Platzhalter-Vorlage can static text and / or features, that may be used in all reports and / or documents, consisting of templates based on the placeholder template 300 300 erzeugt wurden, beispielsweise statische Texte have been generated, for example, static text 312 312 . , Bei weiteren Beispielen kann die Kopf- oder Fußzeile des Dokuments in allen Berichten die gleiche Information enthalten, beispielsweise ein Firmenlogo. In other examples, the header or footer of the document in all reports may contain the same information, such as a company logo.
  • Möglicherweise hat die Bedienperson die Platzhalter-Vorlage Possibly, the operator has the placeholder template 300 300 erzeugt, um Spezifikationen für einen benutzerangepassten Bericht zu genügen. produced to meet specifications for a user-customized report. Die Gestaltung kann an die Spezifikationen des Berichts und/oder an die Vorlieben der Bedienperson angepasst werden. The design can be adapted to the specifications of the report and / or to the preferences of the operator. Beispielsweise können der Bezeichner For example, the identifiers can 304 304 und/oder die Tabelle and / or the table 302 302 fluchtend angeordnet, formatiert und/oder in einer Schriftart vorliegen, die den Vorlieben der Bedienperson entspricht. aligned, formatted, and / or in a font that matches the preference of the operator. In ähnlicher Weise kann das Bild Similarly, the image 306 306 gemäß den Vorlieben der Bedienperson positioniert und/oder ausgerichtet sein. positioned in accordance with the preference of the operator and / or aligned.
  • Elemente der Platzhalter-Vorlage Elements of the placeholder template 300 300 , wie beispielsweise der Bezeichner Such as the identifier 304 304 , das Bild , the picture 306 306 und/oder die Tabelle and / or the table 302 302 können Platzhalterelemente beinhalten. may include wildcard elements. Die Platzhalterelemente repräsentieren Aspekte und/oder Merkmale des Dokuments, bei denen die Bedienperson möchte, dass sie dynamisch eingesetzt und/oder aktualisiert werden, und zwar durch Eigenschaften von Datenobjekten und/oder basierend auf den Eigenschaften von Datenobjekten. The wildcard elements represent aspects and / or features of the document in which the operator wants them to be used dynamically and / or updated, by properties of data objects and / or based on the characteristics of data objects. Beispielsweise kann der Bezeichner-Platzhalter For example, the identifier placeholders 304 304 ein Platzhalter sein, der durch einen Bezeichner ersetzt wird, welcher mit einem Objekt assoziiert ist, das durch die ein Dokument anfordernde Person ausgewählt wird, und zwar basierend auf der Vorlage. be a placeholder, which is replaced by an identifier, which is associated with an object that is selected by a document requester, and based on the template. Beispielsweise kann der Bezeichner-Platzhalter For example, the identifier placeholders 304 304 durch den Namen einer Person ersetzt werden, der einer oder mehreren mit einem Person-Datenobjekt assoziierten Namen-Eigenschaften entsprechen kann. be replaced with the name of a person, which may correspond to one or more associated with a person name data object properties. In ähnlicher Weise sollten die weiteren Platzhalter-Elemente, wie beispielsweise das Bild Similarly, should the other placeholder elements, such as the picture 306 306 und der Größe-Platzhalter, der Kontakt-Platzhalter und der Partner-Platzhalter in Tabelle and the size placeholder contact placeholder and partner placeholder in Table 302 302 Eigenschaften eines oder mehrerer Objekte (z. B. Person-Objekte) entsprechen, die von der anfordernden Bedienperson ausgewählt wurden. correspond to properties of one or more objects (z. B. Person objects) that have been selected by the requesting operator.
  • Eine Vorlage kann in verschiedenen Formaten vorliegen. A template can be in various formats. Beispielsweise kann eine Vorlage Dokumente und/oder Formate, wie beispielsweise, jedoch nicht eingeschränkt auf, Microsoft Word, Microsoft Powerpoint, Microsoft Excel, HTML (Hypertext-Auszeichnungssprache), ein Datenbankformat, XML (erweiterbare Auszeichnungssprache), JSON, CSV-Dateiformate (delimited file formats), ein proprietäres Dateiformat des Vorlagensystems For example, a template documents and / or formats, such as, but not limited to, Microsoft Word, Microsoft PowerPoint, Microsoft Excel, HTML (hypertext markup language), a database format, XML (extensible markup language), JSON, CSV file formats (delimited file formats), a proprietary file format of the original system 100 100 , und/oder ein beliebiges anderes Format beinhalten. include, and / or any other format. 3B 3B zeigt beispielsweise ein XML-Dokument einer Platzhalter-Vorlage in einem XML-basierten Dokumentformat. for example, shows an XML document a placeholder template in an XML-based document format. Beispielsweise können die Microsoft Office-Dokumentformate, wie beispielsweise, jedoch nicht eingeschränkt auf, Microsoft Word, Powerpoint, Excel oder ein beliebiges anderes Dokumentformat, XML-basierte Dokumentformate beinhalten. For example, the Microsoft Office document formats, such as, but not limited to, Microsoft Word, PowerPoint, Excel, or any other document format, including XML-based document formats. Mit anderen Worten kann beispielsweise ein Word-Dokument eine Archivdatei sein, entsprechend einem, jedoch nicht eingeschränkt auf ein, Zip-Format von XML-Dokumenten. In other words, a Word document can be an archive file, for example, according to a, but not limited to one, Zip format of XML documents. Als solches kann eine Bedienperson, unter Verwendung einer Archivieranwendung oder irgendeiner anderen Anwendung, ein Dokument-Dateiarchiv öffnen, um das eine oder die mehreren XML-Dokumente, die das Dokument beinhalten, zu betrachten und/oder zu editieren. As such, an operator, using an archiving application or any other application, open a document file archive to look at the one or more XML documents that include the document, and / or edit.
  • Das beispielhafte XML-Dokument The example XML document 310A 310A kann der Platzhalter-Vorlage can the placeholder template 300 300 von from 3A 3A entsprechen, die in einem Dokument-Archivformat vorliegen kann, das eine oder mehrere XML-Dateien enthält, einschließlich des XML-Dokuments match that can be present in a document archive format that contains one or more XML files, including the XML document 301A 301A . , Die beispielhaften Auszeichner im XML-Dokument The exemplary labeller in the XML document 310 310 sind illustrativ und entsprechen möglicherweise nicht einem spezifischen XML-Format eines Dokuments. are illustrative and may not correspond to a specific XML format of a document.
  • Wie durch das XML-Dokument As shown by the XML document 310A 310A dargestellt, kann eine Bedienperson beim Öffnen des XML-Dokuments shown, an operator can when opening the XML document 310A 310A mit einer Texteditieranwendung, einer XML-Editieranwendung und/oder irgendeiner anderen Anwendung, die Platzhalterelemente identifizieren. with a Texteditieranwendung, an XML editing application and / or any other application that identify the placeholder elements. Beispielsweise kann „<Text> NAME-PLATZHALTER </Text>” aufgrund des Textes „PLATZHALTER” identifizierbar sein. For example, "<string> NAME-PLATZHALTER </ text>" may be due to the text "PLATZHALTER" be identifiable. Somit kann eine Bedienperson eines oder mehrere Dokumente Thus, an operator of one or more documents 310 310 , welche die Vorlage enthalten (z. B. können mehrere XML- und/oder andere Dokumenttypen vorhanden sein, die Teil eines einzigen Microsoft Word-Dokuments sind), nach der speziellen Zeichenkette durchsuchen, die in der Vorlage verwendet wird, um Platzhalter zu identifizieren. Which included the presentation (eg. As may be present that are part of a single Microsoft Word document Several XML and / or other types of documents), browse for the special character string that is used in the template to identify placeholders , In dem Beispiel von In the example of 3 3 kann die Bedienperson nach der Zeichenkette „PLATZHALTER” suchen, um Dateien und/oder Orte in den Dateien, an denen Platzhalter vorhanden sind und an denen ausführbarer Code eingesetzt werden sollte, problemlos zu identifizieren, um diese Platzhalter in die Lage zu versetzen, Daten zu erhalten, die mit einem oder mehreren Objekten assoziiert sind. the operator for the string "PLATZHALTER" can search for files and / or locations in the files where wildcards are available and should be where executable code used to identify problems, to put this placeholder in the position data obtained which are associated with one or more objects. Somit kann die Verwendung von Platzhaltern nützlich sein, da die verschiedenen Dateien, aus denen ein einziges Ausgabeformat (z. B. ein Microsoft Word-Dokument) besteht, sehr groß und komplex sein kann und/oder ein sich Zurechtfinden anderweitig schwierig sein kann, um die passenden Orte zu identifizieren, an denen Platzhalter mit ausführbarem Code zu ersetzen sind. Thus, the use of wildcards can be useful, as the various files that make up a single output format (eg. As a Microsoft Word document) which can be very large and complex and / or getting along can be difficult one otherwise to identify the appropriate locations where wildcards must be replaced with executable code. Beispielsweise kann ein einzelnes XML-Dokument Tausende von Zeilen mit Hunderten unterschiedlicher Auszeichner umfassen. For example, can include thousands of lines with hundreds of different labeller a single XML document. Somit kann ein Identifizieren von Teilbereichen des XML-Dokuments dadurch bewerkstelligt werden, dass man im XML-Dokument nach Platzhaltern sucht. Thus, identifying portions of the XML document can be accomplished in that one searches in the XML document by wildcards. Außerdem kann eine Bedienperson das XML-Dokument editieren und/oder modifizieren, ohne ein komplexes XML-basiertes Dokumentformat vollständig zu verstehen, da aufgrund der Platzhalter die Bedienperson sich für ein Editieren und/oder Modifizieren auf die wichtigen Abschnitte des XML konzentrieren kann. In addition, an operator can edit the XML document and / or modify, without a complex XML-based document format fully understand, because due to the wildcard, the operator can concentrate for editing and / or modify the important sections of the XML.
  • Es ist zwar XML in dem Dokument While it is XML in the document 310A 310A dargestellt, jedoch kann das Vorlagensystem weitere zuvor erwähnte Dokumentformate und/oder ein beliebiges anderes Dokumentformat unterstützen. shown, but the exposure system further aforementioned document formats and / or any other document format can support. Beispielsweise kann eine HTML-Vorlage verwendet werden, und die Platzhalter können in ein HTML-Dokument eingesetzt werden. For example, an HTML template can be used, and the wildcards can be used in an HTML document.
  • Erneut Bezug nehmend auf Referring again to 1 1 erzeugt bei Aktion 2 der Vorlagengenerator generated in Action 2 of the template generator 104 104 eine Vorlage, dadurch, dass die Platzhalter in der Platzhalter-Vorlage a template, characterized in that the wildcard in the placeholder template 110 110 (oder der Platzhalter-Vorlage (Or the wildcard template 300 300 von from 3A 3A ) durch ausführbare Codesegmente ersetzt werden, um Daten als Ersetzungsdaten für diese Platzhalter zu erhalten. ) Are replaced with executable code segments to obtain data as replacement data for these placeholders. Bei einigen Ausführungsformen können einige oder alle der eingebetteten Code-Anweisungen, die mit Platzhaltern assoziiert sind, in die Platzhalter-Vorlage In some embodiments, some or all of the embedded code instructions that are associated with wildcards can, in the placeholder template 110 110 , die von der Benutzer-Rechnervorrichtung That from the user's computing device 102 102 über das Netzwerk over the network 160 160 an den Vorlagengenerator the template generator 104 104 gesendet wird, eingesetzt werden oder in diese inkludiert werden. be included in or be sent, this used. Beispielsweise kann der Benutzer For example, the user can 102 102 die Codesegmente basierend auf einer Verwendung einer durch den Vorlagengenerator the code segments based on a use of by the template generator 104 104 bereitgestellten Programmierschnittstelle schreiben, die bei verschiedenen Ausführungsformen auf der Benutzer-Rechnervorrichtung Write Programming provided, which in various embodiments on the user computing device 102 102 teilweise oder vollständig implementiert sein kann. may be partially or fully implemented. Somit kann der Vorlagengenerator Thus, the template generator 104 104 konfiguriert sein, um ausführbare Anweisungen zu empfangen, die in eine Dokumentvorlage zu inkludieren sind, und zwar entweder durch den Benutzer be configured to receive executable instructions that are to be included in a document template, either by the user 102 102 und/oder durch einen anderen Benutzer, der über größere Programmierfertigkeiten verfügt, die beim Schreiben und/oder Auswählen von Code, der mit einem jeweiligen Platzhalter assoziiert ist, von Nutzen sind. and / or by another user who has extensive programming skills that are in writing and / or selecting code which is associated with a respective one of a placeholder of use. Beispielsweise kann der Vorlagengenerator For example, the template generator 104 104 eine Texteditieranwendung sein, die durch eine Bedienperson bedient wird, welche basierend auf den Code-Platzhaltern die eingebetteten Code-Anweisungen einfügt. be a Texteditieranwendung which is operated by an operator that inserts based on the code placeholders embedded code instructions. Bei einigen Ausführungsformen kann der Vorlagengenerator In some embodiments, the template generator 104 104 ein automatisierter Prozess sein, der die Vorlage be an automated process that template 110 110 mit Code-Platzhaltern entgegennimmt und die Codeanweisungs-Platzhalter durch eingebettete Anweisungen ersetzt. receives code with placeholders and the code instruction placeholder replaced with embedded instructions. Bei einigen Ausführungsformen erfolgt die Vorlagenerzeugung automatisch, manuell, oder durch irgendeine Kombination von diesen. In some embodiments, the template generating automatically performed manually, or by any combination of these. Der Vorlagengenerator The template generator 104 104 kann die generierte Vorlage mit eingebetteten Code-Anweisungen ausgeben und/oder in der Vorlagen-Speichervorrichtung can the generated document output with embedded code instructions and / or in the template storage device 106 106 speichern. to save.
  • 3C 3C zeigt die Vorlage mit eingefügten ausführbaren Codeanweisungen, die von der Platzhalter-Vorlage (z. B. shows the template with the inserted executable code instructions (of the placeholder template z. B. 3B 3B ) unterschieden werden kann. ) Can be distinguished. Das XML-Dokument The XML document 310A 310A von from 3B 3B kann modifiziert worden sein, um das mit Code versehene XML-Dokument may have been modified to the code provided with the XML document 310B 310B zu erzeugen. to create. Die ausführbaren Code-Anweisungen in dem mit Code versehenen XML-Dokument The executable code statements in the code provided with XML document 310 310 sind illustrativ und entsprechen daher möglicherweise keiner spezifischen Programmiersprache oder beinhalten keine syntaktisch vollständigen und/oder korrekten Anweisungen. are illustrative and therefore may not correspond to any specific programming language or include any syntactically complete and / or correct instructions. Das Vorlagensystem kann konfiguriert sein, um eine oder mehrere interpretierte Programmiersprachen zu unterstützen, beispielsweise, jedoch nicht eingeschränkt auf, eRuby (embedded Ruby), JRuby, Groovy, BASIC, Perl, Python, Jython und/oder LISP. The master system may be configured to support one or more interpreted programming languages, such as, but not limited to, eRuby (embedded Ruby), JRuby, groovy, BASIC, Perl, Python, Jython and / or LISP. Das Vorlagensystem kann auch so konfiguriert sein, dass es weitere Programmiersprachen unterstützt, beispielsweise, jedoch nicht eingeschränkt auf, Java, Lua, C, C++ und/oder C#. The master system may also be configured so that it supports other programming languages, such as, but not limited to, Java, Lua, C, C ++ and / or C #.
  • Die Verwendung von eingebetteten Code-Anweisungen in dem mit Code versehenen XML-Dokument The use of embedded code statements in the code provided with XML document 310B 310B kann eine dynamische Dokumentgenerierung basierend auf Datenobjekten ermöglichen. can enable dynamic document generation based on data objects. Beispielsweise kann die Code-Anweisung „<% print(Objekt.getName) %>” das Vorlagensystem For example, the code statement "<% print (Objekt.getName)%>" the original system 100 100 von from 1 1 (und/oder den später noch erläuterten Vorlagen-Prozessor (And / or the later explained templates processor 109 109 ) veranlassen, die Name-Eigenschaft eines ausgewählten Objektes (oder Objekten) auszulesen und ein Drucken dieser Nameneigenschaft in das Dokument durchzuführen. ) Cause (the Name property of a selected object or objects to be read), and perform printing of the Name property in the document. Wie zuvor erwähnt, kann die Bedienperson und/oder ein Vorlagengenerator erkennen, wo die spezielle Code-Anweisung in dieses XML-Elementes einzusetzen ist, und zwar aufgrund des Anzeigers „Name-Platzhalter” von dem XML-Dokument As mentioned above, the operator and / or a template generator can see where the special code statement is to be used in this XML element, due to the indicator "Name placeholder" of the XML document 310A 310A in in 3B 3B . , In ähnlicher Weise können die Bedienperson und/oder der Vorlagengenerator eingebettete Code-Anweisungen hinzufügen, dadurch, dass sie auf Datenobjekt-Eigenschaften basierend auf den Platzhaltern in der Vorlage zugreifen, die dem Bild Similarly, the operator and / or the template generator can add embedded code instructions, in that they access data object properties based on the placeholders in the template image to the 306 306 , und/oder der Tabelle And / or the table 302 302 von from 3A 3A entspricht. equivalent.
  • Bei einigen Ausführungsformen gibt es möglicherweise einige Variationen, wie die eingebetteten Codeanweisungen ausgeführt werden. In some embodiments, there may be some variations, such as the embedded code instructions are executed. Beispielsweise kann das Vorlagensystem For example, the template system 100 100 von from 1 1 (und/oder der später noch erläuterte Vorlagenprozessor (And / or the later explained template processor 109 109 ), zur Ausführung von interpretierte Programmiersprachen wie beispielsweise, jedoch nicht eingeschränkt auf, Ruby und/oder Groovy, die eingebetteten Code-Anweisungen zur Laufzeit ausführen, ohne die eingebetteten Code-Anweisungen zu kompilieren. ) For the execution of interpreted languages ​​such as, but not limited to, Ruby and / or Groovy execute the embedded code instructions at runtime without recompiling the embedded code instructions. Bei einigen Ausführungsformen kann das Vorlagensystem In some embodiments, the template system 100 100 von from 1 1 (und/oder der später noch erläuterte Vorlagenprozessor (And / or the later explained template processor 109 109 ) zur Ausführung von kompilierten oder teilweise kompilierten Programmiersprachen wie beispielsweise, jedoch nicht eingeschränkt auf, Java und/oder C++ auszuführen, eine Compiler-Einheit aufweisen, welche die extrahierten Code-Anweisungen kompiliert, um zur Ausführung dieser Code-Anweisungen fähig zu sein. ) For executing compiled or partially compiled programming languages, such as, but not limited to, Java and / or C ++ run, having a compiler unit, which compiles the extracted code instructions in order to be able to perform this code instructions.
  • Bei einigen Ausführungsformen kann der Vorlagengenerator In some embodiments, the template generator 104 104 und/oder das Vorlagensystem and / or the exposure system 100 100 von from 1 1 Werkzeuge und/oder Anwendungen zum Editieren von XML-basierten Dokumentformaten und/oder weiteren Dokumentformaten aufweisen. have tools and / or applications for editing XML-based document formats and / or other document formats. Beispielsweise kann eine XML-basierte Dokumentformatieranwendung einer Bedienperson ermöglichen, ein XML-basiertes Dokumentformat zu öffnen und die XML-Dateien des XML-basierten Dokumentformats direkt zu editieren. For example, an XML-based document formatting application of an operator permit to open an XML-based document format and edit the XML files of XML-based document format directly. Wie zuvor erläutert, kann ein XML-basiertes Dokumentformat ein Dateiarchiv aus XML-Dokumenten aufweisen. As previously discussed, an XML-based document format can have a file archive from XML documents. Somit muss eine Bedienperson, ohne eine Anwendung und/oder ein Werkzeug zum Formatieren eines XML-basierten Dokuments, möglicherweise das das XML-basierte Dokument enthaltende Dateiarchiv vor einem Editieren der XML-Dateien öffnen und/oder die XML-Dateien erneut archivieren, nachdem sie die Änderungen an der XML vorgenommen hat. Thus, an operator must not be able to open an application and / or a tool for formatting an XML-based document file archive, the XML-based document containing before editing the XML files and / or archive the XML files again after the changes to the XML has made. Eine Anwendung und/oder ein Werkzeug zum Formatieren eines XML-basierten Dokuments kann der Bedienperson ermöglichen, ein Öffnen, Editieren und/oder Speichern von XML-Dokumenten in einem XML-basierten Dokumentformat ohne Weiteres durchzuführen, dadurch dass die Schritte zum Archivieren und/oder erneuten Archivieren automatisch durchgeführt werden. An application and / or a tool for formatting an XML-based document may allow the operator to carry out an opening, editing and / or storing of XML documents in an XML-based document format readily, characterized in that the steps for archiving and / or re-archiving are performed automatically.
  • Die Verwendung von eingebetteten Code-Anweisungen im Dokument The use of embedded code instructions in the document 310B 310B kann eine benutzerangepasste Programmierlogik zur Dokumentgenerierung ermöglichen. may allow a user-customized programming logic for document generation. Beispielsweise beinhaltet die Code-Anweisung For example, contains the code statement 312 312 „if Objekt.getTelefonnummer is not null” eine if-Anweisung. "If Objekt.getTelefonnummer is not null" an if statement. Daher kann die folgende Code-Anweisung Therefore, the following code statement 314 314 „println(,Telefonnummer:' + Objekt.getTelefonnummer)” lediglich ausgeführt werden, falls die Auswertung der if-Anweisung "Println (phone number: '+ Objekt.getTelefonnummer)" only be carried out if the evaluation of the if statement 312 312 den Booleschen Wert „Wahr” ergibt. Boolean "true" results. Somit kann eine Programmierlogik im Dokument Thus, a programming logic in the document 310B 310B eine Bedingungslogik basierend auf Datenobjekt-Eigenschaften ermöglichen. a conditional logic permit based on data object properties. Der Code-Anweisungsblock The code statement block 316 316 kann eine weitere Programmierlogik illustrieren. can illustrate another programming logic. Beispielsweise kann ein Person-Objekt mehrere mit der Person assoziierte Datensätze aufweisen, und jeder Datensatz kann eine Größe-Eigenschaft aufweisen, und daher kann eine Person mehrere Größe-Eigenschaften aufweisen. For example, a person object having more associated with the person records, and each record may have a size property, and therefore, a person may have several size properties. Jedoch kann es erwünscht sein, die am häufigsten benutzte („most common”) Größe einer Person anzuzeigen. However, it may be desirable, the most frequently used display ( "most common") height of a person. Daher kann die Code-Anweisung „Größe = frequencyMap(Datensätze, ,Größe').getMostCommon” bei Therefore, the code statement "size = frequencyMap (records, size '). GetMostCommon" at 316 316 die am häufigsten benutzte Größe-Eigenschaft bestimmen, die dann im Dokument abgedruckt werden. determine the most commonly used size property, which are then printed in the document.
  • Die Verwendung von eingebetteten Code-Anweisungen im Dokument The use of embedded code instructions in the document 310B 310B kann eine effizientes Generieren eines benutzerangepassten Dokuments ermöglichen. may allow for efficient generation of a user-customized document. Beispielsweise können die erste und letzte dargestellte Code-Anweisung <% für jedes Objekt in Objekten %> bzw. <% Ende %> die eine Schleife darstellen können, den Vorlagenprozessor For example, the first and last shown code statement may or <% end%> may represent a loop <%% on every item in objects>, the template processor 109 109 bei Ausführung des Code veranlassen, innerhalb der Schleife für jedes von dem einen oder den mehreren Datenobjekten Operationen durchzuführen. when executed the code within the loop for each of the one or more data objects to perform the operations. Die Verwendung einer For-Schleife kann effizient sein, da durch diese zwei Zeilen eingebetteter Code-Anweisungen das Vorlagensystem veranlasst wird, eine Schleife über eine beliebige Anzahl von Objekten auszuführen und den statischen Text und/oder die ausführbaren Code-Anweisungen innerhalb der For-Schleife zu wiederholen. The use of a for loop can be efficient, since the original system is caused by these two lines of embedded code instructions to execute a loop any number of objects and the static text and / or executable code statements within the for loop to repeat. Beispielsweise kann die For-Schleife die jeweiligen Elemente, entsprechend dem Bezeichner For example, the For loop, the respective elements, corresponding to the identifier 304 304 , dem Bild , The image 306 306 und/oder der Tabelle and / or the table 302 302 von from 3A 3A umschließen. enclose. Daher wird, beim Ausführen der eingebetteten Code-Anweisungen in einer Vorlage, je Datenobjekt eine Seite und/oder ein Abschnitt erzeugt (die/der jeweils einer einzigen Schleife der For-Schleife entspricht). Therefore, when executing the embedded code instructions in a template for each data object is a page and / or a portion is generated (the / of each corresponds to a single loop of the For loop). Beispielsweise können, wenn für zehn Person-Objekte ein Auswählen, Bestimmen, Zugreifen auf und/oder Laden und Senden an das Vorlagensystem erfolgt ist, zehn Seiten und/oder Abschnitte, die jeweils einem einzigen Person-Objekt entsprechen, generiert werden. For example, when selecting, determining, accessing for ten Person objects and / or store and sending to the master system has taken place, ten pages and / or sections, each corresponding to a single person object will be generated.
  • Beispielhafte Auswahl und Ausführung einer Vorlage Exemplary selection and execution of a template
  • Erneut Bezug nehmend auf Referring again to 1 1 beschreiben die Aktionen 1 bis 2 Operationen, die beim Generieren einer Code aufweisenden Vorlage durchgeführt werden können. the actions described 1 to 2 operations which can be performed when generating a code having template. Sobald eine Code aufweisende Vorlage generiert wurde und in der Vorlagen-Speichervorrichtung Once a code containing template was generated and in the template storage device 106 106 gespeichert wurde, kann diese Code aufweisende Vorlage durch die Bedienperson und/oder beliebige andere Benutzer zur Verwendung bei einer Erzeugung eines auf der Vorlage basierenden Dokuments ausgewählt werden. has been stored, this code containing template by the operator and / or any other user may be selected for use in generating a document based on the template. Die Aktionen 3 bis 5 von The actions of 3 to 5 1 1 zeigen beispielhafte Prozesse, die von einem Benutzer durchgeführt werden können, und zwar beim Auswählen einer Vorlage, beim Auswählen eines oder mehrerer Objekte, von denen Information in dem basierend auf der Vorlage generierten Dokument verwendet werden soll, und beim Generieren des Dokuments basierend auf den Objekteigenschaften. show exemplary processes that can be performed by a user, based in selecting a template, when selecting one or more objects from which information is to be used in the based-generated on the original document, and when generating the document on the object properties ,
  • Bei Aktion 3 wählt der Benutzer der Benutzer-Rechnervorrichtung In Action 3, the user of the user computing device selects 102 102 eines oder mehrere Objekte aus, die in das Dokument/den Bericht inkludiert werden sollen. one or more objects to be included in the document / report. Falls der Benutzer beispielsweise ein Strafverfolgungsbeamter ist und einen Bericht wünscht, der jeweils Information betreffend zehn Verdächtige enthält, können diese zehn Verdächtigen ausgewählt werden. If the user is a law enforcement officer, for example, and wants a report containing information regarding each of ten suspects, these ten suspects can be selected. Bezug nehmend auf Referring to 4A 4A ist beispielsweise eine Benutzerschnittstelle For example, a user interface 400 400 einer Software-Anwendung gezeigt, die konfiguriert ist, Daten betreffend Objekte zu liefern und dem Benutzer zu ermöglichen, eines oder mehrere der Datenobjekte auszuwählen. shown a software application that is configured to provide data relating to objects and to allow the user to select one or more of the data objects. Die beispielhafte Benutzerschnittstelle The exemplary user interface 400 400 weist ein Suchfeld has a search box 402 402 , einen Objektanzeigebereich , An object display area 404 404 und eine Menüleiste and a menu bar 406 406 auf. on. Eine Bedienperson, z. An operator such. B. der Benutzer der Benutzer-Rechnervorrichtung As the user of the user computing device 102 102 , kann mittels einer per Tastatur und/oder anderweitig erfolgenden Eingabe von Daten in das Suchfeld Can by means of an otherwise taking place via the keyboard and / or input data into the search box 402 402 , eines oder mehrere Datenobjekte laden, nachschlagen und/oder abrufen. One or load multiple data objects, look up and / or retrieve. Beispielsweise kann, durch Tastatureingabe des Namens einer Person, beispielsweise „John Doe”, das Person-Objekt For example, using the keyboard input of a person's name, such as "John Doe," the Person object 410 410 im Objekt-Anzeigebereich In the object display area 404 404 angezeigt werden. are displayed. Die weiteren Person-Objekte The other person objects 412 412 (welche die Objekte (Which the objects 412A 412A , . 412B 412B und/oder and or 412C 412C beinhalten) können automatisch und/oder nach Benutzerinteraktion der Bedienperson mit dem Person-Objekt include) can automatically and / or by user interaction of the operator with the Person object 410 410 angezeigt werden. are displayed. Beispielsweise kann eine Bedienperson das Person-Objekt For example, an operator the Person object 410 410 auswählen und eine Option wählen, um Partner und/oder Personen, die mit dem Person-Objekt Select and select an option to partner and / or persons with the Person object 410 410 in Beziehung stehen, anzuzeigen. related to display. Die Links The links 414A 414A , . 414B 414B und/oder and or 414C 414C können Beziehungen zwischen dem Person-Objekt can relations between the Person object 410 410 und den in Beziehung stehenden Person-Objekten and the related person objects 412A 412A , . 412B 412B bzw. or. 412C 412C anzeigen. Show. Beispielsweise können die Person-Objekte For example, the Person objects 412 412 in Beziehung stehen zum Person-Objekt are related to the Person object 410 410 , beispielsweise, jedoch nicht eingeschränkt auf, Partner, Bekannte bzw. Familienmitglieder. Such as, but not limited to, partner, friends or family members. Die Benutzerschnittstelle The user interface 400 400 kann fähig sein, einen beliebigen Typ von Datenobjekt anzuzeigen und/oder kann nicht auf ein Anzeigen von Person-Datenobjekten eingeschränkt sein. may be able to display any type of data object and / or can not be limited to one person displaying data objects.
  • Bei einigen Ausführungsformen können die eingebetteten Code-Anweisungen eines oder mehrere zusätzliche Datenobjekte basierend auf dem einen oder den mehreren ausgewählten Objekten bestimmen. In some embodiments, the embedded code instructions one or more additional data objects based on the one or more selected objects can be determined. Beispielsweise können, für ein gewähltes Person-Objekt, bekannte Partner-Objekte und/oder die Verhaftungsregister-Objekte aus den eingebetteten Code-Anweisungen programmatisch bestimmt werden, beispielsweise unter Verwendung von Verfahren, die erörtert werden in der US-Patentanmeldung Serien-Nr. For example, known partner objects and / or the arrest register objects can, for a chosen person object are determined from the embedded code instructions programmatically, for example, using methods that are discussed in US patent application Ser. 13/968,265 und der US-Patentanmeldung Serien-Nr. 13 / 968.265 and US patent application Ser. 13/968,123, deren Offenbarungen hiermit durch Bezugnahme vollinhaltlich in das vorliegende Dokument aufgenommen werden. 13 / 968.123, the disclosures of which are hereby incorporated by reference in full in this document. Beispielsweise kann das ausgewählte Person-Datenobjekt ein Ausgangspunkt sein, um eines oder mehrere zusätzliche in Beziehung stehende Datenobjekte zu bestimmen. For example, the person selected data object may be a starting point to determine one or more additional related data objects. Beispielsweise kann ein Diebstahlsfahrzeugregister-Objekt, das die Farbeigenschaft „Rot” hat, durch die Bedienperson ausgewählt werden, und die eingebetteten Code-Anweisungen einer Vorlage können Datenobjekte identifizieren, die mit Bildern von roten Autos assoziiert sind, welche mit überhöhter Geschwindigkeit fahrend in der Nähe des Standortes des gestohlenen Fahrzeugs beobachtet wurden (z. B. wie in den Objekteigenschaften dieser Datenobjekte angegeben). For example, a theft vehicle register object that has the color property "Red", are selected by the operator, and the embedded code instructions of a template can identify data objects that are associated with images of red cars, which at excessive speed driving near (eg., as described in the object properties of these data objects indicated) were the location of the stolen vehicle observed.
  • Bei einigen Ausführungsformen können die eingebetteten Code-Anweisungen auf Daten von weiteren Server und/oder Websites zugreifen, die sich entweder innerhalb und/oder außerhalb des Vorlagensystems befinden. In some embodiments, the embedded code instructions on data from other servers and / or sites can access that are located either inside and / or outside of the original system. Beispielsweise kann durch die eingebetteten Code-Anweisungen auf ein Bild von „Google Street View” zugegriffen werden und/oder dieses geladen werden. For example, can be accessed and / or that are loaded by the embedded code instructions to an image of "Google Street View". Das Bild von Google Street View kann mit der Ort-Eigenschaft eines Datenobjekts assoziiert sein. The image of Google Street View may be associated with the location property of a data object. Durch Ausführung der Code-Anweisung mittels des Vorlagensystems By executing the instruction code by the template system 100 100 von from 1 1 (und/oder des später noch erläuterten Vorlagen-Prozessors (And / or the later explained templates processor 109 109 ) kann auf weitere Daten zugegriffen werden und/oder diese geladen werden, beispielsweise, jedoch nicht eingeschränkt auf, Währungskurse, Wetterdaten, Nachrichtenmeldungen und/oder eine beliebige andere verfügbare Information. ) Can access more data and / or they can be charged, for example, but not limited to, exchange rates, weather information, news messages and / or any other available information.
  • Zusätzlich zu einem visuellen Suchen und/oder Darstellen von Datenobjekten und/oder Beziehungen zwischen Datenobjekten kann die Benutzerschnittstelle In addition to a visual search and / or presentation of data objects and / or relationships between data objects can the user interface 400 400 verschiedene weitere Handhabungen ermöglichen. various other manipulations allow. Beispielsweise können Datenobjekte durchgesehen werden (z. B. durch Betrachten von Eigenschaften und/oder assoziierten Daten der Datenobjekte), gefiltert werden (z. B. durch Eingrenzen der Gesamtheit von Objekten in Mengen und Teilmengen anhand von Eigenschaften oder Beziehungen), und statistisch aggregiert werden (z. B. basierend auf Summierungskriterien numerisch aufsummiert werden), neben weiteren Operationen und Visualisierungen. (Z. B. by limiting the population of objects in sets and subsets based on properties or relationships) For example, data objects can be seen through (z. B. by viewing properties and / or associated data of the data objects), filtered, and statistically aggregated are (are summed up based on Summierungskriterien numerically z. B.), as well as other operations and visualizations.
  • Wenn ein Benutzer die passenden Objekte zur Verwendung in dem generierten Dokument ausgewählt hat, kann er dann eine oder mehrere von verschiedenen verfügbaren Vorlagen auswählen, die beim Generieren eines Dokuments zu verwenden sind, das Eigenschaften der ausgewählten Objekte beinhaltet. If a user has selected the appropriate objects for use in the generated document, he can select one or more of several available templates to be used when generating a document that contains the properties of selected objects. Beispielsweise stellt For example, 4B 4B die Benutzerschnittstelle the user interface 400 400 von from 4A 4A dar, wobei eine spezielle Vorlage ausgewählt ist, zur Verwendung beim Generieren eines Dokuments basierend auf den ausgewählten Objekten (bei dieser Ausführungsform allen angezeigten Objekten). represents, a specific template is selected, based for use in generating a document on the selected objects (all shown in this embodiment, objects). Bei diesem Beispiel hat die Bedienperson die Vorlage „Meine Vorlage” In this example, the operator has the original "My Template" 426 426 ausgewählt, und zwar durch Zugreifen auf ein ausgewähltes „ERMITTLUNG”-Menü selected, by accessing a selected "DETERMINATION" menu 420 420 , Auswählen des „Datenexport”-Menüelementes , Selecting the "data export" -Menüelementes 422 422 , und dann durch Auswählen der Vorlage And then by selecting the template 426 426 aus einer Liste from a list 424 424 jeglicher dem Benutzer zur Verfügung stehender Vorlagen. all the user of available templates. Bei einigen Ausführungsformen erfolgt durch Auswählen einer speziellen Vorlage (z. B. „Meine Vorlage” In some embodiments, is carried out by selecting a particular template (z. B. "My original" 426 426 ), die Einleitung des Prozesses einer Generierung eines benutzerangepassten Dokuments basierend auf allen Datenobjekten, die in den Objekten im Anzeigebereich ), The initiation of the process of generation of a user-customized document based on all the data objects in the objects in the display region 404 404 angezeigt werden. are displayed. Bei einigen Ausführungsformen kann die Vorlagen-Benutzerschnittstelle In some embodiments, the template user interface can 400 400 der Bedienperson ermöglichen, Datenobjekte einzeln oder in einer Gruppe auszuwählen, unabhängig davon, ob diese Objekte im Anzeigebereich the operator enable individually select data objects or in a group, regardless of whether those objects in the display region 404 404 sichtbar bleiben oder nicht. remain visible or not. Somit kann, beim Auswählen des Vorlagen-Menüelementes Thus, when selecting the template menu element 426 426 , ein benutzerangepasstes Dokument aus den ausgewählten Datenobjekten generiert werden. A user-customized document from the selected data objects are generated.
  • Bei einigen Ausführungsformen kann das Vorlagensystem eine Schnittstelle aufweisen, die das Senden und/oder Hochladen von Vorlagen akzeptiert, derart, dass die Vorlagen in der Menüliste In some embodiments, the presentation system may comprise an interface that accepts the transmission and / or uploading templates such that the templates in the menu list 424 424 vorhanden sein können. may be present. Beispielsweise kann, nach der Erzeugung und/oder Generierung einer Vorlage mit eingebetteten Code-Anweisungen, die einem XML-basierten Dokumentformat entsprechen kann, welches das XML-Dokument For example, after the generation and / or generation of a template with embedded code instructions, which can correspond to an XML-based document format, which the XML document 310B 310B in in 3C 3C aufweist, eine Bedienperson dann die Vorlage zum Vorlagensystem hochladen. Then having an operator the original upload to the master system. Die Menüliste The menu list 424 424 der Benutzerschnittstelle kann dann automatisch mit der neuesten Liste von verfügbaren Vorlagen befüllt werden. the user interface can then be automatically filled with the latest list of available templates.
  • Erneut Bezug nehmend auf Referring again to 1 1 werden, sobald die Vorlage und die Objekte, die in das generierte Dokument zu inkludieren sind, ausgewählt sind, Angaben über die getroffene Auswahl an das Vorlagensystem be as soon as the template and the objects that are to be included in the generated document, are selected, information on the selection made to the template system 100 100 übertragen, zur Verwendung durch die Auswahleinheit transferred for use by the selection unit 108 108 , um Eigenschaften der ausgewählten Objekte zur Verwendung im generierten Dokument zu beschaffen und um auf die ausgewählte Vorlage zuzugreifen. In order to obtain properties of the selected objects for use in the generated document and to access the selected template. Beispielsweise kann die getroffene Datenauswahl For example, the taken data selection 120 120 von der Benutzer-Rechnervorrichtung from the user's computing device 102 102 über das Netzwerk an die Auswahleinheit over the network to the selection unit 108 108 gesendet werden. be sent. Wie zuvor angemerkt, kann die getroffene Datenauswahl As previously noted, the decision taken data selection can 120 120 eines oder mehrere gewählte Datenobjekte und/oder gewählte Vorlagen beinhalten. one or more selected data objects and / or selected templates contain. Die Auswahleinheit The selection unit 108 108 kann die Vorlage aus der Vorlagen-Speichervorrichtung can the template from the template storage device 106 106 laden und/oder abrufen, basierend auf der Datenauswahl call load and / or based on the data selection 120 120 . , Die Auswahleinheit The selection unit 108 108 kann Daten betreffend die in der Auswahl can data concerning the selection 120 120 identifizierten Datenobjekte aus der Objekt-Speichervorrichtung identified data objects from the object storage device 130 130 anfordern, empfangen und/oder laden. request, receive, and / or download. Die Auswahleinheit The selection unit 108 108 kann die Vorlage und/oder die Datenobjekte an den Vorlagen-Prozessor may require production of and / or the data objects to the templates processor 109 109 senden. send.
  • Bei Aktion 5 generiert der Vorlagen-Prozessor das benutzerangepasste Dokument In action 5 of the templates processor generates the user-customized document 150 150 basierend auf der Vorlage mit eingebetteten ausführbaren Anweisungen und den Datenobjekten based on the template with embedded executable instructions and data objects 140 140 (und/oder Eigenschaften von Datenobjekten), auf die bei der Objekt-Speichervorrichtung (And / or characteristics of data objects) to which at the object storage device 130 130 zugegriffen wurde. accessed. Das benutzerangepasste Dokument The user-customized document 150 150 mit Eigenschaften von den Datenobjekten, die vom Vorlagen-Prozessor with characteristics of the data objects from the templates processor 109 109 ausgegeben werden, können über das Netzwerk be issued to over the network 160 160 an die Benutzer-Rechnervorrichtung to the user's computing device 120 120 gesendet werden. be sent. Somit ist der Vorlagen-Prozessor Thus, the templates processor 109 109 konfiguriert, um ausführbaren Code in der Vorlage zu identifizieren, auf Eigenschaften der ausgewählten, bestimmten und/oder geladenen Objekte basierend auf dem ausführbaren Code zuzugreifen, und den ausführbaren Code durch die Ausgabe des speziellen ausführbaren Codesegmentes zu ersetzen. configured to identify executable code in the template to access properties of the selected, specific and / or charged objects based on the executable code, and replace the executable code by the output of the particular executable code segment. 3D 3D zeigt das beispielhafte XML-Dokument von shows the example XML document 3C 3C , wobei die eingebetteten Code-Anweisungen durch Information betreffend ausgewählte Datenobjekte ersetzt sind. Wherein the embedded code statements are replaced with information regarding the selected data objects. Das ausgegebene XML-Dokument kann für eine Interpretation durch eine Betrachtersoftware konfiguriert sein, beispielsweise eine Textverarbeitung (z. B. Microsoft Word), einen Browser und/oder eine andere Software, um ein benutzerangepasstes Dokument, das die Objektdaten beinhaltet, bildlich darzustellen. The output XML document can be configured for interpretation by a viewer software, such as a word processor (eg., Microsoft Word), a browser and / or other software in order to depict a user-customized document that contains the object data.
  • In diesem Beispiel illustriert das Element „<Text> John Doe </Text>”, dass das, was ursprünglich der BEZEICHNER-PLATZHALTER der Platzhalter-Vorlage war, durch den Namen-Eigenschaftswert eines Person-Objektes ersetzt wurde, auf das basierend auf einer Ausführung des ausführbaren Code „<%= print(Objekt.getName) %>” in der Vorlage zugegriffen wurde. In this example, the element "</ text> <text> John Doe" illustrates that what was originally the IDENTIFIER-PLATZHALTER the placeholder template was replaced with the name-property value of a person object to which based on a execution of the executable code "<% = print (Objekt.getName)%>" was accessed in the template. In ähnlicher Weise ist ein Bild-Name, der dem Person-Objekt „John Doe” entspricht, anstelle des Bild-Platzhalters im ausgegebenen XML-Dokument Similarly, a screen name that corresponds to the Person object "John Doe" in place of the image placeholder in output XML document 320 320 enthalten. contain. Die anderen PLATZHALTER-Elemente der Tabelle The other elements of the table WILDCARDS 302 302 wurden ebenfalls durch Eigenschaften des gewählten Objektes ersetzt, ansprechend auf eine Ausführung der entsprechenden Codesegmente, durch die mittels des Vorlagen-Prozessors were also replaced with properties of the selected object, in response to execution of the corresponding code segments by means of the master processor 109 109 die Platzhalter ersetzt wurden. the placeholders have been replaced.
  • Zwar illustriert das ausgegebene XML-Dokument While illustrating the output XML document 320 320 eine Ausgabe, die von einem Ausführen von eingebetteten Anweisungen von einem einzelnen Person-Datenobjekt herrührt, jedoch zeigt das Auslassungszeichen an output resulting from executing embedded instructions from a single individual data object, but the ellipsis shows 322 322 , dass möglicherweise ein Zugreifen auf mehrere Person-Datenobjekte erfolgt ist und entsprechende eingebettete Code-Anweisungen ausgeführt wurden. That may be an access has been made in several individual data objects and corresponding embedded code instructions have been executed. Als Ergebnis kann das Auslassungszeichen As a result, the ellipsis 322 322 mehrere Abschnitte und/oder Seiten des Ausgabedokuments umfassen, die mehreren Person-Datenobjekten entsprechen können. comprise a plurality of sections and / or sides of the output document, which may correspond to a plurality of individual data objects. Wenn beispielsweise die Objektauswahl For example, if the object selection 120 120 die vier in four in 4A 4A identifizierten Person-Objekte beinhaltet, kann das ausgegebene XML-Dokument identified individual objects included, can the output XML document 320 320 separate Abschnitte (z. B. entsprechend separaten Abschnitten eines Dokuments, Seiten des Dokuments oder separaten Dokumenten) für jedes der ausgewählten Objekte beinhalten. include separate sections (z. B. corresponding separate portions of a document pages of the document or separate documents) for each of the selected objects.
  • 3E 3E zeigt ein beispielhaftes benutzerangepasstes Dokument, das einem Benutzer zurückgegeben werden kann, beispielsweise das benutzerangepasste Dokument illustrates an exemplary user-customized document can be returned to a user, for example, the user-customized document 150 150 von from 1 1 . , Bei einer Ausführungsform wird das benutzerangepasste Dokument In one embodiment, the user-customized document 330 330 durch den Vorlagen-Prozessor by the templates processor 109 109 generiert, was mit Bezug auf Block generated, which with respect to block 210 210 von from 2 2 weiter erläutert wird. is further explained. Das beispielhafte benutzerangepasste Dokument The exemplary user-customized document 330 330 zeigt, wie ein ausgegebenes benutzerangepasstes Dokument von einer Bedienperson wahrgenommen wird, die das benutzerangepasste Dokument showing how a user-customized document output is perceived by an operator, which the user-customized document 330 330 in einer Dokumentverarbeitungsanwendung betrachtet (z. B. der Benutzer der Benutzer-Rechnervorrichtung in a document processing application considered (eg. as the user of the user computing device 102 102 , der das Dokument in einer Textverarbeitung betrachtet). Looking at the document in a word processor). Beispielsweise entsprechen der Bezeichner For example, in accordance with the identifier 332 332 , das Bild , the picture 334 334 und/oder die Tabelle and / or the table 336 336 den XML-Elementen des benutzerangepassten XML-Dokuments the XML elements of the user-customized XML document 320 320 von from 3D 3D . , Wie dargestellt, umfasst das benutzerangepasste Dokument As shown, the user-customized document 330 330 mehrere Seiten, die mehreren Person-Objekten entsprechen können, welche durch das Vorlagensystem verarbeitet werden, wie beispielsweise die vier beispielhaften Objekte, die in der Benutzerschnittstelle von multiple pages, which may correspond to a plurality of person objects, which are processed by the exposure system, such as the four exemplary objects in the user interface of 4A 4A ausgewählt wurden. were selected.
  • Das Vorlagensystem kann das benutzerangepasste Dokument The master system, the user-customized document 330 330 in effizienter Weise ausgeben, da es auf einer Vorlage basieren kann. spend efficiently as it can be based on a template. Beispielsweise kann das Vorlagensystem die eingebetteten Code-Anweisungen des Vorlagendokuments ausführen und/oder ersetzen, wie durch das modifizierte XML-Dokument For example, the original system can execute the embedded code instructions of the template document and / or replace as measured by the modified XML document 310B 310B dargestellt. shown. Somit kann das Vorlagensystem den gesamten statischen Text und/oder alles abgesehen von den eingebetteten Anweisungen des Vorlagendokuments erneut verwenden, um das benutzerangepasste Dokument zu generieren. Thus, the original system can re-use the entire static text and / or everything except for the embedded instructions of the original document to generate the user-customized document. Außerdem ist es möglich, dass das Vorlagensystem die spezifischen Details eines speziellen Dokumentformats wie beispielsweise, jedoch nicht eingeschränkt auf, Microsoft Word, nicht kennt. It is also possible that the original system does not know the specific details of a specific document format, such as, but not limited to, Microsoft Word. Ähnlich einer Vorlage, die ein XML-basiertes Dokumentformat beinhalten kann, kann das benutzerangepasste Dokument Similarly, a template that may include an XML-based document format, the user-customized document 330 330 ebenfalls ein XML-basiertes Dokumentformat beinhalten. also include an XML-based document format. Somit kann das benutzerangepasste Dokument Thus, the user-customized document 330 330 das benutzerangepasste XML-Dokument the user-customized XML document 320 320 von from 3D 3D beinhalten. include.
  • Das Vorlagensystem kann das benutzerangepasste Dokument The master system, the user-customized document 330 330 ausgeben, in das Eigenschaften von Datenobjekten eingesetzt wurden und/oder dessen Dokumentformat, Aufbereitung, Layout etc. mit dem Vorlagendokument output, have been used in the properties of data objects and / or the document format, processing, layout, etc. of the original document 300 300 von from 3A 3A übereinstimmt, das von der Bedienperson ursprünglich erzeugt worden sein kann. matches, which may have been originally generated by the operator.
  • Bei einigen Ausführungsformen kann sich die Benutzer-Rechnervorrichtung In some embodiments, the user computing device may 102 102 , das Vorlagensystem , The template system 100 100 und die Objekt-Speichervorrichtung and object storage device 130 130 auf derselben Rechnervorrichtung oder mehreren Rechnervorrichtungen befinden. reside on the same computing device or multiple computing devices. Bei einigen Ausführungsformen kann die Kommunikation zwischen der Benutzer-Rechnervorrichtung In some embodiments, the communication between the user's computing device may 102 102 , dem Vorlagensystem , The template system 100 100 und der Objekt-Speichervorrichtung and the object memory device 130 130 ohne Verwendung des Netzwerkes without the use of the network 160 160 erfolgen. respectively. Falls sich beispielsweise die Benutzer-Rechnervorrichtung If, for example, the user's computing device 102 102 , das Vorlagensystem , The template system 100 100 und die Objekt-Speichervorrichtung and object storage device 130 130 auf derselben Rechnervorrichtung befinden, könnte die Kommunikation ohne Verwendung eines Netzwerkes erfolgen. on the same computing device communication without the use of a network could take place.
  • Datenobjekte data objects
  • Bei einigen Ausführungsformen sind Daten konzeptionell gemäß einem Objekt-Datenmodell strukturiert, das durch eine Ontologie repräsentiert wird. In some embodiments, data is structured according to a conceptual object data model, which is represented by an ontology. Das konzeptionelle Datenmodell kann von jeglichem speziellen und/oder spezifischen Typ von Datenspeicher (Data Store) unabhängig sein. The conceptual data model from any special and / or specific type of data storage (Data Store) be independent. Beispielsweise kann jedes Objekt des konzeptionellen Datenmodells einer oder mehreren Zeilen in einer relationalen Datenbank und/oder einem Objekt in einem In-Memory-Cache entsprechen. For example, each object of the conceptual data model can correspond to one or a plurality of rows in a relational database and / or an object in a in-memory cache.
  • Bei einigen Ausführungsformen kann eine Ontologie, wie zuvor angemerkt, gespeicherte Information beinhalten, die ein Datenmodell für ein Speichern von Daten in einem Datenspeicher (Data Store) liefert. In some embodiments, as previously noted an ontology include stored information that provides a data model for storing data in a data storage (Data Store). Die Ontologie kann durch einen oder mehrere Objekttypen definiert sein, die jeweils mit einem oder mehreren Eigenschaftstypen assoziiert sein können. The ontology may be defined by one or more object types that may be associated with one or more property types.
  • Auf der höchsten Abstraktionsebene ist ein Datenobjekt ein Container für Information, der Dinge in der materiellen Welt repräsentiert. At the highest level of abstraction, a data object is a container for information of things represented in the material world. Beispielsweise kann ein Datenobjekt eine Entität wie beispielsweise eine Person, einen Platz, eine Organisation, ein Marktinstrument und/oder dergleichen repräsentieren. For example, a data object, an entity such as a person, a place, an organization, a market instrument and / or the like represent. Datenobjekte können ein Ereignis repräsentieren, das zu einem Zeitpunkt und/oder während einer Zeitdauer auftritt. Data objects can represent an event which occurs at a time and / or during a period of time. Datenobjekte können ein Dokument und/oder weitere unstrukturierte Datenquellen wie beispielsweise eine E-Mail-Nachricht, einen Nachrichtenreport, ein Schriftstück und/oder einen Artikel repräsentieren. Data objects may represent a document and / or other unstructured data sources, such as an e-mail message, a news report, a document and / or an article. Jedem Datenobjekt kann eine eindeutige Kennung zugehörig sein, die das Datenobjekt im Datenspeicher (Data Store) eindeutig identifiziert. Each data object may be associated a unique ID that the data object in the data storage (Data Store) clearly identified.
  • Unterschiedliche Typen von Datenobjekten können unterschiedliche Eigenschaftstypen aufweisen. Different types of data objects can have different types of properties. Beispielsweise könnte ein „Person”-Datenobjekt einen „Augenfarbe”-Eigenschaftstyp aufweisen, und ein „Ereignis”-Datenobjekt könnte einen „Daten”-Eigenschaftstyp aufweisen. For example, have an "eye color" -Eigenschaftstyp a "person" -Datenobjekt, and an "event" -Datenobjekt could comprise a "data" -Eigenschaftstyp. Jede Eigenschaft, wie durch Daten im Datenspeicher (Data Store) repräsentiert, kann einen Eigenschaftstyp aufweisen, der durch die im Datenspeicher (Data Store) verwendete Ontologie definiert ist. Each property as shown by data in the data memory (data store) represents may have a property type that is defined by the data in the memory (data store) used ontology.
  • Objekte können im Datenspeicher (Data Store) gemäß der entsprechenden Objektdefinition für das entsprechende Objekt in der Ontologie instanziiert sein. Objects in the data storage (Data Store) be instantiated according to the corresponding object definition for the object in the ontology. Beispielsweise kann eine spezifische Geldzahlung (z. B. ein Objekt vom Typ „Ereignis”) von US$ 30,00 (z. B. eine Eigenschaft vom Typ „Währung”), die am 27.03.2009 stattfindet (z. B. eine Eigenschaft vom Typ „Datum”) im Datenspeicher (Data Store) als Ereignis-Objekt mit assoziierten Währungs- und Datumseigenschaften, wie in der Ontologie definiert, gespeichert werden. For example, a specific monetary payment (ie. As an object of type "event") of US $ 30.00 (for. Example, a property of type "currency"), which takes place on 27.03.2009 (z. B. a property of type "date") (the data store data Store) is stored as an event object with associated currency and date properties as defined in the ontology.
  • Die in der Ontologie definierten Datenobjekte können eine Eigenschaftsmultiplizität unterstützen. The data objects defined in the ontology can support Eigenschaftsmultiplizität. Beispielsweise kann es zulässig sein, dass ein Datenobjekt mehr als eine Eigenschaft von dem gleichen Eigenschaftstyp aufweist. For example, it may be permissible that a data object comprises more than one property of the same property type. Beispielsweise könnte ein „Person”-Datenobjekt mehrere „Adresse”-Eigenschaften oder mehrere „Name”-Eigenschaften aufweisen. For example, a "person" -Datenobjekt have multiple "address" properties or more "name" properties.
  • Bei einigen Ausführungsformen können die Datenobjekte, die das Vorlagensystem erhält, einer Ontologie entsprechen, gemäß den Systemen, Verfahren und/oder Techniken, die in der Ontologie-Quellenangabe offenbart sind. In some embodiments, the data objects received by the presentation system can correspond to an ontology, according to the systems, methods and / or techniques that are disclosed in the ontology-source.
  • Beispielhafter Dokumentgenerierungsprozess Exemplary document generation process
  • 2 2 ist ein Ablaufdiagramm, das einen Prozess einer Generierung eines Dokuments aus einer Vorlage darstellt, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. is a flow diagram illustrating a process of generating a document from a template, in accordance with some embodiments of the present disclosure. Das Verfahren von The procedure of 2 2 kann durch das Vorlagensystem can be obtained by the exposure system 100 100 von from 1 1 durchgeführt werden, beispielsweise die verschiedenen Komponenten von be carried out, for example, the various components of 1 1 , die zuvor erläutert wurden, einschließlich des Vorlagen-Prozessors That have been previously discussed, including the templates processor 109 109 . , Abhängig von der Ausführungsform kann das Verfahren von Depending on the embodiment, the method of can 2 2 eine geringere oder eine größere Anzahl von Blöcken beinhalten und/oder die Blöcke können in einer unterschiedlichen Reihenfolge als dargestellt ausgeführt werden. contain a lesser or a greater number of blocks and / or the blocks may be executed in a different order than shown.
  • Beginnend bei Block Beginning with block 202 202 wird auf Eigenschaften von einem oder mehreren Datenobjekten zugegriffen. accessing characteristics of one or more data objects. Beispielsweise kann ein Person-Objekt, das einige oder alle von den Eigenschaften dieses Person-Objektes beinhaltet, vom Vorlagensystem For example, a person object that includes some or all of the characteristics of this individual object, the template system 100 100 empfangen werden. are received. Das Person-Objekt kann eine oder mehrere Eigenschaften besitzen, beispielsweise eines oder mehrere der Folgenden, und zwar Namen, Adressen und weitere Daten. The Person object can have one or more properties, such as one or more of the following, namely names, addresses and other data.
  • Bei Block at block 204 204 wird eine Vorlage empfangen und/oder auf diese zugegriffen. receiving a template and / or accessed. Die Vorlage kann einem oder mehreren der zuvor erläuterten Formate entsprechen. The template can correspond to one or more of the aforementioned formats. Beispielsweise kann die Vorlage ein Word-Dokument sein. For example, the template can be a Word document.
  • Bei Block at block 206 206 werden ausführbare Code-Anweisungen von der Vorlage geparst. executable code statements are parsed from the original. Eines oder mehrere Escape-Zeichen können verwendet werden, um einen Block einer ausführbaren Code-Anweisung in der Vorlage zu bezeichnen. One or more escape character may be used to denote a block of executable code statement in the template. Beispielsweise können die Zeichen „<%” und „%>” jeweils den Anfang und das Ende eines Blockes einer ausführbaren Code-Anweisung und/oder einen Satz von ausführbaren Code-Anweisungen bezeichnen. For example, the "<%" and "%>" denote the beginning and end of a block of executable code statement and / or a set of executable code instructions. Weitere Escape-Zeichen und/oder Auszeichnungen können verwendet werden, um ausführbare Code-Anweisungen in einer Vorlage zu bezeichnen. Other escape characters and / or awards can be used to denote executable code instructions in a template. Die ausführbaren Code-Anweisungen können einer oder mehreren Programmiersprachen entsprechen. The executable code statements can correspond to one or more programming.
  • Bei Block at block 208 208 werden die ausführbaren Code-Anweisungen von der Vorlage ausgeführt. the executable code instructions are executed by the template. Auf Datenobjekte und/oder Eigenschaften der Datenobjekte kann durch die ausführbaren Code-Anweisungen zugegriffen werden. To data objects and / or properties of the data objects can be accessed by the executable code instructions. Die ausführbaren Code-Anweisungen können auch Programmierlogik enthalten. The executable code instructions may also contain programming logic. Beispielsweise können ausführbare Code-Anweisungen auf ein Person-Objekt zugreifen, eine Überprüfung auf Eigenschaften wie beispielsweise Wohnsitze vornehmen, und/oder lediglich die Adresse des letzten Wohnsitzes ausdrucken. For example, executable code instructions to access a Person object, carry out a review on properties such as residences, and / or simply print the address of the last residence.
  • Bei Block at block 210 210 wird ein benutzerangepasstes Dokument generiert. generates a user-customized document. Das benutzerangepasste Dokument kann Eigenschaften der empfangenen Datenobjekte und/oder Übersichtsdaten betreffend die Eigenschaften der empfangenen Datenobjekte beinhalten. The user-customized document can include properties relating to the received data objects and / or summary data, the characteristics of the received data objects. Das Dokument kann von Format und/oder Typ dem Format und/oder Typ der Vorlage entsprechen. The document format and / or type matches the size and / or type of the original. Falls beispielsweise es sich bei der Vorlage um ein Word-Dokument handelte, kann das Dokument auch ein Word-Dokument sein. For example, if it came to a Word document in the submission, the document can also be a Word document. Das Dokument kann dadurch generiert werden, dass die ausführbaren Code-Anweisungen in der Vorlage durch die entsprechende generierte Ausgabe ersetzt wird. The document can be generated in that the executable code instructions in the template is replaced by the corresponding output generated. Es ist möglich, dass das eigentliche Vorlagendokument nicht modifiziert wird. It is possible that the actual original document is not modified. Beispielsweise kann eine Kopie des Vorlagendokuments erstellt werden, und die ausführbaren Code-Anweisungen in der Vorlagenkopie können ersetzt werden. For example, a copy of the original document can be created, and the executable code statements in the original copy can be replaced.
  • Vornehmen von Änderungen an einer fertigen Vorlage Making changes to a completed template
  • Es ist möglich, dass es von eine Bedienperson gewünscht, gewollt ist, und/oder es notwendig ist, das Aussehen, die Gestaltung, die Formatierung und/oder das Layout einer fertigen Vorlage zu modifizieren, nachdem die eingebetteten Anweisungen zur Vorlage hinzugefügt wurden. It is possible that it desired by an operator, is intentional, and / or it is necessary to modify the appearance, layout, formatting and / or layout of a completed template after the embedded statements have been added to the original. Beispielsweise kann die Bedienperson die ursprüngliche Platzhalter-Vorlage, die noch keine der eingebetteten Codeanweisungen enthielt, in einer Textverarbeitungsanwendung, beispielsweise, jedoch nicht eingeschränkt auf, Microsoft Word, modifizieren. For example, the operator can the original placeholder template that still did not contain the embedded code instructions, in a word processing application, such as, but not limited to, modify Microsoft Word. Die Bedienperson oder ein automatisierter Prozess und/oder ein Werkzeug können dann die eingebetteten Anweisungen aus der bestehenden Vorlage in die neue Platzhalter-Vorlage kopieren. The operator or an automated process and / or a tool can then copy the embedded instructions from the existing template to the new placeholder template. Als Ergebnis wird eine neue Vorlage mit der Gestaltung, Formatierung und/oder Layout-Änderungen in dem aktualisierten Dokumentformat erzeugt, wobei diese jedoch weiterhin die passenden eingebetteten Code-Anweisungen enthält. As a result, a new template with the design, format and / or layout changes is generated in the updated document format, which, however, still contains the appropriate embedded code instructions. Somit kann eine Bedienperson die erforderlichen Änderungen in der Textverarbeitungsanwendung vornehmen, wodurch es möglicherweise kaum noch erforderlich ist, dass die Bedienperson ein komplexes Dokumentformat, beispielsweise, jedoch nicht eingeschränkt auf, ein XML-basiertes Dokumentformat versteht und/oder Änderungen an diesem vornehmen muss. Thus, make the necessary changes in the word processing application, an operator, whereby it may require hardly that the operator understands a complex document format, such as, but not limited to, an XML-based document format and / or needs to make changes to this.
  • Beispielhafte Benutzerschnittstellen Exemplary user interfaces
  • 4A 4A , . 4B 4B und and 4C 4C zeigen beispielhafte Benutzerschnittstellen des Vorlagensystems, oder eine Teilmenge von diesen, gemäß einigen Ausführungsformen der vorliegenden Offenbarung. show exemplary user interface of the master system, or a subset of these, according to some embodiments of the present disclosure. Bei einigen Ausführungsformen können die zuvor und nachfolgend beschriebenen Benutzerschnittstellen in einem beliebigen geeigneten Computersystem und/oder einer -anwendung angezeigt werden, unter anderem beispielsweise in einem Fenster eines Web-Browsers und/oder einer eigenständigen Software-Anwendung. In some embodiments, the user interfaces described above and below can be displayed in any suitable computer system and / or application, including, for example, in a window of a web browser and / or a stand-alone software application. Zusätzlich können die Funktionalität und/oder Benutzerschnittstellen des Systems, wie in In addition, the functionality and / or user interface of the system, as shown in 4A 4A , . 4B 4B und/oder and or 4C 4C dargestellt, in einem oder mehreren Computer-Prozessoren und/oder Rechnervorrichtungen implementiert sein, wie mit Bezug auf shown may be implemented in one or more computer processors and / or computer devices, such as with reference to 5 5 beschrieben wurde. described. Wie zuvor angemerkt, kann bei einigen Ausführungsformen die Benutzerschnittstelle As noted previously, in some embodiments, the user interface 400 400 verwendet werden für die Objekt- und Datenauswahl be used for object and data selection 120 120 , wie in , as in 1 1 dargestellt. shown. Bei einigen Ausführungsformen wird beim Auswählen eines spezifischen Vorlagen-Menüelementes In some embodiments, in selecting a specific menu template element 426 426 ein benutzerangepasstes Dokument erzeugt, das Objektdaten beinhaltet, die mit den ausgewählten Objekten assoziiert sind. a user-customized document generated contains the object data associated with the selected objects. Wie zuvor angemerkt, stellt As noted previously, provides 4A 4A die Benutzerschnittstelle the user interface 400 400 dar, die mehrere Objekte represents the several objects 410 410 , . 412 412 sowie Verbindungen as well as compounds 414 414 zwischen den Objekten anzeigt. shows between the objects. Abhängig von der Software-Anwendung (z. B. die Software Gotham von Palantir) können Objekte auf verschiedene Weise ausgewählt werden. Depending on the software application (such. As the Gotham software Palantir) objects can be selected in various ways. Wie zuvor erläutert, stellt As previously discussed, provides 4B 4B beispielhafte Menüoptionen dar, die verwendet werden können, um eine spezielle Vorlage auszuwählen, die beim Generieren eines Ausgabedokuments zu verwenden ist, das Information betreffend die ausgewählten Objekte beinhaltet. exemplary menu options is that can be used to select a particular template to be used when generating an output document that contains information regarding the selected objects.
  • Bezug nehmend auf Referring to 4C 4C weist die beispielhafte Benutzerschnittstelle , the exemplary user interface 400 400 ein Auswertungswerkzeug an evaluation tool 430 430 auf, das ein Eingabefeld to which an input field 432 432 , eine Ausführen-Schaltfläche A Run button 434 434 und/oder ein Ausgabefeld and / or an output field 436 436 beinhaltet. includes. Eine Bedienperson kann das Auswertungswerkzeug An operator can the evaluation tool 430 430 verwenden, um ausführbare Code-Anweisungen auszuwerten und/oder zu testen, um deren probeweise Druckausgabe zu betrachten, bevor diese und/oder ähnliche Anweisungen in eine Vorlage eingebettet werden. use to evaluate executable code instructions and / or test to look at their trial printing before it and / or instructions like are embedded in a template.
  • Ein beispielhafter Verwendungsfall und/oder ein Szenario für das Auswertungswerkzeug An example use case and / or scenario for the evaluation tool 430 430 kann das Folgende sein. may be the following. Wie zuvor erläutert, kann eine Bedienperson Datenobjekte As previously discussed, an operator can data objects 410 410 und/oder and or 412 412 laden und/oder abrufen, und dann keines, eines, einige oder alle Datenobjekte auswählen. load and / or retrieve and then none, select one, some or all data objects. Eine Bedienperson kann dann eine Tastatureingabe und/oder eine anderweitige Eingabe von Code-Anweisungen in das Eingabefeld An operator can then keyboard input and / or otherwise enter code instructions into the input field 432 432 durchführen. carry out. Beispielsweise können einige oder alle Code-Anweisungen von For example, some or all code statements can of 3C 3C und/oder beliebige weitere Code-Anweisungen in das Eingabefeld and / or any other code statements in the input field 432 432 eingegeben werden. be entered. Eine Bedienperson kann dann ein Anklicken, Antippen und/oder Berühren der Ausführen-Schaltfläche An operator can then clicking, tapping and / or touching the Run button 432 432 ausführen, was das Vorlagensystem veranlassen kann, die Codeanweisungen im Eingabefeld carry out what the original system can cause the code instructions in the box 432 432 auszuführen. perform. Bei einigen Ausführungsformen kann, nachdem das Vorlagensystem die Code-Anweisungen ausgeführt hat, das Ausgabefeld automatisch mit der Ausgabe der ausgeführten Code-Anweisungen befüllt werden. In some embodiments, the output field can after the template system has executed the code statements that are automatically filled with the output of the executed code instructions. Falls beispielsweise die Codeanweisungen im Eingabefeld For example, if the code instructions in the box 432 432 „<%= print(Objekt.getName) %>” waren, könnte im Ausgabefeld "<% = Print (Objekt.getName)%>" were, could in the output field 436 436 „John Doe” angezeigt werden, was der Name-Eigenschaft eines gewählten Datenobjektes entsprechen kann. "John Doe" are displayed, which may correspond to the name property of a selected data item. Bei einigen Ausführungsformen kann der Vorlagen-Prozessor In some embodiments, the template processor can 109 109 von from 1 1 die Code-Anweisungen von dem Eingabefeld the code instructions of the input field 432 432 ausführen. To run.
  • Bei einigen Ausführungsformen kann eine Bedienperson das Auswertungswerkzeug In some embodiments, an operator can the evaluation tool 430 430 verwenden, um in effizienter Weise ein Vorlagendokument zu generieren. use to generate a template document in an efficient manner. Beispielsweise kann eine Bedienperson einen Test, eine Erprobung und/oder eine Vorschau von Code-Anweisungen durchführen, dadurch dass er ansieht, wie die Ausgabe dieser Code-Anweisungen aussehen könnte, bevor diese Anweisungen in eine Vorlage eingebettet werden. For example, an operator can a test, a test and / or a preview of code instructions to perform in that he regards as the output of this code instructions could look like before these instructions are embedded in a template. Das Auswertungswerkzeug The evaluation tool 430 430 kann der Bedienperson ermöglichen, bei den Code-Anweisungen auftretende Problemfälle und/oder Probleme zu beheben, bevor eine Vorlage in das Vorlagensystem hochgeladen wird. the operator can make it possible to fix in the code instructions occurring problem cases and / or problems before a document is uploaded to the template system. Ohne das Auswertungswerkzeug Without the evaluation tool 430 430 wäre es erforderlich, dass die Bedienperson eine Vorlage erzeugt, diese zum Vorlagensystem hochlädt, und dann die Vorlage bei Datenobjekten ausführt, um zu sehen, wie die Ausgabe dieser Code-Anweisungen aussehen würde. it would be necessary for the operator to generate a template, uploads it to the master system and then executes the template for data objects to see what the output of this code instructions would look like. Somit kann das Auswertungswerkzeug Thus, the evaluation tool 430 430 der Bedienperson Zeit sparen und/oder den Zeitaufwand verringern, der zum Generieren einer Vorlage benötigt wird. save the operator time and / or reduce the time needed to generate a template.
  • Schnipsel (Snippets) Snippets (snippets)
  • Bei einigen Ausführungsformen kann das Vorlagensystem verwendet werden, um Schnipsel (Snippets) in ein benutzerangepasstes Dokument einzufügen, gemäß den Systemen, Verfahren und/oder Techniken, die in den Schnipsel-Quellenangaben offenbart sind. In some embodiments, the exposure system can be used to insert snippets (snippet) in a user-customized document in accordance with the systems, methods and / or techniques that are disclosed in the Paring references. Beispielsweise können die eingebetteten Code-Anweisungen einer Vorlage ausgewertet werden, um in Bezug zu Schnipsel-Objekten stehende Daten in das Dokument zu importieren, beispielsweise den Textteil der zurückgegebenen Schnipsel in den Hauptteil des Berichts zu importieren und/oder den Zitierteil des Schnipsels in eine Fußnote zu importieren. For example, the embedded code instructions of a template can be evaluated to import standing in relation to shreds objects data in the document example, to import the text portion of the returned snippets in the body of the report and / or the Zitierteil paring in a footnote to import. Auf diese Weise kann ein jeweiliges Schnipsel automatisch, ohne menschliches Eingreifen, zu dem Bericht hinzugefügt werden (sowie künftigen Berichten, die auf derselben Vorlage basieren). In this way, a respective snippets can automatically, without human intervention, be added to the report (as well as future reports that are based on the same template).
  • Implementierungsmechanismen implementation mechanisms
  • Die verschiedenen hier erläuterten Rechnervorrichtung(en), beispielsweise das Vorlagensystem The various computing device discussed herein (s), for example, the template system 100 100 von from 1 1 wird/werden generell durch Betriebssystemsoftware wie beispielsweise, jedoch nicht eingeschränkt auf, iOS, Android, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, Macintosh OS X, VxWorks, oder andere kompatible Betriebssysteme gesteuert und koordiniert. is / are in general, not limited by operating system software such as iOS, Android, Chrome OS, Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Windows CE, Unix, Linux, SunOS, Solaris, Macintosh OS X controlled, VxWorks, or other compatible operating systems and coordinated. Bei weiteren Ausführungsbeispielen können die Rechnervorrichtungen durch ein proprietäres Betriebssystem gesteuert werden. In further embodiments, the computing devices can be controlled by a proprietary operating system. Herkömmliche Betriebssysteme steuern, unter anderem, auszuführende Berechnungsprozesse sowie deren zeitlichen Ablauf, führen eine Arbeitsspeicherverwaltung durch, stellen ein Dateisystem, eine Netzwerkfunktionalität und Ein-/Ausgabedienste bereit, und stellen eine Benutzerschnittstellenfunktionalität wie beispielsweise eine grafische Benutzerschnittstelle („GUI”) bereit. control Conventional operating systems, including, calculation processes to be executed and their timing, perform memory management by, provide a file system, a network functionality and input / output services ready and provide a user interface functionality, such as a graphical user interface ( "GUI") ready. Das Vorlagensystem The template system 100 100 kann auf einer oder mehreren Rechnervorrichtungen mit einem oder mehreren Hardware-Prozessoren und mit einer beliebigen zuvor erwähnten Betriebssystem-Software gehostet und/oder ausgeführt werden. can be hosted on one or more computing devices having one or more hardware processors and with any aforementioned operating system software and / or executed.
  • 5 5 ist ein Blockdiagramm, das beispielhafte Komponenten des Vorlagensystems is a block diagram illustrating exemplary components of the original system 100 100 darstellt. represents. Zwar bezieht sich Although it relates to 5 5 auf das Vorlagensystem on the original system 100 100 , jedoch können eine oder alle Komponenten bei jedweder der anderen hier erläuterten Rechnervorrichtungen gleich oder ähnlich sein. But one or all components may be identical or similar in any of the other computing devices discussed here.
  • Das Vorlagensystem The template system 100 100 kann Software ausführen, z. can run software such. B. eigenständige Softwareanwendungen, Anwendungen innerhalb Browsern, Netzwerkanwendungen etc., sei es durch die spezielle Anwendung, das Betriebssystem oder anderweitig. As stand-alone software applications, applications within browsers, network applications etc., either by the specific application, operating system or otherwise. Jedwede der hier erläuterten Systeme können durch das Vorlagensystem Any of the systems described herein may by the template system 100 100 und/oder ein ähnliches Rechnersystem durchgeführt werden, das einige oder alle der Komponenten aufweist, die mit Bezug auf a similar computer system are carried out, which has some or all of the components with respect to, and / or 5 5 erläutert wurden. were explained.
  • Das Vorlagensystem The template system 100 100 beinhaltet einen Bus includes a bus 502 502 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Information, und einen Hardware-Prozessor oder mehrere Prozessoren or other communication mechanism for communicating information, and a hardware processor or multiple processors 504 504 , die mit Bus That with Bus 502 502 verbunden sind und zum Verarbeiten von Information dienen. are connected and are used for processing information. Bei dem/den Hardware-Prozessor(en) Wherein / the hardware processor (s) 504 504 kann es sich beispielsweise um einen oder mehrere Universal-Mikroprozessoren handeln. it may be one or more general purpose microprocessors, for example.
  • Das Vorlagensystem The template system 100 100 beinhaltet auch einen Hauptspeicher also includes a main memory 506 506 , beispielsweise ein RAM (Direktzugriffsspeicher), einen Cache und/oder andere dynamische Speichervorrichtungen, die mit dem Bus , For example, a RAM (Random Access Memory), a cache, and / or other dynamic storage devices, coupled to the bus 502 502 verbunden sind, um Information und Anweisungen zu speichern, die durch den/die Prozessor(en) are connected in order to store information and instructions by the / processor (s) 504 504 auszuführen sind. are to be executed. Der Hauptspeicher The main memory 506 506 kann auch verwendet werden, um temporäre Variablen oder andere Zwischeninformationen während eines Ausführens von durch den/die Prozessor(en) can also be used to temporary variables or other intermediate information during execution of by / processor (s) 504 504 auszuführenden Anweisungen zu speichern. store instructions to be executed. Derartige Anweisungen machen, wenn sie in Speichermedien gespeichert werden, die dem/den Prozessor(en) make Such instructions, when stored in storage media that the / processor (s) 504 504 zugänglich sind, das Vorlagensystem are accessible, the exposure system 100 100 zu einer Spezialmaschine, die benutzerspezifisch angepasst ist, um die in den Anweisungen festgelegten Operationen auszuführen. to a special machine, which is adapted user-specific to perform the specified operations in the instructions. Derartige Anweisungen, etwa durch Hardware-Prozessoren ausgeführt, können die hier beschriebenen Verfahren und Systeme implementieren, um Sicherheitsinformation gemeinsam zu nutzen. Such instructions, carried about by hardware processors can implement the methods and systems described herein, to take advantage of security information together.
  • Das Vorlagensystem The template system 100 100 beinhaltet weiter ein ROM (Nur-Lese-Speicher) further includes a ROM (read only memory) 508 508 oder eine andere statische Speichervorrichtung, die mit dem Bus or other static storage device coupled to bus 502 502 verbunden ist, um statische Information und Anweisungen für den/die Prozessor(en) is connected to static information and instructions for the / processor (s) 504 504 zu speichern. save. Eine Speichervorrichtung A storage device 510 510 , wie beispielsweise eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Drive) etc., ist vorgesehen und mit dem Bus Such as a magnetic disk, an optical disk, or a USB flash drive (flash drive) etc., and is provided with the bus 502 502 verbunden, um Information und Anweisungen zu speichern. connected to store information and instructions. Die Vorlagen-Speichervorrichtung The template storage device 106 106 und/oder die Objekt-Speichervorrichtung and / or the object storage device 130 130 von from 1 1 kann im Hauptspeicher can in the main memory 506 506 und/oder der Speichervorrichtung and / or the storage device 510 510 gespeichert werden. get saved.
  • Bei einigen Ausführungsformen ist die Vorlagen-Speichervorrichtung In some embodiments, the template storing device 106 106 und/oder die Objekt-Speichervorrichtung and / or the object storage device 130 130 von from 1 1 ein Dateisystem, eine relationale Datenbank wie beispielsweise, jedoch nicht eingeschränkt auf, MySql, Oracle, Sybase oder DB2, und/oder ein verteiltes In-Memory-Caching-System, wie beispielsweise, jedoch nicht eingeschränkt auf Memcache, Memcached oder Java Caching System. a file system, a relational database such as, but not limited to, MySql, Oracle, Sybase, or DB2, and / or a distributed in-memory caching system, such as, but not limited to memcache, memcached or Java Caching System.
  • Das Vorlagensystem The template system 100 100 kann über den Bus can via the bus 502 502 mit einer Anzeige with a display 512 512 verbunden sein, beispielsweise einer Kathodenstrahlröhre (CRT) oder einer LCD-Anzeige oder einem Sensorbildschirm (Touchscreen), um einem Benutzer des Computers Information anzuzeigen. be connected, such as a cathode ray tube (CRT) or an LCD display or a touch panel (touch screen) to indicate to a user of the computer information. Eine Eingabevorrichtung An input device 514 514 ist mit dem Bus is connected to the bus 502 502 verbunden, um Information und ausgewählte Befehle an den Prozessor connected to information and command selections to processor 504 504 zu übermitteln. to convey. Ein Typ von Eingabevorrichtung One type of input device 514 514 ist eine Tastatur, die alphanumerische Tasten und weitere Tasten beinhaltet. is a keyboard that includes alphanumeric keys and other keys. Ein weiterer Typ von Eingabevorrichtung Another type of input device 514 514 ist ein Sensorbildschirm. is a touch screen. Ein weiterer Typ von Benutzereingabevorrichtung ist eine Cursor-Steuerung Another type of user input device is cursor control 516 516 , wie beispielsweise eine Maus, ein Trackball, ein Sensorbildschirm, oder Cursor-Richtungstasten, um dem Prozessor Such as a mouse, a trackball, a touch screen, or cursor direction keys to the processor 504 504 Richtungsinformation und ausgewählte Befehle mitzuteilen und eine Cursorbewegung auf der Anzeigeeinrichtung communicate direction information and command selections, and a cursor movement on the display device 512 512 zu steuern. to control. Diese Eingabevorrichtung kann zwei Freiheitsgrade in zwei Achsen haben, einer ersten Achse (beispielsweise x) und einer zweiten Achse (beispielsweise y), was der Vorrichtung ermöglicht, Positionen in einer Ebene zu bezeichnen. This input device may have two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), which allows the apparatus to indicate positions in a plane. Bei einigen Ausführungsbeispielen kann die gleiche Richtungsinformation und Befehlsauswahl wie bei einer Cursorsteuerung mittels Empfangen von Berührungen auf einem Sensorbildschirm (Touchscreen) ohne einen Cursor implementiert werden. In some embodiments, the same direction information and command selections may be implemented as a cursor control means receiving touches on a touch panel (touch screen) without a cursor.
  • Das Vorlagensystem The template system 100 100 kann eine Benutzerschnittstelleneinheit beinhalten, um eine GUI zu implementieren, beispielsweise may include a user interface unit to implement a GUI, for example, 4A 4A , . 4B 4B und/oder and or 4C 4C , die in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, welche durch die Rechnervorrichtung(en) ausgeführt werden. That can be stored in a mass storage device as executable software code, which by the computing device (s) are executed. Diese und weitere Einheiten können beispielsweise Komponenten wie etwa Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Task-Komponenten, Prozesse, Funktionen, Attribute, Prozeduren, Subroutinen, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Felder und Variablen beinhalten. These and other units, for example, components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, fields and variables include.
  • Generell bezieht sich das Wort „Anweisungen”, wie hier verwendet, auf Logik, die als Hardware oder Firmware ausgeführt ist, oder auf eine Sammlung von Softwareeinheiten, die möglicherweise Eintritts- und Austrittspunkte aufweisen und in einer Programmiersprache wie beispielsweise, jedoch nicht eingeschränkt auf, Java, Lua, C, C++, oder C# geschrieben sind. In general, the word "instructions" refers, as used herein, in logic implemented in hardware or firmware, or a collection of software units that may have entry and exit points, but not limited in a programming language such as, Java, Lua, C, C ++, or C # are written. Eine Softwareeinheit kann kompiliert und in ein ausführbares Programm verlinkt werden, in eine dynamische Programmbibliothek (Dynamic Link Library) eingebaut werden, oder in einer interpretierten Programmiersprache wie beispielsweise, jedoch nicht eingeschränkt auf, BASIC, Perl oder Python geschrieben werden. A software unit can be compiled and linked into an executable program, into a dynamic program library (Dynamic Link Library) are installed, or, but not limited in an interpreted language such as for example, BASIC, Perl or Python are written. Es versteht sich, dass Software-Einheiten von anderen Einheiten oder von sich selbst aufrufbar sein können, und/oder sie ansprechend auf erfasste Ereignisse oder Interrupts aufgerufen werden können. It is understood that software units from other units or of himself may be called up, and / or they can be called in response to detected events or interrupts. Software-Einheiten, die für eine Ausführung auf Rechnervorrichtungen bzw. deren Hardware-Prozessoren konfiguriert sind, können auf einem computerlesbaren Medium bereitgestellt werden, beispielsweise einer CD (Compact Disk), einer DVD (Digital Video Disk), einem Flashspeicher-Laufwerk, einer Magnetplatte, oder einem beliebigen anderen greifbare Form aufweisenden Medium, oder als digitaler Download (und können ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das ein Installieren, Dekomprimieren oder Entschlüsseln vor einer Ausführung erfordert). Software units that are configured to run on computing devices and their hardware processors can be provided on a computer readable medium such as a CD (compact disc), a DVD (digital video disc), a Flash memory drive, a magnetic disk or having any other tangible form medium, or as a digital download (and may be initially stored in a compressed or installable format that requires installing, decompressing or decoding prior to execution). Derartiger Softwarecode kann, teilweise oder vollständig, in einem Speicherbauteil der ausführenden Rechnervorrichtung gespeichert sein, für eine Ausführung durch die Rechnervorrichtung. Such software code may, partly or completely, may be stored in a memory component of the executing computer device, for execution by the computing device. Softwareanweisungen können in Firmware, beispielsweise ein EPROM, eingebettet sein. Software instructions may be embedded in firmware, such as an EPROM. Es versteht sich weiter, dass Hardwaremodule verbundene Logikeinheiten beinhalten können, beispielsweise Gatter (Gates) und Flipflops, und/oder programmierbare Einheiten beinhalten können, beispielsweise programmierbare Gatter-Anordnungen (Gate-Arrays) oder Prozessoren. It will further be understood that the hardware modules can include connected logic units, such as gates (gates) and flip-flops, and / or may include programmable units, such as programmable gate arrays (Gate Array) or processors. Generell beziehen sich die hier beschriebenen Anweisungen auf logische Module, die mit anderen Modulen kombiniert oder in Untermodule unterteilt sein können, ungeachtet ihrer physischen Organisation oder ihres Speicherortes. In general, the instructions given here refer to logical modules that may be combined with other modules or divided into sub-modules, regardless of their physical organization or its storage location.
  • Das Vorlagensystem The template system 100 100 , oder Komponenten von diesem, wie beispielsweise die Auswahleinheit , Or components thereof, such as the selection unit 108 108 und/oder der Vorlagenprozessor and / or the template processor 109 109 von from 1 1 , können mittels ausführbaren Code-Anweisungen in einer Programmiersprache programmiert werden. Can be programmed in a programming language by means of executable code instructions.
  • Der Begriff „nicht-transitorische Medien” und ähnliche Begriffe, wie hier verwendet, beziehen sich auf jegliche Medien, die Daten und/oder Anweisungen speichern, welche eine Maschine veranlassen, in spezifischer Weise zu arbeiten. The term "non-transitory media" and similar terms, as used herein, refers to any media that store data and / or instructions that cause a machine to work in specific ways. Derartige nicht-transitorische Medien können nicht-flüchtige Medien und/oder flüchtige Medien beinhalten. Such non-transitory media may include non-volatile media and / or volatile media. Nichtflüchtige Medien schließen beispielsweise optische oder magnetische Platten ein, beispielsweise die Speichervorrichtung Non-volatile media include, for example, optical or magnetic disks, a, for example, the storage device 510 510 . , Flüchtige Medien schließen einen dynamischen Speicher wie beispielsweise den Hauptspeicher Volatile media include dynamic memory such as main memory 506 506 ein. on. Übliche Formen nicht-transitorischer Medien beinhalten beispielsweise eine Diskette, eine flexible Platte, eine Festplatte, ein Halbleiterlaufwerk (Solid-State-Drive), ein Magnetband oder ein beliebiges anderes magnetisches Datenspeichermedium, eine CD-ROM, ein beliebiges anderes optisches Datenspeichermedium, ein beliebiges physisches Medium mit Lochmustern, ein RAM, ein PROM und ein EPROM, ein Flash-EPROM, ein NVRAM, und einen beliebigen anderen Speicherchip oder -kassette, sowie über Netzwerk verbundene Versionen von diesen. Common forms of non-transitory media include, for example a floppy disk, a flexible disk, a hard disk, a semiconductor drive (Solid State Drive), a magnetic tape or any other magnetic data storage medium, a CD-ROM, any other optical data storage medium, any physical medium with patterns of holes, a RAM, a PROM, and EPROM, flash EPROM, NVRAM, and any other memory chip or cartridge, and connected via network versions of these.
  • Nicht-transitorische Medien sind verschieden von Übertragungsmedien, können jedoch in Verbindung mit diesen verwendet werden. Non-transitory media are different from transmission media, but may be used in conjunction with these. Übertragungsmedien nehmen an einer Übertragung von Information zwischen Speichermedien teil. Transmission media take part in a transfer of information between storage media. Beispielsweise beinhalten Übertragungsmedien Koaxialkabel, Kupferdraht und Lichtwellenleiter, einschließlich der Drähte, die der Bus For example, transmission media includes coaxial cables, copper wire and fiber optics, including the wires that the bus 502 502 beinhaltet. includes. Übertragungsmedien können auch die Form von Schall- oder Lichtwellen annehmen, beispielsweise solche, die bei Funk- und Infrarot-Datenkommunikationen erzeugt werden. Transmission media can also take the form of acoustic or light waves, such as those generated during radio and infrared data communications.
  • Verschiedene Formen von Medien können bei der Ausführung einer oder mehrerer Sequenzen von einer oder mehreren Anweisungen beteiligt sein, die durch den/die Prozessor(en) Various forms of media may be involved of one or more instructions during the execution of one or more sequences defined by the / processor (s) 504 504 auszuführen sind. are to be executed. Beispielsweise können die Anweisungen anfänglich auf einer Magnetplatte oder einem Halbleiterlaufwerk eines entfernt befindlichen Computers gespeichert sein. For example, the instructions may be stored on a magnetic disk or a semiconductor drive of a computer remotely located initially. Der ferne Computer kann die Anweisungen in seinen dynamischen Speicher laden und die Anweisungen über eine Telefonleitung oder eine Kabelverbindung unter Verwendung eines Modem senden. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line or a cable connection using a modem. Ein beim Vorlagensystem One in template system 100 100 befindliches Modem kann die Daten über die Telefonleitung oder eine Kabelverbindung empfangen und einen Infrarot-Sender verwenden, um die Daten in ein Infrarotsignal umzuwandeln. befindliches modem can receive the data on the telephone line or a cable connection and use an infrared transmitter to convert the data to an infrared signal. Ein Infrarot-Detektor kann die im Infrarot-Signal beförderten Daten empfangen, und geeignete Schaltungen können die Daten auf den Bus An infrared detector can receive the goods carried in the infrared data signal and appropriate circuitry can use the data on the bus 502 502 legen. lay. Der Bus The bus 502 502 befördert die Daten zum Hauptspeicher conveys the data to main memory 506 506 , aus dem der/die Prozessor(en) From which the / processor (s) 504 504 die Anweisungen abrufen und ausführen. retrieve the instructions and execute them. Die vom Hauptspeicher The from main memory 506 506 empfangenen Anweisungen können die Anweisungen abrufen und ausführen. received instructions to retrieve the instructions and execute them. Die vom Hauptspeicher The from main memory 506 506 empfangenen Anweisungen können optional in der Speichervorrichtung received instructions may optional in the storage device 510 510 gespeichert werden, entweder vor oder nach einem Ausführen durch den/die Prozessor(en) be stored either before or after executing by the / processor (s) 504 504 . ,
  • Das Vorlagensystem The template system 100 100 beinhaltet auch eine Kommunikationsschnittstelle also includes a communication interface 518 518 , die mit dem Bus That the bus 502 502 verbunden ist. connected is. Die Kommunikationsschnittstelle The communication interface 518 518 stellt eine Zweiweg-Datenkommunikationsverbindung zu einem Netzwerk-Verbindungsglied provides a two-way data communication coupling to a network link 520 520 bereit, das mit einem lokalen Netzwerk provided that a local area network 522 522 verbunden ist. connected is. Beispielsweise kann eine Kommunikationsschnittstelle For example, a communication interface 518 518 eine ISDN-Karte (ISDN = Integrated Services Digital Network), ein Kabelmodem, ein Satellitenmodem oder ein Modem sein, um eine Datenkommunikationsverbindung zu einem entsprechenden Typ von Telefonleitung bereitzustellen. be an ISDN card (ISDN = Integrated Services Digital Network), a cable modem, a satellite modem or a modem to provide a data communication connection to a corresponding type of telephone line. Als weiteres Beispiel kann eine Kommunikationsschnittstelle As another example, a communication interface 518 518 eine LAN-Karte (LAN = Local Area Network) sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN bereitzustellen (oder kann ein WAN-Bauelement sein, um mit einem WAN zu kommunizieren. Es können auch Drahtlosverbindungen implementiert werden. Bei einer beliebigen derartigen Implementierung sendet und empfängt eine Kommunikationsschnittstelle be a LAN card (LAN = Local Area Network) to provide a data communication connection to a compatible LAN (or may be a WAN device to communicate with a wide area network. It can also be implemented wireless connections. In any such implementation, sends and receives a communication interface 518 518 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen, welche verschiedene Typen von Information repräsentieren. electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • Das Netzwerk-Verbindungsglied The network link 520 520 stellt typischerweise eine Datenkommunikation zu anderen Datengeräten über eines oder mehrere Netzwerke bereit. typically provides data communication with other data devices via one or more networks. Beispielsweise kann das Netzwerk-Verbindungsglied For example, the network link 520 520 über ein lokales Netzwerk over a local network 522 522 eine Verbindung zu einem Host-Computer a connection to a host computer 524 524 oder zu Datenanlagen bereitstellen, die durch einen Internetdienstanbieter (ISP) provide or to data equipment operated by an Internet Service Provider (ISP) 526 526 betrieben werden. operate. Der ISP the ISP 526 526 stellt seinerseits Datenkommunikationsdienste über das weltweite Paketdaten-Kommunikationsnetz bereit, das jetzt üblicherweise als „Internet” in turn provides data communication services, which is now commonly referred to as "Internet" on the world wide packet data communication network 528 528 bezeichnet wird. referred to as. Sowohl das lokale Netz Both the local network 522 522 als auch das Internet and the Internet 528 528 verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme tragen. use electrical, electromagnetic or optical signals that carry digital data streams. Die über die verschiedenen Netzwerke laufenden Signale und die Signale, die über das Netzwerk-Verbindungsglied The current through the various networks signals and the signals on the network link 520 520 und über die Kommunikationsschnittstelle and the communication interface 518 518 laufen, welche die digitalen Daten zum Vorlagensystem run, which carry the digital data to the master system 100 100 hin und von diesem weg befördern, sind beispielhafte Formen von Übertragungsmedien. back and carry away from it, are exemplary forms of transmission media.
  • Ein Netzwerk, wie beispielsweise das Netzwerk A network such as the network 160 160 von from 1 1 , kann aufweisen, ist jedoch nicht eingeschränkt auf, eines oder mehrere LANs (LAN = Local Area Network – Lokales Rechnernetz), ein WAN (Wide Area Network – Weitverkehrsnetz), ein WLAN (Wireless Local Area Network – Lokales Drahtlosnetzwerk), ein WWAN (Wireless Wide Area Network – Weitverkehrsfunknetz), das Internet, oder eine beliebige Kombination von diesen. May include, but is not limited to, one or more LANs (LAN = Local Area Network - local computer network), a WAN (Wide Area Network - Wide Area Network), a WLAN (Wireless Local Area Network - Local wireless network), a WWAN ( Wireless Wide Area network - Wide Area radio network), the Internet, or any combination of these.
  • Das Vorlagensystem The template system 100 100 kann Nachrichten und Daten, einschließlich Programmcode, senden und empfangen, und zwar über das/die Netzwerk(e), das Netzwerk-Verbindungsglied can send messages and data, including program code, send and receive, via the / network (s), the network link 520 520 und die Kommunikationsschnittstelle and the communication interface 518 518 . , In dem Beispiel des Internet könnte ein Server In the example of the Internet could be a server 530 530 einen angeforderten Code für ein Anwendungsprogramm über das Internet a requested code for an application program through the Internet 528 528 , den ISP , ISP 526 526 , das lokale Netzwerk , The local network 522 522 und die Kommunikationsschnittstelle and the communication interface 518 518 senden. send.
  • Der empfange Code kann durch den/die Prozessor(en) The code can receive through the / processor (s) 504 504 unverändert wie empfangen ausgeführt werden, und/oder in der Speichervorrichtung be carried out unchanged as received, and / or in the storage device 510 510 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden. or other non-volatile storage for later execution.
  • Jeder der in den vorhergehenden Abschnitten beschriebenen Prozessen, Verfahren und Algorithmen können durch Codeanweisungen verkörpert werden, und vollständig oder teilweise durch diese automatisiert werden, wobei die Codeanweisungen durch eines oder mehrere Computersysteme oder Computerprozessoren, die Computer-Hardware beinhalten, ausgeführt werden. Each of the processes described in the preceding paragraphs, methods and algorithms may be embodied in code instructions, and fully or partially automated by these, wherein the code instructions are executed by one or more computer systems or computer processors include computer hardware. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltungen implementiert werden. The processes and algorithms can be implemented partially or fully in application-specific circuits.
  • Die zuvor beschriebenen verschiedenen Merkmale und Prozesse können unabhängig voneinander verwendet werden, oder können auf verschiedene Weisen kombiniert werden. The various features and processes described above may be used independently or can be combined in various ways. Alle möglichen Kombination und Unterkombinationen sollen innerhalb des Schutzumfangs dieser Offenbarung liegen. All possible combinations and sub-combinations are intended to be within the scope of this disclosure. Zusätzlich können gewisse Verfahren oder Prozessblöcke bei einigen Implementierungen weggelassen werden. In addition, certain method or process blocks can be omitted in some implementations. Die hier beschriebenen Verfahren und Prozesse sind auch nicht auf irgendeine spezielle Abfolge eingeschränkt, und die in Bezug damit stehenden Blöcke oder Zustände können in anderen geeigneten Abfolgen durchgeführt werden. The methods and processes described herein are also not limited to any particular sequence, and the related thereto blocks or states may be performed in other suitable sequences. Beispielsweise können die beschriebenen Blöcke oder Zustände in einer anderen als der spezifisch offenbarten Reihenfolge durchgeführt werden, oder mehrere Blöcke oder Zustände können zu einem einzelnen Block oder Zustand kombiniert werden. For example, the blocks or states described may be performed in other than the specifically disclosed sequence, or multiple blocks or states may be combined into a single block or state. Die beispielhaften Blöcke oder Zustände können in serieller, in paralleler oder in irgendeiner anderen Weise durchgeführt werden. The exemplary blocks or states may be performed in serial, in parallel or in some other way. Blöcke oder Zustände können zu den offenbarten beispielhaften Ausführungsformen hinzugefügt oder von diesen entfernt werden. Blocks or states may be added to the disclosed exemplary embodiments or remote from these. Die hier beschriebenen beispielhaften Systeme und Komponenten können in anderer Weise als beschrieben durchgeführt werden. The exemplary systems and components described herein may be carried out as described in other ways. Beispielsweise können, verglichen mit den offenbarten beispielhaften Ausführungsformen, Elemente hinzugefügt werden, entfernt werden oder neu angeordnet werden. For example, compared to the disclosed exemplary embodiments, elements are added, removed or rearranged.
  • Einen Vorbehalt ausdrückende Sprache, wie unter anderem beispielsweise „können”, „könnten”, „könnten möglicherweise” oder „können möglicherweise”, soll, wenn nicht speziell anders angegeben oder es im verwendeten Kontext anders zu verstehen ist, generell zum Ausdruck bringen, dass gewisse Ausführungsformen gewisse Merkmale, Elemente, und/oder Schritte beinhalten, während dies bei anderen Ausführungsformen nicht der Fall ist. A reservation expressing language, such as, among others such as "may," "might," "could possibly" or "may be able" to, unless specifically stated otherwise or it is to be understood differently in the used context, generally express that certain embodiments include, certain features, elements and / or steps, whereas this is not the case with other embodiments. Daher soll eine solche einen Vorbehalt enthaltende Sprache nicht generell implizieren, dass Merkmale, Elemente und/oder Schritte in irgendeiner Weise für eine oder mehrere Ausführungsformen erforderlich sind, oder dass eine oder mehrere Ausführungsformen notwendigerweise Logik beinhalten, um, mit oder ohne eine Eingabe oder eine Abfrage des Benutzers, zu entscheiden, ob diese Merkmale, Elemente und/oder Schritte enthalten sind oder in irgendeiner speziellen Ausführungsform durchzuführen sind. Therefore should such a reservation is not generally imply containing language that features, elements and / or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic, with or without an entry or query the user to determine whether these features, elements and / or steps are included or are to be performed in any particular embodiment.
  • Jegliche Prozessbeschreibungen, Elemente oder Blöcke in den Ablaufdiagrammen, die hier beschrieben sind und/oder in den anliegenden Zeichnungen dargestellt sind, sollten so verstanden werden, dass sie potenziell Einheiten, Segmente oder Abschnitte von Code repräsentieren, die eine oder mehrere ausführbare Anweisungen für ein Implementieren von spezifischen logischen Funktionen oder Schritten in dem Prozess beinhalten. Any process descriptions, elements, or blocks in the flow diagrams described herein and / or shown in the accompanying drawings should be understood that they represent potentially units, segments, or portions of code which comprises one or more executable instructions for implementing include specific logical functions or steps in the process. Alternative Implementierungen sind im Schutzumfang der hier beschriebenen Ausführungsformen eingeschlossen, wobei Elemente oder Funktionen entfernt werden können, und in einer anderen als der dargestellten oder erörterten Reihenfolge ausgeführt werden können, einschließlich im Wesentlichen gleichzeitig oder in umgekehrter Reihenfolge, in Abhängigkeit von der einhergehenden Funktionalität, wie für Fachleute klar ist. Alternate implementations are included within the scope of the embodiments described herein, said elements or features may be removed, and can be performed in a different order than shown or discussed, including substantially concurrently or in reverse order, depending upon the associated functionality, such as is clear for professionals.
  • Es ist hervorzuheben, dass viele Variationen und Modifikationen an den zuvor beschriebenen Ausführungsformen vorgenommen werden können, deren Elemente als neben weiteren geeigneten Beispielen bestehend zu verstehen sind. It should be emphasized that many variations and modifications may be made to the embodiments described above, the elements as well as other suitable examples are made to understand. Alle derartigen Modifikationen und Variationen verstehen sich als hier in den Schutzumfang dieser Offenbarung eingeschlossen. All such modifications and variations are the here included in the scope of this disclosure. Die vorhergehende Beschreibung beschreibt detailliert gewisse Ausführungsformen der Erfindung. The foregoing description describes in detail certain embodiments of the invention. Es versteht sich jedoch, dass unabhängig davon, wie detailliert in dem vorhergehenden Text die Erfindung beschrieben wurde, sie auf viele Weisen ausgeführt werden kann. However, it is understood that no matter how detailed the invention has been described in the preceding text, it may be performed in many ways. Wie zuvor ebenfalls angegeben wurde, ist zu beachten, dass die Verwendung einer speziellen Terminologie beim Beschreiben gewisser Merkmale oder Aspekte der Erfindung nicht so zu verstehen ist, dass hier impliziert wird, dass die Terminologie so neu definiert wird, dass sie darauf eingeschränkt ist, irgendwelche spezifische Kennzeichen der Merkmale oder Aspekte der Erfindung zu enthalten, mit denen diese Terminologie assoziiert ist. As previously also indicated, it should be noted that the use of a particular terminology when describing certain features or aspects of the invention is not to be understood as implied here that the terminology is being redefined to be limited to, any to include specific characteristics of the features or aspects of the invention with which that terminology is associated. Der Schutzumfang der Erfindung sollte daher gemäß den anliegenden Ansprüchen und jeglichen Äquivalenten von diesen interpretiert werden. The scope of the invention should therefore be interpreted by this in accordance with the appended claims and any equivalents.

Claims (20)

  1. Computersystem zum Generieren von benutzerangepassten vorlagenbasierten Dokumenten, wobei das Computersystem aufweist: eine Vorlagen-Speichervorrichtung; A computer system for generating user-adapted template-based documents, said computer system comprising: a template storing device; und einen oder mehrere Hardware-Prozessoren, die mittels ausführbarer Code-Anweisungen programmiert sind, um zu implementieren: einen Vorlagengenerator, der konfiguriert ist, um: auf eine Platzhalter-Vorlage zuzugreifen, die einen oder mehrere Platzhalter enthält, welche Orte zum Einfügen von ausführbaren Anweisungen angeben; and one or more hardware processors that are programmed by means of executable code instructions to implement: a template generator that is configured to: access a placeholder template that contains one or more placeholders, which places for inserting executable specify instructions; ausführbare Anweisungen zu empfangen, die in die Platzhalter-Vorlage aufzunehmen sind; to receive executable instructions to be included in the placeholder template; und in der Vorlagen-Speichervorrichtung eine Vorlage zu speichern, die einen oder mehrere Sätze der empfangenen ausführbaren Anweisungen beinhaltet, welche in entsprechende Platzhalter der Platzhalter-Vorlage eingefügt sind; and to store in the template storage device a template that includes one or more sets of the received executable instructions, which are inserted into corresponding placeholder, the placeholder template; eine Vorlagen-Auswahleinheit, die konfiguriert ist, um eine Auswahl der Vorlage und eine Auswahl von einem oder mehreren Datenobjekten zu empfangen, die in ein generiertes benutzerangepasstes Dokument aufzunehmen sind, basierend auf Eigenschaften des einen oder der mehreren Datenobjekte; a template selecting unit that is configured to receive a selection of the template and a selection of one or more data objects to be included in a generated user-customized document, based on characteristics of the one or more data objects; einen Vorlagen-Prozessor, der konfiguriert ist, um: den einen oder die mehreren Sätze von ausführbaren Anweisungen zu parsen, die in der Vorlage enthalten sind; a template processor is configured to: parse the one or more sets of executable instructions that are contained in the template; jeden Satz von ausführbaren Anweisungen auszuführen, wobei zumindest einige Sätze von ausführbaren Anweisungen Anweisungen beinhalten, um auf Eigenschaften der ausgewählten Datenobjekte zuzugreifen, die in einer oder mehreren Datenquellen gespeichert sind; execute each set of executable instructions, wherein at least some sets of executable instructions include instructions to access properties of the selected data objects that are stored in one or more data sources; eine Ausgabe für jeden Satz von ausführbaren Anweisungen zu generieren; to generate an output for each set of executable instructions; und das benutzerangepasste Dokument zu generieren, indem Sätze von ausführbaren Anweisungen in der Vorlage durch die Ausgabe ersetzt werden, die durch Ausführen von entsprechenden Sätzen von ausführbaren Anweisungen generiert wird, wobei zumindest ein Teil der Ausgabe Eigenschaften der ausgewählten Datenobjekte und/oder Übersichtsdaten betreffend die Eigenschaften der ausgewählten Datenobjekte beinhaltet. and generate the user-customized document by sets are replaced with executable instructions in the original by the output that is generated by executing respective sets of executable instructions, wherein on at least a part of the output characteristics of the selected data objects and / or summary data, the properties the selected data objects includes.
  2. System nach Anspruch 1, wobei die Vorlage ein XML-basiertes Dokumentformat aufweist. The system of claim 1, wherein the template comprises an XML-based document format.
  3. System nach Anspruch 1 oder Anspruch 2, wobei das benutzerangepasste Dokument ein Strafverfolgungsdokument aufweist. System according to claim 1 or claim 2, wherein the user-customized document comprises a law enforcement document.
  4. System nach einem der Ansprüche 1 bis 3, wobei die Platzhalter-Vorlage aufweist: einen Namen-Platzhalter; System according to one of claims 1 to 3, wherein the placeholder template: a name placeholder; einen Bild-Platzhalter; an image placeholder; einen Kontaktinformation-Platzhalter; a contact insertion; und einen Adresse-Platzhalter. and an address placeholder.
  5. System nach Anspruch 4, wobei die Platzhalter-Vorlage weiter aufweist: einen Deckname-Platzhalter; The system of claim 4, wherein the placeholder template further comprises: a code name placeholder; einen Partner-Platzhalter; a partner placeholder; und einen Verhaftungsvorgeschichte-Platzhalter. and an arrest history placeholder.
  6. System nach einem der Ansprüche 1 bis 5, wobei der Vorlagen-Prozessor aufweist: eine Code-Schnittstelle, die konfiguriert ist, um Code in mehreren Programmiersprachen zu parsen. System according to one of claims 1 to 5, wherein the templates processor: a code interface that is configured to parse code in multiple programming languages.
  7. System nach Anspruch 6, wobei die Code-Schnittstelle für Groovy konfiguriert ist. The system of claim 6, wherein the code interface is configured for Groovy.
  8. System nach einem der Ansprüche 1 bis 7, wobei die Datenobjekte Schnipsel-Objekte (Snippet-Objekte) aufweisen, wobei die Schnipsel-Objekte Dateneigenschaften für Vorladungen aufweisen. System according to one of claims 1 to 7, wherein the data objects comprise Paring objects (snippet) objects, wherein the objects include data snippets properties for citations.
  9. System nach einem der Ansprüche 1 bis 8, weiter aufweisend: eine Benutzerschnittstelleneinheit, die konfiguriert ist, eine oder mehrere Benutzerschnittstellen zu erzeugen, die konfiguriert sind, eines oder mehrere auswählbare Datenobjekte anzuzeigen, wobei die Auswahl des einen oder der mehreren Datenobjekte, die in das benutzerangepasste Dokument aufzunehmen sind, über die eine oder die mehreren Benutzerschnittstellen empfangen wird. System according to one of claims 1 to 8, further comprising: a user interface unit which is configured to generate one or more user interfaces that are configured to display one or more selectable data objects, wherein the selection of the one or more data objects, which in the via the one or more user interface is received are to include user-customized document.
  10. System nach Anspruch 9, wobei die eine oder die mehreren Benutzerschnittstellen konfiguriert sind, um: ausführbare Code-Anweisungen von einer interaktiven Kommandozeile zu empfangen, wobei zumindest einige der ausführbaren Code-Anweisungen konfiguriert sind, um das System zu veranlassen, bei deren Ausführung auf Eigenschaften der ausgewählten Datenobjekte zuzugreifen; The system of claim 9, wherein the one or more user interface configured to: receive executable code instructions of an interactive command line, at least configured some of the executable code instructions to cause the system to, when executed on Properties access the selected data objects; und eine Ausgabe der empfangenen ausführbaren Code-Anweisungen anzuzeigen, ansprechend auf eine Eingabe von der interaktiven Kommandozeile. and a display output of the received executable code instructions, in response to an input from the interactive command line.
  11. System nach Anspruch 2, weiter aufweisend: einen XML-Dokumenteditor, wobei der XML-Dokumenteditor konfiguriert ist, eine Benutzereingabe zu empfangen, um die XML-Dokumente eines XML-basierten Dokuments zu modifizieren. System according to claim 2, further comprising: an XML document editor, the XML document editor is configured to receive user input to modify the XML documents of a XML-based document.
  12. Verfahren zum Generieren von benutzerangepassten vorlagenbasierten Dokumenten, wobei das Verfahren umfasst: Empfangen einer Auswahl einer Vorlage, wobei die Vorlage einen oder mehrere Sätze von ausführbaren Anweisungen beinhaltet; A method for generating user-adapted template-based documents, the method comprising: receiving a selection of a template, wherein the template includes one or more sets of executable instructions; Empfangen einer Auswahl von einem oder mehreren Datenobjekten, auf die zuzugreifen ist, ansprechend auf ein Ausführen des einen oder der mehreren Sätze von ausführbaren Anweisungen; Receiving a selection of one or more data objects to be accessed, in response to executing the one or more sets of executable instructions; Ausführen, durch ein Computersystem, jedes Satzes von ausführbaren Anweisungen, wobei zumindest einige Sätze von ausführbaren Anweisungen Anweisungen beinhalten, um auf Eigenschaften zumindest einiger der ausgewählten Datenobjekte zuzugreifen; Executing, by a computer system, each set of executable instructions, wherein at least some sets of executable instructions include instructions to access properties of at least some of the selected data objects; Generieren einer Ausgabe für jeden Satz von ausführbaren Anweisungen; Generating an output for each set of executable instructions; und Generieren eines benutzerangepassten Dokuments, und zwar durch Ersetzen von Sätzen ausführbarer Anweisungen in der Vorlage durch die entsprechende generierte Ausgabe, einschließlich Eigenschaften der ausgewählten Datenobjekte und/oder Übersichtsdaten betreffend die Eigenschaften der ausgewählten Datenobjekte. and generating a user-adapted document, namely by replacing sets of executable instructions in the template with the corresponding generated output, including properties of the selected data objects and / or summary data concerning the characteristics of the selected data objects.
  13. Verfahren nach Anspruch 12, wobei die Vorlage ein XML-basiertes Dokumentformat aufweist. The method of claim 12, wherein the template comprises an XML-based document format.
  14. Verfahren nach Anspruch 13, weiter umfassend: einem Benutzer des Computersystems wird eine XML-Editier-Benutzerschnittstelle bereitgestellt, wobei die XML-Editier-Benutzerschnittstelle konfiguriert ist, eine Benutzereingabe zu empfangen, um die XML-Dokumente eines XML-basierten Dokuments zu modifizieren; The method of claim 13, further comprising: a user of the computer system there is provided an XML editing user interface, wherein the XML editing user interface is configured to receive user input to modify the XML documents of a XML-based document; Empfangen einer Eingabe vom Benutzer, und zwar von statischem Text in einer Platzhalter-Vorlage, wobei der statische Text in das generierte benutzerangepasste Dokument aufzunehmen ist; Receiving an input from the user, from static text in a placeholder template, wherein the static text is included in the generated user-customized document; Empfangen einer Eingabe einer Platzhalter-Zeichenkette an einem speziellen Ort einer Platzhalter-Vorlage; Receiving an input of a wildcard character string at a particular location of a placeholder template; Liefern einer XML-Ansicht der Platzhalter-Vorlage, wobei die XML-Ansicht Elemente beinhaltet, die von einer Textverarbeitung genutzt werden können, um eine bildliche Darstellung der Platzhalter-Vorlage zu generieren; Providing an XML view of the placeholder template, the XML view includes elements that can be used by a word processing application, to generate a representation of the placeholder template; Vorsehen von Kennungen, um die Platzhalter-Zeichenkette in der XML-Ansicht aufzufinden; Provision of identifiers to locate the wildcard string in the XML view; Empfangen eines ersten Satzes von ausführbaren Anweisungen, welche die Platzhalter-Zeichenkette in der XML-Ansicht ersetzen; Receiving a first set of executable instructions, replacing the wildcard character string in the XML view; Speichern, als die Vorlage, der Platzhalter-Vorlage mit dem ersten Satz von ausführbaren Anweisungen, welche die Platzhalter-Zeichenkette ersetzen. Save as the template, the template placeholder with the first set of executable instructions, which replace the placeholder string.
  15. Verfahren nach einem der Ansprüche 12 bis 14, wobei die Auswahl des einen oder der mehreren Datenobjekte, die in das benutzerangepasste Dokument aufzunehmen sind, über eine oder mehrere Benutzerschnittstellen empfangen wird. A method according to any one of claims 12 to 14, wherein the selection of the one or more data objects to be included in the user-customized document is received via one or more user interfaces.
  16. Verfahren nach einem der Ansprüche 12 bis 15, wobei das benutzerangepasste Dokument ein Strafregister aufweist, das eine Person betreffende Vorstrafeninformation beinhaltet. Method according to one of claims 12 to 15, wherein the user-customized document having a criminal record, which includes Vorstrafeninformation a person concerned.
  17. Computer-Speichervorrichtung, die Anweisungen enthält, um ein Computersystem zu veranlassen, benutzerangepasste vorlagenbasierte Dokumente zu generieren, und zwar durch: Empfangen einer Vorlage, die mittels Ersetzen von Platzhaltern durch Sätze von ausführbaren Anweisungen modifiziert wurde; Computer storage device containing instructions for causing a computer system to generate user-customized template-based documents, by: receiving a document which has been modified by sets of executable instructions by replacing placeholders; Empfangen einer Auswahl der Vorlage; Receiving a selection of the template; Empfangen einer Auswahl von einem oder mehreren Datenobjekten, die in ein generiertes benutzerangepasstes Dokument aufzunehmen sind, basierend auf Eigenschaften des einen oder der mehreren Datenobjekte; Receiving a selection of one or more data objects to be included in a generated user-customized document, based on characteristics of the one or more data objects; Parsen des einen oder der mehreren Sätze ausführbarer Anweisungen der Vorlage durch das Computersystem; Parsing the one or more sets of executable instructions of the template by the computer system; Ausführen eines jeden Satzes von ausführbaren Anweisungen, wobei zumindest einige Sätze von ausführbaren Anweisungen Anweisungen beinhalten, um auf Eigenschaften der ausgewählten Datenobjekte zuzugreifen, die von einer oder mehreren Datenquellen gespeichert werden; Executing each set of executable instructions, wherein at least some sets of executable instructions include instructions to access properties of the selected data objects that are stored by one or more data sources; Generieren einer Ausgabe für jeden Satz von ausführbaren Anweisungen; Generating an output for each set of executable instructions; und Generieren eines benutzerangepassten Dokuments, und zwar durch Ersetzen von Sätzen ausführbarer Anweisungen in der Vorlage durch die entsprechende generierte Ausgabe, einschließlich Eigenschaften der ausgewählten Datenobjekte und/oder Übersichtsdaten betreffend die Eigenschaften der ausgewählten Datenobjekte. and generating a user-adapted document, namely by replacing sets of executable instructions in the template with the corresponding generated output, including properties of the selected data objects and / or summary data concerning the characteristics of the selected data objects.
  18. Computer-Speichervorrichtung nach Anspruch 17, wobei die Vorlage ein XML-basiertes Dokumentformat aufweist. Computer memory device of claim 17, wherein the template comprises an XML-based document format.
  19. Computer-Speichervorrichtung nach Anspruch 17 oder Anspruch 18, wobei das benutzerangepasste Dokument ein Strafverfolgungsdokument aufweist. Computer memory device of claim 17 or claim 18, wherein the user-customized document comprises a law enforcement document.
  20. Computer-Speichervorrichtung nach einem der Ansprüche 17 bis 19, wobei die Auswahl des einen oder der mehreren Datenobjekte, die in das benutzerangepasste Dokument aufzunehmen sind, über eine oder mehrere Benutzerschnittstellen empfangen wird. Computer-storage device according to any one of claims 17 to 19, wherein the selection of the one or more data objects to be included in the user-customized document is received via one or more user interfaces.
DE201410215621 2013-08-08 2014-08-07 Template system to generate user-customized documents Pending DE102014215621A1 (en)

Priority Applications (8)

Application Number Priority Date Filing Date Title
US201361863814P true 2013-08-08 2013-08-08
US201361863792P true 2013-08-08 2013-08-08
US61/863,814 2013-08-08
US61/863,792 2013-08-08
US201361909949P true 2013-11-27 2013-11-27
US61/909,949 2013-11-27
US14/148,568 2014-01-06
US14/148,568 US9223773B2 (en) 2013-08-08 2014-01-06 Template system for custom document generation

Publications (1)

Publication Number Publication Date
DE102014215621A1 true DE102014215621A1 (en) 2015-02-12

Family

ID=51587823

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201410215621 Pending DE102014215621A1 (en) 2013-08-08 2014-08-07 Template system to generate user-customized documents

Country Status (2)

Country Link
DE (1) DE102014215621A1 (en)
GB (1) GB2518745A (en)

Cited By (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9123086B1 (en) 2013-01-31 2015-09-01 Palantir Technologies, Inc. Automatically generating event objects from images
US9223773B2 (en) 2013-08-08 2015-12-29 Palatir Technologies Inc. Template system for custom document generation
US9229952B1 (en) 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US9367872B1 (en) 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9383911B2 (en) 2008-09-15 2016-07-05 Palantir Technologies, Inc. Modal-less interface enhancements
US9449035B2 (en) 2014-05-02 2016-09-20 Palantir Technologies Inc. Systems and methods for active column filtering
US9454785B1 (en) 2015-07-30 2016-09-27 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9483162B2 (en) 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US9495353B2 (en) 2013-03-15 2016-11-15 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9552615B2 (en) 2013-12-20 2017-01-24 Palantir Technologies Inc. Automated database analysis to detect malfeasance
US9558352B1 (en) 2014-11-06 2017-01-31 Palantir Technologies Inc. Malicious software detection in a computing system
US9557882B2 (en) 2013-08-09 2017-01-31 Palantir Technologies Inc. Context-sensitive views
US9576015B1 (en) 2015-09-09 2017-02-21 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US9589014B2 (en) 2006-11-20 2017-03-07 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9646396B2 (en) 2013-03-15 2017-05-09 Palantir Technologies Inc. Generating object time series and data objects
US9727560B2 (en) 2015-02-25 2017-08-08 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US9727622B2 (en) 2013-12-16 2017-08-08 Palantir Technologies, Inc. Methods and systems for analyzing entity performance
US9740369B2 (en) 2013-03-15 2017-08-22 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US9823818B1 (en) 2015-12-29 2017-11-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US9852195B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. System and method for generating event visualizations
US9852205B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. Time-sensitive cube
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9864493B2 (en) 2013-10-07 2018-01-09 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US9870205B1 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9880987B2 (en) 2011-08-25 2018-01-30 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9886467B2 (en) 2015-03-19 2018-02-06 Plantir Technologies Inc. System and method for comparing and visualizing data entities and data entity series
US9891808B2 (en) 2015-03-16 2018-02-13 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
US9898335B1 (en) 2012-10-22 2018-02-20 Palantir Technologies Inc. System and method for batch evaluation programs
US9898509B2 (en) 2015-08-28 2018-02-20 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US9898528B2 (en) 2014-12-22 2018-02-20 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US9898167B2 (en) 2013-03-15 2018-02-20 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9922108B1 (en) 2017-01-05 2018-03-20 Palantir Technologies Inc. Systems and methods for facilitating data transformation
US9946777B1 (en) 2016-12-19 2018-04-17 Palantir Technologies Inc. Systems and methods for facilitating data transformation
US9953445B2 (en) 2013-05-07 2018-04-24 Palantir Technologies Inc. Interactive data object map
US9965937B2 (en) 2013-03-15 2018-05-08 Palantir Technologies Inc. External malware data item clustering and analysis
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9996229B2 (en) 2013-10-03 2018-06-12 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9998485B2 (en) 2014-07-03 2018-06-12 Palantir Technologies, Inc. Network intrusion data item clustering and analysis
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US10007674B2 (en) 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
US10037383B2 (en) 2013-11-11 2018-07-31 Palantir Technologies, Inc. Simple web search
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US10042524B2 (en) 2013-10-18 2018-08-07 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US10102229B2 (en) 2016-11-09 2018-10-16 Palantir Technologies Inc. Validating data integrations using a secondary data store
US10102369B2 (en) 2015-08-19 2018-10-16 Palantir Technologies Inc. Checkout system executable code monitoring, and user account compromise determination system
US10120545B2 (en) 2014-01-03 2018-11-06 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US10180929B1 (en) 2014-06-30 2019-01-15 Palantir Technologies, Inc. Systems and methods for identifying key phrase clusters within documents
US10180977B2 (en) 2014-03-18 2019-01-15 Palantir Technologies Inc. Determining and extracting changed data from a data source
US10198515B1 (en) 2013-12-10 2019-02-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US10216801B2 (en) 2013-03-15 2019-02-26 Palantir Technologies Inc. Generating data clusters
US10230746B2 (en) 2014-01-03 2019-03-12 Palantir Technologies Inc. System and method for evaluating network threats and usage
US10229284B2 (en) 2007-02-21 2019-03-12 Palantir Technologies Inc. Providing unique views of data based on changes or rules
US10248722B2 (en) 2016-02-22 2019-04-02 Palantir Technologies Inc. Multi-language support for dynamic ontology
US10262047B1 (en) 2013-11-04 2019-04-16 Palantir Technologies Inc. Interactive vehicle information map
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures

Cited By (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589014B2 (en) 2006-11-20 2017-03-07 Palantir Technologies, Inc. Creating data in a data store using a dynamic ontology
US10229284B2 (en) 2007-02-21 2019-03-12 Palantir Technologies Inc. Providing unique views of data based on changes or rules
US10248294B2 (en) 2008-09-15 2019-04-02 Palantir Technologies, Inc. Modal-less interface enhancements
US9383911B2 (en) 2008-09-15 2016-07-05 Palantir Technologies, Inc. Modal-less interface enhancements
US9880987B2 (en) 2011-08-25 2018-01-30 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US9836523B2 (en) 2012-10-22 2017-12-05 Palantir Technologies Inc. Sharing information between nexuses that use different classification schemes for information access control
US9081975B2 (en) 2012-10-22 2015-07-14 Palantir Technologies, Inc. Sharing information between nexuses that use different classification schemes for information access control
US9898335B1 (en) 2012-10-22 2018-02-20 Palantir Technologies Inc. System and method for batch evaluation programs
US9123086B1 (en) 2013-01-31 2015-09-01 Palantir Technologies, Inc. Automatically generating event objects from images
US9380431B1 (en) 2013-01-31 2016-06-28 Palantir Technologies, Inc. Use of teams in a mobile application
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US9898167B2 (en) 2013-03-15 2018-02-20 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US10216801B2 (en) 2013-03-15 2019-02-26 Palantir Technologies Inc. Generating data clusters
US9852195B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. System and method for generating event visualizations
US9852205B2 (en) 2013-03-15 2017-12-26 Palantir Technologies Inc. Time-sensitive cube
US9779525B2 (en) 2013-03-15 2017-10-03 Palantir Technologies Inc. Generating object time series from data objects
US9495353B2 (en) 2013-03-15 2016-11-15 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US9965937B2 (en) 2013-03-15 2018-05-08 Palantir Technologies Inc. External malware data item clustering and analysis
US9740369B2 (en) 2013-03-15 2017-08-22 Palantir Technologies Inc. Systems and methods for providing a tagging interface for external content
US9646396B2 (en) 2013-03-15 2017-05-09 Palantir Technologies Inc. Generating object time series and data objects
US10120857B2 (en) 2013-03-15 2018-11-06 Palantir Technologies Inc. Method and system for generating a parser and parsing complex data
US10264014B2 (en) 2013-03-15 2019-04-16 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic clustering of related data in various data structures
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US9953445B2 (en) 2013-05-07 2018-04-24 Palantir Technologies Inc. Interactive data object map
US9223773B2 (en) 2013-08-08 2015-12-29 Palatir Technologies Inc. Template system for custom document generation
US9557882B2 (en) 2013-08-09 2017-01-31 Palantir Technologies Inc. Context-sensitive views
US9921734B2 (en) 2013-08-09 2018-03-20 Palantir Technologies Inc. Context-sensitive views
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
US9996229B2 (en) 2013-10-03 2018-06-12 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US9864493B2 (en) 2013-10-07 2018-01-09 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US9514200B2 (en) 2013-10-18 2016-12-06 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US10042524B2 (en) 2013-10-18 2018-08-07 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US10262047B1 (en) 2013-11-04 2019-04-16 Palantir Technologies Inc. Interactive vehicle information map
US10037383B2 (en) 2013-11-11 2018-07-31 Palantir Technologies, Inc. Simple web search
US10198515B1 (en) 2013-12-10 2019-02-05 Palantir Technologies Inc. System and method for aggregating data from a plurality of data sources
US9734217B2 (en) 2013-12-16 2017-08-15 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US9727622B2 (en) 2013-12-16 2017-08-08 Palantir Technologies, Inc. Methods and systems for analyzing entity performance
US9552615B2 (en) 2013-12-20 2017-01-24 Palantir Technologies Inc. Automated database analysis to detect malfeasance
US10230746B2 (en) 2014-01-03 2019-03-12 Palantir Technologies Inc. System and method for evaluating network threats and usage
US10120545B2 (en) 2014-01-03 2018-11-06 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US9483162B2 (en) 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US10180977B2 (en) 2014-03-18 2019-01-15 Palantir Technologies Inc. Determining and extracting changed data from a data source
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9449035B2 (en) 2014-05-02 2016-09-20 Palantir Technologies Inc. Systems and methods for active column filtering
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US10180929B1 (en) 2014-06-30 2019-01-15 Palantir Technologies, Inc. Systems and methods for identifying key phrase clusters within documents
US10162887B2 (en) 2014-06-30 2018-12-25 Palantir Technologies Inc. Systems and methods for key phrase characterization of documents
US9998485B2 (en) 2014-07-03 2018-06-12 Palantir Technologies, Inc. Network intrusion data item clustering and analysis
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US9256664B2 (en) 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US9298678B2 (en) 2014-07-03 2016-03-29 Palantir Technologies Inc. System and method for news events detection and visualization
US9880696B2 (en) 2014-09-03 2018-01-30 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9946738B2 (en) 2014-11-05 2018-04-17 Palantir Technologies, Inc. Universal data pipeline
US9229952B1 (en) 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US9483506B2 (en) 2014-11-05 2016-11-01 Palantir Technologies, Inc. History preserving data pipeline
US10191926B2 (en) 2014-11-05 2019-01-29 Palantir Technologies, Inc. Universal data pipeline
US10135863B2 (en) 2014-11-06 2018-11-20 Palantir Technologies Inc. Malicious software detection in a computing system
US9558352B1 (en) 2014-11-06 2017-01-31 Palantir Technologies Inc. Malicious software detection in a computing system
US9898528B2 (en) 2014-12-22 2018-02-20 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US9589299B2 (en) 2014-12-22 2017-03-07 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9367872B1 (en) 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US9870205B1 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US10127021B1 (en) 2014-12-29 2018-11-13 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9870389B2 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US10157200B2 (en) 2014-12-29 2018-12-18 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US9727560B2 (en) 2015-02-25 2017-08-08 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US9891808B2 (en) 2015-03-16 2018-02-13 Palantir Technologies Inc. Interactive user interfaces for location-based data analysis
US9886467B2 (en) 2015-03-19 2018-02-06 Plantir Technologies Inc. System and method for comparing and visualizing data entities and data entity series
US9454785B1 (en) 2015-07-30 2016-09-27 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US10223748B2 (en) 2015-07-30 2019-03-05 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US10102369B2 (en) 2015-08-19 2018-10-16 Palantir Technologies Inc. Checkout system executable code monitoring, and user account compromise determination system
US9898509B2 (en) 2015-08-28 2018-02-20 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US9965534B2 (en) 2015-09-09 2018-05-08 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US9576015B1 (en) 2015-09-09 2017-02-21 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US9823818B1 (en) 2015-12-29 2017-11-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US10248722B2 (en) 2016-02-22 2019-04-02 Palantir Technologies Inc. Multi-language support for dynamic ontology
US10007674B2 (en) 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
US10102229B2 (en) 2016-11-09 2018-10-16 Palantir Technologies Inc. Validating data integrations using a secondary data store
US9946777B1 (en) 2016-12-19 2018-04-17 Palantir Technologies Inc. Systems and methods for facilitating data transformation
US9922108B1 (en) 2017-01-05 2018-03-20 Palantir Technologies Inc. Systems and methods for facilitating data transformation

Also Published As

Publication number Publication date
GB2518745A (en) 2015-04-01
GB201413935D0 (en) 2014-09-17

Similar Documents

Publication Publication Date Title
US7640496B1 (en) Method and apparatus for generating report views
EP1088280B1 (en) Method and system for fast memory-resident processing of transaction data
DE69531599T2 (en) Method and apparatus for locating and obtaining personalized information
US7853554B2 (en) Method and system for metadata reconciliation in a data warehouse
US7644390B2 (en) Design tool and methodology for enterprise software applications
US9009171B1 (en) Systems and methods for active column filtering
DE60308505T2 (en) Method and system for automatic testing of software
DE60029349T2 (en) Arrangement of the components based on execution of tasks during the processing of insurance claims
US7720886B2 (en) System for generating an information catalog
US6698013B1 (en) Real time monitoring system for tracking and documenting changes made by programmer&#39;s during maintenance or development of computer readable code on a line by line basis and/or by point of focus
DE69937332T2 (en) Method and apparatus for software development
US7117429B2 (en) Methods and systems for managing styles electronic documents
US7917842B2 (en) System for describing the overlaying of electronic data onto an electronic image
DE602004011952T2 (en) Method and system for improving the presentation of HTML pages in an Internet access device
EP1176482B1 (en) Method and computer program for generating a regulation or control system
DE60314631T2 (en) Search method for metadata and device using the indices of metadata
US9390395B2 (en) Methods and apparatus for defining a collaborative workspace
US20080263101A1 (en) Data Processing Device and Data Processing Method
DE69815814T2 (en) Method and system for allocating exposed to X-ray film associated patient information
DE60310255T2 (en) Scalable data access in an arbitrarily large document
DE60009309T2 (en) System and method for presentieren of channelized data
DE60112188T2 (en) Method and system for generating structured documents for different presentation have
US9201956B2 (en) Patent mapping
DE60311805T2 (en) Collecting, compiling, and / or visualization of structural features of architectures
DE602004003361T2 (en) System and method for generation of refinement categories for a set of search results

Legal Events

Date Code Title Description
R012 Request for examination validly filed