uPortal IRC Logs-2013-03-12

[13:53:46 CDT(-0500)] <goldmantx> EricDalquist?

[15:00:36 CDT(-0500)] <EricDalquist> hi goldmantx

[15:03:51 CDT(-0500)] <drewwills1> EricDalquist fyi I feel like I may be seeing a bit of weirdness with the concurrentUserAggregationDao.getAggregations() results (https://gist.github.com/drewwills/5146477)

[15:04:24 CDT(-0500)] <drewwills1> that gist illustrates the parameters sent in, and the (surprising?) results I got

[15:08:33 CDT(-0500)] <EricDalquist> huh

[15:08:49 CDT(-0500)] <EricDalquist> looks like a bug in the query logic

[15:09:35 CDT(-0500)] <drewwills1> i was digging into the query builder... but didn't quite manage to wrap my brain around it before my meeting

[15:53:49 CDT(-0500)] <cwaymire> EricDalquist: you around? got a quick question.

[15:53:52 CDT(-0500)] <EricDalquist> sure

[15:55:02 CDT(-0500)] <cwaymire> whats our policy/thoughts on database normalization?

[15:55:25 CDT(-0500)] <cwaymire> do we really care to normalize the tables or just keep them somewhat clean?

[15:55:54 CDT(-0500)] <EricDalquist> in general we should try to have a normalized db

[15:56:09 CDT(-0500)] <EricDalquist> and use actual db level constraints to enforce data integrity

[15:56:15 CDT(-0500)] <cwaymire> ok. sounds good.

[15:56:18 CDT(-0500)] <EricDalquist> do you have anything more specific that this relates to?

[15:56:36 CDT(-0500)] <cwaymire> Working on an "attachments" portlet (drew said he mentioned it to you briefly).

[15:56:44 CDT(-0500)] <cwaymire> which will require at least 2 new tables

[15:57:12 CDT(-0500)] <cwaymire> and just trying to pin down how far I should go to normalize the data into multiple tables, or combine some of the stuff into one larger table.

[15:57:46 CDT(-0500)] <cwaymire> my first inclination is to normalize it, but wanted to get your thoughts before I did so

[15:57:49 CDT(-0500)] <EricDalquist> yeah

[15:57:51 CDT(-0500)] <drewwills1> now of course these are tables in the portlet app

[15:57:52 CDT(-0500)] <EricDalquist> I'd normalize

[15:57:55 CDT(-0500)] <EricDalquist> yup

[15:57:58 CDT(-0500)] <drewwills1> not additions to the uP schema

[15:58:17 CDT(-0500)] <cwaymire> there are some people who nowadays are moving away from normalization given the speed of hardware and availability of disk

[15:58:18 CDT(-0500)] <cwaymire> so...

[15:58:42 CDT(-0500)] <cwaymire> just wanted to confirm before making any structural decisions

[15:58:46 CDT(-0500)] <cwaymire> drewwills1: hey arent you in a meeting?

[15:59:08 CDT(-0500)] <drewwills1> yes, but almost done

[15:59:20 CDT(-0500)] <cwaymire> you're not supposed to be chatting or texting while in a meeting. i'm telling blake (tongue)

[15:59:28 CDT(-0500)] <drewwills1> oh noes

[15:59:32 CDT(-0500)] <EricDalquist> lol

[15:59:41 CDT(-0500)] <EricDalquist> just send him a link to the irc log (smile)

[15:59:46 CDT(-0500)] <cwaymire> haha yeah.

[16:00:18 CDT(-0500)] <cwaymire> on another note, I don't guess we have any information by which to refer to a user (other then local users) other then their username?

[16:00:37 CDT(-0500)] <cwaymire> it pains me to refer to a user by their username but seems like thats my only option.

[16:00:51 CDT(-0500)] <drewwills1> username is the usual practice

[16:01:30 CDT(-0500)] <EricDalquist> yeah

[16:01:36 CDT(-0500)] <EricDalquist> that is all you really have in a portlet consistently

[16:01:48 CDT(-0500)] <EricDalquist> you could set it up with a little flex

[16:01:52 CDT(-0500)] <EricDalquist> have it default to remoteUser

[16:01:56 CDT(-0500)] <EricDalquist> but look at a preference

[16:02:03 CDT(-0500)] <EricDalquist> and if set get that attribute out of USER_INFO

[16:02:10 CDT(-0500)] <EricDalquist> then people can tie data to an internal id if they want

[16:03:47 CDT(-0500)] <cwaymire> i'm just recording the user that created a specific attachment. just never like the idea of referring to users by their username as it (can be) a mutable value.

[16:04:17 CDT(-0500)] <cwaymire> not likely to change, but possible

[16:04:30 CDT(-0500)] <EricDalquist> yeah, I think that is a reasonable concern

[16:04:47 CDT(-0500)] <EricDalquist> it would be easy enough to try to start standardizing on a portlet-utils helper class

[16:05:04 CDT(-0500)] <EricDalquist> that does something like "String getUserIdentifier(PortletRequest)"

[16:05:16 CDT(-0500)] <EricDalquist> have that look for a "userIdentifierAttribute" portlet preference

[16:05:28 CDT(-0500)] <EricDalquist> if set it uses that attribute from USER_INFO if not it falls back to remoteUser

[16:05:31 CDT(-0500)] <EricDalquist> stick that into portlet-utils

[16:05:34 CDT(-0500)] <EricDalquist> pull into portlets

[16:05:42 CDT(-0500)] <EricDalquist> and we have at least some way to deal with that issue

[16:08:43 CDT(-0500)] <cwaymire> do we have access to whatever user id value is assigned to a user by whatever their authentication authority is?

[16:10:17 CDT(-0500)] <EricDalquist> if that gets put into the USER_INFO map

[16:10:18 CDT(-0500)] <EricDalquist> then yes

[16:10:19 CDT(-0500)] <EricDalquist> you would

[16:11:22 CDT(-0500)] <cwaymire> if we knew what their "user id" was and we knew what source authenticated them we could theoretically build a local table that combines those two and assigns them a uPortal unique user id value.

[16:11:45 CDT(-0500)] <EricDalquist> well that is the value in up_user

[16:11:46 CDT(-0500)] <cwaymire> so that if user x authenticates from source y, we know their local uportal user id is 1234

[16:11:50 CDT(-0500)] <EricDalquist> which is the remoteUser

[16:12:20 CDT(-0500)] <EricDalquist> what the preference could give us is if you're at a place like UW

[16:12:29 CDT(-0500)] <EricDalquist> where you have a synthetic ID attribute

[16:12:43 CDT(-0500)] <EricDalquist> which is just a big random # that can never(well mostly never) change

[16:20:26 CDT(-0500)] <goldmantx> EricDalquist - Is there a specific reason we suggest JTDS drivers for MS SQL server?

[16:20:39 CDT(-0500)] <EricDalquist> um ... we shouldn't be anymore

[16:20:43 CDT(-0500)] <EricDalquist> the docs may just be old

[16:20:58 CDT(-0500)] <EricDalquist> jTDS doesn't work with the latest versions of uP4

[16:21:03 CDT(-0500)] <goldmantx> It suggests them,

[16:21:09 CDT(-0500)] <EricDalquist> link?

[16:21:49 CDT(-0500)] <goldmantx> I know, we ran into an issue with an upgrade we were working on. Hmm…I thought it was something that appeared as a bug in a recent version, so this is a permenant thing?

[16:21:56 CDT(-0500)] <EricDalquist> yes

[16:22:06 CDT(-0500)] <EricDalquist> jTDS implements the JDK 1.4 version of the JDBC spec

[16:22:13 CDT(-0500)] <EricDalquist> we run on JDK6

[16:22:23 CDT(-0500)] <EricDalquist> it was just pure luck that it worked up until recently

[16:22:38 CDT(-0500)] <EricDalquist> hibernate finally started using a JDK6+ JDBC API

[16:22:42 CDT(-0500)] <goldmantx> I see…I am looking for the link…give me a few…

[16:22:49 CDT(-0500)] <EricDalquist> which caused the very old jTDS driver to fail

[16:23:04 CDT(-0500)] <goldmantx> We ended up having to use the MS SQL provided drivers

[16:24:09 CDT(-0500)] <EricDalquist> yeh I'm not sure if there is a better solution out there

[16:24:17 CDT(-0500)] <EricDalquist> but we do know that jTDS isn't really viable

[16:24:22 CDT(-0500)] <EricDalquist> the project is quite stagnant

[16:24:27 CDT(-0500)] <goldmantx> Good to know for the future...

[16:31:30 CDT(-0500)] <goldmantx> So, the solution I gave was half the answer - we used the MS SQL driver and had to get a non-domain un/pw

[16:31:54 CDT(-0500)] <goldmantx> The dicuments here need to be updated:

[16:31:54 CDT(-0500)] <goldmantx> https://wiki.jasig.org/display/UPM40/MSSQL+with+the+jTDS+JDBC+Driver

[16:32:20 CDT(-0500)] <EricDalquist> ah

[16:32:23 CDT(-0500)] <goldmantx> And the line here: The preferred driver is the jTDS driver from sourceforge. It can be obtained http://sourceforge.net/project/showfiles.php?group_id=33291.

[16:32:44 CDT(-0500)] <EricDalquist> yeah it would be great if you could collate your notes from the latest mssql install

[16:32:51 CDT(-0500)] <EricDalquist> and just send them to the up-user email list

[16:32:54 CDT(-0500)] <EricDalquist> with a link

[16:32:54 CDT(-0500)] <goldmantx> Of course this is all being translated by me from someone else (smile)

[16:32:59 CDT(-0500)] <EricDalquist> and ask if laura can upate that page

[16:33:10 CDT(-0500)] <EricDalquist> if you can get her a decent bullet point list

[16:33:12 CDT(-0500)] <goldmantx> Sure...

[16:33:20 CDT(-0500)] <EricDalquist> she should be able to update that page with the appropriate content