Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 44 Next »

[09:14:01 CDT(-0500)] <rickard> I've trying to create a theme for uPortal and I've started out with a copy of universality with the uPortal skin. However, the xsl files for universality are very complex. Is there perhaps a more simple skin that it would make sense to start from?
[09:24:24 CDT(-0500)] <rickard> EricDalquist: I've been tasked with creating a theme for uPortal that follows the look and feel of the following web site: http://www.lunduniversity.lu.se/international-students
[09:24:42 CDT(-0500)] <EricDalquist> ok
[09:25:01 CDT(-0500)] <rickard> I started by making a copy of universality, but my hair is quickly turning grey trying to work out all the bells and whistles of the xsl files.
[09:25:31 CDT(-0500)] <rickard> There are such a large number of template blocks and variables that it's difficult to know where to start.
[09:25:47 CDT(-0500)] <rickard> Is there perhaps a more straight-forward theme that it would make sense to start from?
[09:25:55 CDT(-0500)] <rickard> Perhaps one of the mobile themes?
[09:26:00 CDT(-0500)] <EricDalquist> heh, well that area isn't my expertise but from what I do know of it the first step would be to create a new skin
[09:26:14 CDT(-0500)] <EricDalquist> and see how much of the UI change can be done simply via CSS
[09:26:25 CDT(-0500)] <EricDalquist> and only do tweaks to the actual markup where needed
[09:27:34 CDT(-0500)] <rickard> Yeah, but then I have to rely on the classes and IDs that uPortal uses and pretty much rewrite the stylesheets from scratch. I would rather just use the existing stylesheets and adapt the markup. That way if there are any changes to the parent website, I can just make the same changes in uPortal.
[09:27:52 CDT(-0500)] <EricDalquist> ah
[09:28:03 CDT(-0500)] <EricDalquist> well that's likely a pretty big task
[09:28:08 CDT(-0500)] <rickard> Yup (smile)
[09:28:17 CDT(-0500)] <EricDalquist> also most of the JS features in uPortal rely on those classes & IDs
[09:28:34 CDT(-0500)] <rickard> Yeah, I've noticed that.
[09:28:43 CDT(-0500)] <EricDalquist> so all of the dynamic UI features for customization won't work if you start messing with IDs & classes
[09:28:49 CDT(-0500)] <EricDalquist> all the JS is applied via selectors
[09:29:23 CDT(-0500)] <EricDalquist> what you're doing would probably be worth posing as a question to the uportal-user email list
[09:29:33 CDT(-0500)] <rickard> Good point.
[09:29:48 CDT(-0500)] <rickard> I
[09:29:50 CDT(-0500)] <rickard> 'll do that.
[09:29:54 CDT(-0500)] <EricDalquist> explain what you're trying to do, why including the bit about wanting to reuse existing CSS, and see if anyone has any tips
[09:30:05 CDT(-0500)] <rickard> Yeah, I will. Thanks.
[09:30:09 CDT(-0500)] <EricDalquist> as much as I can see your point about reusing the CSS
[09:30:17 CDT(-0500)] <EricDalquist> it is going to be a lot of work
[09:30:39 CDT(-0500)] <EricDalquist> if you don't need all of the features the primary theme provides you could do what you mentioned and start with a mobile theme
[09:30:40 CDT(-0500)] <mpolizzotti> A helpful approach might be to obtain the xml string that uPortal outputs. Then outside of the portal start developing some basic style-sheets using an external parsor such as saxon.
[09:30:43 CDT(-0500)] <rickard> I don't think we will be using the dynamic UI features though, so the js issue is minor.
[09:30:43 CDT(-0500)] <EricDalquist> since that is much simpler
[09:31:04 CDT(-0500)] <EricDalquist> and doesn't provide for any of the layout customization feature
[09:31:23 CDT(-0500)] <rickard> mpolizzotti: Yeah, I thought about doing that. How would I be able to grab the xml before its transformed?
[09:32:11 CDT(-0500)] <mpolizzotti> Eric, posted some of that information I believe to the jasig wiki...but it is a configuration setting in your log4j.properties file.
[09:32:15 CDT(-0500)] <mpolizzotti> Let me pull it up.
[09:33:50 CDT(-0500)] <EricDalquist> in /uportal-impl/src/main/resources/properties/portal.properties
[09:33:58 CDT(-0500)] <mpolizzotti> sorry, it was portal.properties
[09:34:06 CDT(-0500)] <mpolizzotti> Thanks Eric.
[09:34:20 CDT(-0500)] <EricDalquist> I think ... I think that may have just been cleaned up
[09:34:25 CDT(-0500)] <EricDalquist> what version of uPortal are you using rickard?
[09:34:40 CDT(-0500)] <rickard> 3.2.4
[09:34:44 CDT(-0500)] <EricDalquist> ok
[09:34:57 CDT(-0500)] <EricDalquist> so in portal.properties look for the options org.jasig.portal.UserInstance.log_xml_before_structure_transformation and org.jasig.portal.UserInstance.log_xml_before_theme_transformation
[09:35:19 CDT(-0500)] <EricDalquist> then in uportal-war/src/main/webapp/WEB-INF/log4j.properties
[09:35:27 CDT(-0500)] <EricDalquist> add the two lines:
[09:35:27 CDT(-0500)] <EricDalquist> log4j.category.org.jasig.portal.rendering.StaticRenderingPipeline=DEBUG, R
[09:35:27 CDT(-0500)] <EricDalquist> log4j.additivity.org.jasig.portal.rendering.StaticRenderingPipeline=false
[09:35:37 CDT(-0500)] <rickard> Cool. I'll try it out.
[09:35:46 CDT(-0500)] <EricDalquist> with that both the XML prior to the structure and theme XSLT will be written to the portal log file
[09:38:27 CDT(-0500)] <rickard> I have to say you guys are always very helpful. Much appreciated.
[09:38:52 CDT(-0500)] <mpolizzotti> Also, if your looking for a quick start guide to getting up to speed on xsl I would recommend the XML: Visual QuickStart Guide (2nd Edition)
[09:39:24 CDT(-0500)] <mpolizzotti> Its what I used to learn. Then I purchased one of those huge xsl reference books.
[09:39:59 CDT(-0500)] <mpolizzotti> You don't need to read the whole book, just the section on xsl.
[09:41:13 CDT(-0500)] <rickard> Thanks for the tip.
[09:43:26 CDT(-0500)] <rickard> Can you recommend any good tool for working with XSL? I'm on Windows.
[09:43:35 CDT(-0500)] <EricDalquist> Oxygen is what I use
[09:43:46 CDT(-0500)] <EricDalquist> very good XML/XSL editor
[09:43:51 CDT(-0500)] <EricDalquist> and can do transformations right in the tool
[09:44:02 CDT(-0500)] <EricDalquist> also includes step through debugging of XSL transforms
[09:44:13 CDT(-0500)] <rickard> Nice
[09:44:52 CDT(-0500)] <rickard> $64 for a one-person academic license.
[09:44:57 CDT(-0500)] <rickard> Not too bad.
[09:45:00 CDT(-0500)] <EricDalquist> yeah
[09:45:21 CDT(-0500)] <EricDalquist> we managed to convince UW that a site license would be a good idea
[09:45:26 CDT(-0500)] <EricDalquist> so we get a lot of use out of it here
[09:46:08 CDT(-0500)] <rickard> Do I want the XML Editor och XML Author?
[09:46:28 CDT(-0500)] <EricDalquist> xml editor I think
[09:46:41 CDT(-0500)] <rickard> Ok
[09:46:51 CDT(-0500)] <EricDalquist> yeah editor
[11:17:23 CDT(-0500)] <athena> hey EricDalquist - are there release notes up somewhere for the M1?
[11:17:36 CDT(-0500)] <EricDalquist> not yet
[11:17:43 CDT(-0500)] <EricDalquist> got swamped the last few days
[11:17:50 CDT(-0500)] <EricDalquist> going to try and get them up today
[11:19:48 CDT(-0500)] <athena> oh cool
[11:19:54 CDT(-0500)] <athena> let me know if you need anything for it
[11:20:16 CDT(-0500)] <EricDalquist> a clone?
[11:21:44 CDT(-0500)] <athena> lol
[11:21:53 CDT(-0500)] <athena> i think that might be out of my powers
[11:22:08 CDT(-0500)] <athena> but if you need any info from me on stuff i've worked on i could maybe do that instead
[11:22:25 CDT(-0500)] <athena> once i figure out software developer cloning i'll let you know
[11:47:42 CDT(-0500)] <athena> argh
[11:48:17 CDT(-0500)] <athena> so EricDalquist, how much setup do you want to require to add new attributes to a local account user?
[11:48:39 CDT(-0500)] <athena> i finally got through refactoring this stuff using AbstractQueryPersonAttributeDao
[11:48:54 CDT(-0500)] <athena> and if there's a result mapping defined it refuses to pass through any attributes that aren't mapped
[11:48:59 CDT(-0500)] <athena> and the method that has that logic is final
[11:59:34 CDT(-0500)] <EricDalquist> ah hrm
[11:59:45 CDT(-0500)] <EricDalquist> so what happens if we map no attributes?
[11:59:50 CDT(-0500)] <EricDalquist> do they all come through?
[12:00:16 CDT(-0500)] <athena> probably
[12:00:21 CDT(-0500)] <athena> i can check on that
[12:00:29 CDT(-0500)] <athena> though that's really not a great solution
[12:00:42 CDT(-0500)] <athena> since then you can't map username to both "username" and "user.login.id", etc.
[12:00:58 CDT(-0500)] <athena> sort of defeats the benefit of using that implementation
[12:01:57 CDT(-0500)] <athena> but seems like the other options are to require you to map all attributes you want to use in the xml file (which i guess already applies to other person directory stores but makes it harder to do one-off testing)
[12:02:03 CDT(-0500)] <athena> or copy all the code out of that class
[12:05:06 CDT(-0500)] <athena> guess there's not a ton there - we could probably just take what we need out of that class
[12:07:15 CDT(-0500)] <EricDalquist> yeah
[12:07:31 CDT(-0500)] <EricDalquist> or fix the method
[12:07:34 CDT(-0500)] <EricDalquist> and make it non final
[12:08:42 CDT(-0500)] <athena> are we just using a snapshot version anyway?
[12:09:45 CDT(-0500)] <athena> hm, guess not
[12:11:54 CDT(-0500)] <athena> well, i'll try with a local version first and see if i run into any other problems
[12:12:00 CDT(-0500)] <athena> if not, we can modify person directory
[12:12:07 CDT(-0500)] <EricDalquist> ok
[12:30:03 CDT(-0500)] <athena> eeeeeeeeeee finally!
[12:30:11 CDT(-0500)] <athena> looking much better
[13:51:40 CDT(-0500)] <athena> ok EricDalquist - i created https://issues.jasig.org/browse/PERSONDIR-59
[13:51:54 CDT(-0500)] <athena> do you want to handle changing that method and deploying a snapshot or would you like me to?
[13:54:40 CDT(-0500)] <EricDalquist> feel free to make it yourself (smile)
[13:56:05 CDT(-0500)] <athena> sure thing
[13:56:20 CDT(-0500)] <athena> just a snapshot for now, yes?
[13:57:51 CDT(-0500)] <EricDalquist> yeah
[15:13:29 CDT(-0500)] <EricDalquist> athena: short list of 3.3-m1 features so far: https://wiki.jasig.org/display/UPC/3.3.0-M1
[15:13:38 CDT(-0500)] <EricDalquist> If there are any big ones I forgot let me know]
[15:14:13 CDT(-0500)] <athena> probably mention the AJAX user preferences refactoring (the BYU stuff)
[15:14:29 CDT(-0500)] <EricDalquist> yup
[15:15:15 CDT(-0500)] <athena> since i think the presentation sort of shoudl be a separate item than the backend refactoring for it
[15:15:44 CDT(-0500)] <athena> could potentially mention some of the search stuff if you wanted, though that certainly isn't finished yet
[15:18:32 CDT(-0500)] <athena> here we go - finally found my up 3.3 notes
[15:18:48 CDT(-0500)] <athena> so i18n improvements - unified messaging file, sample auto-translations, etc.
[15:18:57 CDT(-0500)] <athena> updated skin
[15:18:59 CDT(-0500)] <athena> grouper support
[15:19:04 CDT(-0500)] <athena> pulled DLM fragments
[15:19:16 CDT(-0500)] <athena> bookmarkable URLs
[15:19:41 CDT(-0500)] <EricDalquist> oh yeah
[15:19:47 CDT(-0500)] <EricDalquist> my brain is so cooked
[15:19:52 CDT(-0500)] <athena> i totally hear that
[15:20:07 CDT(-0500)] <athena> i happened to have a file on my machine w/ a bunch of this info
[15:20:20 CDT(-0500)] <athena> stayed up too late last night
[15:20:28 CDT(-0500)] <EricDalquist> as did I
[15:20:33 CDT(-0500)] <athena> (smile)
[15:20:36 CDT(-0500)] <EricDalquist> had people over to drink and watch election returns
[15:20:42 CDT(-0500)] <EricDalquist> which resulted in lots of drinking
[15:20:47 CDT(-0500)] <athena> lol
[15:21:36 CDT(-0500)] <athena> that's always fun
[15:22:03 CDT(-0500)] <EricDalquist> yeah
[15:22:43 CDT(-0500)] <athena> might group the groups, permissions, and user management together into bullets under like "updated administration tools" or something
[15:22:51 CDT(-0500)] <EricDalquist> yeah
[15:56:05 CDT(-0500)] <EricDalquist> I think I have the jasig parent pom setup now that it will force a license header check when releasing
[16:04:51 CDT(-0500)] <athena> nice

  • No labels