grouper-dev - [grouper-dev] UI action item follow-up
Subject: Grouper Developers Forum
List archive
- From: "Black, Carey M." <>
- To: Chris Hyzer <>
- Cc: "" <>
- Subject: [grouper-dev] UI action item follow-up
- Date: Fri, 14 Jul 2017 04:00:32 +0000
- Accept-language: en-US
- Authentication-results: spf=pass (sender IP is 128.146.138.9) smtp.mailfrom=osu.edu; internet2.edu; dkim=none (message not signed) header.d=none;internet2.edu; dmarc=pass action=none header.from=osu.edu;
- Ironport-phdr: 9a23:fvCdKhIO688hqSKMQdmcpTZWNBhigK39O0sv0rFitYgXI/TxwZ3uMQTl6Ol3ixeRBMOAtKIC1rKempujcFJDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBX660e/5j8KGxj5KRE9ZqGsQtaT3IyL0LWZ+4fSeE1olSiwe/smKR62vBfcrOEXmoAkN748zB2Pr3dVLbd432RtcBi5mx/35YP415d5/jUYnrRrv5pKVazxfOJhF+dwCy87dW05+Zu45lH4UQKT6y5EAS0tmR1SDl2AtUmiUw==
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
Chris,
Thanks again for taking the time to talk to me "one-on-one" after the dev
call wrapped up about my experience customizing the "New UI".
Here is my (AI) write-up on the UI customization changes that we talked about.
Thanks in advance for considering and/or implementing these ideas.
UI customization suggestions:
I think 1 and 2 are "easy". #3, well.... :)
1) Add two "custom JS files" configuration setting. ( Like the CSS setting:
"
# A space separated list of one or more .js files which are inserted into the
# HEAD of all Grouper pages. The .js files are referenced in order and after
# any Grouper js files in the header.
js.additional=
# A space separated list of one or more .js files which are inserted into the
# end of the BODY of all Grouper pages. The .js files are referenced in order
and after
# any Grouper js files in the BODY.
js.footer.additions=
"
2) Add a way to insert a HTML snip (via a file reference?) just after opening
body tag on all pages. ( Maybe called: commonBodyStart.jsp : Similar to
commonBottom.jsp [AKA: "commonBodyEnd.jsp" :) ], only for just after the
start of <body> instead of just before the closing </body>. )
3) Customizing the buttons:
"More Actions Button", vs
"more-tab-options", vs
the other "more-action-button" (Example: on the loader tab. It has the same
HTML ID value? Hum.... )
It would be great if an installation could control the contents of these
buttons/menus via some configuration settings.
Maybe similar to the existing grouper settings like these:
"
grouperUi.subjectImg.sourceId.5 = g:rsa
grouperUi.subjectImg.image.5 = group_key.png
grouperUi.subjectImg.screenEl.5 =
${subject.getAttributeValue('displayExtension')}
grouperUi.subjectImg.textId.5
"
Possible example config:
grouperUi.group.moreActionButton.1.class=[ divider | link |.... group? ...
menu? ...]
# divider would produce a line like "<li class="divider"></li>"
# link would produce lines like the existing items with the label, href,
onclick values ( plus maybe a leading icon if you want to add a new feature
too. :) )
grouperUi.group.moreActionButton.1.label= [ some string |
${textContainer.text['local.GroupMenuItem1Label'] ]
grouperUi.group.moreActionButton.1.href= [ # | some URL |
${textContainer.text['local.GroupMenuItem1URL'] ]
grouperUi.group.moreActionButton.1.onclick= [ some js |
${textContainer.text['local.GroupMenuItem1URL'] ]
grouperUi.group.moreActionButton.1.icon= [ URL to icon | ...? ]
# where the number (1) is the order for the item on the menu.
If there is a desire to support sub menus then I would suggest switching the
Number ordering to a "bitwise grouping string" [a-Z chars ONLY] where you
use each position as a grouping value. ( in alpha sort order )
First char sorts order across all items. Second char sorts within all of the
items with the same First char value. Gaps are allowed in character order. (
AKA: "a then b then c" not required. CMQ is acceptable.)
If dupes exist then any order Is acceptable for those. :) Likely not want
anyone would want, but I expect it would be hard to do anything else if the
values are coming from a java properties file. :^/
1.1 --> Aa
1.2 --> Ab (or Ac or Ad )
1.3 --> Ae (or Af or... AZ)
2 --> B (or C or D...)
2.1 --> Ba
3 --> E
3.1 --> Ea (or Eb or Eq ...)
Or maybe you pull another "dojo" system into the UI. ( same makers as the
"Tree" that is being used...)
FWIW: Only suggested due to existing use of dojo, not a suggestion or
recommendation of library validity, code quality or usability. ( YMMV )
FWIW: https://dojotoolkit.org/license.html via the "The "New" BSD
License"
FWIW: There also appears to be dojo "button" implementations too.
https://dojotoolkit.org/documentation/tutorials/1.10/menus/ ( There are
example/demos on the page. )
Looks like it support "programmatic" additions too. So I guess the move to
the dojo menus/buttons when added with a variant of the js.additions might be
a path to all of this too. Add "js.footer.additions" in that case to insert
content into a <script> tag just before the close of </body> :)
Yea. Modifying the "commonBottom.jsp" could also do this, but I like the
symmetry of the js.additions and js.footer.additions configuration items.
--
Carey Matthew
- [grouper-dev] UI action item follow-up, Black, Carey M., 07/14/2017
Archive powered by MHonArc 2.6.19.