Skip to content

Interface

Nuno Macedo edited this page Dec 13, 2016 · 5 revisions

User Interface

A front-end for the PTCRISync synchronization must match the functionalities of the underlying synchronization procedures. The main features that must be provided are:

  • The ability to connect/disconnect a user profile with an ORCID iD
  • The ability to persistently set/unset a production as being actively synchronized
  • The ability to present notifications to the user regarding works to be imported/exported and to act upon them

Recommended interface

The interface recommended by PTCRISync proposes two main pages accessible to the user:

  • A Productions page, where the local productions are presented, as well as whether they are being actively synchronized
  • A Synchronization page, where the user can inspect notification and manage the synchronization of the profile with ORCID

The latter is expected to present three distinct panes:

  • A to synchronize pane, that presents productions that can be synchronized but have not yet been selected
  • An alerts pane, that presents productions that cannot be set synchronized due to lack of quality
  • A synchronized pane, that presents productions that are already synchronized and disable them

Additionally, settings to manage the connection with the ORCID iD of the user should also be provided. Below, a reference implementation of a front-end interface for the PTCRISync framework is presented. Details regarding the scheduling of the synchronization procedures can be seen here.

Connecting with ORCID

The Production page presents the productions that currently exist in the local service. The synchronization menu (top right) must be disabled until the profile is connected with the ORCID iD of the user. Once productions are selected as synchronized, they will be flagged here as well.

The user must be able to connect/disconnect the profile with an ORCID iD. Moreover, it should be possible to completely disable the synchronization procedures, even if an ORCID iD has been provided.

The front end must implement a mechanism to obtain the access token for a particular user, which requires a landing page to retrieve the authorization code to request the token to ORCID. For details on how the "dance" is performed here. The PTCRISync library provides methods to support this process.

Background synchronization

Once the profile is connected to an ORCID iD, the Synchronization menu is enabled. From this point on, the system must in background call the synchronization procedures and keep the two profiles consistent, given the set of local productions being actively synchronized (initially empty). This should occur at least when the user logs in the system and when the productions are updated by the user, and before opening the Synchronization menu. In fact, the Synchronization menu is disabled when the synchronization is being processed in the background.

This background process involves calling the export works procedure, in order to guarantee that the ORCID profile is up-to-date, and the import updates procedure, to guarantee that local productions are also up-to-date with ORCID meta-data. These procedure require information to connect to the ORCID profile of the user, the set of local works that are being actively synchronized, and a progress handler that reports the progress of the process. The export procedure cannot be run in force mode since updates to the productions' meta-date may have occurred. This also assumes that meta-data updates to works that are not being actively synchronized are disregarded, and that updates to those that are are automatically applied.

A notification with the number of novel productions detected in ORCID is also presented. The value results from adding the result of the import counter procedure with the number of local productions that are not yet synchronized with ORCID (more on this below). The import counter should be run when the Productions page is loaded, and requires information to connect to the ORCID profile of the user, the complete set of local works, and a progress handler that reports the progress of the process.

Synchronizing productions

The Synchronization page should focus on the to synchronize pane on loading. Here should be listed:

  • ORCID works that could be imported into the local profile
  • Local works that could be exported into the ORCID profile

These should be clearly distinguished in the pane.

The list of works that can be imported into the local profile is retrieved by the import works procedure, which should be run when the Synchronization page is loaded. The procedure requires information to connect with the user's ORCID profile, the complete set of local works, and a progress handler that reports the progress of the process.

The list of local works that can be exported presents the local productions that are not being actively synchronized, i.e., the productions are not being kept up-to-date in the ORCID profile. The to synchronize pane presents a counter, that presents the same value as the one on the Productions page. Quick access to support is also recommended (top right here).

The user is able to select multiple works that are to be selected as synchronized. Once the Synchronize button is pressed, the system should start by converting the notifications provided by the import works procedure, that were selected by the user, into concrete local productions. Then both these and the local productions that have been selected are added to the list of productions being actively synchronized. The export works procedure is then be run with this updated list, in order to export the newly synchronized productions to ORCID. This procedure requires information to connect with the user's ORCID profile, the list of local works that are actively synchronized, and a progress handler that reports the progress of the process.

If the process is successful, import works is run again to update the set of ORCID productions that are still considered new, and the to synchronize pane updated. If there are no more works to synchronize, the user is redirected back to the Productions page, where the actively synchronized works are flagged as so.

If the export process fails either due to a temporary failure on the ORCID service and the invalidity of a particular production (information returned by the export works procedure), an error message is presented to the user. Here the service may either implement an automatic retry, or expect the user to explicitly request the synchronization again.

Alerts

The Alerts pane presents to the user every work that cannot be imported/exported due to failing the minimal quality test imposed by PTCRISync. Alerts on the ORCID side are detected with the import invalid works procedure; those on the local side implement the rules enforced by the local service. The import procedure should be run when the pane is loaded, and requires information to connected with the user's ORCID profile, the complete set of local works, and a progress handler that reports the progress of the process. The page should also detail which meta-data fields cause the invalidity of the production.

The user is not able to directly act on the productions on this pane. Local works must be changed in the Productions pane, remote works in the ORCID profile of the user.

Note that these alerts report productions that can not even be set as actively synchronized due to lack of meta-data quality, and not productions that failed to synchronize when the procedures were run.

Disabling synchronization

The Synchronized pane presents the status of the productions being actively synchronized, and allows the user to disable this process for particular productions. A timestamp with the last time each production was synchronized (i.e., the procedures were run successfully over the production) is also presented.

The user is able to select multiple productions whose synchronization is to be disabled. Once the Update button is pressed, the behavior of the systems is the same as the Synchronize button on the Synchronization pane.