uPortal IRC Logs-2012-05-07
[09:50:40 CDT(-0500)] <drew_wills> morning folks... is there currently a broken test in master? (IdentityImportExportTest)
[09:51:00 CDT(-0500)] <drew_wills> seems to be looking for org.jasig.portal.io.xml.subscribedfragment.ExternalSubscribedFragments
[09:51:13 CDT(-0500)] <EricDalquist> that should be a generated class
[09:51:24 CDT(-0500)] <EricDalquist> created by the jaxb2 plugin at compile time
[09:52:28 CDT(-0500)] <drew_wills> ah
[09:52:58 CDT(-0500)] <EricDalquist> looks like bamboo is happy right now: https://developer.jasig.org/bamboo/browse/UP-TRUNK
[09:52:59 CDT(-0500)] <drew_wills> just did a "clean initportal" trying to clear it, but still got it
[09:53:18 CDT(-0500)] <EricDalquist> and you're on the latest master with no local mods?
[09:53:59 CDT(-0500)] <drew_wills> only 1 mod: https://issues.jasig.org/browse/UP-3461
[09:54:27 CDT(-0500)] <drew_wills> trying mvn clean install
[10:01:11 CDT(-0500)] <drew_wills> ok – that one worked
[10:01:19 CDT(-0500)] <drew_wills> tests working
[10:38:20 CDT(-0500)] <athena> EricDalquist: did you want to talk about the courses portlet?
[10:38:27 CDT(-0500)] <EricDalquist> yes
[10:38:28 CDT(-0500)] <EricDalquist> very much so
[10:38:40 CDT(-0500)] <EricDalquist> since I've done a ton of refactoring ... and I hope you're not going to kill me for it
[10:38:48 CDT(-0500)] <EricDalquist> though I haven't committed any of it
[10:38:52 CDT(-0500)] <athena> lol
[10:38:58 CDT(-0500)] <athena> no one's using it in production yet
[10:39:00 CDT(-0500)] <athena> so it's probably fine
[10:39:13 CDT(-0500)] <EricDalquist> the crux of the problem is we can't reasonable get "all graded terms + all graded courses for every term" for a user
[10:39:16 CDT(-0500)] <EricDalquist> we can get it
[10:39:29 CDT(-0500)] <EricDalquist> but it would require 1 call for terms and then 1 call for every graded term
[10:39:33 CDT(-0500)] <athena> the initial data structure we'd set up was really simple largely because we didn't have any real use cases to work with
[10:39:50 CDT(-0500)] <EricDalquist> so the refactoring I've done was to split out getting terms and courses
[10:40:01 CDT(-0500)] <EricDalquist> the XSD still allows you to get it all with one call
[10:40:03 CDT(-0500)] <athena> ok
[10:40:11 CDT(-0500)] <athena> yeah, my hope was that we could model it all as one call
[10:40:13 CDT(-0500)] <EricDalquist> but the DAO api has public TermSummary getTermSummary(PortletRequest request)
[10:40:17 CDT(-0500)] <EricDalquist> and public CourseSummary getCourseSummary(PortletRequest request, String termCode)
[10:40:29 CDT(-0500)] <EricDalquist> but for us it will be two different WS calls
[10:40:31 CDT(-0500)] <athena> and then schools will probably break out how that gets pulled in differently
[10:40:37 CDT(-0500)] <EricDalquist> just due to the structure of the data in PeopleSoft
[10:40:58 CDT(-0500)] <EricDalquist> so the portlet on rendering will ask the DAO for the Term summary
[10:41:04 CDT(-0500)] <EricDalquist> and then the course summary for the current term
[10:41:12 CDT(-0500)] <athena> that seems fine
[10:41:39 CDT(-0500)] <athena> the default DAO can just get all those things from the same source instead of making multiple calls
[10:41:47 CDT(-0500)] <athena> and your connector can make all the calls it needs
[10:41:54 CDT(-0500)] <EricDalquist> yup
[10:42:23 CDT(-0500)] <athena> that seems fine to me
[10:42:26 CDT(-0500)] <EricDalquist> great
[10:42:37 CDT(-0500)] <athena> and i think eventually we'll need a more complex model for course terms
[10:42:37 CDT(-0500)] <EricDalquist> I'll push the changes to a branch for you to look at first
[10:42:53 CDT(-0500)] <EricDalquist> yeah
[10:43:00 CDT(-0500)] <EricDalquist> I could model them on what PS provides for terms
[10:46:05 CDT(-0500)] <athena> maybe we can come up with something plausible based on what you see in PS and what i've seen from other schools
[10:46:32 CDT(-0500)] <athena> offhand i'd guess we need a unique id, a full name, a short name, a season, a year, and some concept of ordering
[10:50:14 CDT(-0500)] <EricDalquist> yeah we get: code, displayName, start Timestamp, end Timestamp
[10:50:28 CDT(-0500)] <athena> sounds reasaonble
[10:51:12 CDT(-0500)] <athena> there are of course other schools that will need to query based on year + term type or whatever
[10:52:33 CDT(-0500)] <EricDalquist> yeah
[11:43:00 CDT(-0500)] <athena> EricDalquist: do you know if it's possible to use an attachment as a target for spring's restTemplate?
[11:43:25 CDT(-0500)] <EricDalquist> so like a POST with an attachment?
[11:43:44 CDT(-0500)] <athena> google's my maps service has a KML download feature, but it marks it as an attachment mimetype and it's oriented as a file download
[11:43:58 CDT(-0500)] <EricDalquist> huh
[11:44:10 CDT(-0500)] <athena> wondering if there's a good way to connect to that
[11:44:22 CDT(-0500)] <EricDalquist> seems like it would be handled by a HttpMessageConverter
[11:44:30 CDT(-0500)] <athena> well, i can make a message converter
[11:44:39 CDT(-0500)] <athena> but it doesn't actually seem to get the right thing by default
[11:44:45 CDT(-0500)] <athena> seems like maybe the response is some sort of multi-part thing?
[11:44:52 CDT(-0500)] <EricDalquist> probably
[11:46:34 CDT(-0500)] <athena> anyway, wasn't sure if you'd ever run across doing that w/ resttemplate or httpclient
[11:46:50 CDT(-0500)] <EricDalquist> no ... at least not in a very long while
[11:46:56 CDT(-0500)] <athena> yeah me neither
[11:46:57 CDT(-0500)] <athena> oh well
[11:47:02 CDT(-0500)] <EricDalquist> probably need to find something that lets you parse the multipart http response
[11:47:05 CDT(-0500)] <athena> yeah
[11:47:22 CDT(-0500)] <athena> i assume httpclient can do it even if resttemplate can't
[11:47:41 CDT(-0500)] <athena> putting together a map adapter for google my maps data
[11:47:41 CDT(-0500)] <EricDalquist> yeah
[11:47:46 CDT(-0500)] <EricDalquist> cool
[11:47:52 CDT(-0500)] <athena> figure that might be an easy way to create content
[11:48:16 CDT(-0500)] <athena> though the official XSDs don't actually work in jaxb - lots of warnings about duplicate elements
[11:48:36 CDT(-0500)] <athena> and my maps seems to be some limited subset of google earth KML
[11:49:55 CDT(-0500)] <EricDalquist> gross
[11:59:38 CDT(-0500)] <EricDalquist> athena: do you know why there is a GradesPortletController.getGrades AND CoursesPortletController.getGrades which appear to do the same thing?
[12:00:26 CDT(-0500)] <athena> let me look
[12:01:31 CDT(-0500)] <athena> no
[12:01:39 CDT(-0500)] <EricDalquist> ok
[12:01:44 CDT(-0500)] <EricDalquist> I'll clean that up too
[12:01:48 CDT(-0500)] <athena> my guess is i started to create that for you so that you could deploy it as a separate portlet w/o the courses maybe
[12:01:51 CDT(-0500)] <athena> but i don't really remember
[12:01:51 CDT(-0500)] <EricDalquist> do you want to review all the changes?
[12:01:52 CDT(-0500)] <EricDalquist> yeah
[12:01:56 CDT(-0500)] <EricDalquist> I'll probably do the same
[12:02:00 CDT(-0500)] <EricDalquist> but in our local branch
[12:02:03 CDT(-0500)] <athena> makes sense
[12:02:14 CDT(-0500)] <athena> has there been any progress on skinning the portlet?
[12:02:23 CDT(-0500)] <EricDalquist> yes
[12:02:24 CDT(-0500)] <athena> just go ahead and push your changes
[12:02:30 CDT(-0500)] <EricDalquist> as soon as I'm done with these changes
[12:02:35 CDT(-0500)] <athena> not too worried about it since we don't have anyone else runnign it
[12:02:36 CDT(-0500)] <athena> awesome
[12:02:37 CDT(-0500)] <EricDalquist> I have to merge the skinning branch into it
[12:21:58 CDT(-0500)] <EricDalquist> athena: https://github.com/Jasig/CoursesPortlet/commit/e526288de791eebbaa08fe752eba75e70b5c0caf
[12:23:25 CDT(-0500)] <athena> awesome, thanks!
[12:23:59 CDT(-0500)] <athena> it's really good to get this working with a real university
[12:24:05 CDT(-0500)] <EricDalquist>
[12:24:14 CDT(-0500)] <EricDalquist> well with any luck I'll actually have it working by the end of the day
[12:24:17 CDT(-0500)] <athena> mock data's great and all, but better to have a real use case
[12:24:18 CDT(-0500)] <athena> fantastic
[12:32:33 CDT(-0500)] <b-sure> hello uPortal devs: were very close to rolling out uportal4 upgrade. We have what I think are the last import issues. http://pastebin.com/raw.php?i=psAGBZcF
[12:33:37 CDT(-0500)] <b-sure> I pasted a case where the import worked for a user, but then breaks when trying to load the initial page for the user. just checking in here to see if there is any more possibilities to get help with our data.
[12:34:26 CDT(-0500)] <EricDalquist> I'm not sure ... might be a question for drew_wills
[12:34:55 CDT(-0500)] <b-sure> ok. this is from the 3.2.5 to 4.x.
[12:35:59 CDT(-0500)] <b-sure> hello drew_wills. is there any way you can take a look at this paste regarding broken data import ? http://pastebin.com/raw.php?i=psAGBZcF
[12:45:26 CDT(-0500)] <drew_wills> b-sure I'm eyeballing it... nothing jumps out at me just yet
[12:47:40 CDT(-0500)] <b-sure> ok thanks drew_wills. I'm gonna poke around in the source as well. I'm thinkning if we can't get past this particular issue, we'll need to start looking into loading the default layout for all of our users.
[12:56:52 CDT(-0500)] <drew_wills> b-sure it looks like folders and channels are mixed in one of the <dlm:positionSet> elements... that looks strange to me
[12:57:15 CDT(-0500)] <drew_wills> how many users are affected?
[12:58:31 CDT(-0500)] <b-sure> hi. I"m not sure how many users are affected. by chance the user is in my work group.
[12:59:30 CDT(-0500)] <drew_wills> i have to hop on a call... bbl
[12:59:56 CDT(-0500)] <b-sure> is the mixed folders and channels for both of the pasted layouts or just the second one? reason I ask is because there are only about 40 or so out of about 12000 imports that errored
[13:00:31 CDT(-0500)] <b-sure> and the 2nd layout of the paste is the representative of that group
[14:07:03 CDT(-0500)] <EricDalquist> athena: you think I'm safe adding start and end datetimes to Term in the courses portlet?
[14:07:56 CDT(-0500)] <athena> yes
[14:08:15 CDT(-0500)] <EricDalquist> should I then remove year as well?
[14:10:25 CDT(-0500)] <athena> no
[14:10:45 CDT(-0500)] <athena> i think probably we'll need a flexible model that can accomodate a bunch of different styles of representing terms
[14:11:01 CDT(-0500)] <EricDalquist> ok
[14:11:02 CDT(-0500)] <athena> so we could have a general Term object that has a bunch of different fields, some of which might be null
[14:11:07 CDT(-0500)] <athena> or we could have different implemetnations
[14:11:42 CDT(-0500)] <athena> don't know if we'll need some sort of TermId interface for querying a term in the long term
[14:12:06 CDT(-0500)] <athena> for now we can probably just use a string key, and a school could create/parse combinations of year + season if they need to
[14:14:01 CDT(-0500)] <EricDalquist> yeah
[14:44:35 CDT(-0500)] <athena> what does this error message mean? "Your merge target has changed since viewing this pull request - try the merge again"
[14:45:03 CDT(-0500)] <EricDalquist> from github?
[14:45:13 CDT(-0500)] <athena> yeah, while trying to merge a pull request
[14:45:31 CDT(-0500)] <EricDalquist> perhaps there was a commit made to the target branch between when you opened the pull request page and when you clicked merge?
[14:46:05 CDT(-0500)] <athena> doesn't seem to be
[14:46:30 CDT(-0500)] <athena> maybe try a force-refresh
[14:46:35 CDT(-0500)] <athena> wasn't sure if you'd seen that before
[14:46:55 CDT(-0500)] <athena> huh, now it's working
[14:47:00 CDT(-0500)] <athena> wonder if something was goign on the server
[14:47:04 CDT(-0500)] <athena> was being really slow, too
[14:47:09 CDT(-0500)] <athena> now back to it's happy speedy self
[14:47:20 CDT(-0500)] <EricDalquist> weird