uPortal IRC Logs-2011-06-21

[12:09:52 CDT(-0500)] <athena> EricDalquist: happen to know what the state of the caching stuff is? did that ever get finished?
[12:10:07 CDT(-0500)] <EricDalquist> nickb is close to done with the rendering side of things
[12:10:13 CDT(-0500)] <EricDalquist> etags for resource urls is still a ways off though
[12:10:20 CDT(-0500)] <athena> ok
[12:10:40 CDT(-0500)] <athena> we're sort of wondering how much of a difference that would make performance-wise with things like the calendar portlet in mobile
[12:11:11 CDT(-0500)] <athena> so will we eventually set ETags on the HTML pages for focus mode?
[12:11:18 CDT(-0500)] <athena> it seems like we could do that if the content was being pulled from cache?
[12:11:24 CDT(-0500)] <EricDalquist> maybe
[12:11:41 CDT(-0500)] <EricDalquist> but there is more than just the portlet anytime the rendering pipeline is involved
[12:11:51 CDT(-0500)] <athena> yeah
[12:11:58 CDT(-0500)] <athena> that all has cache keys too though, right?
[12:12:00 CDT(-0500)] <EricDalquist> so we'd have to figure out how to do portlet ETag + rendering pipeline CacheKey
[12:12:03 CDT(-0500)] <athena> yeah
[12:12:17 CDT(-0500)] <EricDalquist> its all doable
[12:12:19 CDT(-0500)] <athena> suppose if we figured that out for focus mode, we could even figure it out for full pages
[12:12:21 CDT(-0500)] <athena> just time (tongue)
[12:12:27 CDT(-0500)] <EricDalquist> yup
[12:16:17 CDT(-0500)] <EricDalquist> the hardest part with the full page rendering is you have to figure out which portlets are included in the page
[12:16:28 CDT(-0500)] <EricDalquist> doable
[12:16:38 CDT(-0500)] <EricDalquist> not sure how much overhead there will be in figuring that out though
[12:17:08 CDT(-0500)] <athena> gotcha
[12:17:10 CDT(-0500)] <athena> that makes sense
[12:17:17 CDT(-0500)] <athena> could certainly start out w/ just focus mode
[12:17:22 CDT(-0500)] <athena> which is all mobile uses
[12:17:50 CDT(-0500)] <EricDalquist> right
[12:17:53 CDT(-0500)] <EricDalquist> that's easier
[12:17:58 CDT(-0500)] <EricDalquist> you know the portlet that is there
[12:18:15 CDT(-0500)] <EricDalquist> but in all reality those more advanced etag features will likely not be in 4.0
[12:18:18 CDT(-0500)] <EricDalquist> just due to lack of time
[12:18:35 CDT(-0500)] <athena> we'll see - there may be some opportunity for me to contribute to that on behalf of umobile
[12:18:47 CDT(-0500)] <athena> since it'd likely make a big difference
[12:18:59 CDT(-0500)] <athena> wonder if there's some way to profile our app and figure out where the delays come from
[12:20:03 CDT(-0500)] <EricDalquist> hrm
[12:20:05 CDT(-0500)] <EricDalquist> I'd hope so
[12:20:18 CDT(-0500)] <EricDalquist> seems rather critical to be able to profile an app
[12:20:27 CDT(-0500)] <athena> yeah
[12:20:28 CDT(-0500)] <EricDalquist> you could always run it through something like Charles Proxy
[12:20:32 CDT(-0500)] <athena> true
[12:20:38 CDT(-0500)] <EricDalquist> and then you'd at least have metrics on all the http traffic
[12:21:40 CDT(-0500)] <athena> yeah
[13:34:27 CDT(-0500)] <athena> still planning on cutting the RC today?
[13:34:33 CDT(-0500)] <EricDalquist> maybe
[13:34:47 CDT(-0500)] <EricDalquist> still fighting with transaction handling
[13:34:49 CDT(-0500)] <EricDalquist> (sad)
[13:34:51 CDT(-0500)] <athena> ahh
[13:34:57 CDT(-0500)] <EricDalquist> getting very very angry at all the old JDBC code
[13:35:03 CDT(-0500)] <athena> (sad)
[13:35:11 CDT(-0500)] <athena> yeah, can't wait to fix that stuff
[13:35:24 CDT(-0500)] <EricDalquist> not even the code itself
[13:35:34 CDT(-0500)] <EricDalquist> the fact that it's a pain to get it to play nice with the spring TX support
[13:35:42 CDT(-0500)] <athena> ugh
[13:35:47 CDT(-0500)] <EricDalquist> which, when doing actual spring/jpa stuff, is so beautiful
[13:35:53 CDT(-0500)] <athena> (smile)
[13:36:13 CDT(-0500)] <EricDalquist> I'm wrapping whole methods in:
[13:36:13 CDT(-0500)] <EricDalquist> this.transactionOperations.execute(new TransactionCallback<Object>() {
[13:36:13 CDT(-0500)] <EricDalquist> @Override
[13:36:13 CDT(-0500)] <EricDalquist> public Object doInTransaction(TransactionStatus status) {
[13:36:13 CDT(-0500)] <EricDalquist> return jdbcOperations.execute(new ConnectionCallback<Object>() {
[13:36:14 CDT(-0500)] <EricDalquist> @Override
[13:36:14 CDT(-0500)] <EricDalquist> public Object doInConnection(Connection con) throws SQLException, DataAccessException {
[13:36:32 CDT(-0500)] <EricDalquist> so that they actually participate in transactions correctly
[13:36:41 CDT(-0500)] <athena> jeez
[13:36:44 CDT(-0500)] <EricDalquist> yeah
[13:37:04 CDT(-0500)] * EricDalquist is angry (tongue)
[14:33:04 CDT(-0500)] <athena> EricDalquist: error on startup right now
[14:33:05 CDT(-0500)] <athena> org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'importExportPortletController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'importExportTypes' is defined
[14:33:12 CDT(-0500)] <athena> goign to grab some lunch, will be back in a bit
[15:06:35 CDT(-0500)] <EricDalquist> thanks for the heads up athena I should be able to fix that soon
[15:07:38 CDT(-0500)] <athena> cool (smile)
[15:08:46 CDT(-0500)] <athena> looks like the same for exportTasks in the ImportExportController
[15:10:53 CDT(-0500)] <EricDalquist> yeah just comment out the setters in the ImportExportController for now
[15:10:58 CDT(-0500)] <EricDalquist> the portlet isn't working yet
[15:11:53 CDT(-0500)] <athena> yep, did that (smile)