jasig-ssp IRC Logs-2013-02-22

[10:48:49 CST(-0600)] <js70> ant initportal is failing. following error:

[10:48:50 CST(-0600)] <js70> org.springframework.dao.DataIntegrityViolationException: Batch entry 0 insert into UP_PERMISSION_OWNER (OWNER_DESCRIPTION, ENTITY_VERSION, OWNER_FNAME, OWNER_NAME, OWNER_ID) values (NULL, '0', 'SSP', 'Student Success Plan', '10') was aborted. Call getNextException to see the cause.; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: Batch entry 0 insert into UP_PERMISSION_OWNER (OWNER_DESCRI

[10:53:06 CST(-0600)] <dmccallum54> hmmm. will try over here....

[11:04:48 CST(-0600)] <dmccallum54> getting a different error at the moment...

[11:12:23 CST(-0600)] <dmccallum54> hmmm

[11:12:25 CST(-0600)] <dmccallum54> works for me

[11:12:37 CST(-0600)] <dmccallum54> let me try nuking the db once more and trying again

[11:16:34 CST(-0600)] <js70> i have a number of coaches that I add for testing. do i need to change their user.xml

[11:16:36 CST(-0600)] <js70> ?

[11:34:30 CST(-0600)] <dmccallum54> shouldnt have to, but was going to ask if you had anything custom/local in ssp_entities

[11:35:59 CST(-0600)] <js70> I do have 100+ additional coaches. I rolled back so I only have the original and it is working now.

[11:36:09 CST(-0600)] <dmccallum54> alright. totally clean db. totally clean ssp_entities. running… 'ant -Dmaven.test.skip=true clean initportal'

[11:36:14 CST(-0600)] <dmccallum54> k

[11:36:49 CST(-0600)] <dmccallum54> not sure why just having custom user records would cause this to blow up

[11:37:27 CST(-0600)] <dmccallum54> user records can declare arbitrary attribute values, but those don't have anything to do with that UP_PERMISSION_OWNER stmt that bombed out

[12:08:06 CST(-0600)] <js70> k

[12:08:41 CST(-0600)] <dmccallum54> (that latest initportal of mine succeeded, fwiw)

[12:09:47 CST(-0600)] <js70> yeah, mine did as well. I pulled back on the datasets I was trying to use. there may be something there. don't know.

[14:51:56 CST(-0600)] <JasonElwood> Archna needs some test data for Early Alerts to work on a jira issue.  Does anybody have/know of an easy way to load data?  Creating them in SSP-Platform should work in this situation, but she doesn't have any sample external data and the SSP-platform won't build and deploy for her.  I spent some time last week but couldn't figure out the problem.

[15:05:01 CST(-0600)] <dmccallum54> um… three options… 1) liquibase, 2) chrome/FF extension for generating REST requests, 3) curl

[15:07:12 CST(-0600)] <dmccallum54> for an example of #1, see ./src/test/resources/org/jasig/ssp/database/changesets/000008-test.xml

[15:07:22 CST(-0600)] <dmccallum54> the "test early_alert data" changeset

[15:15:39 CST(-0600)] <dmccallum54> the other two are much more involved, relatively speaking. can dig up examples if #1 doesn't work.

[15:52:32 CST(-0600)] <dmccallum54> TonyUnicon you've not started on SSP-696, right?

[15:53:11 CST(-0600)] <dmccallum54> i'm grabbing it to work on for the next… 7 minutes (smile)

[15:53:29 CST(-0600)] <TonyUnicon> let me bring up the ticket

[15:53:38 CST(-0600)] <dmccallum54> at which time i switch again from software to slideware (smile)

[15:54:12 CST(-0600)] <TonyUnicon> no

[15:54:18 CST(-0600)] <TonyUnicon> i haven't started on it yet

[15:54:25 CST(-0600)] <dmccallum54> grabbing it

[15:58:23 CST(-0600)] <TonyUnicon> thank you sir

[15:58:48 CST(-0600)] <dmccallum54> looks like fun...

[16:57:58 CST(-0600)] <tbain> Have a good weekend everyone - off for family birthday stuff!

[16:59:03 CST(-0600)] <JasonElwood> have fun

[16:59:11 CST(-0600)] <tbain> thanks

[17:20:00 CST(-0600)] <JasonElwood> Are counselors/coaches traditionally loaded into the external_person table?

[17:20:15 CST(-0600)] <JasonElwood> Or just students and faculty?

[17:20:59 CST(-0600)] <dmccallum54> you've got to load coaches into external_person

[17:21:52 CST(-0600)] <dmccallum54> this came up yesterday w/ CLC. sent you the relevant email

[17:28:00 CST(-0600)] <JasonElwood> That's helps. What if a coach doesn't exist in UP with a role?

[17:30:11 CST(-0600)] <JasonElwood> Nevermind. I think I found it.

[17:30:53 CST(-0600)] <dmccallum54> when they log in they'll get an unpleasant experience

[17:31:15 CST(-0600)] <JasonElwood> couldn't that happen with the SSO?

[17:34:39 CST(-0600)] <dmccallum54> depending on how the SSO works you could use attributes it passes to create a user just in time

[17:35:38 CST(-0600)] <dmccallum54> the way the Angel SSO worked, uPortal had to be able to find you either in AD or as a uP local user

[17:36:37 CST(-0600)] <dmccallum54> that's where it would get the attributes that put you into a security group

[17:39:18 CST(-0600)] <JasonElwood> sorry to keep at this, but. if the user only exists in AD with a role, then would we be able to query the role to look up the department_name from external_person to list the department in the report search criteria?

[17:40:52 CST(-0600)] <dmccallum54> ooookay

[17:40:55 CST(-0600)] <dmccallum54> (smile)

[17:40:56 CST(-0600)] <dmccallum54> so

[17:41:07 CST(-0600)] <dmccallum54> we're definitely talking about coaches right now, right?

[17:41:17 CST(-0600)] <JasonElwood> yes

[17:42:40 CST(-0600)] <dmccallum54> if a coach is returned in the coach lookup API, then you know it at least has a person record, and it almost certainly has a external_person record from which that person record was derived. doesn't necessarily mean they also have a department listed in either of those records, of course

[17:43:28 CST(-0600)] <JasonElwood> cool. thanks

[17:43:47 CST(-0600)] <dmccallum54> so if all you want to do is list relevant departments in the report form you should be able to query the person record (with a join, actually)

[17:44:10 CST(-0600)] <dmccallum54> if you then want to filter the coach list in the report form, i.e. client side, by department, you probably have to change the API

[17:44:19 CST(-0600)] <dmccallum54> b/c i bet that info isn't included

[17:44:29 CST(-0600)] <dmccallum54> (you're getting some sort of PersonLiteTO or CoachLiteTO)

[17:44:45 CST(-0600)] <JasonElwood> yeah. I'm just trying to make sure we don't have any holes in the department list

[17:45:13 CST(-0600)] <dmccallum54> actually … looks like CoachPersonLiteTO does have dept name in it.

[17:45:24 CST(-0600)] <dmccallum54> the department list won't be comprehensive

[17:45:31 CST(-0600)] <JasonElwood> Ideally we should carry over the department when the person is created so we aren't querying the external_person table. But I think it is working as designd.

[17:45:35 CST(-0600)] <dmccallum54> i.e. it won't include depts for which we have no current person records

[17:46:27 CST(-0600)] <dmccallum54> ah… you're saying that the persons created by these coach lookup operations aren't immediately synced with the entire external record?

[17:47:39 CST(-0600)] <JasonElwood> not about time. department doesn't exist in person

[17:48:07 CST(-0600)] <dmccallum54> right… it's on an associated object

[17:48:34 CST(-0600)] <dmccallum54> PersonStaffDetails

[17:48:45 CST(-0600)] <dmccallum54> think that was what jim was querying

[17:49:09 CST(-0600)] <JasonElwood> ugh. missed that one. sorry. the sync is working then

[17:49:13 CST(-0600)] <dmccallum54> yah

[17:49:14 CST(-0600)] <dmccallum54> https://github.com/Jasig/SSP/commit/2cd1f2acbb1ee45f908263b44e66db7211d70c49

[17:49:50 CST(-0600)] <dmccallum54> i did check the coach sync code that runs when we pull the coach list… it's exactly the same function that runs for the background sync. so the dept should be set immediately

[17:50:15 CST(-0600)] <JasonElwood> its as immediate as everything else. so it works fine. thanks

[17:51:01 CST(-0600)] <dmccallum54> heh