The present disclosure relates generally to the field of client-server applications and more particularly to a method and system for enabling an administrator or a translator on the client-end to work in an environment that resembles an end-user environment
In a client-system system there is a common use of applications that provide application to the end-user and a separate ability to the administrators to change the applications and a separate ability to the translators to translate the application. Typically an application is provided at a basic privilege level to the end-user at the client-end and with additional privilege levels to administrators that serve the client-end through the server side.
In a typical scenario the end-user uses the application for example to fill a form for asking/reporting a vacation, to ask for reimbursement of expenses, to send a weekly report to his/her manager etc. For these simple tasks the application provides the end-user with a specific form that can be filled by the end-user. For example, when an end-user wants to ask for a vacation he/she may use the client-server application (for example “DUET” by SAP AG) to open/show the form by a common S/W application such as “OUTLOOK” (Microsoft™). (OUTLOOK is invoked by an add-on tool on the client-end that is attached to “DUET”).
When the “Vacation” form is opened, the end-user may fill the form by entering data fields according to a predefined data structure. For example the end-user may fill his/her first name, given name, his/her worker I.D. user I.D., the year month and days at which he/she wants to get a vacation, his/her manager's name etc. Typically, the end-user has no option to edit the form apart from filling data entries.
However, from time to time a need arises to make changes in the forms, to add an additional field to the form (e.g. to add “current project name” where the employee is asked to provide the name of the project that he is working on at the time of submitting the form). These types of updating the end-user UI usually take place at the period when the application is already in use.
Another type of modifications of the end-user UI is a translation task, which typically (but not always) takes place at the development phase, when a form is completed in one language and is handed to a translator in order to translate the form (or generally to translate the application UI) to one or more languages. Sometimes translation can be done also at a later point in time, For example the company wishes to translate the title of the form from “Vacation” to “URLAUB” (German word for vacation). Evidently, this should not be done by an end-user. Such modifications require a higher degree of authorization/privilege level which is typically saved for administrators. Typically, such changes are global, i.e. they will affect the user-interface (UI) of all the end-users that will invoke the application at a later point in time, or at least they will affect the UI that is provided to an entire group of end-users (e.g. all German speakers or users that have selected German as the UI language).
In accordance with the prior art, when an administrator (hereinafter—“admin-user” which in the present disclosure includes also a translator, although these are different types of task) wants to modify a form, he/she would have to edit fields in a configuration environment which typically is built in an hierarchical structure, according to a logical view, according to the configuration topic, and usually, does not resemble the UI as the user experiences it (an example is shown in
The main disadvantage of such an approach is that the admin-user is not aware of the context of the end-user and cannot see exactly how the configurations done by him/her are affecting the end-user. This approach can cause mistakes, unnecessary translation cycles and misunderstandings that originate from the lack to foresee the end result of the configuration/translation It should be noted that in big entities/organizations there may be many administrators, some of them may be external consultants, less familiar with the organization forms and terms, which turns this process of modifying forms to be more prone to mistakes. In the same way, a Translator which needs to translate new terms on the client UI would usually get a list of words or lines to translate without any understanding of the context and the result of the translation as mentioned above.
Thus, there is a need for a method and system that enables an admin-user a more intuitive environment which has more resemblance to the environment which is experienced by the end-user.
An aspect of the disclosed subject matter relates to a method and a system for providing an admin-user with rich client UI that resembles an end-user UI.
In an exemplary embodiment of the disclosed subject matter a client-application UI is defined for an end-user, and a for at least one admin-user privilege level, a run-time application is provided for executing the client application, wherein the run-time application is adapted to provide an admin-user with a rich client UI when invoked by an admin-user, and is adapted to modify the end-user UI definition in response to inputs received from the admin-user.
In an exemplary embodiment of the disclosed subject matter there is provided a method for providing an admin-user with a client User-Interface (UT) for managing a client application, comprising: defining at least one admin-user privilege level; providing a client application with an end-user UI definition and at least one admin-user privilege level definition; providing a run-time application adapted to execute said client application alternatively at an end-user privilege level, and at the at least one admin-user privilege level, wherein the run-time application is adapted to provide a rich client UI when invoked by an admin-user and wherein the run-time application is adapted to modify the end-user UT definition in response to inputs received from an admin-user when invoked with admin-user level privilege;
In an exemplary embodiment of the subject matter the client application is a form.
In an exemplary embodiment of the subject matter the modifications of the end-user UI are saved by the client-server system and when invoking the client application by the end-user after the modifications in the client application were saved by the client-server system—the client application will reflect said modifications.
In an exemplary embodiment of the subject matter the admin-user functionality is translator functionality.
In an exemplary embodiment of the subject matter the runtime application is executed at an admin-user privilege level for translating the end-user client UI.
In an exemplary embodiment of the subject matter, at run-time, the client application is executed by the run-time application with an admin-user privilege definition by an admin-user to provide the admin-user with a rich client UI that has the same appearance as the UT that is seen by the end-user
In an exemplary embodiment of the subject matter there is provided a system for providing an admin-user with a rich UI for managing a client application, comprising: a component for receiving, a client application and a definition of end-user UI and a definition of at least one admin-user privilege level; a component for executing the client application with admin-user privilege level, adapted to modify the definition of the end-user UI and saving the modification in the system; and a component for executing the client application with end-user UI definition wherein said client application UI definition is responsive to said modifications of the definition of the end-user UI.
In an exemplary embodiment of the subject matter there is provided a computer readable storage medium containing a set of instructions for general purpose computer, the set of instructions comprising: a component for receiving a client application and a definition of end-user UI and a definition of at least one admin-user privilege level UI; a component for executing the client application with admin-user privilege level, adapted to enable modifications of the definition of the end-user UI and saving said modifications in the system; and a component for executing the client application with end-user privilege level, wherein said client application UI is responsive to said modifications of the definition of the end-user UI.
The present disclosure will be understood and appreciated more fully from the following detailed description taken in conjunction with the drawings. Identical structures, elements or parts, which appear in more than one figure, are generally labeled with a same or similar number in all the figures in which they appear, wherein:
It could be easily understood that when an admin-user is modifying a form that has substantially a different appearance from the form that is seen by an end-user (view that is possible to get by selection of “Business Environment” 258), the process of modifying forms involves a significant probability of inserting mistakes. For example an admin-user that wants to remove the “Year” from the “Vacation End Day” (assuming that a given “year” for “Vacation Start Day” turns the “year” in “Vacation End Day” redundant), may inadvertently delete the wrong “Year” 221 instead of 227 (
It should he noted that the term admin-user refers to the user's privilege level, thus the admin-user may be an administrator, a translator or any user of the system who has a higher privilege level than the regular end-user and who is authorized to modify the client-application (including its UI). While the process and task of translation usually takes place at the phase of designing and creating the application and the process and task of amending an end-user UI by an administrator usually takes place at a later point in time when the application is already in use by end-users, the present disclosure is applicable to both processes and tasks.
At Run-time phase, admin-user opens/executes a form (or generally any application) wherein the form is opened/executed at an admin-user privilege level (620) i.e. the admin-user sees the same form/screen as an end-user sees, apart from some additional icons or marking which enable the admin-user to edit fields which are Read-Only fields for the end-user (hereinafter “extra fields”). It should be noted that the term “the same form/screen” should be construed as having basically the same appearance and not necessarily exactly the same UI.
Modifying the client application UI by the admin-user via said rich client UT—the admin-user modifies any of the extra fields and saves the changes (625). The run-time application is adapted to modify the end-user UT definition in response to inputs received from an admin-user when invoked with admin-user level privilege. It should be noted that the admin-user may be any kind of user that is authorized to modify the application in a way that will affect the client application (including but not limited to the client application UI) when it will later be invoked by other users, for example, a translator who translates the client application UI from one language to another. Upon saving the changes the modifications are communicated to the server. (It should be noted that as mentioned before, there may be a plurality of servers and configurations of a client-server system and while the current disclosure is not limited to a specific configuration, it does not refer to the server's location or to the client=system configuration but only to the server's functionality). The server processes the changes/modifications and modifies the form/application accordingly (630). When at later point in time an end-user opens the modified form (or in general, operates the modified application), the form/application will reflect the changes that were previously done by the admin-user (635).
(b) a component for executing the client application with admin-user privilege level, adapted to enable modifications of the definition of the end-user UI (e.g. enabling the modification of the title “Vacation” to “Urlaub”) and saving said modification in the system 705 or at a storage 725;
(c) a component for executing the client application with end-user UI definition 715, wherein the client application UI definition is responsive to said modifications of the definition of the end-user UI. (E.g. if the title “Vacation” was modified by component b to be “Urlaub”—executing the client application by an end-user will show the updated title “Urlaub”).
It should be appreciated that the above described methods and systems may be varied in many ways, including omitting or adding steps, changing the order of steps and the type of devices used. It should be appreciated that different features may be combined in different ways. In particular, not all the features shown above in a particular embodiment are necessary in every embodiment of the disclosed subject matter. Further combinations of the above features are also considered to be within the scope of some embodiments of the disclosed subject matter.
Section headings are provided for assistance in navigation and should not be considered as necessarily limiting the contents of the section.
It will be appreciated by persons skilled in the art that the present disclosure is not limited to what has been particularly shown and described hereinabove. Rather the scope of the present disclosure is defined only by the claims, which follow.