Docs: correction to Staff Portal Page docs
[evergreen-equinox.git] / docs / modules / local_admin / pages / staff_portal_page.adoc
1 = Staff Portal Page =
2 :toc:
3
4 Beginning in version 3.9, there is a Local Administration interface allowing a staff user with appropriate permissions to customize the staff portal (AKA homepage; AKA landing page) - hereinafter ‘portal page’ - that displays to staff when they log in to the Evergreen staff client. This work only affects the Angular implementation of the portal page.
5
6 image::staff_portal_page/staff_portal_page.png[Staff Portal Page]
7
8 Different portal pages may be configured for different Organizational
9 Units. The displayed portal page will depend on the staff user's
10 workstation. The Organizational Unit tree will be walked up starting
11 from the workstation until one or more config.ui_staff_splash_page_entry
12 rows are found for the Organizational Unit. The set of entries for that
13 Organizational Unit will constitute the entire splash page entries to
14 display, i.e., it won't try to merge branch, system, and
15 consortial-level entries.
16
17 == New Tables ==
18
19 Homepage contents are stored in the new table
20 `config.ui_staff_splash_page_entry` which contains the following columns:
21
22 * id SERIAL
23 * column tinyint (numeric column value, e.g., 1, 2, 3)
24 * pos (position of entry in each column. pos = 0 will be magic: its label
25 will be displayed as the column header)
26 * entry_type enum (link, menuitem, context, catalogsearch)
27 * label text (label to display for the entry). This will be marked for
28 i18n.
29 * image text (relative URL of an image to display to the left of the
30 column label)
31 * link text (URL for link and menuitem type rows; the label will be the
32 link text)
33 * text text (value of the text type. HTML will be stripped. Text entries
34 will display the label (if present) as a title followed by the contents
35 of the text box). This will be marked for i18n.
36 * org_unit (owner of the entries)
37
38 The new table `config.ui_staff_splash_page_entry_type` is a lookup table
39 for entry types.
40
41 == Permissions ==
42
43 A new permission, `ADMIN_STAFF_SPLASH_PAGE`, will be added to control
44 access to adding, modifying, and deleting `config.ui_splash_page_entry`
45 rows via PCRUD. The new permission will be included in the stock Local
46 Administrator profile.
47
48 The existing STAFF_LOGIN permission will be used to gate read access to
49 `config.ui_splash_page_entry`.
50
51 == Staff Portal Customization Interface ==
52
53 The interface to customize the portal page can be found at
54 *Administration → Local Administration → Staff Portal Page*
55 (/eg2/en-US/staff/admin/local/config/ui_staff_portal_page_entry). Access
56 to this interface is controlled by a new permission,
57 ADMIN_STAFF_PORTAL_PAGE, which by default is assigned to the Local
58 Administrator Permission Group via the EVERYTHING permission at System
59 depth.
60
61 The interface shows a grid of Portal Page Entries and by default will
62 scope to show just entries at the workstation organizational unit. You
63 can use the library selector at the top left to change which
64 organizational units are displayed.
65
66 image::staff_portal_page/staff_portal_page_admin.png[Staff Portal Page Admin]
67
68 Actions from this interface:
69
70 * *New Portal Page Entry* (button) - this will open a modal with a blank
71 portal page entry form. The new entry’s owner will default to the
72 workstation organizational unit.
73 * *Clone a Library’s Portal Page Entries* (button) - this will clone the
74 entire set of entries from one library to another library. If you want
75 the cloned entries to replace any existing entries at the target
76 library, check the checkbox _Clear Entries at Target Library?_ After you
77 clone a set of entries, the grid will refresh and automatically change
78 the library selector to the target library.
79 * *Delete Selected* (right click or action menu) - this will delete all
80 selected portal entry items
81 * *Edit Selected* (right click, action menu, or double click) - this will
82 open an edit modal for the selected line
83
84 === Portal Page Entry Modal ===
85
86 This is the modal that will display when you add a new portal page entry
87 or edit an existing portal page entry. This modal has the following
88 fields:
89
90 * _Entry Label_ - this is a free text label which will display differently
91 on the portal page depending on what Entry Type is used.
92 * _Entry Type_ (required) - this is a dropdown which indicates which type
93 of entry is being configured. Each Entry Type has specific display
94 styling and function, as well as impacting how the Entry Label will
95 display.
96 ** _Catalog Search Box_: this will create a basic Evergreen search box.
97 When Catalog Search is selected, the Entry Label text will display in
98 the Search button.
99 ** _Header_: this will create a column header. It should only be used in
100 Column Position 0 (i.e. the top “row” of a column). The Entry Label text
101 will display as the Header text.
102 ** _Link_: this will create a link to an external URL or a mailto URI. The
103 Entry Label text will display as hyperlinked text pointing to the URL
104 specified in Entry Target URL.
105 ** _Menu Item_: this will create a link to an internal Evergreen Staff
106 Client page. The Entry Label text will display as hyperlinked text
107 pointing to the internal Evergreen link specified in Entry Target URL.
108 ** _Text and/or HTML_: this will create a short piece of either plain text
109 or marked up text. See below for a list of acceptable markup. The Entry
110 Label text will show as a non-hyperlinked heading above any text or HTML
111 entered in Entry Text. Entry Label can be blank for this Entry Type, if
112 you choose.
113 * _Entry Target URL_ - this is a text field to specify a target URL for
114 the Entry Types _Link_ or _Menu Item_. This field is ignored by other
115 Entry Types.
116 ** For Entry Type _Link_, external URLs must include the full path
117 ** For Entry Type _Menu Item_, use relative URLs. Typically these will
118 start with /eg/staff or /eg2/staff. Make sure to omit any localization
119 indicators in the path (such as en-US) if you use more than one
120 interface language in the staff client.
121 * _Entry Text_ - this is a free text field used by the Entry Type _Text
122 and/or HTML_. This field is ignored by other Entry Types.
123 ** Basic HTML is acceptable in this field
124 ** Unsafe HTML such as script tags will be automatically stripped when the
125 portal page is rendered, as will the style attribute.
126 ** Tags and HTML attributes that can be used include:
127 *** strong, em, i, b
128 *** a, including the href and target attributes
129 *** class (and some of the Bootstrap text color classes like text-primary,
130 text-secondary, text-success, text-danger, text-warning, and text-info
131 can be useful here)
132 *** span, div
133 * _Entry Image URL_ - this is a text field to specify an image URL to use
134 for the icon that displays next to each portal page entry.
135 ** It is recommended that images be approximately 48 x 48 pixels.
136 ** External image links must use an https URL.
137 ** Stock images on the Evergreen server can use a relative link, i.e.,
138 /images/portal/retreivepatron.png
139 ** Stock images available in /images/portal/ include (image names are case sensitive):
140 *** background.png
141 *** back.png
142 *** batchimport.png
143 *** book.png
144 *** bucket.png
145 *** eg_tiny_logo.jpg
146 *** forward.png
147 *** helpdesk.png
148 *** holds.png
149 *** logo.png
150 *** map.PNG
151 *** newtab2.PNG
152 *** receipt_editor.png
153 *** registerpatron.png
154 *** reports.png
155 *** retreivepatron.png
156 *** z3950.png
157 * _Page Column_ (required) - This accepts an integer value of 1, 2, 3,
158 etc. and indicates column position from left to right horizontally. More
159 than three columns will start to wrap around to a new line.
160 * _Column Position_ (required) - This accepts an integer value of 0, 1, 2,
161 etc. and indicates the “row” position from top to bottom vertically.
162 * _Owner_ (required) - This defaults to the workstation organizational
163 unit when adding a new Portal Page entry.
164 * _ID_ (automatically generated) - The internal system ID of the specific
165 Portal page element.