21:04:44 <mojavelinux> #startmeeting 21:04:52 <jbott> Meeting started Wed Mar 30 21:04:44 2011 UTC. The chair is mojavelinux. Information about MeetBot at http://wiki.debian.org/MeetBot. 21:04:52 <jbott> Useful Commands: #action #agreed #help #info #idea #link #topic. 21:04:52 <jose_freitas> kenfinnigan: I'm good ken, I little bit tired, but nothing that a good night sleep will solve 21:05:05 <jose_freitas> and you? 21:05:16 <jose_freitas> ops 21:05:22 <kenfinnigan> Getting over beong sick since saturday! 21:05:31 <mojavelinux> I think a good night sleep would help a lot of us at this point ;) 21:05:36 <mojavelinux> oh no, sick, worse 21:06:09 <kenfinnigan> I know. Thankfully been working from last few days 21:06:23 <kenfinnigan> Will respond to ur email from sunday tonight 21:06:31 <lincolnthree> Hi all 21:06:37 <kenfinnigan> Summary: very interested 21:06:56 <mojavelinux> excellent 21:07:06 <kenfinnigan> Hi lincolnthree 21:07:12 <jose_freitas> hi lincolnthree 21:07:45 <mojavelinux> first, before any topic or announcement, I want to start by saying thanks 21:08:04 <mojavelinux> thanks for all the great work, we annihilated bugs last week 21:09:09 <mojavelinux> 70 to 0 in 2 days, that's a pretty amazing feat, but it also shows a lot of initiative 21:09:44 <mojavelinux> i'll be the first to admit that I often look at bugs and assume they will just get fixed 21:09:58 <kenfinnigan> Haven't we all 21:10:04 <mojavelinux> so I really appreciate it when I see people scanning through the list and trying to find something to fix 21:10:08 <kenfinnigan> New features are more fun 21:10:40 <mojavelinux> yep, it's especially fun to scratch your own itches rather than scratching the back of someone else 21:10:44 <mojavelinux> yet once we got going 21:11:11 <mojavelinux> it really inspired everyone to get into the mood of making seam ready for final 21:13:13 <mojavelinux> so good job...and thanks for being a part of the team. my wife wants to kill me by now for talking about you all so much :) 21:13:31 <jose_freitas> hehehe 21:15:18 <mojavelinux> with that said, i know that we still have a ways to go with seam, but as larry page says "the work is not done. and there is nothing more fun than doing that work" :) 21:15:36 <mojavelinux> jose, you did a training last week, are there some thoughts that you want to share from it? 21:16:17 <jose_freitas> well, people really got confused with the nature of the proxied injection, and I had a bad time explaining to everyone 21:16:41 <jose_freitas> besides that we discussed a lot about design patterns, use of ejb directly on a view 21:16:56 <jose_freitas> and they seemed to accept that 21:17:02 <jose_freitas> about seam, they really loved catch 21:17:33 <jose_freitas> I presented security, config, faces, persitence, catch and remoting 21:17:52 <mojavelinux> did you use the booking example, or another example? 21:17:59 <jose_freitas> yes 21:18:03 <jose_freitas> booking example 21:18:15 <jose_freitas> but we builded some things also 21:18:20 <jose_freitas> in the exercises 21:18:24 <mojavelinux> cool 21:19:06 <mojavelinux> yes, the proxied injection is tough, because even though you want the scope to not be the concern of the client, the client does need to know what guarantees it is getting 21:19:39 <mojavelinux> sounds like perhaps a good point for the opening chapters of seam or even the weld reference guide 21:19:49 <mojavelinux> btw, has everyone seen the CDISource initiative? 21:19:57 <kenfinnigan> Not yet 21:20:01 <mojavelinux> http://java.dzone.com/articles/announcing-cdisource 21:20:09 <mojavelinux> started by Andy Gibson and Rick Hightower 21:20:16 <mojavelinux> Andy has been a long-time follower of the Weld and Seam projects 21:20:21 <jose_freitas> I saw it 21:20:33 <mojavelinux> and Rick is a well-respected developer in the Spring camp 21:20:40 <jose_freitas> I'd like to join, but I guess I don´t have enough material to contribute with guys like andy gibson 21:20:44 <mojavelinux> Spring and JSF that is 21:20:58 <jose_freitas> I'll start to blog and use twitter 21:21:06 <jose_freitas> to advocate more about cdi 21:21:20 <jose_freitas> and seam :) 21:21:29 <mojavelinux> don't be timid about joining, I think this initiative will help us support each other in training and teaching 21:21:52 <mojavelinux> in fact, in a way, it's sad to me that Red Hat wasn't the one that launched it, because we should have been on the one hand 21:22:01 <mojavelinux> but on the other hand, I'm just as happy it was started in the community 21:22:05 <mojavelinux> even better 21:22:14 <mojavelinux> because there really isn't a good central source of information for CDI 21:22:40 <mojavelinux> so hopefully we'll be able to work with them to spread the word about CDI 21:22:55 <mojavelinux> it breaks my heart everytime I see Maven pulling in Guice as a dependency for another project I'm using 21:23:01 <mojavelinux> :( 21:23:05 <jose_freitas> hehehe 21:24:41 <nickarls> BTW is http://groups.diigo.com/group/cdi-extensions referenced in CDI source? 21:25:07 <mojavelinux> that's actually something I was going to talk about, thanks for bringing that up 21:25:31 <mojavelinux> making a diigo as a cdi-extensions directory was, well, not really that successful 21:25:40 <mojavelinux> i'd like to take a slightly different approach 21:25:49 <mojavelinux> instead, I'd like to do what we did with arquillian 21:26:03 <mojavelinux> we have a diigo account for articles, blogs, tutorials, etc about a topic 21:26:28 <mojavelinux> then anytime you see a decent article, you post it...so it's a catalog of promoted information on the web about the topic 21:26:37 <mojavelinux> and then people can vote it up or down 21:26:47 <kenfinnigan> Sounds like a good idea 21:26:52 <mojavelinux> it's a little different than submitting to dzone and the like because I sort of consider it our catalog 21:26:56 <jose_freitas> like dzone? 21:27:01 <jose_freitas> ok 21:27:08 <mojavelinux> when I need information about arquillian, I always use the diigo group 21:27:20 <mojavelinux> it's pure and it sort of becomes our recommended resources 21:27:31 <mojavelinux> and we can prune things that turn out to be not that useful 21:27:52 <mojavelinux> plus, using tags, we can easy classify the links as advanced, beginner, etc 21:28:07 <mojavelinux> it's really quite easy to maintain...I usually add about one a week to the arquillian one 21:28:30 <mojavelinux> and if you just post it in IRC someone will make sure it's up there 21:28:38 <mojavelinux> then yes, that I hope to have linked from cdisource 21:29:02 <mojavelinux> anything related to a seam module would just get tagged seam 21:29:12 <mojavelinux> and the module as well 21:29:16 <aslak> mojavelinux, #jbosstesting 21:30:04 <mojavelinux> there is still the issue of a catalog of extensions, I'll have to see what andy and rick have in mind 21:30:16 <mojavelinux> but we haven't really found the right solution yet to advocate for them properly 21:31:40 <mojavelinux> remember that when you talk about cdi, seam, etc, the goal is not simply to convert people to "the one true way"; instead, as jose was saying, talk about patterns and best practices 21:31:51 <mojavelinux> try to figure out what people need, what they struggle with, and what we can improve on 21:32:24 <mojavelinux> because seam isn't the perfect developer experience yet...but I know we can make it a very excellent one by taking in feedback and listening 21:32:36 <mojavelinux> I always have to remind myself of that in my talks, gotta do more of that :) 21:33:07 <mojavelinux> let's turn complaints into jiras :) 21:33:12 <jose_freitas> mojavelinux: that's definetelly a point worth mention, best practices 21:33:19 <nickarls> remember to throw in some Spring FUD, too ;-) 21:33:28 <mojavelinux> hahha 21:33:36 <jose_freitas> I'll write about some insights I have about that those days 21:33:57 <jose_freitas> and we have to destroy some myths as well 21:34:01 <mojavelinux> well, with Rick on board, that should make the Spring camp do a neck bone 21:34:27 <maschmid> mojavelinux: Any recommended reading material about pattrerns and best practices? 21:34:34 <kenfinnigan> Is it worth putting together a CDI patterns page somewhere? 21:34:51 <kenfinnigan> That become a replacement for j2ee patterns 21:35:03 <mojavelinux> #agreed it's worth putting together a CDI patterns page on the wiki; as a replacement for the old j2ee patterns 21:35:08 <mojavelinux> yep 21:35:36 <jose_freitas> there's a book by Adam biens called: Real World Patterns: 21:35:41 <jose_freitas> Rethinking patterns 21:35:51 <mojavelinux> cdi patterns will no doubt be more agile than the j2ee patterns, because cdi is really more about programming best practices (design by contract and interfaces) than a set of rigid solutions 21:36:02 <jose_freitas> but he doesn´t mention a lot of CDI 21:36:09 <mojavelinux> yeah, to be honest, at this point, I would say some of the best reading material on the subject is Adam Bien's work 21:36:24 <jose_freitas> yet on his blog he have some great material 21:36:33 <mojavelinux> I like the way that he thinks 21:36:39 <jose_freitas> me too 21:36:48 <jbossbot> git [12forge] push 10master7 c863bfb.. 6Lincoln Baxter, III scaffold create indexes example now shows --overwrite 21:36:53 <jbossbot> git [12forge] push 10master URL: http://github.com/seam/forge/compare/c3ae0a2...c863bfb 21:36:58 <mojavelinux> so far, the reading material we have for cdi is 21:37:37 <mojavelinux> ... 21:37:42 <mojavelinux> hard for dan to find 21:37:46 <mojavelinux> ... 21:37:50 <jose_freitas> lol 21:38:11 <kenfinnigan> If it's hard for you, it would be impossible for the rest of us 21:38:34 <mojavelinux> http://seamframework.org/Community/LinksToExternalCDIAndWeldDocumentation 21:38:39 <mojavelinux> hahaha 21:39:00 <mojavelinux> yeah, I know, that's why we need to see earlier idea of our article catalog 21:39:08 <mojavelinux> which will be seeded by that list 21:39:21 <mojavelinux> #agreed need a link to a catalog of articles about cdi and seam 21:39:33 <mojavelinux> maschmid: hopefully those will cover some best practices 21:39:40 <mojavelinux> and we'll make sure we label them as such when they do 21:40:22 <mojavelinux> so the answer to your question is, we are in the collection stage ;) 21:40:28 <maschmid> mojavelinux: cool, thanks! :) 21:40:44 <mojavelinux> there's also a first attempt here which i'll merge in 21:40:57 <mojavelinux> http://groups.diigo.com/group/cdi-tech-hub 21:41:16 <mojavelinux> lincoln has asked to talk to you guys about forge plugins 21:41:45 <lincolnthree> *takes the mic* 21:41:56 <jose_freitas> hehehe 21:42:00 <lincolnthree> Hey everyone 21:42:10 <bleathem> hey lincoln 21:42:30 <lincolnthree> As I'm sure some of you are already aware, Forge is starting to take shape in terms of plugin writing. 21:42:57 <lincolnthree> And with Seam 3.0.0.Final on the horizon. 21:43:14 <jose_freitas> *clap clap clap* 21:43:24 <lincolnthree> We think it's a good time to think about starting to write Seam plugins for Forge. 21:43:55 <lincolnthree> I know issues, enhancements, and bugs will start to roll in soon, but… how to say this. 21:44:23 <lincolnthree> sbryzak: mojavelinux, and I think now is a good time for module leads to spend some time learning Forge, since it is going to be a crucial part of the Seam vision, to make development more productive. 21:44:46 <kenfinnigan> Makes sense 21:45:12 <lincolnthree> The docs are located here: file:///Users/lbaxter/Downloads/forge-1.0.0-SNAPSHOT/doc/reference/html_single/index.html 21:45:24 <jose_freitas> lincolnthree: what kind of plugins do you have in mind (being imaginative) 21:45:28 <lincolnthree> More specifically: 21:45:33 <lincolnthree> file:///Users/lbaxter/Downloads/forge-1.0.0-SNAPSHOT/doc/reference/html_single/index.html#forge.plugin.dev 21:45:37 <lincolnthree> oops 21:45:47 <lincolnthree> http://docs.jboss.org/forge/snapshot/reference/en-US/html_single/ 21:45:52 <lincolnthree> sorry about that 21:45:56 <bleathem> the seam-gen plugin for forge 21:46:19 <lincolnthree> http://docs.jboss.org/forge/snapshot/reference/en-US/html_single/#forge.plugin.dev 21:46:40 <lincolnthree> Yes, so at a basic level, taking care of installing the Seam modules 21:46:46 <lincolnthree> Providing easy configuration for them 21:46:57 <lincolnthree> Basically attempting to lower the barrier to entry for Seam 3 21:47:11 <lincolnthree> So if I want to get started with Security, I would run 'forge' and type something like: 21:47:18 <lincolnthree> $ seam-security setup 21:47:31 <lincolnthree> which would figure out what I need to do and guide me through installation 21:47:46 <lincolnthree> Think of it as a maven archetype on steroids. 21:48:09 <lincolnthree> But it can also be more than that, for example, I want to see a report of which URLs are secured by my current configuration. 21:48:13 <lincolnthree> So I would type: 21:48:18 <bleathem> we need jpa reverse engineering, and JSF page creation plugins 21:48:22 <jose_freitas> oic, and it would create dependencies to seam-security, maybe to seam-config, and maybe we could create a basic authenticator with its configuration 21:48:30 <lincolnthree> $ seam-security list-secured-urls 21:48:44 <lincolnthree> jose_freitas: exactly 21:49:04 <jose_freitas> it sounds good 21:49:48 <lincolnthree> To wet your appetites... 21:49:54 <lincolnthree> Developing a plugin is as simple as: 21:50:22 <lincolnthree> $ new-project —named myplugin —topLevelPackage org.mypackage 21:50:29 <lincolnthree> $ project install-facet forge.api 21:50:40 <lincolnthree> Then create a class extending "Plugin" 21:50:44 <lincolnthree> implementing* 21:51:00 <lincolnthree> Even more enticing is the way plugins are distributed. 21:51:46 <lincolnthree> All you need to do is push your plugin into a git repo, and tell users where that repository lives. When they install, It will clone the repo, build the project, install the plugin, and hot-load it while forge is running. 21:52:14 <lincolnthree> here's an example of me installing the PrettyFaces plugin from Git while forge runs: http://pastebin.com/EEGLRHLJ 21:52:22 <bleathem> should forge plugins line in each respective module? or in the Forge project? 21:52:33 <lincolnthree> I was talking about sbryzak on that subject 21:52:37 <bleathem> ^live in, not line in 21:53:29 <lincolnthree> From my perspective. One repo for each plugin is easier to deal with. 21:53:35 <gmorling_> how about pulling in forge plug-ins from maven repositories? 21:53:40 <lincolnthree> But for the team's perspective, one repo with all plugins may make more sense. 21:53:46 * jose_freitas_afk have to go 21:53:50 <lincolnthree> gmorling_: yep, that works too 21:53:57 <lincolnthree> http://docs.jboss.org/forge/snapshot/reference/en-US/html_single/#plugin.dev.installing.mvn 21:54:13 <gmorling_> to me this seems better then building it locally 21:54:22 <lincolnthree> Yes, definitely. 21:54:57 <kenfinnigan> Could we have a plugins dir with each module like impl and API? 21:55:23 <lincolnthree> kenfinnigan: that's one option 21:55:30 <bleathem> that sounds good 21:55:49 <lincolnthree> mojavelinux: what do you think? should we take a vote or should this be discussed on seam-dev@jboss ? 21:56:10 <gmorling_> so the current approach strictly requires git to incorporate addtional plug-ins? 21:56:34 <lincolnthree> No 21:56:42 <lincolnthree> You can install plugins from: 21:56:49 <lincolnthree> 1. A local .jar file 21:56:56 <lincolnthree> 2. A remote (URL) .jar file. 21:57:08 <lincolnthree> 3. A mvn artifact ID. (Searches most repos, or specify a custom repo) 21:57:13 <lincolnthree> 4. Local project source files. 21:57:18 <lincolnthree> 5. Git 21:57:25 <gmorling_> ah, ok. now i'm happy :-) 21:57:37 <lincolnthree> There is also a prototype plugin index which will allow for searching and installing plugins by name 21:57:59 <lincolnthree> $ forge find-plugin {query} 21:58:42 <mojavelinux> there should be a plugin directory in each module I believe 21:58:50 <bleathem> +1 21:58:57 <lincolnthree> +1 21:59:24 <mojavelinux> also, the key to getting this initiative off the ground 21:59:37 <mojavelinux> beyond putting together the awesome framework, which was a lot of work and a big part of it 21:59:43 <mojavelinux> so credit that *cheers* 21:59:48 <lincolnthree> *cheers* 21:59:53 <mojavelinux> is that you have to get people to see their itch 22:00:08 <mojavelinux> and to see an itch, we need a plugin ideas whiteboard 22:00:14 <mojavelinux> there is the start of one 22:00:19 <mojavelinux> on the forge page 22:00:40 <mojavelinux> but I think it needs to be a separate page where we can get some ideas up on the whiteboard with clear actions...and perhaps even, as bleathem might advocate, jiras 22:00:47 <mojavelinux> and then just link to the component with all the ideas 22:00:56 <mojavelinux> that's probably a better approach 22:01:01 <mojavelinux> once one rock falls, more will follow 22:01:19 <mojavelinux> I suggested, for instance, a plugin to setup the solder logging annotation processor 22:01:23 <lincolnthree> In the end, I'd like to see a website dedicated to Forge and its plugin ecosystem 22:01:28 <lincolnthree> That would maintain these concerns 22:01:32 <mojavelinux> yes, that is in the seam master plan :) 22:01:36 <mojavelinux> but we need short term first 22:01:41 <lincolnthree> and also be an interface to the forge plugin search index 22:01:48 <mojavelinux> right, we will talk about that, esp with jason on board 22:01:53 <lincolnthree> TBH, we need that now. that is the next step 22:01:59 <lincolnthree> forge is ready for it 22:02:04 <mojavelinux> right, but I guess what I am saying is 22:02:12 <mojavelinux> plugin writers can continue on while we get that in place 22:02:17 <lincolnthree> Yes definitely :) 22:02:22 <mojavelinux> so they are parallel concerns 22:02:27 <lincolnthree> Agreed 22:02:32 <mojavelinux> another plugin idea is to add the annotation processor for jpa2 22:02:36 <mojavelinux> another pain in the ass for developers 22:02:44 <lincolnthree> Add it to the page :) 22:02:56 <mojavelinux> that's the one i'm missing, I added the other two 22:03:08 <lincolnthree> Btw. I figure that if we are all working on writing plugins together, this week and next week. 22:03:19 <mojavelinux> yes, so that's a good place to end 22:03:26 <lincolnthree> We can help each other learn together 22:03:31 <mojavelinux> for the next two weeks, the focus is on innovation 22:03:37 <mojavelinux> back to to fun stuff in modules 22:03:42 <mojavelinux> and on to writing forge plugins 22:04:02 <mojavelinux> because we want Seam 3.0.0.Final to be the beginning of a great thing, not the resting point 22:04:19 <mojavelinux> and already, I'm seeing awesome commits come through from not-yet-released-modules, which is awesome 22:04:31 <mojavelinux> like seam social and jcr 22:04:40 <mojavelinux> and jms 22:04:44 <lincolnthree> and mail 22:04:57 <mojavelinux> so let's innovate! just imagine how fun this channel will be now that we aren't just fixing glassfish bugs 22:05:02 <mojavelinux> *cheers* 22:06:49 <mojavelinux> #endmeeting