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