You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: DevDocs/DeveloperNotes/GettingStarted/NewEditorPlugin.md
+34-5
Original file line number
Diff line number
Diff line change
@@ -31,12 +31,41 @@ menu. When invoked, the plugin usually opens a dialog, displays some data for
31
31
the user to search, filter, and select, and finally inserts the generated HTML
32
32
into the document.
33
33
34
+
34
35
## 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
0 commit comments