WO2020101475A1 - A system and method for displaying widget on a dashboard - Google Patents
A system and method for displaying widget on a dashboard Download PDFInfo
- Publication number
- WO2020101475A1 WO2020101475A1 PCT/MY2019/050090 MY2019050090W WO2020101475A1 WO 2020101475 A1 WO2020101475 A1 WO 2020101475A1 MY 2019050090 W MY2019050090 W MY 2019050090W WO 2020101475 A1 WO2020101475 A1 WO 2020101475A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- profile
- widget
- effective
- event
- manager
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Definitions
- the present invention relates to a system and method for displaying widget on a dashboard. More particularly, the present invention relates to a system and method for displaying widget on a dashboard based on event triggered and user’s request.
- a dashboard is required to monitor all the readings from the sensors.
- the data from the sensors are displayed in a form of widgets, wherein widgets are elements of graphical user interface that display information or provide a specific way for interaction between a user and an operating system or an application.
- widgets are elements of graphical user interface that display information or provide a specific way for interaction between a user and an operating system or an application.
- the data from the sensors are displayed by the widgets, it is difficult to display all the required data from all the sensors at the same time on a fixed structure dashboard. Therefore, systems and methods are developed to dynamically visualise all data from all of the sensors.
- the digital dashboard application extracts data, performs data processing on the extracted data, and displays the analysed data as widgets in a dashboard format.
- the digital dashboard application may access a widget library whereby an end user may download a widget from the widget library to add the widget into the digital dashboard application.
- the digital dashboard application may be installed, set up and maintained by the end user.
- the system includes a processor which interacts with a user interface to provide two dashboard environments.
- the first dashboard environment is invoked from the user interface, while the second dashboard environment is invoked from the first dashboard environment.
- Each dashboard environment includes a layer relative to a desktop and is separately displayable over the desktop. The desktop is inactivated in such a way that the visible elements on the desktop cannot be interacted with when the selected dashboard environment is displayed.
- the present invention relates to a system (100) and method for displaying widget on a dashboard.
- the system (100) for displaying widget on a dashboard comprising a server (20) configured to provide a service to at least one client (10) that initiates requests for such services and the at least one client (10) that accesses the service made available by the server (20).
- the server (20) comprising an event generator (21) configured to trigger profile change event when a predetermined condition is fulfilled and a profile manager (22) configured to validate the profile change request or profile change event, and prepare, generate and publish the effective profile.
- the client (10) comprising a widget container (13) configured to conform to an effective profile and caches at least one widget, wherein the effective profile is a data structure that comprises description of user interface elements and configuration and a profile selector module (11) configured to generate profile change request based on user’s choice of widget container identification, wherein the profile change request comprises the widget container identification, configuration data, widget identification and requestor identification.
- the method for displaying widget on a dashboard includes the steps of determining if a profile change is detected, generating a profile change event by the event generator (21) if a profile change is detected and the profile change is caused by an event triggered configuration and validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid.
- the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13).
- the widget container (13) validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads a uniform resource locator, URL of the widget content into the widget container (13) if the effective profile is valid.
- the steps include selecting the widget container identification of the widget container (13) to be configured, selecting a widget template of intended widget type for the widget container (13) to be displayed, selecting and configuring relevant widget configuration data, compiling all of the selected widget configuration data by the profile selector module (11) and generating a profile change request by the profile selector module (11).
- the profile change request is sent to the profile manager (22) for validation by ensuring all key-value pairs of the profile change request are valid.
- the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13).
- the widget container (13) validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads the URL of the widget content into the widget container (13) if the effective profile is valid.
- FIG. 1 illustrates a system (100) for displaying widget on a dashboard according to an embodiment of the present invention.
- FIG. 2 illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention.
- FIG. 3 illustrates an example of visualisation of the widgets on the dashboard.
- FIG. 4 illustrates a flowchart of sub-steps for generating a profile change event by an event generator (21) of the method of FIG. 2.
- FIG. 5 illustrates a flowchart of sub-steps for generating a profile change request by a profile selector module (11) of the method of FIG. 2.
- FIG. 6 illustrates an example of the dashboard with user configuration on a profile selector widget.
- FIG. 1 illustrates a block diagram of a system (100) for displaying widget on a dashboard according to an embodiment of the present invention.
- the system (100) comprises at least one client (10) and a server (20), wherein the client (10) is connected to the server (20).
- the system (100) employs a transport protocol such as representational state transfer architecture, REST transactions, WebSockets protocol, and publish-subscribe messaging protocols.
- the server (20) provides a service to the client (10) which initiates requests for such services.
- the service refers to the functionality performed by the server (20), whereby examples of the service include but not limited to sharing data or resources among multiple clients (10), and performing computation for the client (10).
- the client (10) may be a hardware or software that accesses the service made available by the server (20).
- the system (100) displays one or more widgets on the dashboard based on whether a configuration is done by a user at the client (10) or an event occurred in the system (100) is detected by the server (20).
- the client (10) comprises a profile selector module (11), an event agent module (12), and at least one widget container (13).
- the widget container (13), which is connected to the event agent module (12), is a web-based application configured to conform to an effective profile.
- the effective profile is a data structure which comprises a description of user interface elements and configuration.
- the widget container (13) is also configured to update the user interface and configuration upon receiving the effective profile.
- Each widget container (13) caches at least one widget (not shown), wherein each widget container (13) and each widget has a unique identification, ID.
- the profile selector module (11) is configured to generate a profile change request based on user’s choice of widget container ID.
- the profile change request comprises the widget container ID, configuration data, widget ID and requestor ID, wherein the configuration data includes but not limited to list of devices, measurement types, icons and arbitrary data provisioned in the server (20).
- a format structure of the profile change request contains key-value pairs describing the profile change that is intended.
- the key-value pair is a set of two linked data items, wherein the key is a unique identifier for some item of data, while the value is either the data that is identified or a pointer to the location of that data.
- the profile selector module (11) stores a list of widget container ID of the widget container (13) in the dashboard.
- the profile selector module (11) also stores a list of widget templates available in a widget template repository (25) of the server (20).
- the profile selector module (11) may further be filled with desired configuration data.
- the event agent module (12) which is connected to the profile selector module (11), widget container (13) and server (20).
- the event agent module (12) is configured to convert the transport protocol employed in transmitting the profile change request or effective profile to and from the server (20).
- the event agent module (12) is also configured to send the profile change request from the profile selector module (11) to the server (20) and distribute the effective profile to the widget container (13).
- the server (20) comprises an event generator (21), a profile manager (22), a notification module (23), a profile queue manager (24), and the widget template repository (25).
- the server (20) is connected to the event agent module (12) of the client (10) via the notification module (23).
- the notification module (23) is connected to the event agent module (12) and profile queue manager (24).
- the notification module (23) receives the profile change request from the event agent module (12) and converts the transport protocol employed in transmitting the profile change request from the event agent module (12).
- the notification module (23) is also configured to convert the transport protocol employed in transmitting the effective profile to the event agent module (12) and forward the effective profile received from the profile manager (22) to the event agent module (12).
- the profile queue manager (24) is connected to the event generator (21), profile manager (22) and notification module (23).
- the profile queue manager (24) is used as a communication channel for the event generator (21), profile manager (22) and profile selector module (11) to exchange the profile change request, profile change event and effective profile.
- a format structure of the profile change event contains key-value pairs describing the change that is intended.
- the event generator (21) that is connected to the profile queue manager (24) is configured to trigger a profile change event when a predetermined condition is fulfilled. Examples of the conditions are a particular timing or a reading threshold.
- the event generator (21) may trigger the profile change event if the reading threshold exceeds a predetermined threshold.
- the profile change event comprises the widget container ID, configuration data, widget ID and requestor ID.
- the profile manager (22) that is connected to the profile queue manager (24) is further connected to the widget template repository (25).
- the profile manager (22) is configured to prepare, generate and publish the effective profile.
- the profile manager (22) prepares the effective profile by collecting selected widget template from the widget template repository (25), collecting necessary data based on configuration data points and creating widget content.
- the widget content is a web resource and is stored in a web server (not shown).
- the widget content is supplied with a uniform resource locator, URL address as a widget payload key within the effective profile, wherein the URL refers to the address of the widget content.
- the profile manager (22) generates the effective profile by packing all effective profile parameter value into the effective profile.
- the profile manager (22) also publishes the effective profile to the profile queue manager (24).
- the profile manager (22) is further configured to validate the profile change request and profile change event.
- the profile manager (22) validates both profile change request or profile change event by ensuring all key-value pairs are valid.
- the profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request or profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
- the widget template repository (25) which is connected to the profile manager (22) is configured to store the preconfigured widget profile, wherein the widget profile may comprise user interface and selection configuration detail.
- the widget template repository (25) also stores widget template which contains executable codes such as JavaScript and Hypertext Markup Language, HTML.
- FIG. 2 illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention.
- the system (100) determines if a profile change is detected as in decision 1005. If the profile change is detected and the profile change is caused by an event triggered configuration, the event generator (21) generates a profile change event as in step 1110. The profile change event is generated based on a set of conditions that are met. The sub-steps for generating the profile change event by the event generator (21) are further explained in relation to FIG. 4. Thereon, the profile manager (22) validates the profile change event as in step 1120. The profile manager (22) obtains the profile change event and determines if the contents of the profile change event are valid.
- the profile manager (22) validates the profile change event by ensuring all key-value pairs of the profile change event are valid.
- the profile manager (22) ensures all key-value pairs are valid by comparing the key-value pair of the profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
- the profile selector module (11) generates a profile change request as in step 1210.
- the profile change request is generated based on the user’s choice of widget container ID.
- the sub-steps for generating the profile change request by the profile selector module (11) are further explained in relation to FIG. 5.
- the profile manager (22) validates the profile change request as in step 1220.
- the profile manager (22) obtains the profile change request and determines if the contents of the profile change request are valid.
- the profile manager (22) validates the profile change request by ensuring all key-value pairs of the profile change request are valid.
- the profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request with available widget template and combinations of configuration data suitable for the relevant widget template.
- the profile manager (22) prepares the effective profile as in step 1300.
- the profile manager (22) prepares the effective profile by extracting widget template, configuration data, and requestor ID from the key-value pair in the profile change event or profile change request format. If the widget template exists in the widget template repository (25), the profile manager (22) obtains the widget template from the widget template repository (25). The profile manager (22) then obtains the configuration data from the extracted profile change and combines the configuration data with the widget template to create a widget content.
- the widget content is stored in the web server and the URL of the widget content is generated.
- the profile manager (22) generates the effective profile as in step 1400.
- the profile manager (22) fills the widget container ID within the effective profile with the same value of similar key from the profile change event or profile change request.
- the profile manager (22) combines the data collected from the widget template such as HTML elements, fonts, colours, and JavaScripts to generate a widget on the server (20).
- the URL of the widget content is inserted into a widget payload key within the effective profile.
- the profile manager (22) then publishes the effective profile to the profile queue manager (24) as in step 1500.
- the notification module (23) retrieves the effective profile from the profile queue manager (24) and relays the effective profile to the event agent module (12).
- the event agent module (12) sends the effective profile to the widget container (13).
- the widget container (13) Upon receiving the effective profile, the widget container (13) validates the effective profile by determining whether the widget container ID matches with the ID in the effective profile as in decision 1650. The URL of the widget content finally is loaded into the widget container (13) only if the widget container ID matches with the ID in the effective profile as in step 1700.
- FIG. 3 An example of visualisation of the widget on the dashboard is illustrated in FIG. 3.
- the dashboard displays a profile selector widget and a widget with a widget container ID 123.
- the profile selector widget is a widget for the profile selector module (11), wherein the profile selector widget receives user’s configuration and thereon the profile selector module (11) generates the profile change request based on the user’s configuration.
- the widget with the widget container ID 123 displays the widget content from the URL loaded into the widget container (13) if the widget container ID matches with the ID in the effective profile.
- the relevant widget template to be used is a gauge meter. Additionally, as the widget content contains an additional alert data due to the temperature has exceed a threshold temperature, the relevant widget template to be used is an alert animation.
- the widget with the widget container ID 123 displays the widget content using the relevant widget template.
- the widget with the widget container ID 123 displays the temperature value on the gauge meter and the alert data in the alert animation.
- the alert animation is displayed below the gauge meter.
- the widget container ID does not match with the ID in the effective profile as in decision 1650 or if there is no profile change detected as in decision 1005, the widget container remains unchanged or unmodified.
- the widget container may remain empty as there is no matching effective profile arriving from the server (20).
- FIG. 4 illustrates a flowchart of sub-steps for generating the profile change event by the event generator (21) of the step 1110 of the method of FIG. 2.
- the event generator (21) waits for an event to be triggered. If an event is triggered, the event generator (21) gathers all condition sets as in step 1112.
- a condition set is a logical statement defining conditions which when met, an action will be taken.
- An example of the condition set is measurement reading from a temperature sensor. When the temperature sensor detects that the temperature has gone over 100°C which is the threshold temperature, an action has to be executed to update a widget container with the gauge meter template. The temperature gauge meter is used to display the temperature reading with an alert animation.
- the event generator (21) determines if any conditions are met as decision 1113. If at least one condition is met, the event generator (21) implements condition configuration as in step 1114.
- the condition configuration establishes a list of target device, measurement type, icon selection and any arbitrary data relevant to widget template selected.
- the alert animation is executed by gathering and applying relevant configuration details into the format structure of the profile change event.
- the configuration details include but not limited to listing the targeted device, measurement type, widget template to be used, container ID to be affected and additional arbitrary data which is relevant to the widget in the widget template repository (25).
- the event generator (21) then generates the profile change event as in step 1115 and the profile change event is sent to the profile queue manager (24) as in step 1116.
- the profile queue manager (24) sends the profile change event to the profile manager (22) for validation as in step 1120 of the method of FIG. 2.
- FIG. 5 Illustrates a flowchart of sub-steps for generating the profile change request by the profile selector module (11) of the step 1210 of the method of FIG. 2.
- the user selects the widget container ID of the widget container (13) to be configured as in step 1211.
- the user selects the widget template of intended widget type for the widget container (13) to display as in step 1212.
- the user also selects and configures relevant widget configuration data as in step 1213.
- the widget configuration data comprises the list of target device, measurement type, icon selection and any arbitrary data relevant to the widget template selected.
- the user selects the widget container ID to be configured, widget template of intended widget type and relevant widget configuration from the profile selector widget on the dashboard as shown in FIG. 6.
- FIG. 6 illustrates an example of the dashboard with the user configuration on the profile selector widget.
- the profile selector module (11) receives the user’s configuration via the profile selector widget, the profile selector module (11) compiles all of the selected widget configuration data and generates the profile change request as in step 1214. The profile selector module (11) then sends the profile change request to the event agent module (12) which then sends the profile change request to the notification module (23). The profile change request is then sent to the profile queue manager (24) as in step 1215 which then forwards the profile change request to the profile manager (22) for validation as in step 1220 of FIG. 2.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Human Computer Interaction (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Bioethics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
The present invention relates to a system (100) and method for displaying widget on a dashboard. The system (100) comprises a client (10) and a server (20), wherein the client (10) is connected to the server (20). The server (20) provides a service to one or many clients (10) which initiates requests for such services. On the other hand, the client (10) may be a hardware or software that accesses the service made available by the server (20). The system (100) displays one or more widgets on the dashboard based on whether a configuration is done by a user at the client (10) or if an event which occurred in the system (100) is detected by the server (20).
Description
A SYSTEM AND METHOD FOR DISPLAYING WIDGET ON A DASHBOARD
FIELD OF INVENTION
The present invention relates to a system and method for displaying widget on a dashboard. More particularly, the present invention relates to a system and method for displaying widget on a dashboard based on event triggered and user’s request.
BACKGROUND OF THE INVENTION
In a sensor monitoring system, a plurality of sensors are used to provide different readings, whereby a dashboard is required to monitor all the readings from the sensors. The data from the sensors are displayed in a form of widgets, wherein widgets are elements of graphical user interface that display information or provide a specific way for interaction between a user and an operating system or an application. Although the data from the sensors are displayed by the widgets, it is difficult to display all the required data from all the sensors at the same time on a fixed structure dashboard. Therefore, systems and methods are developed to dynamically visualise all data from all of the sensors.
An example of such system and method is disclosed in a United States Patent Publication No. 2015/0153918 A1 which relates to a digital dashboard application. The digital dashboard application extracts data, performs data processing on the extracted data, and displays the analysed data as widgets in a dashboard format. The digital dashboard application may access a widget library whereby an end user may download a widget from the widget library to add the widget into the digital dashboard application. The digital dashboard application may be installed, set up and maintained by the end user.
Another example of a system and method for displaying widget on a dashboard is disclosed in a United States Patent No. 7,954,064 B2 which relates to systems and methods for organising, managing and presenting widgets in display area. The system includes a processor which interacts with a user interface to provide two dashboard environments. The first dashboard environment is invoked from the user interface, while the second dashboard environment is invoked from the first dashboard environment. Each dashboard environment
includes a layer relative to a desktop and is separately displayable over the desktop. The desktop is inactivated in such a way that the visible elements on the desktop cannot be interacted with when the selected dashboard environment is displayed.
Although there are many systems and method for displaying widget on a dashboard, most of the systems and methods allow user to position the widgets in a desired arrangement such as overlapping, minimising, maximising and the like. Although such flexibility may be useful to the user, the arrangement may result in a cluttered display screen. Additionally, the cluttered screen may lead to information overload, thus, preventing the user from efficiently using the computer equipment due to difficulty in locating the relevant data. Therefore, there is a need for a system and method for displaying widget on a dashboard which addresses the mentioned problems.
SUMMARY OF INVENTION
The present invention relates to a system (100) and method for displaying widget on a dashboard. The system (100) for displaying widget on a dashboard comprising a server (20) configured to provide a service to at least one client (10) that initiates requests for such services and the at least one client (10) that accesses the service made available by the server (20). The server (20) comprising an event generator (21) configured to trigger profile change event when a predetermined condition is fulfilled and a profile manager (22) configured to validate the profile change request or profile change event, and prepare, generate and publish the effective profile. The client (10) comprising a widget container (13) configured to conform to an effective profile and caches at least one widget, wherein the effective profile is a data structure that comprises description of user interface elements and configuration and a profile selector module (11) configured to generate profile change request based on user’s choice of widget container identification, wherein the profile change request comprises the widget container identification, configuration data, widget identification and requestor identification.
The method for displaying widget on a dashboard includes the steps of determining if a profile change is detected, generating a profile change event by the event generator (21) if a profile change is detected and the profile change is caused
by an event triggered configuration and validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid. Thereon, the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13). The widget container (13) then validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads a uniform resource locator, URL of the widget content into the widget container (13) if the effective profile is valid.
Preferably, if the profile change is detected and the profile change is caused by a configuration done by a user, the steps include selecting the widget container identification of the widget container (13) to be configured, selecting a widget template of intended widget type for the widget container (13) to be displayed, selecting and configuring relevant widget configuration data, compiling all of the selected widget configuration data by the profile selector module (11) and generating a profile change request by the profile selector module (11). The profile change request is sent to the profile manager (22) for validation by ensuring all key-value pairs of the profile change request are valid. Thereon, the profile manager (22) prepares, generates and publishes an effective profile to a widget container (13). The widget container (13) then validates the effective profile by determining whether the widget container identification matches with an identification in the effective profile and loads the URL of the widget content into the widget container (13) if the effective profile is valid.
BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
FIG. 1 illustrates a system (100) for displaying widget on a dashboard according to an embodiment of the present invention.
FIG. 2 illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention.
FIG. 3 illustrates an example of visualisation of the widgets on the dashboard.
FIG. 4 illustrates a flowchart of sub-steps for generating a profile change event by an event generator (21) of the method of FIG. 2.
FIG. 5 illustrates a flowchart of sub-steps for generating a profile change request by a profile selector module (11) of the method of FIG. 2.
FIG. 6 illustrates an example of the dashboard with user configuration on a profile selector widget.
DESCRIPTION OF THE PREFERRED EMBODIMENT
A preferred embodiment of the present invention will be described herein below with reference to the accompanying drawings. In the following description, well known functions or constructions are not described in detail since they would obscure the description with unnecessary detail.
Initial reference is made to FIG. 1 which illustrates a block diagram of a system (100) for displaying widget on a dashboard according to an embodiment of the present invention. The system (100) comprises at least one client (10) and a server (20), wherein the client (10) is connected to the server (20). In order for the client (10) and the server (20) to communicate with each other, the system (100) employs a transport protocol such as representational state transfer architecture, REST transactions, WebSockets protocol, and publish-subscribe messaging protocols.
The server (20) provides a service to the client (10) which initiates requests for such services. The service refers to the functionality performed by the server (20), whereby examples of the service include but not limited to sharing data or resources among multiple clients (10), and performing computation for the client (10). On the other hand, the client (10) may be a hardware or software that accesses the service made available by the server (20). The system (100) displays one or more widgets on the dashboard based on whether a configuration is done by a user at the client (10) or an event occurred in the system (100) is detected by the server (20).
The client (10) comprises a profile selector module (11), an event agent module (12), and at least one widget container (13). The widget container (13), which is connected to the event agent module (12), is a web-based application configured to conform to an effective profile. The effective profile is a data structure which comprises a description of user interface elements and configuration. The widget container (13) is also configured to update the user interface and configuration upon receiving the effective profile. Each widget container (13) caches at least one widget (not shown), wherein each widget container (13) and each widget has a unique identification, ID.
The profile selector module (11) is configured to generate a profile change request based on user’s choice of widget container ID. The profile change request comprises the widget container ID, configuration data, widget ID and requestor ID, wherein the configuration data includes but not limited to list of devices, measurement types, icons and arbitrary data provisioned in the server (20). A format structure of the profile change request contains key-value pairs describing the profile change that is intended. The key-value pair is a set of two linked data items, wherein the key is a unique identifier for some item of data, while the value is either the data that is identified or a pointer to the location of that data.
The profile selector module (11) stores a list of widget container ID of the widget container (13) in the dashboard. The profile selector module (11) also stores a list of widget templates available in a widget template repository (25) of the server (20). The profile selector module (11) may further be filled with desired configuration data.
The event agent module (12) which is connected to the profile selector module (11), widget container (13) and server (20). The event agent module (12) is configured to convert the transport protocol employed in transmitting the profile change request or effective profile to and from the server (20). The event agent module (12) is also configured to send the profile change request from the profile selector module (11) to the server (20) and distribute the effective profile to the widget container (13).
The server (20) comprises an event generator (21), a profile manager (22), a notification module (23), a profile queue manager (24), and the widget template repository (25). The server (20) is connected to the event agent module (12) of the client (10) via the notification module (23).
The notification module (23) is connected to the event agent module (12) and profile queue manager (24). The notification module (23) receives the profile change request from the event agent module (12) and converts the transport protocol employed in transmitting the profile change request from the event agent module (12).
The notification module (23), which is further connected to the profile manager (22) and profile queue manager (24), forward the profile change request received from the event agent module (12) to the profile queue manager (24). The notification module (23) is also configured to convert the transport protocol employed in transmitting the effective profile to the event agent module (12) and forward the effective profile received from the profile manager (22) to the event agent module (12).
The profile queue manager (24) is connected to the event generator (21), profile manager (22) and notification module (23). The profile queue manager (24) is used as a communication channel for the event generator (21), profile manager (22) and profile selector module (11) to exchange the profile change request, profile change event and effective profile. A format structure of the profile change event contains key-value pairs describing the change that is intended.
The event generator (21) that is connected to the profile queue manager (24) is configured to trigger a profile change event when a predetermined condition is fulfilled. Examples of the conditions are a particular timing or a reading threshold. The event generator (21) may trigger the profile change event if the reading threshold exceeds a predetermined threshold. The profile change event comprises the widget container ID, configuration data, widget ID and requestor ID.
The profile manager (22) that is connected to the profile queue manager (24) is further connected to the widget template repository (25). The profile manager (22)
is configured to prepare, generate and publish the effective profile. The profile manager (22) prepares the effective profile by collecting selected widget template from the widget template repository (25), collecting necessary data based on configuration data points and creating widget content. The widget content is a web resource and is stored in a web server (not shown). The widget content is supplied with a uniform resource locator, URL address as a widget payload key within the effective profile, wherein the URL refers to the address of the widget content.
The profile manager (22) generates the effective profile by packing all effective profile parameter value into the effective profile. The profile manager (22) also publishes the effective profile to the profile queue manager (24).
The profile manager (22) is further configured to validate the profile change request and profile change event. The profile manager (22) validates both profile change request or profile change event by ensuring all key-value pairs are valid. The profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request or profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
The widget template repository (25) which is connected to the profile manager (22) is configured to store the preconfigured widget profile, wherein the widget profile may comprise user interface and selection configuration detail. The widget template repository (25) also stores widget template which contains executable codes such as JavaScript and Hypertext Markup Language, HTML.
Reference is now made to FIG. 2 which illustrates a flowchart of a method for displaying widget on a dashboard according to an embodiment of the present invention. Initially, the system (100) determines if a profile change is detected as in decision 1005. If the profile change is detected and the profile change is caused by an event triggered configuration, the event generator (21) generates a profile change event as in step 1110. The profile change event is generated based on a set of conditions that are met. The sub-steps for generating the profile change event by the event generator (21) are further explained in relation to FIG. 4.
Thereon, the profile manager (22) validates the profile change event as in step 1120. The profile manager (22) obtains the profile change event and determines if the contents of the profile change event are valid. The profile manager (22) validates the profile change event by ensuring all key-value pairs of the profile change event are valid. The profile manager (22) ensures all key-value pairs are valid by comparing the key-value pair of the profile change event with available widget template and combinations of configuration data suitable for the relevant widget template.
However, if the profile change is detected and the profile change is caused by a configuration done by the user as in decision 1005, the profile selector module (11) generates a profile change request as in step 1210. The profile change request is generated based on the user’s choice of widget container ID. The sub-steps for generating the profile change request by the profile selector module (11) are further explained in relation to FIG. 5.
Thereon, the profile manager (22) validates the profile change request as in step 1220. The profile manager (22) obtains the profile change request and determines if the contents of the profile change request are valid. The profile manager (22) validates the profile change request by ensuring all key-value pairs of the profile change request are valid. The profile manager (22) ensures all key-value pairs are valid by comparing the key-value pairs of the profile change request with available widget template and combinations of configuration data suitable for the relevant widget template.
Once the profile manager (22) has validated either the profile change event or profile change request as in step 1120 or step 1220 respectively, the profile manager (22) prepares the effective profile as in step 1300. The profile manager (22) prepares the effective profile by extracting widget template, configuration data, and requestor ID from the key-value pair in the profile change event or profile change request format. If the widget template exists in the widget template repository (25), the profile manager (22) obtains the widget template from the widget template repository (25). The profile manager (22) then obtains the configuration data from the extracted profile change and combines the configuration data with the widget template to
create a widget content. The widget content is stored in the web server and the URL of the widget content is generated.
Afterward, the profile manager (22) generates the effective profile as in step 1400. The profile manager (22) fills the widget container ID within the effective profile with the same value of similar key from the profile change event or profile change request. The profile manager (22) combines the data collected from the widget template such as HTML elements, fonts, colours, and JavaScripts to generate a widget on the server (20). The URL of the widget content is inserted into a widget payload key within the effective profile.
The profile manager (22) then publishes the effective profile to the profile queue manager (24) as in step 1500. The notification module (23) retrieves the effective profile from the profile queue manager (24) and relays the effective profile to the event agent module (12). The event agent module (12) sends the effective profile to the widget container (13).
Upon receiving the effective profile, the widget container (13) validates the effective profile by determining whether the widget container ID matches with the ID in the effective profile as in decision 1650. The URL of the widget content finally is loaded into the widget container (13) only if the widget container ID matches with the ID in the effective profile as in step 1700.
An example of visualisation of the widget on the dashboard is illustrated in FIG. 3. As shown in FIG. 3, the dashboard displays a profile selector widget and a widget with a widget container ID 123. The profile selector widget is a widget for the profile selector module (11), wherein the profile selector widget receives user’s configuration and thereon the profile selector module (11) generates the profile change request based on the user’s configuration.
The widget with the widget container ID 123 displays the widget content from the URL loaded into the widget container (13) if the widget container ID matches with the ID in the effective profile. As the widget content contains the temperature value detected by a sensor, the relevant widget template to be used is a gauge meter. Additionally, as the widget content contains an additional alert data due to the
temperature has exceed a threshold temperature, the relevant widget template to be used is an alert animation.
Therefore, the widget with the widget container ID 123 displays the widget content using the relevant widget template. In this case, the widget with the widget container ID 123 displays the temperature value on the gauge meter and the alert data in the alert animation. The alert animation is displayed below the gauge meter.
Referring back to FIG. 2, if the widget container ID does not match with the ID in the effective profile as in decision 1650 or if there is no profile change detected as in decision 1005, the widget container remains unchanged or unmodified. The widget container may remain empty as there is no matching effective profile arriving from the server (20).
FIG. 4 illustrates a flowchart of sub-steps for generating the profile change event by the event generator (21) of the step 1110 of the method of FIG. 2. Initially, the event generator (21) waits for an event to be triggered. If an event is triggered, the event generator (21) gathers all condition sets as in step 1112. A condition set is a logical statement defining conditions which when met, an action will be taken. An example of the condition set is measurement reading from a temperature sensor. When the temperature sensor detects that the temperature has gone over 100°C which is the threshold temperature, an action has to be executed to update a widget container with the gauge meter template. The temperature gauge meter is used to display the temperature reading with an alert animation.
Thereon, the event generator (21) determines if any conditions are met as decision 1113. If at least one condition is met, the event generator (21) implements condition configuration as in step 1114. The condition configuration establishes a list of target device, measurement type, icon selection and any arbitrary data relevant to widget template selected.
Referring to the earlier example, once the temperature sensor detects that the temperature has gone over 100°C, the alert animation is executed by gathering and applying relevant configuration details into the format structure of the profile change event. The configuration details include but not limited to listing the targeted device,
measurement type, widget template to be used, container ID to be affected and additional arbitrary data which is relevant to the widget in the widget template repository (25).
The event generator (21) then generates the profile change event as in step 1115 and the profile change event is sent to the profile queue manager (24) as in step 1116. The profile queue manager (24) sends the profile change event to the profile manager (22) for validation as in step 1120 of the method of FIG. 2.
FIG. 5. Illustrates a flowchart of sub-steps for generating the profile change request by the profile selector module (11) of the step 1210 of the method of FIG. 2. Initially, the user selects the widget container ID of the widget container (13) to be configured as in step 1211. Thereon, the user selects the widget template of intended widget type for the widget container (13) to display as in step 1212.
The user also selects and configures relevant widget configuration data as in step 1213. The widget configuration data comprises the list of target device, measurement type, icon selection and any arbitrary data relevant to the widget template selected. The user selects the widget container ID to be configured, widget template of intended widget type and relevant widget configuration from the profile selector widget on the dashboard as shown in FIG. 6. FIG. 6 illustrates an example of the dashboard with the user configuration on the profile selector widget.
Once the profile selector module (11) receives the user’s configuration via the profile selector widget, the profile selector module (11) compiles all of the selected widget configuration data and generates the profile change request as in step 1214. The profile selector module (11) then sends the profile change request to the event agent module (12) which then sends the profile change request to the notification module (23). The profile change request is then sent to the profile queue manager (24) as in step 1215 which then forwards the profile change request to the profile manager (22) for validation as in step 1220 of FIG. 2.
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrate and describe all possible forms of the invention. Rather, the words used in the specifications are words of description rather
than limitation and various changes may be made without departing from the scope of the invention.
Claims
1 . A system (100) for displaying widget on a dashboard comprising:
a) a server (20) configured to provide a service to at least one client (10) that initiates requests for such services, wherein the service refers to the functionality performed by the server (20), and wherein the server
(20) further comprising:
i. an event generator (21) configured to trigger profile change event when a predetermined condition is fulfilled; and b) the at least one client (10) that accesses the service made available by the server (20), wherein the client (10) further comprising:
i. a widget container (13) configured to conform to an effective profile and caches at least one widget, wherein the effective profile is a data structure that comprises description of user interface elements and configuration; and ii. a profile selector module (11) configured to generate profile change request based on user’s choice of widget container identification, wherein the profile change request comprises the widget container identification, configuration data, widget identification and requestor identification;
characterised in that the server (20) further comprising:
iii. a profile manager (22) configured to validate the profile change request or profile change event, and prepare, generate and publish the effective profile. 2. The system (100) as claimed in claim 1 , wherein the server (20) further comprising:
a) a notification module (23) configured to convert transport protocol employed in transmitting the profile change request or effective profile to or from the at least one client (10);
b) a profile queue manager (24) configured to be used as a communication channel for the event generator (21), profile manager (22) and profile selector module (11) to exchange the profile change request, profile change event and effective profile; and c) a widget template repository (25) configured to store a preconfigured widget profile and a widget template that contains executable codes,
wherein the widget profile comprises user interface and selection configuration detail.
3. The system (100) as claimed in claim 1 , wherein the client (10) further comprising an event agent module (12) configured to convert transport protocol employed in transmitting the profile change request or effective profile to and from the server (20) and send the profile change request from the profile selector module (11) to the server (20), and format and distribute the effective profile to the widgets installed in the widget container (13).
4. A method for displaying widget on a dashboard is characterised by the steps of:
a) determining if a profile change is detected;
b) generating a profile change event by the event generator (21) if a profile change is detected and the profile change is caused by an event triggered configuration;
c) validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid; d) preparing an effective profile by the profile manager (22); e) generating the effective profile by the profile manager (22); f) publishing the effective profile to a widget container (13) by the profile manager (22);
g) validating the effective profile by determining whether the widget container identification matches with an identification in the effective profile by the widget container (13); and
h) loading a uniform resource locator, URL of the widget content into the widget container (13) if the effective profile is valid.
5. The method as claimed in claim 4, wherein if the profile change is detected and the profile change is caused by a configuration done by a user, the steps include;
a) selecting the widget container identification of the widget container (13) to be configured;
b) selecting a widget template of intended widget type for the widget container (13) to be displayed;
c) selecting and configuring relevant widget configuration data;
d) compiling all of the selected widget configuration data by the profile selector module (11);
e) generating a profile change request by the profile selector module (11);
f) sending the profile change request to the profile manager (22);
g) validating the profile change request by a profile manager (22) by ensuring all key-value pairs of the profile change request are valid; h) preparing the effective profile by the profile manager (22); i) generating the effective profile by the profile manager (22); j) publishing the effective profile to a widget container (13) by the profile manager (22);
k) validating the effective profile by determining whether the widget container identification matches with an identification in the effective profile by the widget container (13); and
L) loading the URL of the widget content into the widget container (13) if the effective profile is valid.
6. The method as claimed in claim 5, wherein validating the profile change request by a profile manager (22) by ensuring all key-value pairs of the profile change request are valid includes the step of comparing the key-value pair of profile change request with available widget template and combination of configuration data suitable for relevant widget template. 7. The method as claimed in claim 5, wherein preparing the effective profile by the profile manager (22) includes the steps of:
a) extracting widget template, configuration data and requestor identification from key-value pair in the profile change request, wherein configuration data includes list of devices, measurement types, icons and arbitrary data provisioned in the server (20);
b) obtaining widget template from a widget template repository (25) if the widget template exists in the widget template repository (25);
c) obtaining configuration data from extracted profile change; d) creating a widget content by combining the configuration data with the widget template; and
e) generating the URL of the widget content.
8. The method as claimed in claim 5, wherein generating the effective profile by the profile manager (22) includes the steps of:
a) filling widget container identification with same value of similar key from the profile change request;
b) generating a widget on the server (20) by combining data collected from widget template, wherein the data include Hypertext Markup Language, HTML elements, fonts, colours, and JavaScripts; and c) inserting the URL of the widget content into a widget payload key.
9. The method as claimed in claim 4, wherein generating the profile change event by the event generator (21) if an event occurred in the system (100) is detected by the event generator (21) and the profile change is caused by an event triggered configuration includes the steps of:
a) gathering all condition sets;
b) determining if any conditions are met; and
c) implementing condition configuration if at least one condition is met. 10. The method as claimed in claim 4, wherein validating the profile change event by a profile manager (22) by ensuring all key-value pairs of the profile change event are valid includes the step of comparing the key-value pair of profile change event with available widget template and combination of configuration data suitable for relevant widget template.
1 1. The method as claimed in claim 4, wherein preparing the effective profile by the profile manager (22) includes the steps of:
a) extracting widget template, configuration data and requestor identification from key-value pair in the profile change event, wherein configuration data includes list of devices, measurement types, icons and arbitrary data provisioned in the server (20);
b) obtaining widget template from a widget template repository (25) if the widget template exists in the widget template repository (25);
c) obtaining configuration data from extracted profile change;
d) creating a widget content by combining the configuration data with the widget template; and
e) generating the URL of the widget content. 12. The method as claimed in claim 4, wherein generating the effective profile by the profile manager (22) includes the steps of:
a) filling widget container identification with same value of similar key from the profile change event;
b) generating a widget on the server (20) by combining data collected from widget template, wherein the data include Hypertext Markup
Language, HTML elements, fonts, colours, and JavaScripts; and c) inserting the URL of the widget content into a widget payload key.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| MYPI2018001928A MY193227A (en) | 2018-11-14 | 2018-11-14 | A system and method for displaying widget on a dashboard |
| MYPI2018001928 | 2018-11-14 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020101475A1 true WO2020101475A1 (en) | 2020-05-22 |
Family
ID=70730718
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/MY2019/050090 Ceased WO2020101475A1 (en) | 2018-11-14 | 2019-11-13 | A system and method for displaying widget on a dashboard |
Country Status (2)
| Country | Link |
|---|---|
| MY (1) | MY193227A (en) |
| WO (1) | WO2020101475A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024502898A (en) * | 2021-05-21 | 2024-01-23 | 中興通訊股▲ふん▼有限公司 | Widget generation method, device, electronic device, computer program |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20100058216A1 (en) * | 2008-09-01 | 2010-03-04 | Samsung Electronics Co., Ltd. | Apparatus and method for providing user interface to generate a menu list |
| US20110099487A1 (en) * | 2006-01-23 | 2011-04-28 | Nokia Corporation | End-to-end solution for an end-user to obtain desired information in user interfaces |
| US20130275890A1 (en) * | 2009-10-23 | 2013-10-17 | Mark Caron | Mobile widget dashboard |
| US20150153918A1 (en) * | 2013-12-04 | 2015-06-04 | General Electric Company | System and method for dashboard software maintained by an end user |
| US20170199633A1 (en) * | 2005-10-27 | 2017-07-13 | Apple Inc. | Workflow widgets |
-
2018
- 2018-11-14 MY MYPI2018001928A patent/MY193227A/en unknown
-
2019
- 2019-11-13 WO PCT/MY2019/050090 patent/WO2020101475A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20170199633A1 (en) * | 2005-10-27 | 2017-07-13 | Apple Inc. | Workflow widgets |
| US20110099487A1 (en) * | 2006-01-23 | 2011-04-28 | Nokia Corporation | End-to-end solution for an end-user to obtain desired information in user interfaces |
| US20100058216A1 (en) * | 2008-09-01 | 2010-03-04 | Samsung Electronics Co., Ltd. | Apparatus and method for providing user interface to generate a menu list |
| US20130275890A1 (en) * | 2009-10-23 | 2013-10-17 | Mark Caron | Mobile widget dashboard |
| US20150153918A1 (en) * | 2013-12-04 | 2015-06-04 | General Electric Company | System and method for dashboard software maintained by an end user |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2024502898A (en) * | 2021-05-21 | 2024-01-23 | 中興通訊股▲ふん▼有限公司 | Widget generation method, device, electronic device, computer program |
| JP7606622B2 (en) | 2021-05-21 | 2024-12-25 | 中興通訊股▲ふん▼有限公司 | Widget generating method, device, electronic device, and computer program |
Also Published As
| Publication number | Publication date |
|---|---|
| MY193227A (en) | 2022-09-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10667101B2 (en) | Contextual deep linking of applications | |
| US11640289B2 (en) | Microservices cloud-native architecture for ubiquitous simulation as a service | |
| US9742858B2 (en) | Assessment of content delivery services using performance measurements from within an end user client application | |
| CN112748962B (en) | Application loading method, device, electronic equipment and computer readable medium | |
| US20100138437A1 (en) | User tracking for browser activities | |
| EP2801172B1 (en) | Encoding application state in linked resources in a stateless microkernel web server architecture | |
| US8775554B2 (en) | Cloud-based web page applications for extending functionality | |
| CN104572968B (en) | A kind of method for updating pages and device | |
| US9524147B2 (en) | Entity-based cross-application navigation | |
| CN101405723A (en) | Estimation of initial dynamic rendering control data | |
| CN110096656B (en) | Systems and methods for mapping page states | |
| US20140019517A1 (en) | Web-hosted shipping system and method of use thereof | |
| US20120054327A1 (en) | Site redirection | |
| CN110958462A (en) | Live broadcast activity page display method and device, storage medium and live broadcast system | |
| US20130124971A1 (en) | Real time web script refresh using asynchronous polling without full web page reload | |
| CN110674435A (en) | Page access method, server, terminal, electronic equipment and readable storage medium | |
| US11048853B2 (en) | System and method for resource presentation | |
| WO2020101475A1 (en) | A system and method for displaying widget on a dashboard | |
| US20190005155A1 (en) | Visualization management device, data management device, data visualization system, visualization management method, and program product | |
| CN119002966A (en) | Method and system for automatically updating version based on single-page web front end | |
| US9696885B2 (en) | Integrated user interface using linked data | |
| CN112083982A (en) | Information processing method and device | |
| CN111597485A (en) | Information presentation method and device | |
| US11663117B2 (en) | Customizable decision service | |
| US10592476B2 (en) | Enabling clients to expose secured files via virtual hosts |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19885760 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19885760 Country of ref document: EP Kind code of ref document: A1 |