DE102014006634A1 - Durch einen Benutzer erzeugbare Kunden-Workflows - Google Patents

Durch einen Benutzer erzeugbare Kunden-Workflows Download PDF

Info

Publication number
DE102014006634A1
DE102014006634A1 DE102014006634.7A DE102014006634A DE102014006634A1 DE 102014006634 A1 DE102014006634 A1 DE 102014006634A1 DE 102014006634 A DE102014006634 A DE 102014006634A DE 102014006634 A1 DE102014006634 A1 DE 102014006634A1
Authority
DE
Germany
Prior art keywords
action
event
application
workflow
selection
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
DE102014006634.7A
Other languages
English (en)
Inventor
c/o Adobe Systems Inc. Rusu Ionut Adrian
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.)
Adobe Inc
Original Assignee
Adobe Systems 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
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Publication of DE102014006634A1 publication Critical patent/DE102014006634A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management

Abstract

Dieses Dokument beschreibt Techniken, welche Benutzern ermöglichen, ihre Applikationen bzw. Anwendungen durch Workflows anzupassen. Im Gegensatz zu oftmals allzu einfachen Regeln können diese durch einen Benutzer auswählbaren Workflows beliebig und nahezu unbegrenzt in der Anzahl und Komplexität sein. Darüber hinaus erfordern diese Workflows nicht, dass ein Anwendungsdesigner diese durch ein Hinzufügen oder ein Ändern eines Codes der Anwendung baut bzw. zusammenstellt. Die Techniken ermöglichen Benutzern, Workflows durch ein Verbinden von offengelegten Events und offengelegten Aktionen einer Anwendung zu erzeugen. Diese Verbindungen, welche als ”Synapsen” bezeichnet werden, werden durch die Techniken verwendet, um Workflows aufzubauen, wodurch Benutzern erlaubt wird, die Applikation bzw. Anwendung anzupassen.

Description

  • HINTERGRUND
  • Softwareanwendungen bzw. -applikationen weisen typischerweise einen festgelegten Satz von Regeln auf, welche ein Benutzer der Anwendung auswählen kann. Eine E-Mail-Anwendung kann beispielsweise als eine durch einen Benutzer auswählbare Option eine Regel beinhalten, welche eine S-Mail weiterleitet, welche ein spezielles Wort in der Betreff-Zeile oder eine E-Mail-Adresse eines speziellen Absenders enthält. Oder es kann beispielsweise eine Textverarbeitungsapplikation bzw. -anwendung eine Regel beinhalten, welche automatisch ein ausgewähltes falsch geschriebenes Wort durch eine korrekte Schreibweise des Wortes korrigiert, wie beispielsweise das falsch geschriebene Wort ”thier” mit der korrekten Schreibweise ”their”.
  • Verwender einer Applikation können jedoch wünschen, ihre Applikationen bzw. Anwendungen über einen festgelegten Satz von Regeln hinaus anzupassen. Diese gewünschten Anpassungen können oft nicht implementiert werden, ohne dass der Designer der Applikation einen Code der Applikation erzeugt oder ändert. Daher sind gewünschte Anpassungen zeitraubend und teuer, um durch Designer einer Applikation erzeugt zu werden. Darüber hinaus kann die Anzahl von Anpassungen so vielfältig wie die Anzahl von Benutzern bzw. Verwendern selbst sein, wobei es dies unpraktisch macht, sich auf alle bis auf einige wenige der am meisten angefragten Anpassungen zu beziehen.
  • ZUSAMMENFASSUNG
  • Dieses Dokument beschreibt Techniken, welche Benutzern ermöglichen, ihre Applikationen bzw. Anwendungen durch Workflows anzupassen. Im Gegensatz zu oftmals einfachen bzw. vereinfachten Regeln können diese durch einen Benutzer auswählbaren Workflows willkürlich bzw. beliebig und nahezu unbegrenzt in ihrer Anzahl und Komplexität sein. Darüber hinaus erfordern diese Workflows nicht, dass sie ein Designer einer Applikation aufbaut, indem ein Code der Applikation hinzugefügt oder geändert wird. Stattdessen ermöglichen die Techniken Benutzern, Workflows zu erzeugen, indem offengelegte bzw. dargelegte Events und offengelegte bzw. dargelegte Aktionen einer Anwendung bzw. Applikation verbunden bzw. gekoppelt werden. Diese Verbindungen, welche als ”Synapsen” bezeichnet werden, werden durch die Techniken verwendet, um Workflows zu erstellen bzw. aufzubauen, wodurch Benutzern erlaubt wird, die Anwendung bzw. Applikation anzupassen.
  • Diese Zusammenfassung wird zur Verfügung gestellt, um vereinfachte Konzepte vorzustellen, welche darüber hinaus unten in der detaillierten Beschreibung beschrieben werden. Diese Zusammenfassung zielt nicht darauf ab, wesentliche Merkmale des beanspruchten Gegenstands zu identifizieren, noch zielt sie auf eine Verwendung beim Bestimmen des Bereichs bzw. Geltungsbereichs des beanspruchten Gegenstands ab. Auf Techniken und/oder Vorrichtungen, welche durch einen Benutzer erzeugbare Kunden-Workflows ermöglichen, wird auch hierin getrennt oder im Zusammenhang als die ”Techniken” Bezug genommen, wie sie durch den Kontext erlaubt sind bzw. werden.
  • Gemäß einem Aspekt der Erfindung wird ein computer-implementiertes Verfahren zur Verfügung gestellt, umfassend: ein Empfangen einer Auswahl eines offengelegten Events, wobei das offengelegte Event einer Anwendung bzw. Applikation innewohnt; ein Empfangen einer Auswahl einer offengelegten Aktion, wobei die offengelegte Aktion der Anwendung innewohnt; ein Erzeugen einer Synapse, welche das ausgewählte Event mit der ausgewählten Aktion verbindet; und ein Aufbauen eines Workflows unter Verwendung der Synapse, wobei der Workflow konfiguriert wird, um die Anwendung zu veranlassen, die ausgewählte Aktion in Antwort auf das ausgewählte Event durchzuführen.
  • Gemäß einer besonderen Ausführungsform ist die ausgewählte Aktion eine spezifische Aktivität, welche durch die Anwendung ausgeführt wird, wenn das Event auftritt.
  • Insbesondere ist das ausgewählte Event eine spezifische Aktivität, welche durch die Anwendung durchgeführt wird.
  • Darüber hinaus umfasst insbesondere das Verfahren weiterhin ein Empfangen einer Auswahl eines Event-Filters, wobei das Event-Filter eine Bedingung für die ausgewählte, auszuführende Aktion ist, und wobei ein Aufbauen des Workflows den Workflow konfiguriert, um die Anwendung zu veranlassen, die ausgewählte Aktion in Antwort darauf durchzuführen, dass die Bedingung erfüllt wird.
  • Darüber hinaus umfasst das Verfahren insbesondere weiterhin ein Empfangen einer Auswahl eines Aktions-Parameters, wobei der Aktions-Parameter auf einem statischen oder variierenden Wert abgebildet wird, und wobei ein Aufbauen des Workflows den Workflow konfiguriert, um die Anwendung zu veranlassen, die ausgewählte Aktion durchzuführen, welche den statischen oder sich ändernden Wert beinhaltet.
  • Darüber hinaus umfasst das Verfahren insbesondere weiterhin ein Empfangen einer Auswahl eines Event-Kontexts und eines Aktions-Kontexts, wobei der Event-Kontext und der Aktions-Kontext aus mehreren funktionellen Software-Entitäten bzw. -Einheiten gewählt werden.
  • Darüber hinaus umfasst das Verfahren insbesondere weiterhin ein Empfangen einer Auswahl eines anderen offengelegten Events, welches der Anwendung innewohnt, wobei das offengelegte Event fähig ist, durch die ausgewählte Aktion bewirkt zu werden; ein Empfangen einer Auswahl einer anderen offengelegten Aktion, welche der Anwendung innewohnt; und ein Erzeugen einer anderen Synapse, welche das ausgewählte andere Event und die ausgewählte andere Aktion verbindet, und wobei ein Aufbauen des Workflows auch die andere Synapse verwendet, der Workflow konfiguriert wird, um die Anwendung zu veranlassen, die ausgewählte Aktion in Antwort auf das ausgewählte Event durchzuführen und dann, nach der ausgewählten Aktion, die andere ausgewählte Aktion in Antwort auf das andere ausgewählte Event durchzuführen, welches durch die ausgewählte Aktion bewirkt wird.
  • Darüber hinaus wird vorzugsweise der Workflow unter Verwendung einer Liquid Markup Language gebildet bzw. aufgebaut.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Computerprogrammprodukt zur Verfügung gestellt, welches insbesondere als ein oder mehrere computerlesbare(s) Speichermedium (-medien), als ein Signal und/oder als ein Datenstrom verkörpert ist bzw. wird, umfassend computerlesbare Instruktionen, welche in Antwort auf eine Ausführung durch einen oder mehrere Prozessor(en) Vorgänge durchführen, umfassend: ein Offenlegen in einem Benutzerinterface, wählbar aus: Event-Kontexten; Events; Event-Filtern; Aktions-Kontexten; Aktionen; und Aktions-Parametern; und ein Aufbauen eines Workflows basierend auf Auswahlen, welche durch das Benutzerinterface empfangen werden, wobei der Workflow konfiguriert ist, um in Antwort auf ein ausgewähltes Event, welches innerhalb eines ausgewählten Event-Kontexts auftritt und wobei ein ausgewähltes Event-Filter erfüllt ist, eine ausgewählte Aktion zu bewirken, wobei die ausgewählte Aktion innerhalb eines ausgewählten Aktions-Kontexts und gemäß einem ausgewählten Aktions-Parameter durchgeführt wird.
  • Gemäß einer besonderen Ausführungsform präsentiert das Offenlegen eine graphisch auswählbare Liste der Event-Kontexte, der Events, der Event-Filter, der Aktions-Kontexte, der Aktionen oder der Aktions-Parameter.
  • Insbesondere sind die offengelegten Events an den ausgewählten Event-Kontext angepasst bzw. maßgeschneidert.
  • Darüber hinaus präsentiert insbesondere ein Offenlegen der Event-Kontexte und der Aktions-Kontexte funktionelle Software-Entitäten, welche einer einzigen Anwendung innewohnen.
  • Gemäß einem anderen Aspekt der Erfindung wird ein Computerprogrammprodukt, insbesondere gemäß dem obigen Aspekt der Erfindung oder einer besonderen Ausführungsform davon zur Verfügung gestellt, und/oder welches insbesondere als ein oder mehrere computerlesbare(s) Speichermedium (-medien), als ein Signal und/oder als ein Datenstrom verkörpert wird, umfassend computerlesbare Instruktionen, welche in Antwort auf eine Ausführung durch einen oder mehrere Prozessor(en) Vorgänge durchführen, umfassend: ein Empfangen einer History, welche Interaktionen mit funktionellen Software-Entitäten und dadurch durchgeführte Vorgänge bzw. Operationen beinhaltet; ein Bestimmen, basierend auf der History, von Synapsen, welche Events und Aktionen korrelieren, wobei die korrelierten bzw. zugeordneten Events und Aktionen aus den Vorgängen bestimmt werden, welche durch die funktionellen Software-Entitäten durchgeführt werden; ein Ermöglichen einer Auswahl von einer der Synapsen; und in Antwort auf eine Auswahl von einer der Synapsen ein Aufbauen bzw. Ausbilden eines Workflows, wobei der Workflow konfiguriert ist, um eine der funktionalen Software-Entitäten zu veranlassen, die korrelierte Aktion der ausgewählten Synapse in Antwort auf ein Auftreten des korrelierten Events der ausgewählten Synapse durchzuführen.
  • Gemäß einer besonderen Ausführungsform ist das korrelierte Event einer der Vorgänge, welche durch eine der funktionellen Software-Entitäten ohne eine Interaktion durch den Benutzer durchgeführt werden, und die korrelierte Aktion ist einer der Vorgänge, welche durch die eine oder eine andere der funktionellen Software-Entitäten durchgeführt werden, wobei die korrelierte Aktion durch die Interaktion mit dem Benutzer bewirkt wird.
  • Insbesondere beinhaltet die History ein zeitliches Abstimmen der Vorgänge und der Interaktionen und ein Bestimmen von Synapsen basiert wenigstens teilweise auf Zeitdauern zwischen den Vorgängen, welche durch die funktionellen Software-Entitäten durchgeführt werden, und den Interaktionen mit den funktionellen Software-Entitäten durch die Benutzer.
  • Darüber hinaus beinhaltet insbesondere ein Empfangen der History ein Scannen eines Aktivitäts-Logs des Benutzers und ein Bestimmen von Synapsen beinhaltet ein Finden von Mustern von Aktivitäten in dem Aktivitäts-Log und ein Korrelieren von sequentiellen Vorgängen in den gefundenen Mustern.
  • Darüber hinaus beinhaltet insbesondere ein Ermöglichen einer Auswahl der einen oder mehreren Synapse(n) ein Präsentieren in einem Benutzerinterface von auswählbaren Events und Aktionen.
  • Darüber hinaus bestimmt insbesondere ein Bestimmen der Synapsen, basierend auf der History, Aktions-Parameter, um mit der korrelierten Aktion beinhaltet zu sein.
  • Darüber hinaus bestimmt insbesondere ein Bestimmen der Synapsen, basierend auf der History, ein Event-Filter, welches eine Bedingung für die korrelierte Aktion ist.
  • Darüber hinaus sind insbesondere die funktionellen Software-Entitäten getrennte Anwendungen bzw. Applikationen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Ausführungsformen, welche durch einen Benutzer erzeugbare Kunden-Workflows ermöglichen, werden unter Bezugnahme auf die folgenden Zeichnungen beschrieben. Dieselben Bezugszeichen werden in sämtlichen Zeichnungen verwendet, um ähnliche bzw. gleiche Merkmale und Komponenten zu bezeichnen. Es sollte verstanden werden, dass, selbst obwohl Ausführungsformen getrennt beschrieben werden, einzelne Merkmale davon zu zusätzlichen Ausführungsformen kombiniert werden können.
  • 1 illustriert ein beispielhaftes System, in welchem Techniken, welche durch einen Benutzer erzeugbare Kunden-Workflows ermöglichen, implementiert sein bzw. werden können.
  • 2 illustriert eine beispielhafte Applikation bzw. Anwendung, welche die funktionellen Software-Entitäten, einen Workflow-Manager, Events, Aktionen und Synapsen aufweist.
  • 3 illustriert beispielhafte Verfahren für ein Ermöglichen von durch einen Benutzer ausgewählten Workflows, um eine Applikation anzupassen.
  • 4 illustriert beispielhafte Benutzer-Interfaces, in welchen der Workflow-Manager von 2 eine Auswahl von funktionellen Software-Entitäten, Events und Event-Filtern ermöglicht.
  • 5 illustriert beispielhafte Benutzer-Interfaces, in welchen der Workflow-Manager von 2 eine Auswahl von Aktions-Kontexten und Aktionen ermöglicht bzw. erlaubt.
  • 6 illustriert beispielhafte Benutzer-Interfaces, in welchen der Workflow-Manager von 2 eine Auswahl von Aktions-Parametern ermöglicht.
  • 7 illustriert beispielhafte Verfahren für ein Aufbauen eines Workflows basierend auf einer History von Interaktionen eines Benutzers mit funktionellen Software-Entitäten.
  • 8 illustriert einen Workflow mit drei Synapsen.
  • 9 illustriert eine beispielhafte Vorrichtung, in welcher Techniken, welche durch einen Benutzer erzeugbare Kunden-Workflows ermöglichen bzw. erlauben, implementiert sein bzw. werden können.
  • DETAILLIERTE BESCHREIBUNG
  • Überblick
  • Dieses Dokument beschreibt Techniken, welche Benutzern bzw. Verwendern ermöglichen, ihre Applikationen bzw. Anwendungen durch Workflows anzupassen. Diese Techniken ermöglichen Benutzern, Workflows zu erzeugen, indem offengelegte Events und offengelegte Aktionen einer Anwendung verbunden bzw. gekoppelt werden.
  • Es soll beispielsweise angenommen werden, dass ein Benutzer einer Textverarbeitungsapplikation wünscht, eine Anpassung vorzunehmen, wie sich die Applikation verhält. Es soll darüber hinaus angenommen werden, dass der Benutzer ein Lehrer ist, welcher wünscht, Inline-Editings durchzuführen, um Schriftstücke zu korrigieren, und Kommentare für jedes Inline-Editing hinzuzufügen, welche anzeigen, warum die Änderung durchgeführt wurde. Diese Techniken ermöglichen dem Lehrer, zuerst ein besonderes Event auszuwählen, welches die Applikation durchführen kann, hier ein Dokument zu editieren bzw. zu bearbeiten, zweitens ein Event-Filter auszuwählen, hier den Workflow nur auf Dokumente zu beschränken, welche durch einen Studenten erzeugt wurden, und drittens eine Aktion auszuwählen, hier eine neue Kommentarbox zu öffnen und den Cursor des Lehrers in der Kommentarbox anzuordnen. Diese Techniken ermöglichen dem Lehrer durch ein Auswählen des Events, Event-Filters und der Aktion, einen Workflow aufzubauen bzw. zu erstellen, welcher die Textverarbeitungsapplikation für ein Beurteilen von Schriftstücken anpasst. Das nächste Mal, wenn der Lehrer ein Dokument editiert (das Event), welches durch einen Studenten erzeugt wurde (das Event-Filter), bewirkt der Workflow, dass die Applikation eine Kommentarbox öffnet (die Aktion).
  • Dies ist nur ein Beispiel der vielen Arten, in welchen die Techniken einem Benutzer ermöglichen, einen angepassten bzw. kundenspezifischen bzw. Kunden-Workflow zu erzeugen. Die folgende Diskussion bezieht sich auf eine Betriebs- bzw. Betätigungsumgebung, Techniken, welche in der Betriebsumgebung verwendet bzw. eingesetzt werden können, und eine Vorrichtung, in welcher (eine) Komponente(n) der Betriebsumgebung verkörpert sein bzw. werden kann bzw. können. In der nachfolgenden Diskussion wird auf die Betriebsumgebung lediglich als Beispiel Bezug genommen.
  • Betriebsumgebung
  • 1 illustriert eine Betriebsumgebung 100, in welcher Techniken, welche durch einen Benutzer erzeugbare angepasste bzw. Kunden-Workflows ermöglichen, verkörpert sein bzw. werden können. Die Umgebung 100 beinhaltet eine Rechen- bzw. Computervorrichtung 102, welche mit sechs Beispielen illustriert ist: einem Laptop-Computer 104, einer Tablet-Computervorrichtung 106, einem Smartphone 108, einer Set-Top-Box 110 (in einen Fernseher integriert), einem Desktop Computer 112 und einer Multifunktions-Drucker/Scanner/Telefax-Vorrichtung 114, obwohl andere Rechenvorrichtungen und -systeme, wie beispielsweise Vorrichtungen für ein Personal Area Network, Appliances bzw. Vorrichtungen, Spielvorrichtungen, Server und Netbooks auch verwendet werden können.
  • Die Computervorrichtung 102 beinhaltet (einen) Computerprozessor(en) 116 und computerlesbare Speichermedien 118 (Medien 118). Die Medien 118 beinhalten ein Betriebssystem 120, (eine) Applikation(en) 122, (eine) Anzeige(n) 124 und (einen) Eingabemechanismus (-mechanismen) 126.
  • Applikationen bzw. Anwendungen 122 beinhalten eine oder mehrere funktionelle Software-Entität(en) 128 und einen Workflow-Manager 130 oder haben einen Zugriff darauf. Während als ein Teil von Applikationen 122 gezeigt, können funktionelle Software-Entitäten 128 in einigen Ausführungsformen einzelne bzw. alleinstehende Applikationen selbst sein. Darüber hinaus kann, während der Workflow-Manager 130 als Teil von Applikationen 122 gezeigt ist, der Workflow-Manager 130 getrennt von den Anwendungen bzw. Applikationen 122 sein oder fähig sein, mit mehr als einer derselben verwendet zu werden.
  • Applikationen 122 beinhalten Software, welche fähig ist, verschiedene Funktionen und Tätigkeiten durchzuführen, wie beispielsweise eine Applikation für einen kleinen Betrieb, eine Tabellen- bzw. Kalkulationstabellen-Applikation, eine Textbearbeitungs-Applikation, eine Bildbearbeitungs-Applikation und eine Kommunikationssoftware-Applikation, um lediglich einige wenige zu nennen.
  • Funktionelle Software-Entitäten 128 können jeweils eine Sammlung von Funktionen oder ein tatsächliches Modul innerhalb einer Applikation sein oder können eine diskrete und trennbare Entität sein. Es soll beispielsweise eine Kommunikationssoftware-Applikation betrachtet werden, welche Kalender- und E-Mail-Funktionen aufweist. Die Gruppe von Kalender-Funktionen und die Gruppe von E-Mail-Funktionen kann jeweils als eine von funktionellen Software-Entitäten 128 erachtet werden. Es soll auch eine Textbearbeitungs-Applikation betrachtet werden, welche Texteingabe-Funktionen, Track-Changes-Funktionen bzw. Nachverfolgungs-Funktionen, Kommentar-Funktionen und Tabellen-Funktionen aufweist. Jede von diesen kann als eine funktionelle Software-Entität 128 beschrieben werden. Ein Beschreiben von ähnlichen bzw. gleichen Funktionen auf diese Weise kann Benutzern helfen beim Bestimmen, welche Events auszuwählen sind, wenn ein Workflow erzeugt wird. Dies wird unten als Teil von Verfahren beschrieben.
  • Der Workflow-Manager 130 ist fähig, Benutzern zu ermöglichen, angepasste bzw. Kunden-Workflows zu erzeugen. In einigen Fällen ermöglicht der Workflow-Manager 130 einem Benutzer, Synapsen von Event-Aktions-Paaren auszuwählen, um diese in Workflows einzubauen. Der Workflow-Manager 130 beinhaltet oder hat Zugriff auf ein Benutzerinterface 132 und Synapsen 134. Der Workflow-Manager 130 kann das Benutzerinterface 132 verwenden, um eine Auswahl zu ermöglichen, wie beispielsweise durch eine graphische Auswahl von aufgelisteten Gegenständen bzw. Elementen, um einen Workflow aufzubauen. Synapsen 134 repräsentieren eine Übereinstimmung zwischen einem Event und einer Aktion. Synapsen 134 können bestimmt und/oder ausgewählt werden, wie dies im Detail unten beschrieben wird. Der Workflow-Manager 130 kann diese Workflows in Antwort auf eine Benutzerauswahl in verschiedenen Sprachen und Formaten aufbauen, wie beispielsweise der ”C” Familie von Sprachen oder Markup Sprachen (eXtensible Markup Language (XML), Liquid Markup Language, etc.), um lediglich einige wenige zu nennen.
  • Wie dies angemerkt ist, repräsentieren diese Synapsen 134 Event-Aktions-Paare. Ein Event ist eine besondere Aktivität oder ein besonderer Vorgang, welche(r) durch die Anwendung bzw. Applikation 122 (z. B. durch eine von funktionellen Software-Entitäten 128) durchgeführt wird. Dieser Event kann durch einen Benutzer bzw. Verwender bewirkt werden oder kann durch die Applikation 122 ohne eine Interaktion von dem Benutzer durchgeführt werden. Es wird eine Kommunikationsapplikation betrachtet, welche E-Mail- und Kalender-Funktionen aufweist. Ein E-Mail kann empfangen werden, ohne durch den Benutzer veranlasst worden zu sein, oder ein E-Mail kann geöffnet oder versandt werden, wobei dies durch den Benutzer bewirkt wird. In jedem Fall kann jedoch ein Empfangen, Öffnen oder Senden des E-Mails ein Event bzw. Vorgang sein.
  • Eine Aktion ist eine besondere Aktivität oder ein besonderer Vorgang, welche(r) durch die Applikation 122 in Antwort auf ein Auftreten eines Events durchgeführt werden kann. Ein Workflow kann erzeugt werden, welcher beispielsweise automatisch eine Kalendereintragung öffnet (eine Aktion) in Antwort auf einen Empfang eines E-Mails (ein Event), welches von der Sekretärin des Chefs des Benutzers stammt (ein Event-Filter) und eine Betreffzeile aufweist, welche das Wort ”Meeting” beinhaltet (ein anderes Event-Filter). Event-Filter sind Bedingungen, welche fähig sind, durch den Workflow-Manager 130 evaluiert bzw. ausgewertet zu werden. Wenn der Workflow-Manager 130 bestimmt, dass das Event-Filter durch diese Evaluierung bzw. Auswertung erfüllt ist, bewirkt der Workflow-Manager 130, dass die Aktion durchgeführt wird.
  • Es wird 2 betrachtet, welche eine beispielhafte Applikation 122 illustriert, welche funktionelle Software-Entitäten 128 (bezeichnete Entität 128-1 bis 128-6), den Workflow-Manager 130, Events 202-1, 202-2 und 202-3, Aktionen 204-1, 204-2 und 204-3 und Synapsen 134-1, 134-2 und 134-3 aufweist. Jede der Synapsen 134 repräsentiert eine Übereinstimmung bzw. Korrespondenz zwischen einem der Events 202 und einer der Aktionen 204, wie dies gezeigt ist. Der Workflow-Manager 130 evaluiert bei einem Auftreten von einem der Events 202 die geeignete bzw. entsprechende Synapse 134, um zu bestimmen, ob ein Event-Filter (sofern vorhanden) erfüllt ist, und die entsprechende Aktion 204, welche durchzuführen ist. Die Aktion 204 des Workflow-Managers 130 bewirkt, dass eine der funktionellen Software-Entitäten 128 der Applikation 122 einen Vorgang durchführt, wie beispielsweise einen Kalendereintrag zu öffnen. Es ist festzuhalten, dass der Vorgang, welcher durch die Aktion bewirkt wird, selbst ein Event oder ein Resultat in einem Event sein kann (z. B. eine fertiggestellte Kalendereintragung), welches wiederum in einer Aktion durch den Workflow-Manager 130 resultiert, usw.
  • Zurückkehrend zu 1 beinhaltet die Computervorrichtung 102 auch eine oder mehrere Anzeige(n) 124 und Eingabemechanismen 126 oder hat einen Zugriff auf diese. Vier beispielhafte Anzeigen sind in 1 illustriert. Eingabemechanismen 126 können auf Berührung basierende Sensoren, Mäuse (frei- bzw. alleinstehend oder in eine Tastatur integriert), Track- und Berührungspads, Mikrofone mit einer zugehörigen Spracherkennungssoftware, Tastaturen, Knöpfe bzw. Tasten, auf Gesten ansprechende Sensoren, biometrische Sensoren und passive Umgebungssensoren sein, um lediglich einige wenige zu nennen. Eingabemechanismen 126 können getrennt von oder integral mit den Anzeigen 124 sein; integrale bzw. integrierte Beispiele beinhalten auf Gesten bzw. Bewegungen empfindliche Anzeigen mit integrierten berührungsempfindlichen oder bewegungsempfindlichen Sensoren.
  • Beispielhafte Verfahren
  • 3 stellt Verfahren 300 dar, welche Benutzern bzw. Verwendern erlauben, Workflows auszuwählen, um eine Anwendung anzupassen. In Abschnitten der folgenden Diskussion kann auf die beispielhafte Umgebung 100 von 1 und Elemente von 2 Bezug genommen werden, wobei eine Bezugnahme darauf lediglich zu Beispielszwecken erfolgt.
  • Bei Block 302 werden Events einer Applikation bzw. Anwendung offengelegt. Der Workflow-Manager 130 kann ausgebildet sein, um eine volle Liste von Events, Aktionen, usw. aufzuweisen, welche eine Anwendung auszuführen fähig ist. In einigen Fällen bestimmt jedoch der Workflow-Manager 130 Events, welche durch die Anwendung 122 durchführbar sind. In jedem Fall legt jedoch der Workflow-Manager 130 die Events der Anwendung 122 für eine Auswahl durch einen Benutzer offen.
  • Für Zwecke eines Überblicks wird bzw. werden ein Event, ein Event-Filter, eine Aktion, ein Aktions-Parameter, ein Kontext oder eine Synapse durch die Techniken offengelegt (z. B. Events bei Block 302), indem er bzw. es bzw. sie einem Benutzer präsentiert wird oder durch diesen auswählbar ist, beinhaltend als ein Teil einer auswählbaren Synapse, welche in größerem Detail unten bei den Methoden bzw. Verfahren 700 beschrieben ist. Nahezu jede vorstellbare Funktion oder Vorgangsweise, welche mit einer Software, Firmware oder einem Hardwareprogramm (z. B. funktionelle Software-Entitäten 128) assoziiert ist, unabhängig davon, ob sie durch das Programm durchführbar ist, an dem Programm durchführbar ist oder durch das Programm detektierbar bzw. feststellbar ist, kann offengelegt bzw. dargelegt werden. Praktischerweise können bzw. werden einige Funktionen und Operationen bzw. Vorgänge nicht offengelegt, da sie wahrscheinlich von geringem Interesse für Verwender sind, obwohl die Techniken eine Offenlegung selbst von obskuren bzw. unüblichen Funktionen und Vorgängen bzw. Betriebsweisen erlauben.
  • Auswahlen von einem oder irgendeinem von verschiedenen Events, Event-Filtern, Event-Kontexten, Aktionen und Aktions-Parametern können durch eine graphisch auswählbare Liste oder durch Icons bzw. Bildzeichen, eine Eingabe von Text (z. B. Liquid Markup Language) usw. ermöglicht werden. Lediglich beispielhaft soll 4 betrachtet bzw. berücksichtigt werden, welche ein beispielhaftes Benutzerinterface 132 zur Verfügung stellt, in welchem der Workflow-Manager 130 eine graphisch auswählbare Liste präsentiert, welche zwei funktionelle Software-Entitäten 402 und 404 innerhalb eines Entitäten-Auswahlfensters 406 aufweist. Während dies nicht erforderlich ist, können es in einigen Fällen Benutzer hilfreich finden, einen Kontext eines Events vor einer Auswahl von Events auszuwählen. Dies hilft beim Beschränken der Anzahl von Events, welche denjenigen präsentiert werden, welche mit einem gewissen Satz einer Funktionalität (z. B. mit der ausgewählten Entität) in einer anderen inhaltlichen Weise assoziiert bzw. verbunden sind. In diesem Beispiel wählt ein Benutzer eine Entität ”Bookings” bzw. ”Buchungen” aus, aus welchen Events bzw. Vorgänge auszuwählen sind, welche dieser Kontext bzw. Zusammenhang zur Verfügung stellt.
  • Nach einem Auswählen der Entität 402 (”Bookings”), welche bei der Auswahl 408 gezeigt ist, ermöglicht der Workflow-Manager 130 eine Auswahl von Events durch ein Event-Auswahlfenster 410 des Benutzerinterface 132. Diese auswählbaren Events können maßgeschneidert für den ausgewählten Event-Kontext sein, wie beispielsweise dass sie fähig sind, durch die ausgewählte funktionelle Software-Entität mit dem Namen bzw. der Bezeichnung ”Bookings” durchgeführt zu werden. Die Events, welche in 4 offengelegt bzw. dargelegt sind bzw. werden, sind diejenigen, welche sich auf einen Kauf von Karten für ein Event beziehen. Drei auswählbare Events 412 sind bei 412-1, 412-2 und 412-3 gezeigt. Das auswählbare Event 412-1 ist eine neue eingegebene Buchung (”Submit New Booking”), das auswählbare Event 410-2 ist eine geänderte bestehende Buchung (”Alter Existing Booking”) und das auswählbare Event 410-3 ist eine bestehende, gelöschte Buchung (”Delete Existing Booking”).
  • Bei Block 304 wird eine Auswahl von einem der durch die Anwendung offengelegten Events empfangen. Dies kann durch Text, Graphik oder anderweitig durchgeführt werden. In dem vorliegenden Beispiel wird eine Auswahl eines neuen Buchung-Events (auswählbares Event 412-1) durch das Benutzerinterface 132 und durch den Workflow-Manager 130 erhalten.
  • Optional können Verfahren 300 zu den Blöcken 306 und 308 fortschreiten, um Event-Filter offenzulegen bzw. eine Auswahl eines Event-Filters zu empfangen bzw. zu erhalten. Ein Beispiel dieses Offenlegens und eines Empfangens einer Auswahl ist in 4 gezeigt, welche ein Event-Filter-Auswahlfenster 414 des Benutzerinterface 132 illustriert. Das Event-Filter-Auswahlfenster 414 beinhaltet zwei auswählbare Event-Filter 416-1 und 416-2, wobei das erste ein Buchungsname (”Booking Name”) ist und das andere die Anzahl der verbleibenden verfügbaren Sitze (”Booking Available Seats”). Eine Auswahl eines Event-Filters erfordert in diesem Fall eine gewisse zusätzliche Information für das Event-Filter, um effektiv bzw. wirksam zu sein. Hier präsentiert, nach einem Auswählen des Event-Filters 416-2 (verbleibende verfügbare Sitze bzw. Plätze), das Benutzerinterface 132 ein Event-Filter-Parameterfenster 502, welches in 5 gezeigt ist, welches eine Eingabe einer Anzahl der Sitze ermöglicht, um die Bedingung des Event-Filters zu erfüllen. Wie gezeigt, wird dies eingegeben als ”<4” und derart wird das Event-Filter nur erfüllt, wenn die Anzahl von verfügbaren Sitzen 1, 2 oder 3 ist.
  • Bei Block 310 werden Aktionen der Anwendung offengelegt bzw. dargelegt. Dies kann auf verschiedene Arten, wie beispielsweise durch Text, Icons bzw. Bildzeichen, Drop-Down Listen, usw. durchgeführt werden. In ähnlicher Weise wie dies für Event-Kontexte angemerkt ist, können die Techniken eine Auswahl von Aktions-Kontexten ermöglichen. Unter Fortsetzung des vorliegenden Beispiels soll wiederum 5 betrachtet werden, welche zwei graphisch auswählbare funktionelle Software-Entitäten 504 und 506 innerhalb eines Entitäten-Auswahlfensters 508 illustriert. In diesem Beispiel wählt ein Benutzer eine ”Twitter” Entität aus, aus welcher Events auszuwählen sind. Somit hat der Benutzer einen Aktions-Kontext ausgewählt, hier eine funktionelle Software-Entität dieser Anwendung, welche verwendet werden kann, um offengelegte Aktionen an diejenigen anzupassen, welche durch die funktionelle Software-Entität mit dem Namen ”TwitterTM” durchgeführt werden können.
  • Bei Block 312 wird eine Auswahl einer offengelegten Aktion der Anwendung empfangen bzw. erhalten. Wie dies oben erwähnt ist, können die offengelegten Events und Aktionen einer gleichen Anwendung innewohnen, obwohl dies nicht erforderlich ist. Ein Event oder eine Aktion wohnt einer Anwendung inne bzw. ist ein Bestandteil derselben, wenn es bzw. sie durch die Anwendung, eher als durch eine andere Anwendung durchgeführt wird. In diesem Zusammenhang kann eine Anwendung zahlreiche funktionelle Software-Entitäten enthalten, und somit sind die Events und Aktionen dieser zahlreichen funktionellen Software-Entitäten Bestandteile der einen Anwendung. In einigen Fällen kann jedoch eine Anwendung Events durchführen, welche mit Aktionen verbunden sind, welche durch eine andere Anwendung durchgeführt werden. Beispielsweise E-Mail-Funktionen einer E-Mail-Anwendung und Graphikdesign-Funktionen eines Graphikdesign-Programms. Die Verfahren 300 erlauben, dass ein Workflow aufgebaut wird, wenn Events und Aktionen Bestandteile von unterschiedlichen Anwendungen bzw. Applikationen sind. Somit kann ein E-Mail-Event, welches Bestandteil der E-Mail-Applikation ist, mit einer Graphik-Aktion verbunden werden, welche Bestandteil des Graphikdesign-Programms ist.
  • Für ein vorliegendes bzw. fortzusetzendes Beispiel soll jedoch angenommen werden, dass die Events und die Aktion beide Bestandteil der Anwendung sind, wobei dies bedeutet, dass sie durch die Anwendung durchgeführt werden, und ohne dass das Event oder die Aktion durch eine getrennte, unabhängige Anwendung durchgeführt wird. Eine Auswahl ist bei dem Aktions-Auswahlfenster 510 von 5 illustriert, welche eine Auswahl von ”Update Status” bzw. ”Aktualisieren Status” bei der offengelegten Aktion 512 zeigt.
  • Optional können die Verfahren 300 zu den Blöcken 314 und 316 gelangen bzw. fortschreiten, um eine Auswahl eines Aktions-Parameters offenzulegen bzw. zu empfangen. Aktions-Parameter können sich auf Werte, Text, usw. beziehen. In diesem Fall sind ein Name eines Events und eine Anzahl von verbleibenden Sitzen variierende Werte, und eingegebener Text ist ein statischer Aktions-Parameter. In 6 erhält beispielsweise das Aktions-Parameter-Auswahlfenster 602 des Benutzerinterface 132 Text von dem Benutzer, wobei der Text ein Text sein wird, welcher in einem ”Tweet” bei einer Durchführung der Aktion gesendet wird, wobei die ausgewählte Aktion beim Aktionsfeld 604 gezeigt ist. Dieser Text ist als Text 606 gezeigt und dann wird weiterer Text empfangen, wie dies bei Text 608 gezeigt ist. Der Workflow-Manager 130 erhält auch eine Auswahl eines Werts, welcher variieren kann, welcher durch die Anwendung 122 eingegeben bzw. gefüllt wird, insbesondere bzw. nämlich durch ein Auswählen von Parametern 610-1 oder 610-2 mit variablem Wert, wobei dies in diesem Fall dieselben wie die Event-Filter 416-1 und 416-2 von 4 sind. Diese Parameter 610 mit Wert beinhalten einen Buchungsnamen und eine Anzahl von verfügbaren Sitzen, wie dies gezeigt ist, welche mit dem gebuchten Event und den verfügbaren Sitzen variieren.
  • Bei Block 318 wird eine Synapse, welche das ausgewählte Event mit der ausgewählten Aktion verbindet, erzeugt. Diese Synapse kann so wenig wie ein einzelnes Event mit einer einzelnen Aktion verbinden, obwohl in diesem Beispiel Event-Kontexte, Event-Filter und Aktions-Parameter auch in der Synapse enthalten sind. Diese Synapse kann die Gesamtheit des Workflows darstellen bzw. ausbilden, obwohl in einigen Fällen mehrfache Synapsen erzeugt werden, wie dies bei einem ”Repeat” bzw. ”Wiederholen” Pfeil 320 gezeigt ist. Diese und andere Synapse(n) kann (können) in ein Workflow kombiniert werden. Somit ermöglichen die Verfahren 300 einem Benutzer, einen angepassten bzw. Kunden-Workflow zu erzeugen, welcher eine komplexe oder einfache Struktur aufweist, und lediglich eine oder einige Hundert von Synapsen aufweist.
  • Bei Block 320 wird ein Workflow unter Verwendung der einen oder mehreren Synapse(n) aufgebaut. Dieser Workflow ist konfiguriert, um die Anwendung zu veranlassen, die ausgewählte Aktion in Auswahl auf den ausgewählten Event durchzuführen. Um das vorliegende Beispiel abzuschließen, wird, sobald dieser Workflow erzeugt ist bzw. wird, wenn ein Benutzer die Anwendung verwendet, um beispielsweise Karten für die 4:00 Vorstellung des Stücks ”Les Misérables” zu kaufen (das Event), und weniger als vier Karten bzw. Tickets noch für diese Vorstellung des Stücks verfügbar sind (das Event-Filter), wobei hier eine Gesamtheit von zwei Karten angenommen wird, ein Tweet (z. B. zu einer Kundenliste) gesandt, welches den folgenden Text aufweist:
    If you really want to catch the 4:00 showing of the Les Miserables show, then you need to hurry up. Only two seats left.
    (Wenn Sie wirklich die 4:00 Vorstellung der Show Les Miserables erreichen wollen, müssen Sie sich beeilen. Nur zwei Sitze frei.)
  • 7 stellt Verfahren 700 für ein Aufbauen eines Workflows durch ein Bestimmen von Korrelationen zwischen Events und Aktionen basierend auf einer History von Interaktionen eines Benutzers mit funktionellen Software-Entitäten und Handhabungen davon dar.
  • Bei Block 702 wird eine History, welche Interaktionen eines Benutzers mit funktionellen Software-Entitäten und Handhabungen davon beinhaltet, empfangen bzw. erhalten. Diese History bzw. Geschichte bzw. dieser Verlauf von Interaktionen eines Benutzers beinhaltet eine Aufzeichnung von Vorgängen, welche durch die funktionellen Software-Entitäten durchgeführt wurden, und Interaktionen mit den funktionellen Software-Entitäten durch den Benutzer. Diese Aufzeichnung kann auch einen Zeitpunkt der Vorgänge und Interaktionen beinhalten. Während ein Empfangen der History ein passiver Vorgang sein kann, beinhaltet in einigen Fällen ein Empfangen der History ein Scannen eines Activity Logs des Benutzers.
  • Bei Block 704 werden Korrelationen zwischen Events und Aktionen basierend auf der History bestimmt. Diese Events und Aktionen können aus den Vorgängen bzw. Handhabungen bestimmt werden, welche durch die funktionellen Software-Entitäten durchgeführt werden, wie sie in der History aufgezeichnet sind. Handhabungen der funktionellen Software-Entitäten können Events oder Aktionen sein, wie dies oben erwähnt wurde. Somit kann für eine Entität, welche einen Vorgang eines Sendens eines E-Mails, eines Öffnens einer Kommentarbox oder eines Zoomens in eine Karte durchführt, beispielsweise bestimmt werden, ein Event oder eine Aktion zu sein. Die Aktion ist mit einem früheren Event korreliert, obwohl für bestimmte Vorgänge bestimmt werden kann, dass sie Events oder Aktionen sind. Darüber hinaus können Vorgänge in der History basierend auf den Interaktionen des Benutzers korreliert werden. Beispielsweise kann ein Benutzer, welcher eine Entität veranlasst, den Vorgang eines Öffnens einer Kommentarbox durchzuführen, ein Event sein, und eine korrelierte Aktion kann ein Eingeben von Text von einem E-Mail sein, oder das Event kann ein Eingeben von Text durch einen Benutzer in die Kommentarbox aus einem E-Mail sein und die Aktion kann ein Schließen der Kommentarbox sein.
  • Wie dies erwähnt wurde, kann diese History von Benutzerinteraktionen einen Zeitpunkt beinhalten. In einem derartigen Fall kann der Workflow-Manager 130 ein Zeitausmaß zwischen Vorgängen, welche durch die funktionellen Software-Entitäten durchgeführt werden, und den Interaktionen mit den funktionellen Software-Entitäten durch den Benutzer bestimmen. Dieses Zeitausmaß kann verwendet werden, um die Korrelationen zu bestimmen, wie beispielsweise ein Korrelieren von Interaktionen eines Benutzers mit den funktionellen Software-Entitäten, welche unmittelbar nach Vorgängen bzw. Betätigungen durchgeführt werden, welche durch die funktionellen Software-Entitäten durchgeführt werden.
  • Wie dies auch oben erwähnt wurde, kann eine History ein Resultat eines Scannens eines Activity Logs eines Benutzers sein. In einem derartigen Fall beinhaltet ein Bestimmen von Korrelationen bei Block 704 ein Finden von Mustern von Aktivitäten (z. B. welche aufeinanderfolgen oder anderweitig miteinander im Zusammenhang stehen) und ein Bauen bzw. Aufbauen von Synapsen für Paare dieser Aktivitäten. Jede dieser Aktivitäten kann eine Interaktion durch einen Benutzer oder ein Vorgang durch eine funktionelle Software-Entität sein, wobei beide ein Event oder eine Aktion eines Workflows sein können.
  • Es soll beispielsweise ein Fall betrachtet werden, wo ein Activity Log eines Benutzers zeigt, dass der Benutzer regelmäßig eine Kalendereintragung in Antwort auf ein Empfangen eines E-Mails öffnet, wenn dieses E-Mail von der Sekretärin des Chefs stammt und die folgenden Worte in der Gegenstands- bzw. Betreffzeile aufweist: ”Set up Meeting” (”Festlegung Meeting”). In diesem Beispiel ist das empfangene E-Mail das Event, ein Event-Filter ist die E-Mail-Adresse der Sekretärin in der ”from” bzw. ”Von” Zeile und ein anderes Event-Filter sind die Worte ”Set up Meeting” in der Betreffzeile. Die Aktion ist ein Öffnen eines Kalendertermins. Somit kann ein Workflow mit diesen Elementen automatisch einen Kalendertermin öffnen, wenn ein derartiges E-Mail erhalten wird. Die Verfahren 700 können automatisch eine Synapse basierend auf dieser History des Benutzers bestimmen, die Synapse für eine Auswahl durch den Benutzer präsentieren und dann ein Workflow in Antwort auf eine Auswahl aufbauen.
  • Bei Block 706 wird eine Auswahl von einer oder mehreren Synapse(n) ermöglicht, wobei jede Synapse eine Aktion darstellt, welche mit einem Event korreliert ist. Wie dies oben erwähnt ist, kann dies auf verschiedene Arten durchgeführt werden, beinhaltend durch eine graphische Auswahl in einem graphischen Benutzerinterface, obwohl dies nicht erforderlich ist. Darüber hinaus können diese Synapsen Event-Aktions-Paare beinhalten, welche auch Event-Filter, Event-Kontext, Aktions-Parameter und/oder Aktions-Kontext beinhalten können, wie dies oben erwähnt wurde.
  • Unter Fortsetzung des vorliegenden Beispiels soll angenommen werden, dass die Verfahren 700 diese Synapse, welche eine Korrelation zwischen einem Empfangen des E-Mails und einem Öffnen der Kalendereintragung bzw. des Kalendertermins zeigt, gemeinsam mit Event-Filtern präsentieren. Ein Benutzer kann dann diese Synapse auswählen, aus welcher ein Workflow aufzubauen ist, oder mit anderen Synapsen kombinieren oder die Event-Filter ändern oder Aktions-Parameter hinzufügen, usw. Der Benutzer kann einen Aktions-Parameter hinzufügen, um automatisch einen Text von dem Textfeld des E-Mails in die Kalendereintragung gemeinsam mit einem gewissen Standardtext einzutragen, welchen der Benutzer hinzuzufügen wünscht. Beispiele von Auswahlen und Abänderungen durch ein Interface sind in 46 gezeigt.
  • Bei Block 708 wird ein Workflow aufgebaut, wobei der Workflow konfiguriert ist, um eine der funktionellen Software-Entitäten zu veranlassen, die korrelierte Aktion in Antwort auf ein Auftreten des korrelierten Events durchzuführen, wobei der Workflow in Antwort auf eine Auswahl von einer oder mehreren Synapse(n) aufgebaut ist bzw. wird. Einige der obigen Beispiele fokussieren auf Workflows mit einer einzigen Synapse, obwohl Workflows mit mehreren Synapsen auch aufgebaut werden können.
  • Es soll beispielsweise 8 betrachtet werden, welche ein Workflow 802 mit drei Synapsen illustriert. Drei Synapsen 804 sind gezeigt, welche bei Synapse 804-1, 804-2 und 804-3 bezeichnet sind. Es ist festzuhalten, dass für jede Synapse 804 gezeigt ist, dass sie einen von Events 806 enthält, welche bei Event 806-1, 806-2 und 806-3 gezeigt sind. Jede Synapse 804 beinhaltet auch eine von Aktionen 808, welche bei Aktionen 808-1, 808-2 und 808-3 gezeigt sind. Event-Filter 810, welche bei Event-Filtern 810-1 und 810-2 gezeigt sind, können beinhaltet sein, wobei dies jedoch nicht erforderlich ist. Jede der ersten zwei Aktionen, Aktion 808-1 und 808-2 bewirkt oder bewirkt gemeinsam mit einer Benutzerinteraktion eine Aktion 808-1 und 808-2. Dieser Wirkzusammenhang ist auch jeweils bei Pfeilen 812 und 814 gezeigt. Somit kann ein Event 806-1 eine Aktion 808-1 bewirken, welche wiederum ein Event 806-2 bewirkt (oder die Aktion ist das Event 806-2), welches wiederum eine Aktion 808-2 bewirkt, welche wiederum ein Event 806-3 bewirkt (oder die Aktion ist das Event 806-3), welches wiederum die Aktion 806-3 bewirkt, nach welcher der Workflow 802 endet.
  • Es soll beispielsweise angenommen werden, dass ein Künstler, welcher eine Bildbearbeitungsanwendung verwendet, wiederholt kleine Elemente (z. B. einen Zweig einer Kiefer oder einen Fußball auf einem Fußballfeld) von Fotographien hoher Auflösung auswählt, diese Elemente auf eine 10-fache Vergrößerung zoomt, eine Farbe eines gewissen Teils dieses Elements ändert (z. B. eine Kiefernadel auf dem Zweig oder eine Marke des Herstellers auf dem Fußball), auf die Originalansicht zurück zoomt und die Fotographie neuerlich zentriert. In diesem Beispiel ist das Event 806-1 eine Auswahl eines Elements, wo das Element kleiner als 20×20 Pixel bzw. Bildpunkte ist (eines von Event-Filtern 810), die Aktion 808-1 ist ein Zoom, welcher die Größe des Elements (z. B. auf 200×200 Pixel) vergrößert, das Event 806-2 ist eine Vervollständigung einer Farbänderung, welche an einem Abschnitt bzw. Bereich des Elements innerhalb des Elements mit vergrößerter Größe durchgeführt wird, die Aktion 808-2 ist ein Zoomen zurück zu der ursprünglichen Größe, das Event 806-3 ist auch ein Zoomen (somit wird keine zwischenliegende Benutzerinteraktion benötigt), und die Aktion 808-3 zentriert die Fotographie neu. Somit ermöglichen die Techniken dem Künstler, konsistente bzw. gleichmäßige wiederholende Aktionen zu automatisieren und durchzuführen, ohne zu erfordern, dass ein Software-Designer einen spezifisch angepassten bzw. Kundencode erzeugt.
  • Die vorangehenden Verfahren sind als Sätze von Blöcken gezeigt, welche Vorgänge spezifizieren, welche durchgeführt werden, jedoch nicht notwendigerweise auf die Reihenfolge beschränkt bzw. begrenzt sind, welche für ein Durchführen der Vorgänge durch die jeweiligen Blöcke gezeigt ist bzw. wird. Darüber hinaus können diese Verfahren insgesamt oder teilweise in Kombination verwendet werden.
  • Aspekte dieser Verfahren können in Hardware (z. B. fest verdrahtete logische Schaltung), Firmware, einem System-on-Chip (SoC), Software, einem manuellen Be- bzw. Verarbeiten oder jeglicher Kombination davon implementiert sein bzw. werden. Eine Software-Implementierung repräsentiert einen Programmcode, welcher bestimmte Aufgaben durchführt, wenn sie durch einen Computerprozessor ausgeführt werden, wie beispielsweise Applikationen bzw. Anwendungen, Routinen, Programme, Objekte bzw. Gegenstände, Komponenten, Datenstrukturen, Prozeduren, Module, Funktionen und dgl. Der Programmcode kann in einer oder mehreren computerlesbaren Speichervorrichtung(en) gespeichert werden, welche sowohl lokal und/oder entfernt von einem Computerprozessor ist (sind). Die Verfahren können auch in einer verteilten Rechen- bzw. Computerumgebung durch mehrere Rechenvorrichtungen ausgeführt werden.
  • Beispielhafte Vorrichtung
  • 9 illustriert verschiedene Komponenten einer beispielhaften Vorrichtung 900, welche als eine beliebige Art eines Client, Servers und/oder als eine Computer- bzw. Rechenvorrichtung implementiert sein bzw. werden kann, wie dies unter Bezugnahme auf die vorangehenden 18 beschrieben wurde, um Techniken und/oder Apparate bzw. Geräte zu implementieren, welche durch einen Benutzer erzeugbare Kunden-Workflows ermöglichen. In Ausführungsformen kann die Vorrichtung 900 als eine oder eine Kombination einer verdrahteten und/oder drahtlosen Vorrichtung, als eine Form einer Fernseh-Client-Vorrichtung (z. B. Fernsehgerät, digitaler Videorecorder (DVR) etc.), einer Kunden- bzw. Konsumentenvorrichtung, einer Computervorrichtung, einer Servervorrichtung, einer tragbaren Computervorrichtung, einer Benutzervorrichtung, einer Kommunikationsvorrichtung, einer Videobearbeitungs- und/oder -wiedergabevorrichtung, einer Haushaltsgeräte- bzw. Gerätevorrichtung, einer Spielvorrichtung, einer elektronischen Vorrichtung und/oder einer anderen Art einer derartigen Vorrichtung implementiert sein bzw. werden. Die Vorrichtung 900 kann auch mit einem Benutzer bzw. Verwender (z. B. einer Person) und/oder einer Entität assoziiert sein, welche die Vorrichtung betreibt, so dass eine Vorrichtung logische Vorrichtungen beschreibt, welche Benutzer, Software, Firmware und/oder eine Kombination von Vorrichtungen beinhalten.
  • Die Vorrichtung 900 beinhaltet Kommunikationsvorrichtungen 902, welche eine verdrahtete und/oder drahtlose Kommunikation von Vorrichtungsdaten 904 ermöglichen (z. B. empfangene Daten, Daten, welche empfangen werden, Daten, welche für eine Übertragung vorgesehen sind, Datenpakete der Daten, etc.). Die Vorrichtungsdaten 904 oder anderer Vorrichtungsinhalt kann Konfigurationseinstellungen der Vorrichtung, Mediencontent bzw. -inhalt, welcher auf der Vorrichtung gespeichert ist und/oder Information beinhalten, welche mit einem Benutzer der Vorrichtung assoziiert ist. Medieninhalt, welcher auf der Vorrichtung 900 gespeichert ist, kann jegliche Art von Audio-, Video- und/oder Bilddaten beinhalten. Die Vorrichtung 900 beinhaltet eine oder mehrere Dateneingabe(n) 906, über welche jegliche Art von Daten, Medieninhalt und/oder Eingaben empfangen werden können, wie beispielsweise durch einen Benutzer auswählbare Eingaben, Botschaften bzw. Nachrichten, Musik, Fersehmedieninhalt, aufgezeichneter Videoinhalt und jegliche andere Art von Audio-, Video- und/oder Bilddaten, welche von jeglicher Content- und/oder Datenquelle erhalten bzw. empfangen werden.
  • Die Vorrichtung 900 beinhaltet auch Kommunikationsinterfaces 908, welche als eines oder mehrere eines seriellen und/oder parallelen Interface, eines drahtlosen Interface, jeglicher Art eines Netzwerk-Interface, eines Modems und einer jeglichen anderen Art eines Kommunikationsinterface implementiert sein können. Die Kommunikationsinterfaces 908 stellen eine Verbindung und/oder Kommunikationslinks zwischen der Vorrichtung 900 und einem Kommunikationsnetzwerk zur Verfügung, durch welches andere elektronische, Computer- und Kommunikationsvorrichtungen Daten mit der Vorrichtung 900 kommunizieren bzw. austauschen.
  • Die Vorrichtung 900 beinhaltet einen oder mehrere Prozessor(en) 910 (z. B. irgendeinen von Mikroprozessoren, Controllern bzw. Regel- bzw. Steuereinrichtungen und dgl.), welche verschiedene durch einen Computer ausführbare Instruktionen bzw. Anweisungen be- bzw. verarbeiten, um den Betrieb der Vorrichtung 900 zu regeln bzw. zu steuern und Techniken zu ermöglichen, welche eine maßgeschneiderte OS Lernerfahrung erlauben. Alternativ oder zusätzlich kann die Vorrichtung 900 mit irgendeiner oder einer Kombination von Hardware, Firmware oder fester logischer Schaltung implementiert sein bzw. werden, welche im Zusammenhang mit Be- bzw. Verarbeitungs- und Regel- bzw. Steuerschaltkreisen implementiert ist bzw. wird, welche allgemein bei 912 identifiziert sind. Obwohl dies nicht gezeigt ist, kann die Vorrichtung 900 einen Systembus oder ein Datentransfersystem beinhalten, welcher(s) die verschiedenen Komponenten innerhalb der Vorrichtung koppelt. Ein Systembus kann irgendeine oder eine Kombination von unterschiedlichen Busstrukturen beinhalten, wie beispielsweise einen Speicherbus oder einen Speichercontroller, einen Peripheriebus, einen Universal Serial Bus und/oder einen Prozessor oder Local Bus, welcher irgendeine einer Vielzahl von Busarchitekturen verwendet.
  • Die Vorrichtung 900 beinhaltet auch durch einen Computer lesbare Speichermedien 914, wie beispielsweise eine oder mehrere Speichervorrichtung(en), welche eine dauerhafte und/oder nicht-flüchtige Datenspeicherung (d. h. im Gegensatz zu einer lediglichen Signalübertragung) ermöglicht (ermöglichen), von welchen Beispiele einen Direktzugriffsspeicher (RAM), einen nicht-flüchtigen Speicher (irgendeinen oder mehrere eines Nur-Lesespeichers (ROM), Flash-Speichers, EPROM, EEPROM, etc.) und eine Plattenspeichervorrichtung beinhalten. Eine Plattenspeichervorrichtung kann als irgendeine Art einer magnetischen oder optischen Speichervorrichtung, wie beispielsweise eine Festplatte, eine aufnehmbare und/oder wiederbeschreibbare Compact Disk (CD), eine beliebige Art einer Digital Versatile Disc (DVD) und dgl. implementiert sein bzw. werden. Die Vorrichtung 900 kann auch eine Massenspeicher-Mediumvorrichtung (Vorrichtungsmedium) 916 beinhalten.
  • Das computerlesbare Speichermedium 914 stellt Datenspeichermechanismen zur Verfügung, um Vorrichtungsdaten 904, ebenso wie verschiedene Vorrichtungsapplikationen bzw. -anwendungen 918 und jegliche andere Arten von Information und/oder Daten zu speichern, welche sich auf Betriebsaspekte der Vorrichtung 900 beziehen. Beispielsweise kann ein Betriebssystem 920 als eine Computeranwendung mit dem computerlesbaren Speichermedium 914 beibehalten und auf Prozessoren 910 ausgeführt werden. Die Vorrichtungsapplikationen 918 können einen Vorrichtungsmanager, wie beispielsweise irgendeine Art einer Regel- bzw. Steuerapplikation, einer Software-Applikation, einem Signal-Bearbeitungs- und -Regel- bzw. -Steuermodul, einem Code, welcher für eine besondere Vorrichtung immanent ist, eine Hardware-Abstraktionsschicht für eine besondere Vorrichtung, usw. beinhalten.
  • Die Vorrichtungsapplikationen 918 können auch jegliche Systemkomponenten, Module oder Manager beinhalten, um die Techniken zu implementieren, wie beispielsweise funktionelle Software-Entitäten 128, den Workflow-Manager 130, das Benutzerinterface 132 und Synapsen 134.
  • Demgemäß werden Techniken geoffenbart, welche Benutzern erlauben, ihre Applikationen bzw. Anwendungen durch Workflows anzupassen. Im Gegensatz zu oftmals einfachen bzw. vereinfachten Regeln können diese durch einen Benutzer auswählbaren Workflows willkürlich bzw. beliebig und nahezu grenzenlos in ihrer Anzahl und Komplexität sein. Darüber hinaus erfordern diese Workflows nicht, dass ein Anwendungsdesigner diese durch ein Hinzufügen oder Ändern eines Codes der Anwendung bzw. Applikation baut. Die Techniken ermöglichen Benutzern, Workflows durch ein Verbinden von offengelegten Events und offengelegten Aktionen einer Anwendung zu erzeugen. Diese Verbindungen, welche als ”Synapsen” bezeichnet werden, werden durch die Techniken verwendet, um Workflows aufzubauen, wodurch Benutzern erlaubt wird, die Anwendung anzupassen.
  • Schlussfolgerung
  • Obwohl Ausführungsformen von Techniken und Geräten, welche durch einen Benutzer erzeugbare Kunden-Workflows erlauben bzw. ermöglichen, in einer Sprache beschrieben wurden, welche für Merkmale und/oder Verfahren spezifisch ist, ist zu verstehen, dass der Gegenstand der beigeschlossenen Ansprüche nicht notwendigerweise auf die bestimmten Merkmale oder Verfahren begrenzt bzw. beschränkt ist, welche beschrieben wurden. Demgegenüber sind bzw. werden die bestimmten Merkmale und Verfahren als beispielhafte Implementierungen geoffenbart, welche durch einen Benutzer erzeugbare Kunden-Workflows ermöglichen bzw. erlauben.

Claims (10)

  1. Computer-implementiertes Verfahren, umfassend: ein Empfangen einer Auswahl eines offengelegten Events, wobei das offengelegte Event einer Anwendung bzw. Applikation innewohnt; ein Empfangen einer Auswahl einer offengelegten Aktion, wobei die offengelegte Aktion der Anwendung innewohnt; ein Erzeugen einer Synapse, welche das ausgewählte Event mit der ausgewählten Aktion verbindet; und ein Aufbauen eines Workflows unter Verwendung der Synapse, wobei der Workflow konfiguriert wird, um die Anwendung zu veranlassen, die ausgewählte Aktion in Antwort auf das ausgewählte Event durchzuführen.
  2. Computer-implementiertes Verfahren nach Anspruch 1, wobei die ausgewählte Aktion eine spezifische Aktivität ist, welche durch die Anwendung ausgeführt wird, wenn das Event auftritt, und/oder wobei das ausgewählte Event eine spezifische Aktivität ist, welche durch die Anwendung durchgeführt wird.
  3. Computer-implementiertes Verfahren nach einem der vorangehenden Ansprüche, darüber hinaus umfassend: ein Empfangen einer Auswahl eines Event-Filters, wobei das Event-Filter eine Bedingung für die ausgewählte, auszuführende Aktion ist, und wobei ein Aufbauen des Workflows den Workflow konfiguriert, um die Anwendung zu veranlassen, die ausgewählte Aktion in Antwort darauf durchzuführen, dass die Bedingung erfüllt wird; und/oder ein Empfangen einer Auswahl eines Aktions-Parameters, wobei der Aktions-Parameter auf einem statischen oder variierenden Wert abgebildet wird, und wobei ein Aufbauen des Workflows den Workflow konfiguriert, um die Anwendung zu veranlassen, die ausgewählte Aktion durchzuführen, welche den statischen oder sich ändernden Wert beinhaltet; und/oder ein Empfangen einer Auswahl eines Event-Kontexts und eines Aktions-Kontexts, wobei der Event-Kontext und der Aktions-Kontext aus mehreren funktionellen Software-Entitäten bzw. -Einheiten gewählt werden.
  4. Computer-implementiertes Verfahren nach einem der vorangehenden Ansprüche, darüber hinaus umfassend: ein Empfangen einer Auswahl eines anderen offengelegten Events, welches der Anwendung innewohnt, wobei das offengelegte Event fähig ist, durch die ausgewählte Aktion bewirkt zu werden; ein Empfangen einer Auswahl einer anderen offengelegten Aktion, welche der Anwendung innewohnt; und ein Erzeugen einer anderen Synapse, welche das ausgewählte andere Event und die ausgewählte andere Aktion verbindet, und wobei ein Aufbauen des Workflows auch die andere Synapse verwendet, der Workflow konfiguriert wird, um die Anwendung zu veranlassen, die ausgewählte Aktion in Antwort auf das ausgewählte Event durchzuführen und dann, nach der ausgewählten Aktion, die andere ausgewählte Aktion in Antwort auf das andere ausgewählte Event durchzuführen, welches durch die ausgewählte Aktion bewirkt wird.
  5. Computer-implementiertes Verfahren nach einem der vorangehenden Ansprüche, wobei der Workflow unter Verwendung einer Liquid Markup Language gebildet wird.
  6. Computerprogrammprodukt, umfassend computerlesbare Instruktionen, welche in Antwort auf eine Ausführung durch einen oder mehrere Prozessor(en) Vorgänge durchführen, umfassend: ein Offenlegen in einem Benutzerinterface, wählbar aus: Event-Kontexten; Events; Event-Filtern; Aktions-Kontexten; Aktionen; und Aktions-Parametern; und ein Aufbauen eines Workflows basierend auf Auswahlen, welche durch das Benutzerinterface empfangen werden, wobei der Workflow konfiguriert ist, um in Antwort auf ein ausgewähltes Event, welches innerhalb eines ausgewählten Event-Kontexts auftritt und wobei ein ausgewähltes Event-Filter erfüllt ist, eine ausgewählte Aktion zu bewirken, wobei die ausgewählte Aktion innerhalb eines ausgewählten Aktions-Kontexts und gemäß einem ausgewählten Aktions-Parameter durchgeführt wird.
  7. Computerprogrammprodukt nach Anspruch 6, wobei das Offenlegen eine graphisch auswählbare Liste der Event-Kontexte, der Events, der Event-Filter, der Aktions-Kontexte, der Aktionen oder der Aktions-Parameter präsentiert; und/oder wobei die offengelegten Events an den ausgewählten Event-Kontext angepasst bzw. maßgeschneidert sind; und/oder wobei ein Offenlegen der Event-Kontexte und der Aktions-Kontexte funktionelle Software-Entitäten präsentiert, welche einer einzigen Anwendung innewohnen.
  8. Computerprogrammprodukt, umfassend computerlesbare Instruktionen, welche in Antwort auf eine Ausführung durch einen oder mehrere Prozessor(en) Vorgänge durchführen, umfassend: ein Empfangen einer History, welche Interaktionen mit funktionellen Software-Entitäten und dadurch durchgeführte Vorgänge bzw. Operationen beinhaltet; ein Bestimmen, basierend auf der History, von Synapsen, welche Events und Aktionen korrelieren, wobei die korrelierten Events und Aktionen aus den Vorgängen bestimmt werden, welche durch die funktionellen Software-Entitäten durchgeführt werden; ein Ermöglichen einer Auswahl von einer der Synapsen; und in Antwort auf eine Auswahl von einer der Synapsen ein Aufbauen eines Workflows, wobei der Workflow konfiguriert ist, um eine der funktionalen Software-Entitäten zu veranlassen, die korrelierte Aktion der ausgewählten Synapse in Antwort auf ein Auftreten des korrelierten Events der ausgewählten Synapse durchzuführen.
  9. Computerprogrammprodukt nach Anspruch 8, wobei das korrelierte Event einer der Vorgänge ist, welche durch eine der funktionellen Software-Entitäten ohne eine Interaktion durch den Benutzer durchgeführt werden, und die korrelierte Aktion einer der Vorgänge ist, welche durch die eine oder eine andere der funktionellen Software-Entitäten durchgeführt werden, wobei die korrelierte Aktion durch eine Interaktion mit dem Benutzer bewirkt wird; und/oder wobei die History ein zeitliches Abstimmen der Vorgänge und der Interaktionen beinhaltet und ein Bestimmen von Synapsen wenigstens teilweise auf Zeitdauern zwischen den Vorgängen, welche durch die funktionellen Software-Entitäten durchgeführt werden, und den Interaktionen mit den funktionellen Software-Entitäten durch den Benutzer basiert; und/oder wobei ein Empfangen der History ein Scannen eines Aktivitäts-Logs des Benutzers beinhaltet und ein Bestimmen von Synapsen ein Finden von Mustern von Aktivitäten in dem Aktivitäts-Log und ein Korrelieren von sequentiellen Vorgängen in den gefundenen Mustern beinhaltet.
  10. Computerprogrammprodukt nach Anspruch 8 oder 9, wobei ein Ermöglichen einer Auswahl der einen oder mehreren Synapse(n) ein Präsentieren in einem Benutzerinterface von auswählbaren Events und Aktionen beinhaltet; und/oder wobei ein Bestimmen der Synapsen, basierend auf der History, Aktions-Parameter bestimmt, um mit der korrelierten Aktion beinhaltet zu sein; und/oder wobei ein Bestimmen der Synapsen, basierend auf der History, ein Event-Filter bestimmt, welches eine Bedingung für die korrelierte Aktion ist; und/oder wobei die funktionellen Software-Entitäten getrennte Anwendungen bzw. Applikationen sind.
DE102014006634.7A 2013-05-10 2014-05-07 Durch einen Benutzer erzeugbare Kunden-Workflows Pending DE102014006634A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/891,753 US9262239B2 (en) 2013-05-10 2013-05-10 User-creatable custom workflows
US13/891,753 2013-05-10

Publications (1)

Publication Number Publication Date
DE102014006634A1 true DE102014006634A1 (de) 2014-11-13

Family

ID=51032503

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014006634.7A Pending DE102014006634A1 (de) 2013-05-10 2014-05-07 Durch einen Benutzer erzeugbare Kunden-Workflows

Country Status (4)

Country Link
US (1) US9262239B2 (de)
CN (1) CN104142821B (de)
DE (1) DE102014006634A1 (de)
GB (1) GB2522084A (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6452409B2 (ja) * 2014-11-28 2019-01-16 キヤノン株式会社 画像表示装置、画像表示方法
US10311066B1 (en) * 2015-02-10 2019-06-04 Answerdash Inc. Identifying reasons for web site abandonment
US11543930B2 (en) 2020-11-10 2023-01-03 RealFar Ltd Augmenting web applications with optimized workflows supporting user interaction
US20220358434A1 (en) * 2021-05-06 2022-11-10 Honeywell International Inc. Foundation applications as an accelerator providing well defined extensibility and collection of seeded templates for enhanced user experience and quicker turnaround

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734837A (en) * 1994-01-14 1998-03-31 Action Technologies, Inc. Method and apparatus for building business process applications in terms of its workflows
US7020697B1 (en) * 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
US20060069605A1 (en) * 2004-09-29 2006-03-30 Microsoft Corporation Workflow association in a collaborative application
US20060074735A1 (en) * 2004-10-01 2006-04-06 Microsoft Corporation Ink-enabled workflow authoring
US7734670B2 (en) * 2004-12-15 2010-06-08 Microsoft Corporation Actionable email documents
US20060158463A1 (en) * 2005-01-14 2006-07-20 Michlin William N Online digital and analog photographic album design and album ordering system
WO2007052285A2 (en) * 2005-07-22 2007-05-10 Yogesh Chunilal Rathod Universal knowledge management and desktop search system
US9501463B2 (en) * 2005-12-08 2016-11-22 Microsoft Technology Licensing, Llc Spreadsheet cell-based notifications
US8209659B2 (en) * 2006-07-28 2012-06-26 Intuit Inc. Method and apparatus for creating a custom workflow
US20090006154A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Declarative workflow designer
US8560887B2 (en) * 2010-12-09 2013-10-15 International Business Machines Corporation Adding scalability and fault tolerance to generic finite state machine frameworks for use in automated incident management of cloud computing infrastructures
US8880591B2 (en) * 2011-03-31 2014-11-04 Savigent Software, Inc. Workflow management in distributed systems
US8631420B2 (en) * 2011-10-12 2014-01-14 Business Objects Software Ltd. Electonic processing of context-aware business events

Also Published As

Publication number Publication date
CN104142821B (zh) 2018-05-01
GB2522084A (en) 2015-07-15
US9262239B2 (en) 2016-02-16
CN104142821A (zh) 2014-11-12
GB201408240D0 (en) 2014-06-25
US20140337863A1 (en) 2014-11-13

Similar Documents

Publication Publication Date Title
JP7460689B2 (ja) スプレッドシートに基づくソフトウェアアプリケーション開発
DE102017121758A1 (de) Intelligente Assistenz für wiederholte Aktionen
US9258375B2 (en) System for analyzing user activity in a collaborative environment
DE102013222290A1 (de) System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten
DE102018007060A1 (de) Hervorheben von Schlüsselabschnitten eines Texts innerhalb eines Dokuments
DE112010003886B4 (de) Bereitstellung von Diensten unter Verwendung eines Cloud-Dienste-Katalogs
DE102015009912A1 (de) Adaptives Modifizieren von Inhalten, die in elektronischen Formularen präsentiert werden
US20190042628A1 (en) Similar document identification using artificial intelligence
DE102010023691B4 (de) Gemeinsame Nutzung von dynamischen Inhaltsvoreinstellungen und Verhalten von EDV-Geräten
DE102016125783A1 (de) Bereitstellen von Vorschlägen für die Interaktion mit einem automatisierten Assistenten in einem Multi-User-Nachrichtenaustausch-Thread
DE112010004946T5 (de) Dynamisches Verwalten einer sozialen Netzwerkgruppe
DE112020000467T5 (de) Endliche zustandsmaschinen zum implementieren von workflows für von einem datenverarbeitungssystem verwaltete datenobjekte
DE202011108538U1 (de) Zeitliche aufgabenbasierte Funktionsflächenverwaltung
DE112016004721T5 (de) Berührungsbildschirm-Nutzerschnittstelle zum Darstellen von Medien
DE202014011539U1 (de) System zum verteilten Verarbeiten in einer Nachrichtenübermittlungsplattform
DE202012100191U1 (de) Dynamisch auf benutzerausgewählten Medieninhalt zugeschnittener Produktkatalog
DE202015009292U1 (de) Erzeugung eines Aktivitätsflusses
DE102016125804A1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
DE102014006634A1 (de) Durch einen Benutzer erzeugbare Kunden-Workflows
DE102017111440A1 (de) Universalgateway für automatisiertes lernen
DE102018008188A1 (de) Erstellen von Inhalt basierend auf einer Mehr-Satz-Komprimierung eines Quellinhalts
DE102008050725A1 (de) Bildprozessor und Bildverarbeitungsverfahren
DE102011007903A1 (de) Computergestütztes Verfahren und System zum Erzeugen maßgeschneiderter dynamischer Vorlagen
DE112018006506T5 (de) Dynamisch modifizierende Systeme zum Erhöhen von Systemeffizienz
DE102014007023A1 (de) Bildeffektextraktion

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: ADOBE INC., SAN JOSE, US

Free format text: FORMER OWNER: ADOBE SYSTEMS INCORPORATED, SAN JOSE, CALIF., US

R082 Change of representative

Representative=s name: MUELLER-BORE & PARTNER PATENTANWAELTE PARTG MB, DE