uPortal IRC Logs-2012-02-23

[09:07:12 CST(-0600)] <Arvids> EricDalquist, is there anything in hibernate 4.1.1 that requires postpone the release of uPortal 4.0.4?

[09:31:59 CST(-0600)] <EricDalquist> well there are bugs in 4.1.0 (smile)

[09:32:04 CST(-0600)] <EricDalquist> so we can't use 4.1

[09:32:50 CST(-0600)] <EricDalquist> we could just cut 4.0.4 on 4.0.0

[09:33:00 CST(-0600)] <EricDalquist> and wait until 4.0.5 to get the naturalId stuff

[09:41:13 CST(-0600)] <Arvids> ok, I was looking at 4.1.1 release plan and couldn´t find whether any of those changes are blockers or not

[09:41:43 CST(-0600)] <EricDalquist> yeah, sadly my naturalId patch got in right before 4.1.0 was cut

[09:41:50 CST(-0600)] <EricDalquist> so I didn't get a chance to test the snapshot in uPortal

[09:41:55 CST(-0600)] <EricDalquist> and once I did a found a bunch of minor bugs

[09:42:09 CST(-0600)] <EricDalquist> https://hibernate.onjira.com/secure/IssueNavigator.jspa?reset=true&amp;jqlQuery=resolution+%3D+Unresolved+AND+reporter+%3D+currentUser%28%29

[09:42:32 CST(-0600)] <EricDalquist> there are pull requests waiting for all six of those issues

[09:42:43 CST(-0600)] <EricDalquist> and I've tested the fixed build and it all works as expected

[09:44:15 CST(-0600)] <Arvids> ok, sounds reasonable

[09:44:54 CST(-0600)] <EricDalquist> the only down-side I've seen to the naturalId stuff is that unlike the query cache naturalId queries for entities that don't exist are not cached

[09:45:03 CST(-0600)] <EricDalquist> there are a few places in uPortal where this is an issue

[09:45:13 CST(-0600)] <EricDalquist> but in the hibernate 4.1 branch I have I think I have that addressed

[09:46:12 CST(-0600)] <Arvids> in fact, that´s a big issue (sad)

[09:46:24 CST(-0600)] <Arvids> btw, can you take a look at this: https://gist.github.com/1893367 ?

[09:46:51 CST(-0600)] <Arvids> i´m trying to figure out what´s causing this (I´m using the ´evil´ MSSQL)

[09:47:14 CST(-0600)] <EricDalquist> from my testing after your portlet entity fix the only other entity type that causes problems is stylesheet user preferences

[09:47:18 CST(-0600)] <EricDalquist> and I think I have a fix for that

[09:47:20 CST(-0600)] <EricDalquist> hrm

[09:47:30 CST(-0600)] <EricDalquist> so we are using JodaTime for all the stats stuff

[09:47:37 CST(-0600)] <EricDalquist> which has custom usertypes

[09:47:45 CST(-0600)] <Arvids> yeah, i´m starting to dig into that stuff

[09:47:59 CST(-0600)] <EricDalquist> does mssql have a special operator to compare dates?

[09:49:10 CST(-0600)] <Arvids> strange is that this message doesn´t make sense, because mssql column type is time(7) and it looks like parameter is also being set as time... strange

[09:50:13 CST(-0600)] <EricDalquist> in a SQL client

[09:50:18 CST(-0600)] <EricDalquist> can you execute that same query?

[09:50:24 CST(-0600)] <EricDalquist> and will it work with the =?

[09:50:42 CST(-0600)] <EricDalquist> or is it saying that it thinks you're trying to do "date == datetime"

[09:50:47 CST(-0600)] <EricDalquist> and that isn't ok

[09:51:02 CST(-0600)] <Arvids> yes, i can

[09:51:59 CST(-0600)] <Arvids> ... but maybe mssql server manager does some kind of magick behind the scene

[09:52:34 CST(-0600)] <EricDalquist> try using SquirellSQL

[09:52:50 CST(-0600)] <EricDalquist> I like it more for a SQL client since it is 100% Java & JDBC

[09:53:00 CST(-0600)] <Arvids> (smile)

[09:53:02 CST(-0600)] <EricDalquist> makes it truer for testing than DB specific SQL clients

[09:53:21 CST(-0600)] <EricDalquist> also, way lighter-weight than DB specific clients

[09:53:41 CST(-0600)] <EricDalquist> The only other thing I can think to check would be to set a breakpoint at:

[09:53:41 CST(-0600)] <EricDalquist> TRACE [uPortal-TaskExecutor-8] Feb/23 17:15:44,674 sql.BasicBinder.[] - binding parameter [1] as [TIME] - 13:57:00

[09:53:49 CST(-0600)] <EricDalquist> and see what the actual Object type being set is

[09:54:32 CST(-0600)] <Arvids> yes, makes sense

[09:57:42 CST(-0600)] <Arvids> squirrel executes witouth any problems

[09:59:05 CST(-0600)] <EricDalquist> hrm

[09:59:46 CST(-0600)] <Arvids> i´ll try debugging

[10:00:19 CST(-0600)] <Arvids> it looks like localtime is being converted to java.sql.Time

[10:00:26 CST(-0600)] <Arvids> i woner why it isn´t working

[10:00:45 CST(-0600)] <EricDalquist> do you know what dialect is being used?

[10:01:14 CST(-0600)] <EricDalquist> it looks like SQLServer2008Dialect is the first sqlserver dialect that does

[10:01:14 CST(-0600)] <EricDalquist> registerColumnType( Types.DATE, "date" );

[10:01:14 CST(-0600)] <EricDalquist> registerColumnType( Types.TIME, "time" );

[10:01:14 CST(-0600)] <EricDalquist> registerColumnType( Types.TIMESTAMP, "datetime2" );

[10:01:35 CST(-0600)] <EricDalquist> all previous did:

[10:01:36 CST(-0600)] <EricDalquist> registerColumnType( Types.DATE, "datetime" );

[10:01:36 CST(-0600)] <EricDalquist> registerColumnType( Types.TIME, "datetime" );

[10:01:36 CST(-0600)] <EricDalquist> registerColumnType( Types.TIMESTAMP, "datetime" );

[10:01:43 CST(-0600)] <Arvids> ahhh... maybe i have to explicitly set dialect

[10:01:57 CST(-0600)] <EricDalquist> yeah

[10:02:06 CST(-0600)] <EricDalquist> or add more logic to the uPortal dialect resolver

[10:02:25 CST(-0600)] <Arvids> heh... that might be the solution

[10:02:27 CST(-0600)] <EricDalquist> org.jasig.portal.utils.PortalDialectResolver

[10:02:35 CST(-0600)] <Arvids> i´ll modify PortalDialectResolver (smile)

[10:02:37 CST(-0600)] <EricDalquist> we already have custom logic for mysql and postgres

[10:04:49 CST(-0600)] <Arvids> i love executing custom code in Eclipse using Display view

[10:05:21 CST(-0600)] <Arvids> how could i know that database product name is "Microsoft SQL Server" (pretty long i f you ask me...)

[10:05:39 CST(-0600)] <EricDalquist> "ant dbtest"

[10:05:47 CST(-0600)] <EricDalquist> will dump the db name/version and driver name/version

[10:06:19 CST(-0600)] <Arvids> thank you

[12:05:21 CST(-0600)] <athena> morning EricDalquist

[12:05:29 CST(-0600)] <athena> mind if i cut a milestone of the portlet utils project?

[12:05:31 CST(-0600)] <EricDalquist> hello athena

[12:05:32 CST(-0600)] <EricDalquist> go ahead

[12:05:36 CST(-0600)] <athena> cool

[12:05:45 CST(-0600)] <athena> is anything different cutting releases w/ git?

[12:05:50 CST(-0600)] <athena> or should it just work?

[12:06:08 CST(-0600)] <EricDalquist> it should just work

[12:06:12 CST(-0600)] <athena> excellent

[12:06:12 CST(-0600)] <EricDalquist> but I usually add:

[12:06:39 CST(-0600)] <EricDalquist> -DpushChanges=false

[12:06:41 CST(-0600)] <EricDalquist> to prepare

[12:06:44 CST(-0600)] <EricDalquist> and -DlocalCheckout=true

[12:06:45 CST(-0600)] <athena> what's that do?

[12:06:46 CST(-0600)] <EricDalquist> to perform

[12:06:49 CST(-0600)] <athena> ah

[12:06:54 CST(-0600)] <EricDalquist> so that skips the "git push"

[12:06:57 CST(-0600)] <athena> gotcha

[12:07:00 CST(-0600)] <athena> do you do that manually?

[12:07:04 CST(-0600)] <EricDalquist> which means you have to push the pom updates and tags after the fact

[12:07:08 CST(-0600)] <EricDalquist> but it is a little safer

[12:07:10 CST(-0600)] <athena> ok

[12:07:15 CST(-0600)] <EricDalquist> since you can verify that mvn didn't screw anything up

[12:07:20 CST(-0600)] <athena> makes sense

[12:07:23 CST(-0600)] <EricDalquist> and -DlocalCheckout=true is just faster

[12:07:31 CST(-0600)] <EricDalquist> since git is all local mvn can do a local clone

[12:07:34 CST(-0600)] <athena> do you need to do stuff between prepare and release, or just after?

[12:07:41 CST(-0600)] <EricDalquist> just after

[12:07:55 CST(-0600)] <EricDalquist> those two essentially make all the git work happen localy

[12:08:03 CST(-0600)] <EricDalquist> and you just have to push the updates and tag out after the fact

[12:08:08 CST(-0600)] <athena> gotcha

[12:09:41 CST(-0600)] <athena> since we didn't have any objections, i'd like to move some of these portlets over to git after we finish releasing

[12:09:59 CST(-0600)] <EricDalquist> that would be great,

[12:10:11 CST(-0600)] <athena> what do we want to do w/ the svn projects?

[12:10:11 CST(-0600)] <EricDalquist> maybe we can setup a wiki page to catalog a list of projects to move

[12:10:15 CST(-0600)] <athena> sounds great

[12:10:26 CST(-0600)] <EricDalquist> hrm

[12:10:39 CST(-0600)] <EricDalquist> remove commit access of course

[12:10:42 CST(-0600)] <EricDalquist> and then ...

[12:10:50 CST(-0600)] <EricDalquist> I guess we could delete the content from head

[12:11:04 CST(-0600)] <athena> yeah

[12:11:43 CST(-0600)] <EricDalquist> that would be a question for the various project interests

[12:11:51 CST(-0600)] <EricDalquist> could you start on that wiki page when you have a little time?

[12:19:12 CST(-0600)] <athena> yep

[12:22:51 CST(-0600)] <athena> do i need to run this release from the jasig root trunk, or from my fork?

[12:23:05 CST(-0600)] <EricDalquist> you should run it from the main branch for the version

[12:23:10 CST(-0600)] <athena> ok

[12:23:20 CST(-0600)] <EricDalquist> so if master is at 1.0.3-SNAPSHOT and you're releasing 1.0.3 do it from master

[12:25:32 CST(-0600)] <athena> makes sense

[12:49:32 CST(-0600)] <athena> ok

[12:49:35 CST(-0600)] <athena> so release seems to have worked

[12:49:45 CST(-0600)] <athena> i do push origin master to push out the updates, i assume

[12:49:51 CST(-0600)] <athena> what do i need to to do push out the tag?

[12:50:01 CST(-0600)] <EricDalquist> add --tags to the push

[12:50:14 CST(-0600)] <athena> ah

[12:50:16 CST(-0600)] <athena> so easy!

[12:50:55 CST(-0600)] <athena> so when i do this for umobile, i'll just do the same thing, but from the umobile-trunk branch?

[12:51:15 CST(-0600)] <EricDalquist> yup

[12:51:30 CST(-0600)] <athena> terrific (smile)

[12:51:33 CST(-0600)] <athena> <3 good tools

[12:51:38 CST(-0600)] <EricDalquist> I think I might have setup the uportal pom to just have those git options setup

[12:52:09 CST(-0600)] <EricDalquist> looks like I added localCheckout

[12:52:12 CST(-0600)] <athena> ah, nice

[12:52:15 CST(-0600)] <EricDalquist> not sure why I didn't add no-push

[12:52:18 CST(-0600)] <athena> (smile)

[12:52:24 CST(-0600)] <EricDalquist> https://github.com/Jasig/uPortal/blob/master/pom.xml

[12:52:28 CST(-0600)] <athena> would that have affected svn releases?

[12:52:35 CST(-0600)] <EricDalquist> https://github.com/Jasig/uPortal/blob/master/pom.xml#L1089

[12:52:37 CST(-0600)] <athena> oh ok, project-specific

[12:52:39 CST(-0600)] <EricDalquist> yeah

[16:45:23 CST(-0600)] * EricDalquist is loving guit

[16:45:24 CST(-0600)] <EricDalquist> git

[16:45:30 CST(-0600)] <EricDalquist> fixed a bug on our myuw branch

[16:45:40 CST(-0600)] <EricDalquist> "git checkout master" to switch to the main uPortal branch

[16:45:47 CST(-0600)] <EricDalquist> "git cherry-pick cf9d85f" to pull over the fix

[16:45:54 CST(-0600)] <EricDalquist> and then push to jasig/uPortal

[16:45:58 CST(-0600)] <EricDalquist> SO nice

[16:56:21 CST(-0600)] <athena> nice (smile)

[16:56:29 CST(-0600)] <athena> that's completely awesome

[16:56:42 CST(-0600)] <EricDalquist> yeah

[16:56:54 CST(-0600)] <EricDalquist> such a better way to do vendor branch work

[16:57:02 CST(-0600)] <athena> so does the master branch in the myuw fork always represent the clean vanilla trunk?

[16:57:35 CST(-0600)] <EricDalquist> well we only have one myuw specific branch

[16:57:39 CST(-0600)] <EricDalquist> at least right now

[16:57:53 CST(-0600)] <EricDalquist> we took the uportal-4.0.2 branch and forked off of that

[16:58:05 CST(-0600)] <EricDalquist> and have since merged the uportal-4.0.3 tag in

[16:58:22 CST(-0600)] <athena> gotcha

[16:58:29 CST(-0600)] <EricDalquist> the real question is what happens when I merge 4.0.4 since our myuw branch will have fixes that are also going to be in 4.0.4

[16:58:36 CST(-0600)] <athena> yeah

[16:58:41 CST(-0600)] <EricDalquist> is git smart enough to deal with that

[16:58:44 CST(-0600)] <EricDalquist> I'm betting it is

[16:58:47 CST(-0600)] <athena> (smile)

[17:05:31 CST(-0600)] <EricDalquist> does landis work for unicon?

[17:08:32 CST(-0600)] <holdorph> yes

[17:08:47 CST(-0600)] <EricDalquist> just curious (smile)