uPortal IRC Logs-2009-01-20

[05:02:04 EST(-0500)] * higmad (n=chatzill@pcit-8752.hig.se) has joined ##uportal
[09:04:31 EST(-0500)] * athena7 (n=athena7@adsl-99-136-251-32.dsl.wlfrct.sbcglobal.net) has joined ##uportal
[09:36:35 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[10:09:04 EST(-0500)] * lennard1 (n=sparhk@wsip-98-174-242-39.ph.ph.cox.net) has joined ##uportal
[10:14:07 EST(-0500)] * michelled (n=michelle@142.150.154.197) has joined ##uportal
[10:39:08 EST(-0500)] * michelled (n=team@142.150.154.197) has joined ##uportal
[10:39:55 EST(-0500)] * holdorph (n=holdorph@wsip-98-174-242-39.ph.ph.cox.net) has joined ##uportal
[10:41:54 EST(-0500)] * colinclark (n=colin@bas2-toronto09-1176406152.dsl.bell.ca) has joined ##uportal
[11:04:54 EST(-0500)] * apetro (n=apetro@12.164.139.7) has joined ##uportal
[11:42:52 EST(-0500)] <athena7> EricDalquist: i had a maven release question i thought you might know the answer to
[11:43:00 EST(-0500)] <EricDalquist> ok
[11:43:12 EST(-0500)] <athena7> i noticed in the uportal pom the distribution management has the url set to scp://developer.ja-sig.org/jasig/htdocs/developer/projects/uportal/3.1.0-SNAPSHOT/
[11:43:27 EST(-0500)] <athena7> do i need to put the version in the url or will the plugin do that for me?
[11:43:56 EST(-0500)] <EricDalquist> if you want a version in the path you need to put it in
[11:44:06 EST(-0500)] <EricDalquist> that is for deploying the generated site
[11:44:10 EST(-0500)] <athena7> ah ok
[11:44:20 EST(-0500)] <EricDalquist> the root index.html file will end up at the exact path specified
[11:44:36 EST(-0500)] <athena7> so i would need to manually update it prior to releasing each version?
[11:45:07 EST(-0500)]

<EricDalquist> I haven't played with it a whole lot but I've tried using $

Unknown macro: {pom.version}

which kind of works but seems to have issues in a multi-module project


[11:45:17 EST(-0500)] <athena7> ah
[11:45:19 EST(-0500)] <EricDalquist> the maven-site plugin in general has issues with multi-module projects
[11:45:59 EST(-0500)] <athena7> ah
[11:46:02 EST(-0500)] <athena7> that's unfortunate
[11:51:48 EST(-0500)] * bszabo (n=bszabo@ip72-208-41-138.ph.ph.cox.net) has joined ##uportal
[13:00:19 EST(-0500)] * colinclark (n=colin@bas2-toronto09-1176406152.dsl.bell.ca) has joined ##uportal
[13:31:50 EST(-0500)] * apetro (n=apetro@12.164.139.7) has joined ##uportal
[13:59:55 EST(-0500)] * apetro (n=apetro@12.164.139.7) has joined ##uportal
[14:19:56 EST(-0500)] * bszabo (n=bszabo@ip72-208-41-138.ph.ph.cox.net) has joined ##uportal
[15:09:25 EST(-0500)] * ChanServ (ChanServ@services.) has joined ##uportal
[15:10:26 EST(-0500)] * Tuomaz_ (n=fredrik@kaffe.umdc.umu.se) has joined ##uportal
[15:10:26 EST(-0500)] * athena7 (n=athena7@adsl-99-136-251-32.dsl.wlfrct.sbcglobal.net) has joined ##uportal
[15:10:26 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[15:10:26 EST(-0500)] * lennard1 (n=sparhk@wsip-98-174-242-39.ph.ph.cox.net) has joined ##uportal
[15:10:26 EST(-0500)] * michelled (n=team@142.150.154.197) has joined ##uportal
[15:10:26 EST(-0500)] * holdorph (n=holdorph@wsip-98-174-242-39.ph.ph.cox.net) has joined ##uportal
[15:10:26 EST(-0500)] * bszabo (n=bszabo@ip72-208-41-138.ph.ph.cox.net) has joined ##uportal
[15:10:42 EST(-0500)] * ChanServ (ChanServ@services.) has joined ##uportal
[15:12:39 EST(-0500)] * gt2304b (n=gt2304b@adsl-074-184-125-241.sip.asm.bellsouth.net) has joined ##uportal
[15:22:18 EST(-0500)] * michelled (n=team@142.150.154.197) has left ##uportal
[15:33:19 EST(-0500)] <jlee> athena7 / EricDalquist: brad caught me up to speed on your previous discussion about jQuery in portlets
[15:33:37 EST(-0500)] <EricDalquist> (smile)
[15:33:39 EST(-0500)] <jlee> it is possible to run multiple instances and multiple versions of jQuery on the same page
[15:33:58 EST(-0500)] * EricDalquist likes jQuery more and more
[15:34:05 EST(-0500)] <jlee> yes, jQuery rocks!
[15:34:06 EST(-0500)] <EricDalquist> even though I do zero javascript work (tongue)
[15:34:06 EST(-0500)] <jlee> (smile)
[15:34:31 EST(-0500)] <jlee> also, athena7, to answer your question – it will work with jQuery UI
[15:35:11 EST(-0500)] <athena7> ok, so we could potentially have multiple versions of jquery ui on the same page?
[15:35:17 EST(-0500)] <jlee> any jQuery plugin that is created using the jQuery plugin guidelines will be able to support to multiple instance features of jQuery
[15:35:22 EST(-0500)] <jlee> yep
[15:36:26 EST(-0500)] <EricDalquist> this should probably be documented as part of the portlet dev guidelines
[15:36:33 EST(-0500)] <jlee> there are custom plugins out there that don't follow guidelines that you may run into problems with
[15:36:37 EST(-0500)] <athena7> that's good to know, at least
[15:36:38 EST(-0500)] <jlee> but jQuery UI works fine
[15:36:46 EST(-0500)] <EricDalquist> I'm assuming that portlets would need to reference their version of jQuery correctly to get the right one?
[15:37:00 EST(-0500)] <athena7> we've had problems in the past where including the same jquery ui file twice on the same page caused all instances of that plugin to break completely
[15:37:06 EST(-0500)] <athena7> has that been fixed?
[15:37:27 EST(-0500)] <jlee> right.. best practice is to include the jquery core libray, then include any plugins right afterward (including jquery ui), and then using jQuery.noConflict(true) to rename itself
[15:37:57 EST(-0500)] <jlee> and so if you did something like var $jq = jQuery.noConflict(true);
[15:38:20 EST(-0500)] <jlee> then $jq will reference only the version of jquery / jquery UI instance of that portlet
[15:39:02 EST(-0500)] <jlee> and the jQuery.noConflict(true) frees up the jQuery namespace, so that you can then include another version / instance of jQuery core w/o conflicts
[15:39:09 EST(-0500)] <athena7> makes sense
[15:39:46 EST(-0500)] <EricDalquist> so a portlets should be written such that they load in the specified order then immediately call "$jq = jQuery.noConflict(true);"
[15:39:56 EST(-0500)] <EricDalquist> picking a well named value in place for jq
[15:40:28 EST(-0500)] <jlee> right, each portlet should have a unique value for 'jq' (smile) – but that will work
[15:41:03 EST(-0500)] <athena7> so how do we associate a portlet with a particular version of jquery?
[15:41:43 EST(-0500)] <jlee> you would source the particular version of jquery in the portlet ui code
[15:42:01 EST(-0500)] <jlee> and then source all of the plugins needed for that portlet
[15:42:08 EST(-0500)] <jlee> and then run noConflict(true)
[15:42:09 EST(-0500)] <EricDalquist> well with JSR-168 ... the portlet would have to do inline JS loading (ugly and not really xhtml compliant but it works) and call the noConflict and assign a uniquely named namespace to use?
[15:42:35 EST(-0500)] <athena7> isn't that likely to have some performance implications?
[15:42:56 EST(-0500)] <athena7> if we include the javascript in the main page, then include it in each portlet?
[15:43:12 EST(-0500)] * apetro (n=apetro@12.164.139.7) has joined ##uportal
[15:43:30 EST(-0500)] <EricDalquist> I'm not sure there is much of a better way other than having to do portal specific stuff for each portlet
[15:43:45 EST(-0500)] <EricDalquist> JSR-268 would fix this since portlets can participate in rendering the header
[15:43:58 EST(-0500)] <athena7> yeah
[15:44:02 EST(-0500)] <jlee> and the performance hit is only on the first render of the portlet.. it will be cached afterwards by the browser...
[15:44:07 EST(-0500)] <EricDalquist> yeah
[15:44:09 EST(-0500)] <jlee> and with jQuery have a pretty small footprint, it's not that bad
[15:44:20 EST(-0500)] <EricDalquist> I'm kind of seeing where jetspeed was going here
[15:44:41 EST(-0500)] <athena7> i've heard some people complain that javascript includes aren't always properly cached, particularly over ssl
[15:44:56 EST(-0500)] <jlee> however, I've found that the small performance hit is worth the maintainability of having each portlet source it's own version of jQuery
[15:45:04 EST(-0500)] <EricDalquist> if a portlet could declare properties like framework=jQuery, version=1.3, plugins=jQueryUI;Foo, namespace=bm
[15:45:20 EST(-0500)] <EricDalquist> then the portal could include a minimal number of JS links
[15:46:01 EST(-0500)] <EricDalquist> but if the included JS links have good cache controls set (maybe even the google JS hosting stuff) then browser loading should be the minimal set anyways
[15:46:20 EST(-0500)] <EricDalquist> what do browsers do if you include the same .js file multiple times on one page?
[15:46:49 EST(-0500)] <athena7> well the problem is it likely wouldn't actually be the same js file
[15:46:51 EST(-0500)] <jlee> I've found it necessary to make tweaks to the jQuery core / jQuery UI libraries, as well as other jquery plugins... with making each portlet it's own isolated instance, it avoids the headache of ensuring backwards compatibility when new versions of jQuery / plugins come out
[15:47:09 EST(-0500)] <jlee> EricDalquist: afaik, most browsers will pull it once and cache it
[15:47:13 EST(-0500)] <athena7> if it was included by the portlet, it would likely be a file in the portlet's context
[15:47:16 EST(-0500)] <jlee> I know firefox does that at least
[15:47:22 EST(-0500)] <EricDalquist> that's kind of what I figured
[15:47:31 EST(-0500)] <athena7> rather than a link to the on in uportal's context
[15:48:19 EST(-0500)] <EricDalquist> yeah ... I guess I'm just wondering if linking to something like http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js would be better? (if you don't have to customize it)
[15:48:32 EST(-0500)] <EricDalquist> then if 3 portlets all depend on jQuery 1.3.0 they all have the same link
[15:48:43 EST(-0500)] <EricDalquist> and the browser caches it once and you're good forever
[15:48:45 EST(-0500)] <athena7> sounds great to me
[15:48:59 EST(-0500)] <athena7> and it'd cut down on the amount of stuff we need to keep in the portal
[15:49:00 EST(-0500)] <EricDalquist> if a version changes for one of the portlets that is part of the URL so you're fine there
[15:49:18 EST(-0500)] <EricDalquist> we really need to document this on the wiki
[15:49:22 EST(-0500)] <athena7> we do
[15:49:29 EST(-0500)] * bszabo (n=bszabo@ip72-208-41-138.ph.ph.cox.net) has joined ##uportal
[15:49:37 EST(-0500)] <athena7> so the jquery ui files we haven't aren't necessarily canonical, though
[15:49:46 EST(-0500)] <athena7> they're trimmed down to the set of things we actually need
[15:50:06 EST(-0500)] <EricDalquist> http://www.ja-sig.org/wiki/display/PLT/JavaScript+Best+Practices
[15:50:18 EST(-0500)] <athena7> sounds great
[15:50:45 EST(-0500)] <athena7> and actually, i think gary and i are presenting on some best practices stuff at the conference
[15:51:00 EST(-0500)] <EricDalquist> athena7: I can see the value in trimming if we're doing local hosting, the benefit of something like the google service is that even though you're getting a larger file hopefully you only ever get it once
[15:51:26 EST(-0500)] <EricDalquist> do you want to take a first crack at filling that page in? If not I can give it a quick go now and ask you and jlee to review it for me (smile)
[15:51:55 EST(-0500)] <athena7> i'm unlikely to have time to do it today at this point, although i'd be happy to take a look tomorrow
[15:52:12 EST(-0500)] <athena7> yeah eric i agree with you, i just want to make sure we recognize that it's a change in behavior
[15:52:33 EST(-0500)] <EricDalquist> (smile)
[15:52:45 EST(-0500)] <athena7> is there a list somewhere of what's available on google's server? and are they ok with people using it this way?
[15:52:47 EST(-0500)] <EricDalquist> are the potential negative side effects of loading the larger files?
[15:52:59 EST(-0500)] <athena7> just load time
[15:53:04 EST(-0500)] <EricDalquist> http://code.google.com/apis/ajaxlibs/
[15:53:09 EST(-0500)] <athena7> excellent, thanks
[15:53:18 EST(-0500)] <EricDalquist> they even have a meta API for loading (tongue)
[15:53:23 EST(-0500)] <EricDalquist> not sure if that is useful or not
[15:53:25 EST(-0500)] <athena7> i think this sounds like a pretty reasonable approach to me
[15:53:43 EST(-0500)] <athena7> one thing we need to check on is making sure we can access everything over https
[15:53:51 EST(-0500)] <EricDalquist> ah
[15:53:53 EST(-0500)] <EricDalquist> yeah
[15:53:53 EST(-0500)] <athena7> which would probably rule out the API
[15:53:54 EST(-0500)] <EricDalquist> good call
[15:53:58 EST(-0500)] <athena7> otherwise IE cries
[15:54:12 EST(-0500)] <EricDalquist> https://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js
[15:54:13 EST(-0500)] <EricDalquist> that works
[15:54:52 EST(-0500)] <athena7> it looks like the performance is more or less reasonable
[15:55:02 EST(-0500)] <athena7> of course, it means the portal wouldn't work for offline development
[15:55:29 EST(-0500)] <athena7> we had problems at yale in the past with the load times of the google APIs
[15:55:33 EST(-0500)] <athena7> although it seems to have improved
[15:55:34 EST(-0500)] <EricDalquist> ah
[15:55:55 EST(-0500)] <EricDalquist> yeah ... the other option we talked about in the past is publishing a little servlet fitler jar that could do the same thing locally
[15:56:18 EST(-0500)] <EricDalquist> fully qualified URIs to the JS libs (in the portal or portlet) and set aggressive caching options
[15:56:23 EST(-0500)] <athena7> right
[15:56:31 EST(-0500)] <athena7> i think that might be better in the long run
[15:56:47 EST(-0500)] <athena7> give us a lot more flexibility in terms of available versions, allow people to run their dependencies locally
[15:56:53 EST(-0500)] <EricDalquist> http://www.google.com/jsapi
[15:57:00 EST(-0500)] <athena7> i imagine there are some that wouldnt' be comfortable w/ the google dependency
[15:57:07 EST(-0500)] <EricDalquist> their loader API does geolocation for loading (tongue)
[15:57:11 EST(-0500)] <EricDalquist> yeah
[15:57:29 EST(-0500)] <athena7> yeah, that's probably for a default location for the google local search
[15:57:37 EST(-0500)] <athena7> and you know, statistics (tongue)
[15:57:58 EST(-0500)] <EricDalquist> it looks like they use it to help stick you with a server that hosts the static JS closer to your physical location
[15:58:02 EST(-0500)] <athena7> do we have a ticket describing the proposed work for th eservlet filter?
[15:58:15 EST(-0500)] <athena7> ah, interesting
[15:58:42 EST(-0500)] <EricDalquist> I don't think so
[15:58:53 EST(-0500)] <EricDalquist> I wish I had more time to play with this stuff (sad)
[15:59:01 EST(-0500)] <athena7> yeah, i've been really busy too (sad)
[15:59:07 EST(-0500)] <athena7> i do have a couple extra hours this week though
[15:59:16 EST(-0500)] <athena7> if we have an idea of what we want, i'd be willing to take a look at it
[15:59:33 EST(-0500)] <athena7> in part as an attempt to preserve my future sanity
[15:59:38 EST(-0500)] <EricDalquist> (smile)
[16:00:58 EST(-0500)] <athena7> from what i remember, i think we discussed a small webapp that would spit out gzipped, minified javascript with long cache timeouts
[16:01:17 EST(-0500)] <athena7> though we need to keep in mind that firefox ignores caching on SSL, so we can't rely too much on caching behavior
[16:01:52 EST(-0500)] <EricDalquist> firefox ignores ALL caching on SSL?
[16:01:55 EST(-0500)] <EricDalquist> that's stupid (tongue)
[16:03:23 EST(-0500)] <athena7> i believe so, by default
[16:03:29 EST(-0500)] <jlee> ran into that issue the other day
[16:03:31 EST(-0500)] <jlee> http://blogs.gnome.org/jamesh/2008/05/01/firefox-ssl/
[16:03:39 EST(-0500)] <athena7> that's why i'd had concerns about just relying on the javascript being cached
[16:03:43 EST(-0500)] <jlee> you can set some header info that allows you to cache in FF3
[16:04:15 EST(-0500)] <EricDalquist> ah ok
[16:04:30 EST(-0500)] <athena7> excellent
[16:04:33 EST(-0500)] <athena7> that's an improvement, at least
[16:04:38 EST(-0500)] <EricDalquist> yeah the Cache-Control: public should be specified on all long-term cached documents anyways
[16:04:53 EST(-0500)] <athena7> so we'd only be talking about broken caching for FF2 users at this point (FF3 and IE having caching abilities over SSL)
[16:05:03 EST(-0500)] <EricDalquist> there are like a half dozen headers you need to set to really get browsers to cache the data 'forever'
[16:05:50 EST(-0500)] <athena7> yeah
[16:06:21 EST(-0500)] <EricDalquist> google sets:
[16:06:22 EST(-0500)] <EricDalquist> Expires: Wed, 20 Jan 2010 21:06:00 GMT
[16:06:25 EST(-0500)] <EricDalquist> Cache-Control: public, max-age=31536000
[16:06:39 EST(-0500)] <EricDalquist> and they gzip the transer
[16:06:44 EST(-0500)] <EricDalquist> transfer*
[16:10:03 EST(-0500)] <athena7> ok
[16:10:19 EST(-0500)] <athena7> do we have any kind of consensus on what we'd want the behavior of this little webapp to be?
[16:10:35 EST(-0500)] <athena7> request a dependency and get back an appropriately squished and cachified file?
[16:10:48 EST(-0500)] <EricDalquist> well, I guess we have two different things we could use
[16:10:57 EST(-0500)] <EricDalquist> one would be a servlet filter
[16:11:01 EST(-0500)] <athena7> if we're going to hope that uportal and portlets share things, merging all dependencies into one file might make less sense
[16:11:07 EST(-0500)] <EricDalquist> that you could use as a pass-through around .js files
[16:11:27 EST(-0500)] <EricDalquist> it could force gzip transfer and set the aggressive cache headers
[16:11:34 EST(-0500)] <athena7> ones existing in that webapp?
[16:11:39 EST(-0500)] <EricDalquist> the portlet dev would still be responsible for using well named paths
[16:11:40 EST(-0500)] <EricDalquist> yes
[16:11:48 EST(-0500)] <athena7> ok
[16:11:59 EST(-0500)] <EricDalquist> the other would be an external service type of thing, more like the google API
[16:12:18 EST(-0500)] <athena7> i guess we could even potentially just start with the first, and add the second later
[16:12:40 EST(-0500)] <athena7> do we want this to be a separate project from uportal?
[16:13:46 EST(-0500)] <EricDalquist> brb ....
[16:13:48 EST(-0500)] <athena7> sure
[16:14:54 EST(-0500)] * EricDalquist (n=dalquist@bohemia.doit.wisc.edu) has joined ##uportal
[16:15:22 EST(-0500)] <EricDalquist> ok
[16:15:30 EST(-0500)] <EricDalquist> so the servlet filter
[16:15:40 EST(-0500)] <EricDalquist> yeah I'm thinking just a little jar we can publish as a maven artifact
[16:17:33 EST(-0500)] <EricDalquist> jlee: do you think you could write out a little HTML snippet example for me of loading jQuery plus a few plugins then assigning it to a namespace?
[16:18:28 EST(-0500)] <jlee> sure...
[16:18:34 EST(-0500)] <EricDalquist> or athena7 for that matter? that's a bit outside my experiance
[16:18:35 EST(-0500)] <athena7> eric, if it's helpful, i can try and take a stab at that this week to get us started
[16:18:42 EST(-0500)] <EricDalquist> experience*
[16:18:45 EST(-0500)] <athena7> if jlee doesn't mind, i'd appreciate it
[16:19:02 EST(-0500)] <EricDalquist> ok ... well I'll make the wiki page fill in the blank for now (smile)
[16:19:20 EST(-0500)] <athena7> i could do something, but i'd love having the example from someone more experienced than i am to make sure we're doing it the right way
[16:19:34 EST(-0500)] <athena7> and i'd be happy to refactor the current uportal javascript to match (that stuff needs some work anyway)
[16:19:54 EST(-0500)] * bszabo (n=bszabo@ip72-208-41-138.ph.ph.cox.net) has joined ##uportal
[16:20:02 EST(-0500)] * bszabo (n=bszabo@ip72-208-41-138.ph.ph.cox.net) has left ##uportal
[16:20:14 EST(-0500)] <EricDalquist> http://www.ja-sig.org/wiki/display/PLT/JavaScript+Best+Practices
[16:20:46 EST(-0500)] <EricDalquist> there is a placeholder there with a description above it explaining what should be in the little code box
[16:22:23 EST(-0500)] <jlee> Here is a snippet of some code from a portlet that I've developed that uses jQuery and a custom treeview plugin.
[16:22:24 EST(-0500)] <jlee>
[16:22:26 EST(-0500)] <jlee> <script type="text/javascript" src="<html:mediaPath />javascript/jquery/jquery-1.2.3.pack.js" ></script>
[16:22:26 EST(-0500)] <jlee> <script type="text/javascript" src="<html:mediaPath />javascript/jquery-treeview/jquery.treeview.js" ></script>
[16:22:26 EST(-0500)] <jlee> <script type="text/javascript">
[16:22:26 EST(-0500)] <jlee> var communities = {};
[16:22:28 EST(-0500)] <jlee> communities.$jq = jQuery.noConflict(true);
[16:22:30 EST(-0500)] <jlee> // document.ready
[16:22:34 EST(-0500)] <jlee> communities.$jq(function() {
[16:22:36 EST(-0500)] <jlee> var $ = communities.$jq;
[16:22:38 EST(-0500)] <jlee>
[16:22:40 EST(-0500)] <jlee> // treeview init
[16:22:42 EST(-0500)] <jlee> $('ul.listing').treeview({
[16:22:44 EST(-0500)]

<jlee> animated:

Unknown macro: {duration}

,


[16:22:46 EST(-0500)] <jlee> collapsed: true,
[16:22:48 EST(-0500)] <jlee> unique: false
[16:22:50 EST(-0500)] <jlee> });
[16:22:52 EST(-0500)] <jlee> $('ul.treeview ul').siblings('a').click(function(e) {
[16:22:54 EST(-0500)] <jlee> e.preventDefault();
[16:22:56 EST(-0500)] <jlee> $(this).siblings('div.hitarea').trigger('click');
[16:22:58 EST(-0500)] <jlee> $(this).blur();
[16:23:00 EST(-0500)] <jlee> });
[16:23:04 EST(-0500)] <jlee> });
[16:23:06 EST(-0500)] <jlee> </script>
[16:23:08 EST(-0500)] <jlee>
[16:24:14 EST(-0500)] <EricDalquist> nice, thanks
[16:24:20 EST(-0500)] <jlee> oops, sorry.. just realized there was a uportal pastbin setup (smile)
[16:24:25 EST(-0500)] <EricDalquist> (smile)
[16:25:14 EST(-0500)] * lennard1 (n=sparhk@wsip-98-174-242-39.ph.ph.cox.net) has joined ##uportal
[16:26:28 EST(-0500)] <athena7> thanks jlee!
[16:26:38 EST(-0500)] <jlee> np
[16:27:55 EST(-0500)] <athena7> so to call something in the javascript file?
[16:29:33 EST(-0500)] <athena7> for one of the scripts, until some refactoring is done, we'll need all the functions to be visible
[16:31:45 EST(-0500)] <EricDalquist> ok, I think I have what we talked about today captured: http://www.ja-sig.org/wiki/display/PLT/JavaScript+Best+Practices
[16:31:59 EST(-0500)] <EricDalquist> please feel free to add to or revise that page as needed
[16:32:11 EST(-0500)] <EricDalquist> we should add another page about how coding CSS to element IDs == bad
[16:32:13 EST(-0500)] <athena7> thanks eric!
[16:32:35 EST(-0500)] <athena7> i need to head out soon, but i'll take a look at this stuff tomorrow morning
[16:32:42 EST(-0500)] <EricDalquist> great, thanks
[16:33:02 EST(-0500)] <athena7> thank you!
[16:35:26 EST(-0500)] <jlee> just to add to the snippet I pasted... "var communities ={};" <-- is not really necessary... I just had that in there because I wanted to create a namespace for the portlet, because there were other js functions in the portlet that I didn't want polluting the global namespace
[16:35:49 EST(-0500)] <EricDalquist> ok, that makes sense
[16:35:54 EST(-0500)] <jlee> you could easily remove 'var communities={};' and just do something like $jq = jQuery.noConflict(true);
[16:35:56 EST(-0500)] <EricDalquist> we should probably leave it and just document that
[16:36:08 EST(-0500)] <EricDalquist> since many portlets will likely have their own functions
[16:37:04 EST(-0500)] <athena7> sounds good
[16:37:07 EST(-0500)] <athena7> thanks so much guys
[16:37:32 EST(-0500)] <EricDalquist> no problem
[16:37:55 EST(-0500)] <EricDalquist> I just hope some JS folks proof read what I put up and fix any terminology issues
[16:38:09 EST(-0500)] <EricDalquist> I feel like I need a sign around here some times:
[16:38:19 EST(-0500)] * EricDalquist is not a JavaScript/CSS/HTML guru
[16:38:31 EST(-0500)] <EricDalquist> around here being where I physically work
[16:39:02 EST(-0500)] <jlee> (smile)
[16:39:08 EST(-0500)] <athena7> just having something there is a start
[17:00:24 EST(-0500)] <EricDalquist> stuff like that from jQuery restores my faith in JavaScript being viable (smile)
[17:55:35 EST(-0500)] * apetro (n=apetro@12.164.139.7) has joined ##uportal
[17:58:55 EST(-0500)] * apetro (n=apetro@12.164.139.7) has joined ##uportal
[19:57:55 EST(-0500)] * lennard1 (n=sparhk@wsip-98-174-242-39.ph.ph.cox.net) has left ##uportal
[22:01:56 EST(-0500)] * athena7 (n=athena7@adsl-99-136-251-32.dsl.wlfrct.sbcglobal.net) has joined ##uportal
[22:16:51 EST(-0500)] * apetro (n=apetro@ip68-3-207-51.ph.ph.cox.net) has joined ##uportal
[23:17:30 EST(-0500)] * [jlee] (n=jlee_lap@adsl-074-184-125-241.sip.asm.bellsouth.net) has joined ##uportal