jasig-cas IRC Logs-2011-10-31

[09:10:59 CDT(-0500)] <foxnesn> anyone know if i can have different looks for cas based on the requested service?

[12:18:39 CDT(-0500)] <jdlich> thought I'd jump on here and start up a discussion on some things related to https://issues.jasig.org/browse/CAS-1061

[12:20:40 CDT(-0500)] <jdlich> the main issue really is to create a skinning system that easily supports multiple themes (that includes the JSP)

[12:23:33 CDT(-0500)] <jdlich> well first does anyone have any ideas of their own on how the skinning could be improved?

[12:24:58 CDT(-0500)] <wgthom> no, but I'd like us to consider the question in light of the maven overlay approach to maintaining CAS deployments

[12:29:47 CDT(-0500)] <jdlich> since I don't have a lot of knowledge of maven or with deploying CAS you'll just have to let me know if anything I propose breaks those things or makes those things more difficult

[12:31:31 CDT(-0500)] <jdlich> I mostly would like to see some of the files reorganized, for example…

[12:32:01 CDT(-0500)] <jdlich> most of the views are in views/jsp/default

[12:32:06 CDT(-0500)] <jdlich> but there are 3 that are not

[12:32:47 CDT(-0500)] <jdlich> in those 3 that are not the path to the include file is hardcoded

[12:33:00 CDT(-0500)] <jdlich> e.g. <jsp:directive.include file="default/ui/includes/bottom.jsp" />

[12:33:15 CDT(-0500)] <wgthom> i'm mostly interested in minimizing the need to overlay/change context that comes out of the core distribution

[12:33:26 CDT(-0500)] <jdlich> this is precisely what makes it tedious to maintain multiple independent themes

[12:33:27 CDT(-0500)] <wgthom> s/context/content/

[12:35:16 CDT(-0500)] <jdlich> does that concern the skin resources like jsp css, etc?

[12:38:14 CDT(-0500)] <jdlich> what is "the need to overlay/change context that comes out of the core distribution" exactly?

[12:39:01 CDT(-0500)] <wgthom> on a recent cas deployment the skinning overlayed these files:

[12:39:12 CDT(-0500)] <wgthom> view

[12:39:12 CDT(-0500)] <wgthom> │   └── jsp

[12:39:12 CDT(-0500)] <wgthom> │   └── default

[12:39:12 CDT(-0500)] <wgthom> │   └── ui

[12:39:12 CDT(-0500)] <wgthom> │   ├── casBlockedView.jsp

[12:39:13 CDT(-0500)] <wgthom> │   ├── casConfirmView.jsp

[12:39:13 CDT(-0500)] <wgthom> │   ├── casGenericSuccess.jsp

[12:39:14 CDT(-0500)] <wgthom> │   ├── casLoginView.jsp

[12:39:14 CDT(-0500)] <wgthom> │   ├── casLogoutView.jsp

[12:39:15 CDT(-0500)] <wgthom> │   ├── includes

[12:39:15 CDT(-0500)] <wgthom> │   │   ├── bottom.jsp

[12:39:16 CDT(-0500)] <wgthom> │   │   └── top.jsp

[12:39:16 CDT(-0500)] <wgthom> │   ├── serviceErrorSsoView.jsp

[12:39:17 CDT(-0500)] <wgthom> │   └── serviceErrorView.jsp

[12:39:54 CDT(-0500)] <jdlich> would it help if there were less files?

[12:39:58 CDT(-0500)] <wgthom> yes

[12:40:01 CDT(-0500)] <jdlich> bingo

[12:40:29 CDT(-0500)] <jdlich> how about 1 file?

[12:40:32 CDT(-0500)] <wgthom> each file incurs a maintence burden, for cas upgrades.

[12:41:22 CDT(-0500)] <jdlich> notice how it is currently set up

[12:42:32 CDT(-0500)] <jdlich> instead of each partial being referenced from within a layout file, the layout (top and bottom) are referenced from within the partials

[12:42:48 CDT(-0500)] <jdlich> it's backwards

[12:43:20 CDT(-0500)] <jdlich> so you have the same hardcoded paths in 10 different files

[12:43:30 CDT(-0500)] <jdlich> <jsp:directive.include file="default/ui/includes/top.jsp" />

[12:43:30 CDT(-0500)] <jdlich> and

[12:43:33 CDT(-0500)] <jdlich> <jsp:directive.include file="default/ui/includes/bottom.jsp" />

[12:43:51 CDT(-0500)] <jdlich> instead of a single path to the partial from within the layout

[12:43:59 CDT(-0500)] <jdlich> <jsp:directive.include file="default/ui/casLoginView.jsp" />

[12:44:47 CDT(-0500)] <jdlich> but the partials are so small that they it's not even necessary to break them out into their own files

[12:45:01 CDT(-0500)] <jdlich> especially if this helps in deployment

[12:45:07 CDT(-0500)] <jdlich> to have less files

[12:45:19 CDT(-0500)] <jdlich> so I think ideally what we need to have is a single layout file with conditionals

[12:45:26 CDT(-0500)] <jdlich> cas.jsp

[12:45:34 CDT(-0500)] <jdlich> if casLoginView

[12:45:43 CDT(-0500)] <jdlich> < cas login view html >

[12:45:44 CDT(-0500)] <jdlich> end

[12:45:47 CDT(-0500)] <jdlich> if errors

[12:45:53 CDT(-0500)] <jdlich> < cas errors html >

[12:45:54 CDT(-0500)] <jdlich> end

[12:45:55 CDT(-0500)] <jdlich> etc

[12:46:18 CDT(-0500)] <jdlich> views/jsp/default/cas.jsp

[12:46:29 CDT(-0500)] <jdlich> views/jsp/custom_theme/cas.jsp

[12:47:34 CDT(-0500)] <jdlich> thoughts?

[12:48:51 CDT(-0500)] <wgthom> all for it, if that makes it simpler and easier to maintain local skins.

[12:49:16 CDT(-0500)] <wgthom> what i really want is for the local skins to completely indepedent of any cas distribution files

[12:49:46 CDT(-0500)] <jdlich> what would that require?

[12:51:24 CDT(-0500)] <jdlich> what is a distribution file versus a skin file? isn't the skin an intrinsic part of the distribution?

[12:56:07 CDT(-0500)] <wgthom> yes. the question is thought, what would it take to totally externalize the skin from the distribution?

[12:56:15 CDT(-0500)] <wgthom> what mechanism?

[12:56:37 CDT(-0500)] <wgthom> maybe not possible?

[12:59:39 CDT(-0500)] <jdlich> well you need a ui obviously and at least a reference to it, but I'm not sure

[13:00:58 CDT(-0500)] <jdlich> the location of the skin is generally dictated by spring isn't it?

[13:03:16 CDT(-0500)] <jdlich> if having less files would help we should start there

[13:03:20 CDT(-0500)] <jdlich> you said "each file incurs a maintence burden, for cas upgrades"

[13:03:58 CDT(-0500)] <jdlich> why exactly? what's the process and how does all of those files make it a burden?

[13:05:17 CDT(-0500)] <jdlich> I need to better understand the problems that exist

[13:18:28 CDT(-0500)] <wgthom> the less files to overlay, the less maintenance, since you don't have to check to see if they've changed in the core dist

[13:19:27 CDT(-0500)] <foxnesn> anyone happen to know how i can append the service ticket a a url i want to forward to inside a jsp that is set as a view in my webflow?

[13:19:43 CDT(-0500)] <wgthom> so I would start with the idea that skins can be independent of the core dist files….but somehow include the what is need by cas to work.

[13:20:39 CDT(-0500)] <jdlich> well I think if we can improve the skin while also easing deployment and maintenance, then we've discovered a high-priority feature

[13:20:58 CDT(-0500)] <foxnesn> oops sorry i see you chating

[13:21:20 CDT(-0500)] <wgthom> jdlich: indeed

[13:21:27 CDT(-0500)] <foxnesn> btw, easy skin implementation and lppe will be dynamite

[13:21:56 CDT(-0500)] <foxnesn> from an end user standpoint i cant think of two better feature to have built into cas

[13:23:30 CDT(-0500)] <jdlich> as far as just how independent the skin can be, I would need somebody who better understands spring to chime in on what is possible there

[13:24:10 CDT(-0500)] <jdlich> if all of the theme's resources were contained in a single directory, would that help?

[13:24:52 CDT(-0500)]

<jdlich> like /themes/default/

Unknown macro: {jsp, css, js, images}

[13:24:57 CDT(-0500)] <wgthom> seems like it could help with managing/packaging skins

[13:26:13 CDT(-0500)] <jdlich> even that might take some work because I think views are expected to be in /views

[13:26:42 CDT(-0500)] <jdlich> let's start with less jsp files

[13:27:04 CDT(-0500)] <jdlich> I think that needs to happen no matter what

[13:27:31 CDT(-0500)] <jdlich> in fact, a single jsp file

[13:27:45 CDT(-0500)] <wgthom> sounds good. i'd suggest working on it for a bit and bringing your intention and intial ideas to cas-dev and cas-user for feedback and further inspiration

[13:34:12 CDT(-0500)] <jdlich> also, who is bring in the pull requests?

[13:34:12 CDT(-0500)] <jdlich> https://github.com/Jasig/cas/pulls

[13:34:36 CDT(-0500)] <jdlich> just scott?

[13:35:12 CDT(-0500)] <wgthom> any committer. currently that's andrew, scott, marvin, myself

[14:36:31 CDT(-0500)] <foxnesn> hrm, anyone know what the name of the variable that holds the ticket value?

[14:36:38 CDT(-0500)] <foxnesn> woops is

[17:00:00 CDT(-0500)] <apetro_> foxnesn context on what variable you're looking for?