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