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