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("$

Unknown macro: {org.jasig.portal...PorltetCacheControlServiceImpl.cacheSizeThreshold}

")

[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 (smile)

[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 $

Unknown macro: {PROPERTY_NAME}

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("$

Unknown macro: {org.jasig.portal.PorltetCacheControlServiceImpl.cacheSizeThreshold}

")

[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 (tongue)

[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 (smile)

[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 (smile)

[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