Repository navigation
v4.12.0
What's Changed
- IpReadFilter by @slominskir in #46
- Set break-word on Settings columns (#45)
- Refresh Cache Settings before calling ChangeAction
- Format Settings page
- Show admins in Help page if logged in
- Smoothness lib version now read from build
- Help page config now comes from Settings instead of env
- Notifications config now comes from Settings instead of env
- Email config now comes from Settings instead of env
Oracle DB Migration Notes
-- OPTIONAL: IP READ FILTER (ACL)
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('IP_READ_FILTER_ENABLED', 'N', 'BOOLEAN', 'Whether to enable IP filtering of pages requiring auth to view. You must redeploy the app for this setting change to take effect.', 'ACL', 1);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT, CHANGE_ACTION_JNDI) values ('IP_READ_ALLOWLIST_PATTERN', '127\.0.*', 'STRING', 'Java REGEX Pattern of allowed IPs for unauthenticated access to view IpReadFilter pages', 'ACL', 2, 'java:global/sim/IpReadAllowlistReconfigureService');
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('IP_READ_URL_PATTERN', '/*', 'STRING', 'URL patterns to match when applying the IP Read Filter. You must redeploy the app for this setting change to take effect.', 'ACL', 3);
-- OPTIONAL: Notification Banner
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('NOTIFICATION_ENABLED', 'Y', 'BOOLEAN', 'Notification banner enabled', 'NOTIFICATION', 1);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('NOTIFICATION_MESSAGE', 'Development Environment', 'STRING', 'Notification message', 'NOTIFICATION', 2);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('NOTIFICATION_LINK_NAME', 'Home', 'STRING', 'Notification link name', 'NOTIFICATION', 3);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('NOTIFICATION_LINK_URL', 'https://github.com/JeffersonLab/smoothness', 'STRING', 'Notification link URL', 'NOTIFICATION', 4);
-- OPTIONAL: Help Page
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('HELP_CONTENT_CONTACT', 'John Doe (jdoe)', 'STRING', 'Content Contact for help page', 'HELP', 1);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('HELP_TECHNICAL_CONTACT', 'John Doe (jdoe)', 'STRING', 'Technical Contact for help page', 'HELP', 2);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('HELP_DOC_CSV', 'https://github.com/JeffersonLab/smoothness|Home', 'CSV', 'CSV of documentation items where each item is a URL and a Label separated with the pipe symbol', 'HELP', 3);
-- OPTIONAL: Email
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('EMAIL_ENABLED', 'Y', 'BOOLEAN', 'Emails (including Help/Feedback) enabled', 'EMAIL', 1);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('EMAIL_TESTING_ENABLED', 'N', 'BOOLEAN', 'Send all emails to testlead user group', 'EMAIL', 2);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('EMAIL_DOMAIN_NAME', '@jlab.org', 'STRING', 'The email domain to append to usernames, starting with and including the ampersat.', 'EMAIL', 3);
insert into SETTING (KEY, VALUE, TYPE, DESCRIPTION, TAG, WEIGHT) values ('EMAIL_SENDER_ADDRESS', 'smoothness@jlab.org', 'STRING', 'Email address to use as sender from emails generated in this app. Note: this is not the same as "from".', 'EMAIL', 4);
-- rename key
update SETTING set KEY = 'SMOOTHNESS_CDN_ENABLED' where key = 'SMOOTHNESS_CDN';
-- remove key
delete from SETTING where KEY = 'SMOOTHNESS_VERSION';
web.xml changes
Add:
<context-param>
<param-name>smoothnessVersion</param-name>
<param-value>@SMOOTHNESS_VERSION@</param-value>
<description>Needed if you enable CDN. Set once in build.gradle.</description>
</context-param>
<listener>
<listener-class>org.jlab.smoothness.presentation.util.SettingsCacheInit</listener-class>
<description>We don't use @WebListener because we want this listener to be first in case others use DB Setting Cache</description>
</listener>
build.gradle changes
Add:
ext.smoothnessVersion = '4.12.0'
...
implementation "org.jlab:smoothness-weblib:${smoothnessVersion}"
...
filter {
String line -> line.replaceAll("@SMOOTHNESS_VERSION@", smoothnessVersion)
}
...
Full Changelog: v4.11.0...v4.12.0