uPortal IRC Logs-2012-02-13

[12:10:46 CST(-0600)] <drewwills> you there EricDalquist? I don't understand why this shows up as a commit... if maybe I'm doing something wromg: https://github.com/Jasig/uPortal/commit/9108174cbe46cdbc590efc6095715cd42f494ab6

[12:11:06 CST(-0600)] <EricDalquist> I am here, give me ~ 15 minutes though, at home with kid today

[12:11:12 CST(-0600)] <drewwills> no worries

[12:18:20 CST(-0600)] <EricDalquist> do you have a log of the git commands you ran?

[12:18:25 CST(-0600)] <EricDalquist> I have an idea odf what happened

[12:21:34 CST(-0600)] <EricDalquist> drewwills: you still there?

[12:24:24 CST(-0600)] <drewwills> back

[12:24:31 CST(-0600)] <EricDalquist> (smile)

[12:25:08 CST(-0600)] <EricDalquist> so what is your normal git workflow?

[12:25:27 CST(-0600)] <drewwills> i don't have a log to-hand, but I remeber i once ran "> git pull origin master" while my repo had something other than master checked out

[12:25:43 CST(-0600)] <EricDalquist> and origin points to your fork?

[12:25:55 CST(-0600)] <drewwills> heh. no, to Jasig/uPortal

[12:25:58 CST(-0600)] <EricDalquist> ok

[12:26:10 CST(-0600)] <EricDalquist> have you read through: https://wiki.jasig.org/display/UPC/Git+Workflow

[12:26:16 CST(-0600)] <drewwills> i have

[12:26:24 CST(-0600)] <EricDalquist> those commits won't cause problems

[12:26:26 CST(-0600)] <EricDalquist> they are just noise

[12:26:38 CST(-0600)] <drewwills> notice I used a UP-... branch for the 3341 commits

[12:26:56 CST(-0600)] <EricDalquist> from you running either a pull or a merge after doing work on the master branch

[12:27:28 CST(-0600)] <EricDalquist> unlike svn or cvs with git you can have concurrent commits on the same branch

[12:27:42 CST(-0600)] <EricDalquist> something like you and I are on commit A

[12:27:54 CST(-0600)] <EricDalquist> we both to work and make local commit

[12:27:57 CST(-0600)] <drewwills> so if I do a "> git checkout master > git merge UP-xxx" i will get a noise commit like that

[12:28:08 CST(-0600)] <EricDalquist> I push to the main repo before you

[12:28:15 CST(-0600)] <EricDalquist> then when you do a pull git has to create a merge commit

[12:28:48 CST(-0600)] <EricDalquist> yes you can

[12:28:52 CST(-0600)] <EricDalquist> you should do

[12:28:56 CST(-0600)] <EricDalquist> git checkout master

[12:29:15 CST(-0600)] <EricDalquist> git fetch origin

[12:29:23 CST(-0600)] <EricDalquist> git merge origin/master

[12:29:27 CST(-0600)] <EricDalquist> git merge UP-xxxx

[12:29:45 CST(-0600)] <EricDalquist> that fetch and merge origin/master will make sure your master branch is up to date

[12:29:52 CST(-0600)] <EricDalquist> before you merge in your work

[12:29:56 CST(-0600)] <drewwills> yeah... i got it... that's where i made a misstep...

[12:30:02 CST(-0600)] <EricDalquist> also, I'd HIGHLY recommend creating a personal fork

[12:30:06 CST(-0600)] <drewwills> forgot i was on a non-master branch...

[12:30:07 CST(-0600)] <EricDalquist> and having both origin and upstream

[12:30:17 CST(-0600)] <EricDalquist> then you can push your commits to master there first

[12:30:29 CST(-0600)] <EricDalquist> and if it looks wrong it can get fixed before it gets pushed to jasig/uPortal

[12:30:40 CST(-0600)] <drewwills> and then when I wanted to move stuff from my non-master branch to master, it replayed that merge commit

[12:30:55 CST(-0600)] <EricDalquist> yup, it has to merge in the entire history of the branch

[12:31:00 CST(-0600)] <EricDalquist> which would include that merge commit

[12:31:15 CST(-0600)] <EricDalquist> if you have time I'd also recommend give http://eagain.net/articles/git-for-computer-scientists/ a ready

[12:31:16 CST(-0600)] <EricDalquist> read

[12:31:46 CST(-0600)] <drewwills> yeah... whereas if the pull had happened on master, then been merged into the non-master branch, it wouldn't have been replayed on master

[12:31:59 CST(-0600)] <EricDalquist> right

[12:32:13 CST(-0600)] <EricDalquist> because the pull on master would have been a "fast forward" not a merge

[12:32:25 CST(-0600)] <drewwills> yep

[12:32:44 CST(-0600)] <EricDalquist> "git status" will show your current branch

[12:33:03 CST(-0600)] <drewwills> yeah i use it for that but simply forgot once (sad)

[12:33:29 CST(-0600)] <athena> i worry a bit about how easy it seems to be to accidentally do the wrong thing w/ git

[12:33:35 CST(-0600)] <athena> i forget things periodically too

[12:34:35 CST(-0600)] <drewwills> thanks eric... bb in the afternoon

[14:17:30 CST(-0600)] <athena> EricDalquist: it looks like the layout.json document is broken for the test student user

[14:17:38 CST(-0600)] <athena> throws an exception on the email preview portlet

[14:17:43 CST(-0600)] <athena> visible in up40-nightly as well

[14:17:53 CST(-0600)] <EricDalquist> hrm

[14:17:54 CST(-0600)] <EricDalquist> ok

[14:18:06 CST(-0600)] <EricDalquist> I probably wont have time to look at it until tomorrow

[14:18:10 CST(-0600)] <athena> ok

[14:18:12 CST(-0600)] <EricDalquist> could it be from drewwills recent changes?

[14:18:25 CST(-0600)] <athena> hm - i don't think so

[14:18:36 CST(-0600)] <athena> wasn't that just layout import changes?

[14:18:59 CST(-0600)] <EricDalquist> yeah

[14:19:06 CST(-0600)] <EricDalquist> but it touches layout management cod

[14:19:09 CST(-0600)] <EricDalquist> so who knows (tongue)

[14:19:11 CST(-0600)] <athena> hmm.

[14:19:12 CST(-0600)] <athena> dunno

[14:19:15 CST(-0600)] <athena> the guest layout works fine

[14:19:22 CST(-0600)] <EricDalquist> what is the error?

[14:19:23 CST(-0600)] <athena> i think there might just still be some issues w/ the layout.json handling

[14:19:35 CST(-0600)] <athena> i'm still seeing problems w/ the search portlet as well

[14:19:43 CST(-0600)] <athena> https://gist.github.com/1819876

[14:20:00 CST(-0600)] <athena> that's for the email portlet error - seems to specifically stop rendering at the URL

[14:20:23 CST(-0600)] <athena> get something like:

[14:20:25 CST(-0600)] <athena> { "fname": "email-preview-demo", "title": "Email Preview Demo", "url": "

[14:20:36 CST(-0600)] <EricDalquist> yeah, that is probably just what gets written out of the buffer

[14:21:01 CST(-0600)] <EricDalquist> I'm guessing it is failing because the portlet is rendering and returning null instead of ""

[14:21:16 CST(-0600)] <EricDalquist> could be how minimized is being handled now

[14:21:19 CST(-0600)] <EricDalquist> and we need to support that

[14:21:19 CST(-0600)] <athena> yeah

[14:21:34 CST(-0600)] <athena> my guess is it's related to that and to the other problems i'm seeing

[14:21:39 CST(-0600)] <athena> maybe when you have time we could talk it over?

[14:21:47 CST(-0600)] <EricDalquist> yeah, probably tomorrow afternoon

[14:21:49 CST(-0600)] <athena> i'm not quite sure what all the pieces are supposed to be doing right now

[14:21:51 CST(-0600)] <EricDalquist> maybe wedneday

[14:21:52 CST(-0600)] <athena> sounds great, thanks

[14:21:58 CST(-0600)] <EricDalquist> really busy today and tomorrow :/

[14:21:58 CST(-0600)] <athena> ok

[14:22:04 CST(-0600)] <athena> yeah, i gotcha

[16:11:22 CST(-0600)] <athena> EricDalquist: do you think it would work to have a DLM evaluator that adds a tab based on which profile the user is looking at? like add a tab just for mobile use?

[16:11:44 CST(-0600)] <EricDalquist> hrm

[16:11:46 CST(-0600)] <EricDalquist> sure

[16:11:55 CST(-0600)] <EricDalquist> if the profile is determined enough before the evaluator runs

[16:12:04 CST(-0600)] <athena> hmm, good point

[16:12:07 CST(-0600)] <athena> suspect it probably is though

[16:12:26 CST(-0600)] <athena> would need to use our thread-local based tools to get ahold of the request - it's not part of the evaluator API

[16:12:33 CST(-0600)] <EricDalquist> yeah

[16:12:38 CST(-0600)] <EricDalquist> just use IPortalRequestUtils

[16:12:41 CST(-0600)] <athena> yep

[16:13:04 CST(-0600)] <athena> think that would cause any problems when re-saving layouts or anything like that?

[16:13:28 CST(-0600)] <EricDalquist> I don't think so

[16:13:39 CST(-0600)] <EricDalquist> you can change audiences at any time

[16:14:18 CST(-0600)] <athena> awesome

[16:14:21 CST(-0600)] <athena> sounds promising then

[16:14:26 CST(-0600)] <athena> anything i'd need to consider for caching?

[16:15:35 CST(-0600)] <EricDalquist> nope

[16:15:45 CST(-0600)] <EricDalquist> user layouts are considered globally unique

[16:15:50 CST(-0600)] <EricDalquist> they will never be shared

[16:16:10 CST(-0600)] <EricDalquist> right now the cache key for a layout is a big random # that is updated every time the layout is modified (tongue)

[16:16:54 CST(-0600)] <athena> (smile)

[16:16:55 CST(-0600)] <athena> yay

[16:17:04 CST(-0600)] <athena> i'll do some testing and see how it goes

[16:48:27 CST(-0600)] <rlewis> Hi, I am trying to add an ArcGis js lib to uMobile, I put it under ROOT, but it will not come up in the browser. Any suggestions?

[16:52:27 CST(-0600)] <athena> we actually generally add external libraries to the resource server webapp

[16:52:48 CST(-0600)] <athena> that way multiple themes and portlets can use it without each including it themselves

[16:53:05 CST(-0600)] <athena> though you could put somewhere in uportal if you wanted to

[16:53:14 CST(-0600)] <athena> is this for a new portlet or something integral to the portal?

[17:08:00 CST(-0600)] <rlewis> thanks, its for a module on the mobile-app. the module has a local html page which uses the ArcGis

[17:12:21 CST(-0600)] <athena> my recommendation is generally to develop modules as separate portlets just so that you can manage your code separately from the portal codebase

[17:12:35 CST(-0600)] <athena> but from a technical standpoint you can do whatever you're comfortable with

[17:12:56 CST(-0600)] <athena> how is the HTML page being included? are you just configuring it as an external module in the native app?

[17:14:15 CST(-0600)] <rlewis> thats correct, I added an external module in the native app. I am trying an experiment where I put in a local html file that placed under the html folder.

[17:14:37 CST(-0600)] <athena> ah! ok, so the application is deployed within the native app itself?

[17:15:02 CST(-0600)] <athena> in that case, you'd want to deploy any javascript libraries you're using alongside the HTML page

[17:15:07 CST(-0600)] <rlewis> the local html file uses ArcGis. Now I am trying to figure out where to put the ArcGis. My first guess was on uMobile somewhere.

[17:15:21 CST(-0600)] <athena> i think if the HTML is in the app, your javascript code should be as well

[17:15:29 CST(-0600)] <athena> that way the application won't have to download remote content

[17:15:40 CST(-0600)] <athena> i'd try putting it next to the HTML and doing a relative include

[17:16:35 CST(-0600)] <rlewis> okay. When I configure the ArcGis library, according to instructions it says put in URL of server. I don't know what to put in if the library is down on the native app.

[17:17:48 CST(-0600)] <rlewis> intall instruction say to test bring up the URL in a browser. I wont be able to test that if its on the native app.

[17:19:01 CST(-0600)] <rlewis> i will try the relative include, thanks

[17:19:32 CST(-0600)] <athena> hmm.

[17:19:41 CST(-0600)] <athena> you should be able to install a javascript file locally

[17:19:54 CST(-0600)] <athena> but if you have to, you could do an absolute include from a remote site

[17:20:05 CST(-0600)] <athena> if you aren't able to figure it out, definitely let us know and we can dig in a bit deeper

[17:20:19 CST(-0600)] <athena> and if i don't happen to be around, the umobile-user email list is a good resource

[17:20:39 CST(-0600)] <rlewis> okay, i will try to get it to work on the native app, Thanks!

[17:20:45 CST(-0600)] <athena> yep!

[18:17:14 CST(-0600)] <Sam4242> Hi... I'm very new to portlets, MVC, uPortal, Spring, etc... Do you guys have any good tutorial recommendations? Everything I read talks about things in abstract terms... what I would really like is a step by step example of making a portlet from scratch, complete with wiring up JSPs, interfaces, Java beans, implementation files, view controllers, and models.

[18:18:07 CST(-0600)] <Sam4242> Most of the tutorials I have read so far refer to things I have not heard of before, like it is old hat. Is there such a thing as a 'absolute beginner's guide' to uPortal/portlet development?

[18:21:19 CST(-0600)] <EricDalquist> hi Sam4242, I'm just heading home

[18:21:31 CST(-0600)] <EricDalquist> if you jump in earlier tomorrow we can chat a bit

[18:21:46 CST(-0600)] <Sam4242> Ok, thanks!