uPortal IRC Logs-2013-05-14

[11:26:31 CDT(-0500)] <jgribonvald> hi

[11:26:53 CDT(-0500)] <EricDalquist> hi

[11:27:07 CDT(-0500)] <jgribonvald> is there someone who is aware about dlm and layouts

[11:27:10 CDT(-0500)] <jgribonvald> ?

[11:27:23 CDT(-0500)] <EricDalquist> somewhat

[11:27:28 CDT(-0500)] <EricDalquist> we can try to answer

[11:27:58 CDT(-0500)] <jgribonvald> thx Eric, so I'm trying to make a feature about a customized sidebare from dlm

[11:28:19 CDT(-0500)] <jgribonvald> to explain we use flyout nav + a custom sidebar

[11:29:30 CDT(-0500)] <jgribonvald> but the quicklinks feature isn't suitable for us as it doesn't lake "group" of listed channels

[11:29:43 CDT(-0500)] <jgribonvald> lake * make

[11:30:34 CDT(-0500)] <jgribonvald> so i make some modifications to publish special channels from dlm with folder names as groups

[11:31:18 CDT(-0500)] <jgribonvald> it's easy for me like that because we can publish easily new channels link to a targeted population

[11:31:49 CDT(-0500)] <EricDalquist> ok, I think I follow

[11:31:54 CDT(-0500)] <jgribonvald> for that I added a folder type named "sidebar"

[11:32:45 CDT(-0500)] <jgribonvald> in UserLayoutFolderDescription.java and IUserLayoutFolderDescription.java

[11:34:23 CDT(-0500)] <jgribonvald> after i modified the file columns.xsl to add a new xml structure for that and i modified a bit theme universality to suits

[11:34:49 CDT(-0500)] <jgribonvald> and finaly I published my dlm with folder's type as sidebar and it's working

[11:35:14 CDT(-0500)] <jgribonvald> but now I would like to doesn't show channels that users shouldn't see

[11:35:25 CDT(-0500)] <jgribonvald> and I'm looking for that

[11:35:27 CDT(-0500)] <jgribonvald> (tongue)

[11:35:57 CDT(-0500)] <jgribonvald> is it in uportal-war/src/main/java/org/jasig/portal/layout/dlm/DistributedLayoutManager.java ?

[11:36:05 CDT(-0500)] <EricDalquist> I don't think I follow that last statement

[11:36:16 CDT(-0500)] <EricDalquist> also I need to know what version of uPortal you are working with

[11:36:25 CDT(-0500)] <jgribonvald> 4.0.12

[11:36:37 CDT(-0500)] <jgribonvald> snapshot

[11:37:25 CDT(-0500)] <EricDalquist> ok

[11:37:41 CDT(-0500)] <EricDalquist> so I don't follow what you mean when you say "but now I would like to doesn't show channels that users shouldn't see"

[11:39:09 CDT(-0500)] <jgribonvald> ok i would like to have in the xml layout structure only channels of type sidebar that the user can see, like it's done with other type like header, footer

[11:39:19 CDT(-0500)] <jgribonvald> but maybe I'm wrong

[11:40:05 CDT(-0500)] <EricDalquist> ah

[11:40:12 CDT(-0500)] <jgribonvald> i've seen in uportal-war/src/main/java/org/jasig/portal/layout/dlm/DistributedLayoutManager.java line 243 some things done for header and footer

[11:40:15 CDT(-0500)] <EricDalquist> so you want the DLM code to filter the contents of the folder?

[11:40:21 CDT(-0500)] <EricDalquist> that has your new type?

[11:40:26 CDT(-0500)] <jgribonvald> yes

[11:40:30 CDT(-0500)] <EricDalquist> hrm

[11:40:43 CDT(-0500)] <EricDalquist> I don't know DLM well enough to tell you exactly where that happe4ns

[11:41:00 CDT(-0500)] <EricDalquist> I'm assuming it probably happens during the generation of the ILF

[11:41:24 CDT(-0500)] <EricDalquist> let me open up my uPortal code

[11:41:24 CDT(-0500)] <jgribonvald> ok so I will test

[11:41:26 CDT(-0500)] <EricDalquist> and look for a minute

[11:41:55 CDT(-0500)] <jgribonvald> else is a such feature is interesting you ?

[11:42:05 CDT(-0500)] <EricDalquist> it is

[11:42:06 CDT(-0500)] <jgribonvald> to make a PR

[11:42:25 CDT(-0500)] <jgribonvald> but i don't know if it will work in master branch

[11:42:54 CDT(-0500)] <EricDalquist> master and 4.0 patches are the same for layouts right now

[11:43:05 CDT(-0500)] <EricDalquist> we haven't started on the layout manager refactoring coding yet

[11:43:18 CDT(-0500)] <jgribonvald> ok good so

[11:43:36 CDT(-0500)] <EricDalquist> so I'm opening up the project

[11:43:47 CDT(-0500)] <EricDalquist> and what I'm going to look for is where in DLM it calls into the permissions API

[11:43:53 CDT(-0500)] <EricDalquist> to determine if a user can render a portlet

[11:44:00 CDT(-0500)] <EricDalquist> that should point us to where that check is done

[11:44:44 CDT(-0500)] <jgribonvald> i think it's on the class that I pointed and around line 239

[11:45:18 CDT(-0500)] <jgribonvald> but I don't know if there is other things that are done after

[11:46:02 CDT(-0500)] <EricDalquist> another possibility is uportal-war/src/main/java/org/jasig/portal/layout/dlm/ILFBuilder.java:180

[11:46:22 CDT(-0500)] <EricDalquist> yeah

[11:46:25 CDT(-0500)] <EricDalquist> I'm guessing that is it

[11:46:43 CDT(-0500)] <EricDalquist> the ILF is the pristine DLM managed layout for a user

[11:47:02 CDT(-0500)] <EricDalquist> DLM takes all of the fragments the user can see

[11:47:05 CDT(-0500)] <EricDalquist> then merges them into the ILF

[11:47:08 CDT(-0500)] <EricDalquist> and does the filtering

[11:48:25 CDT(-0500)] <jgribonvald> thx I will watch on so and i will try to make a PR for a such FEATURE

[11:48:32 CDT(-0500)] <EricDalquist> sounds good

[11:50:02 CDT(-0500)] <jgribonvald> on an other hand I pushed some PR, so if you want some explanations don't hesitate to ask / comment

[11:50:15 CDT(-0500)] <EricDalquist> will do

[11:50:23 CDT(-0500)] <EricDalquist> I should be circling around to uPortal updates this week

[11:50:32 CDT(-0500)] <jgribonvald> https://github.com/Jasig/uPortal/pulls/jgribonvald

[11:50:55 CDT(-0500)] <jgribonvald> and there is one about virtual hosting

[11:51:03 CDT(-0500)] <EricDalquist> ok

[11:51:05 CDT(-0500)] <jgribonvald> that we use in our context

[11:51:08 CDT(-0500)] <EricDalquist> yeah

[11:51:11 CDT(-0500)] <EricDalquist> we actually do that too

[11:51:45 CDT(-0500)] <jgribonvald> yes but this PR is to be able to define a dlm per domain name for guest user

[11:51:53 CDT(-0500)] <EricDalquist> oh neat

[11:52:24 CDT(-0500)] <jgribonvald> after I don't know if it's the best way to do

[11:54:28 CDT(-0500)] <jgribonvald> as we added a profile based on serverName

[11:54:39 CDT(-0500)] <EricDalquist> O

[11:54:43 CDT(-0500)] <EricDalquist> I'll take a look at it

[11:55:06 CDT(-0500)] <jgribonvald> this were needed due to layout cache

[11:55:11 CDT(-0500)] <EricDalquist> yeah

[11:55:14 CDT(-0500)] <EricDalquist> that is the annoying part

[11:55:22 CDT(-0500)] <EricDalquist> the handling of caching for the guest user

[11:56:28 CDT(-0500)] <jgribonvald> yes, or the other way would be to define a guest user per domain, but we loose some feature for portlet who can detect only one guest user

[11:56:40 CDT(-0500)] <EricDalquist> yeah

[11:56:46 CDT(-0500)] <EricDalquist> part of the layout refactoring will be fixing that

[11:57:05 CDT(-0500)] <EricDalquist> with the new jpa/hibernate stuff and better caching frameworks there is no need to have such special handling for the guest user

[11:57:15 CDT(-0500)] <jgribonvald> ok nice so, but I think it's not for now

[11:57:18 CDT(-0500)] <EricDalquist> yeah

[11:57:21 CDT(-0500)] <EricDalquist> thats a long ways away

[11:57:29 CDT(-0500)] <jgribonvald> ok

[11:58:48 CDT(-0500)] <jgribonvald> on an other hand i have a question for you

[11:58:54 CDT(-0500)] <jgribonvald> about a feature

[11:59:54 CDT(-0500)] <jgribonvald> i've made a mail on the uportal-dev list initilized by drew from some talk

[12:00:10 CDT(-0500)] <jgribonvald> about delegating some portlet configuration

[12:02:47 CDT(-0500)] <jgribonvald> one of our need would be to give the permission to some users to customize preferences of some portlets in a fragment and to push there preference to audited users, without that these users have rights to modify portlet definition from portlet-admin portlet

[12:02:56 CDT(-0500)] <jgribonvald> do you think that would be possible ?

[12:03:12 CDT(-0500)] <jgribonvald> maybe I'm not clear (tongue)

[12:04:30 CDT(-0500)] <EricDalquist> yeah

[12:04:32 CDT(-0500)] <EricDalquist> sorry

[12:04:36 CDT(-0500)] <EricDalquist> on a conference call now

[12:04:43 CDT(-0500)] <EricDalquist> so the infrastructure is there for that

[12:04:54 CDT(-0500)] <EricDalquist> but it would require a bit of new development

[12:05:03 CDT(-0500)] <EricDalquist> you'd have to create a new permission for this

[12:05:15 CDT(-0500)] <EricDalquist> and then update the portlet manager to be aware of that permission

[12:07:15 CDT(-0500)] <jgribonvald> ok but i can't see where to save "dlm preferences of the portlet"

[12:07:24 CDT(-0500)] <jgribonvald> in the layout structure ?

[12:07:32 CDT(-0500)] <EricDalquist> oh not portlet preferences?

[12:07:36 CDT(-0500)] <EricDalquist> you're talking about layout attributes?

[12:07:56 CDT(-0500)] <jgribonvald> our need would be for exemple with the CMS portlet

[12:08:26 CDT(-0500)] <jgribonvald> we would like to avoid to publish a new portlet definition to change only the text

[12:08:30 CDT(-0500)] <EricDalquist> ok

[12:08:36 CDT(-0500)] <EricDalquist> so that would be a portlet preference

[12:08:40 CDT(-0500)] <EricDalquist> on the portlet definition object

[12:08:42 CDT(-0500)] <jgribonvald> yes

[12:08:55 CDT(-0500)] <jgribonvald> but linked to fragment-layout

[12:09:08 CDT(-0500)] <EricDalquist> that is not possible

[12:09:14 CDT(-0500)] <EricDalquist> portlet definitions are global

[12:09:29 CDT(-0500)] <EricDalquist> portlet entities link a portlet definition to an instance of a portlet in a user's layout

[12:09:35 CDT(-0500)] <jgribonvald> ok so it can't be overriden ?

[12:09:41 CDT(-0500)] <EricDalquist> but there is nothing that ties a portlet to a fragment

[12:09:52 CDT(-0500)] <EricDalquist> not at that level

[12:09:59 CDT(-0500)] <jgribonvald> ok

[12:09:59 CDT(-0500)] <EricDalquist> you'd have to just publish difference instances of the portlet

[12:10:07 CDT(-0500)] <EricDalquist> and use the different instances in different fragments

[12:11:05 CDT(-0500)] <jgribonvald> ok so my plan B would be to define a portlet def as template with some attributes which could be defined by some users in creating a new portlet def

[12:13:08 CDT(-0500)] <EricDalquist> yeah so I see the value

[12:13:11 CDT(-0500)] <EricDalquist> hrm

[12:13:18 CDT(-0500)] <EricDalquist> give me ~ 20 mintues

[12:13:26 CDT(-0500)] <EricDalquist> and I might have some additional ideas

[12:14:14 CDT(-0500)] <jgribonvald> If you can i prefer to see that tomorrow (tongue) it's a bit late in france now (wink)

[12:14:20 CDT(-0500)] <EricDalquist> ah right

[12:14:20 CDT(-0500)] <EricDalquist> yeah

[12:14:24 CDT(-0500)] <EricDalquist> stop by tomorrow

[12:14:26 CDT(-0500)] <EricDalquist> and we can chat about it

[12:14:42 CDT(-0500)] <jgribonvald> yes thanks a lot for your help

[12:14:46 CDT(-0500)] <EricDalquist> no problem

[12:15:01 CDT(-0500)] <jgribonvald> see you tomorrow so