Skip to content

Commit 93f7096

Browse files
committed
Elaborate on the apps page changes
1 parent bf2bcca commit 93f7096

File tree

1 file changed

+34
-5
lines changed

1 file changed

+34
-5
lines changed

DevDocs/DeveloperNotes/GettingStarted/NewEditorPlugin.md

+34-5
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,41 @@ menu. When invoked, the plugin usually opens a dialog, displays some data for
3131
the user to search, filter, and select, and finally inserts the generated HTML
3232
into the document.
3333

34+
3435
## Step 1: Apps page & Authentication
35-
- See [/src/main/webapp/ui/src/eln/apps/AddingANewIntegration.md](/src/main/webapp/ui/src/eln/apps/AddingANewIntegration.md) for the front-end changes needed
36-
- Pick a colour based on the branding of the organisation that provides the service
37-
- Even if no authentication is required and plugin is not supported by ResearchSpace,
38-
adding it to the bottom section will make it visible to researchers
39-
- Something, something, something about required backend changes
36+
Each integration that RSpace has with third-party services is enabled and
37+
configured on the apps page. Each integration is represented by a card on the
38+
page, which can be clicked to open a dialog with more information about the
39+
integration, a mechanism to enable it, and where applicable further
40+
configuration options such as authentication. The changes required can be broken
41+
down into two parts: the backend and the frontend.
42+
43+
### Step 1.1: Backend changes
44+
- Deployment properties, where applicable
45+
- Sysadmin toggle
46+
- Enabled state (including how it is exposed for using in section 2.1 below)
47+
- Authentication
48+
49+
### Step 1.2: Frontend changes
50+
The frontend changes required to add a new integration to the apps page are
51+
fully document in [/src/main/webapp/ui/src/eln/apps/AddingANewIntegration.md](/src/main/webapp/ui/src/eln/apps/AddingANewIntegration.md),
52+
but to summarise briefly there is
53+
1. The API calls to get the state of the integration (whether is available, disabled, or enabled)
54+
2. The UI for displaying the card and dialog
55+
3. A unit test to verify 1. and 2. are working correctly
56+
57+
The only part perhaps worth elaborating on further, given it is expanded on
58+
below, is the accented colour of the card and dialog. Each integration on the
59+
apps page utilises the branding colours of the organisation that develops and
60+
maintains the APIs that the integration relies on. This makes it easier to
61+
identify the integration by utilising brand recognition as well as providing an
62+
aesthetic appeal and a visual connection to the dialogs and UI elements that are
63+
made available by enabling the integration. The apps page requires just a single
64+
colour defintion for each integration, expressed as a (hue, saturation,
65+
lightness) triple. If the logo of the organisation has a solid background colour
66+
then simply use that colour, if it does not then pick the colour that is most
67+
associated with the branding of the organisation.
68+
4069

4170
## Step 2: Define a new TinyMCE plugin
4271

0 commit comments

Comments
 (0)