uPortal IRC Logs-2012-03-28
[11:27:21 CDT(-0500)] <EricDalquist> awesome eclipse tip of the day: https://gist.github.com/2227971
[11:27:39 CDT(-0500)] <EricDalquist> right click on an xml document or element in the eclipse debug variable view
[11:27:59 CDT(-0500)] <EricDalquist> select "New Detail Formatter"
[11:28:01 CDT(-0500)] <EricDalquist> paste in that code
[11:28:12 CDT(-0500)] <EricDalquist> now you see the XML instead of the Document object
[11:28:45 CDT(-0500)] <athena> oh wow!
[11:28:49 CDT(-0500)] <athena> that is a good tip
[11:29:30 CDT(-0500)] <athena> maybe add that to the jasig wiki / manual in the tools section? that's really useful
[11:29:43 CDT(-0500)] <EricDalquist> yeah
[11:29:57 CDT(-0500)] <EricDalquist> I'll post it on the list
[11:30:04 CDT(-0500)] <EricDalquist> and ask laura for a pointer to a good spot for it
[11:31:00 CDT(-0500)] <athena> maybe a subpage of https://wiki.jasig.org/display/UPM40/Eclipse?
[11:34:14 CDT(-0500)] <EricDalquist> https://wiki.jasig.org/display/UPM40/Debugging+XML+Objects
[11:46:55 CDT(-0500)] <athena> yay, thanks!!
[14:00:44 CDT(-0500)] <EricDalquist> The EntityTypes class is evil
[14:00:54 CDT(-0500)] <EricDalquist> the act of referencing it results in db calls
[14:35:03 CDT(-0500)] <EricDalquist> hrm ... re-wrote the 648 line EntityTypes class in 109 lines ...
[14:42:40 CDT(-0500)] <athena> lol
[14:42:41 CDT(-0500)] <athena> nice.
[14:42:51 CDT(-0500)] <athena> and yes, it is evil and confusing
[15:45:27 CDT(-0500)] <athena> ok, so for the PorltetCacheControlServiceImpl.java
[15:45:48 CDT(-0500)] <athena> there's a cacheSizeThreshold parameter that's ultimately causing this bug: https://issues.jasig.org/browse/UP-3350
[15:46:07 CDT(-0500)] <athena> i think we'd talked about changing the implementation to let portlets put out really long output and just not cache it
[15:46:12 CDT(-0500)] <EricDalquist> right
[15:46:14 CDT(-0500)] <EricDalquist> that is the intent
[15:46:16 CDT(-0500)] <athena> but beyond that, it seems like that value should also be more configurable
[15:46:22 CDT(-0500)] <EricDalquist> but obviously there is a bug
[15:46:26 CDT(-0500)] <EricDalquist> yup
[15:46:52 CDT(-0500)] <athena> so for the configurability
[15:47:03 CDT(-0500)] <EricDalquist> for now make a setter and annotate it with @Value("$ ")
[15:47:06 CDT(-0500)] <athena> ok
[15:47:20 CDT(-0500)] <EricDalquist> I'm working on a shell script to search the .java and .xml code for placeholders
[15:47:24 CDT(-0500)] <athena> interesting.
[15:47:28 CDT(-0500)] <EricDalquist> and generate a base portal.properties file
[15:47:30 CDT(-0500)] <athena> yeah
[15:47:42 CDT(-0500)] <athena> i was going to propose that we set it to come from portal.properties
[15:47:46 CDT(-0500)] <athena> and then use that file more
[15:47:46 CDT(-0500)] <EricDalquist> I'd love to get to the point where portal.properties is completely generated
[15:47:50 CDT(-0500)] <athena> so i think we're still on the same page
[15:47:55 CDT(-0500)] <athena> generated from what?
[15:47:57 CDT(-0500)] <EricDalquist> well that file is a property placeholder source
[15:48:57 CDT(-0500)] <EricDalquist> so here is my dream:
[15:49:26 CDT(-0500)] <EricDalquist> in Java and spring XML we use the $ syntax for every configurable property
[15:50:16 CDT(-0500)] <EricDalquist> then have a little ant/shell/? script that searches through the xml and java code for property placeholder patterns
[15:50:31 CDT(-0500)] <EricDalquist> and generates a .properties file with what it finds
[15:50:37 CDT(-0500)] <athena> and then use that as the default?
[15:50:50 CDT(-0500)] <EricDalquist> well ship that as the base
[15:50:55 CDT(-0500)] <EricDalquist> but it would be all commented out
[15:51:01 CDT(-0500)] <EricDalquist> so for an example
[15:51:23 CDT(-0500)] <EricDalquist> if you have a setter with:
[15:51:24 CDT(-0500)] <EricDalquist> @Value("$ ")
[15:51:45 CDT(-0500)] <EricDalquist> then in the generated properties file there would be a line:
[15:51:45 CDT(-0500)] <EricDalquist> #org.jasig.portal.PorltetCacheControlServiceImpl.cacheSizeThreshold=10000
[15:51:54 CDT(-0500)] <EricDalquist> so the default value is documented in the .properties file
[15:52:09 CDT(-0500)] <EricDalquist> but you only need to uncomment that line if you want to change the default
[15:52:48 CDT(-0500)] <athena> yeah that sounds like that'd be pretty useful
[15:52:59 CDT(-0500)] <athena> though the one problem with that is that the names aren't really going to be intuitive
[15:53:04 CDT(-0500)] <EricDalquist> right
[15:53:10 CDT(-0500)] <EricDalquist> we would have to document these on a wiki page
[15:53:22 CDT(-0500)] <EricDalquist> even better would be to grab the javadoc from the setters
[15:53:26 CDT(-0500)] <EricDalquist> but that might be more complicated
[15:55:35 CDT(-0500)] <EricDalquist> ok idea captured here https://issues.jasig.org/browse/UP-3403
[15:55:41 CDT(-0500)] <EricDalquist> but yeah this is a problem
[15:55:52 CDT(-0500)] <EricDalquist> there are A LOT of @Value("${}") annotations in uP4
[15:55:57 CDT(-0500)] <EricDalquist> but very few are documented outside of the code
[15:57:48 CDT(-0500)] <athena> javadoc would be cool
[15:57:52 CDT(-0500)] <athena> though yes, more complicated
[16:40:54 CDT(-0500)] <drewwills> EricDalquist: https://github.com/Jasig/uPortal/pull/27
[16:41:11 CDT(-0500)] <drewwills> I came up with something for the "too many hung workers" thing
[16:41:19 CDT(-0500)] <EricDalquist> cool
[16:41:24 CDT(-0500)] <EricDalquist> I'll take a look this evening
[16:42:36 CDT(-0500)] <drewwills> I'd like it if you would... this area is new and sophisticated... there's a chance of overlooking something about the intent of a method, etc
[16:43:25 CDT(-0500)] <drewwills> but i have run it locally, and it's largely the same tech as in rel-3-2-patches, which OHIO and sac state have been running successfully