Re: [gentle] Gentle 2.0's Future. Also... looking for mediocre coders as volunteers for "other task
Brought to you by:
mnmr
From: <ado...@gm...> - 2007-03-31 20:38:50
|
I believe that Gentle needs good documentation, a shinny website, and a = lot of exposure once G2 is released. I am talking about spamming Reddit, Slashdot, Digg, etc.=20 Some of us that don't have the tech knowhow to help with the G2 = intricacies could help with documentation and website building. Some of us could = also help with translation. I will try to get some time to make my actions = louder than my words.=20 I opened the following sourceforge thread for this purpose and urge = anyone who can volunteer to do so.=20 http://sourceforge.net/forum/forum.php?thread_id=3D1705877&forum_id=3D352= 276 Gentle.net will have a great advantage over LINQ. Gentle supports many databases out of the box and LINQ will only support SQL Server. There = will be third party database providers for LINQ but it might suffer the same = fate as the ASP.NET membership, role, profile, etc providers. The third party database support was never made. I am coding Membership and Role = providers for Gentle, but direct support for .NET controls would be great. Let's = make Gentle easier to integrate with the visual controls than ever before. = Let's make it better than LINQ.=20 Adolfo J. Pe=F1a -----Original Message----- From: gop...@li... [mailto:gop...@li...] On Behalf Of Sanders, David Sent: Saturday, March 31, 2007 2:46 PM To: Gentle development Subject: Re: [gentle] Gentle 2.0's Future Here's my basic take: I think Gentle is wonderful, and I think it could be amazing, if I could build all of the add-ons that I want to build. (Gentle.CodeGeneration and the UI mapping accelerators for WinForms / WPF and WebForms.) I think Morten has done an AMAZING job building a robust and well-oiled DAL, and after using Gentle, I would never go back to doing things with my own DAL. I think the way the ORM interfaces with my code is perfect, using the best features of .NET with the use of Attributes, over external files, etc. My main concern is Gentle being future proof. Mainly by how it aligns with Microsoft's future plans. I don't grok LINQ well enough yet to know how Gentle fits into it, or how Gentle / LINQ might complement or compete with each other. I do know that I converted someone else's code snippet recently into something that uses Gentle, and I could replace 3 or 4 lines of their code to load data into an object with one line of Gentle code. :) But I worry that at some point in the near future, MS might release features that I want to use that won't be compatible with Gentle's way of doing things. (Or at least, not without a shim in between, possibly making the design brittle.) I want, badly, to just say, SCREW IT, and go full bore into Gentle - but I have those doubts in the back of my head. And I'd love someone to squash them. :) Once those fears are alleviated, I have no problem contributing. However, most of what you (Morten) do is way over my head. I could probably pick up and find and fix minor bugs, but any sort of detailed refactoring is out of my league without a serious amount of time going through the current code. I would love to expand and build out the Code Generation and the UI Accelerators though... I've built two versions against Gentle so far and for the most part they are working fine. I just need to expand them out to handle all of the situations where I've had to code around them. Frankly, once Extenders come out in .Net 3.5, a lot of the current issue I have now would go away, as I could simply extend the base controls from MS and smooth out a LOT of rough edges. =20 If there is a real team, I could also help out with project management style tasks, like combing through bug lists, pestering developers via email and so on, providing others are being communicative and semi-cooperative. If everyone's going to sign up for tasks and then never reply to my emails, then I'm not interested. :) Be warned that, if I do end up doing something like this, that I'm very anal retentive and task oriented. That mindset doesn't always work well in the "I'm doing it for free out of the goodness of my heart Open Source world." Re: marketing, I see three major "thrusts" for this: 1. Screencasts - once Gentle 2.x comes out and a beta Gentle.CodeGeneration and Gentle.Accelerator comes out, we MUST do screen casts and distribute them. This is the number one way, imho, to get other developers interested in your framework. An interesting screen cast might be to take one of the Rails or Subsonic screencasts and do the exact same demo - to show that Gentle can do everything RoR can, but its written for Microsofties... 2. Articles - CodeProject articles are a must. Several people need to write articles about Gentle - a couple with the basics, and then a half dozen shorter articles that cover specific cases that developers run into all the time. As well as articles that could accompany the screen casts to show the step by step instructions. While Documentation is obviously important, I think well written articles are better tools to get people actually using the software - THEN they'll need documentation to answer specific questions. 3. Interviews / Blogs - a Gentle DotNetRocks would go a long way. Possibly also on Polymorphic Podcast, which deals with .NET and just this sort of stuff. Getting a mention on Scott Guthrie's blog would also be a great boon. Back to documentation: I think that if the code base is properly documented to be able to generate a MSDN style doc, we'd be in good shape. Other than that we'd just need dozens of examples on how to do things. I rarely browse docs anymore - I'm much more into googling "how do I do X?" Finally, the software MUST have a good installer, and a wizard like interface (probably coupled with a VS.Net integrated interface) to get the developer started. I want to see a process where the developer: 1. Downloads the software 2. Runs SetupGentle.exe and installs the package. 3. Clicks to run the software 4. Walks through a set of screens that identify their database, ask for project / solution names, pick which tables they want to generate and a couple properties about the tables and then click "Do it." They could then open the SLN that the wizard generates with all of their gentle code nice and built, scaffolding built, and so on. =20 Obviously, there would be more advanced versions of the toolset for step 4, to allow tweaking of other generation features and so on, but I really want something that a dev could use right out of the gate, with little prior knowledge, and immediately see the benefit. (This is something that has driven the whole Cult of Rails to the front pages of magazines...) The dev should have a "functional" system in 5 minutes, without having to look up a thing in the docs. I apologize if the above is badly written and makes no sense. I really need to go lay down and let my brain stop hurting. :) D -----Original Message----- From: gop...@li... [mailto:gop...@li...] On Behalf Of Morten Mertner Sent: Wednesday, March 28, 2007 9:14 PM To: Gentle Subject: [gentle] Gentle 2.0's Future Hi All, The intent of the post is to inform you all on the current status of the Gentle 2 code base, as well as my current plans for it's future, rounded off with some ideas for what could be done to revive the project. As you all know the code base of G2 hasn't really moved forward=20 significantly over the last 6-12 months, and while it is functional=20 there are lots of open tasks and stuff that could/should be added before a public release. Over the past few weeks I have spent some time refactoring G2, with the=20 following goals in mind: o Separate the repository/filter code from the Gentle.Persistence=20 library into a separate project o Use the provider model to allow any ORM to serve as backend for=20 repository-based designs o Add G2 as a provider implementation for the repository client access library The motivation for this refactoring can mostly be boiled down to these=20 two items: o Save some of the effort spent on the project as a whole o Provide me with a graceful exit while retaining backwards=20 compatibility with G2 I have checked in these changes earlier today, and while there have been a number of breaking changes (class renames in=20 Gentle.Persistence.QueryConstruction to avoid clashes with classes in=20 Gentle.Repositories.ObjectQuery, and a new namespace for the=20 repository/filter code), it should be fairly straightforward to port=20 existing code to the new layout. I plan to continue working on this refactoring until at least the=20 following is in place: o Support for transactions o Support for nullable types (and probably NullOption/NullValue from=20 G1 as well) o Unit tests for testing Gentle.Repositories using the G2 provider=20 (G.R.Provider.Gentle) o Integration of caching and events, if possible in an ORM independent way o Basic usage and functionality documentation (terse) This leaves some functionality originally in the scope of G2 as "on=20 hold", including stuff like: o Advanced attributes like Association and Expression not handled o Database generation/alterations o Database provider implementations beyond what is already there o Automatic relation handling (i.e. ability to avoid having a UserRole class) o Eager/lazy loading capabilities o Probably other stuff o Sample project o Documentation (verbose aka for the masses) o Marketing Unless another plan is made, this would leave us with something capable=20 of (among other things):=20 o Fairly advanced class to schema mapping and associated query generation o Sophisticated and easy to use client data access library based on=20 generic interfaces o Unknown performance (compared to G1 which has proven to be quicker=20 than most) o Something that works and could be published However, if others have a desire to keep the ball rolling, I do have=20 some ideas for making that work: o Appoint a project manager to keep track of developers, tasks/issues, and individual progress o Appoint a build/test/qa manager to manage a build/cc.net server and=20 follow up on missing/failed tests o Appoint a pr manager to flesh out what is needed and to find=20 resources to get it done o Find resources willing and able to contribute code o Hold bi-weekly IRC/IM discussions amongst project team to ensure=20 proper communication and information dispersal (you know what I mean) o Be smart, and get things done ;-) Without a team to help drive the effort, I'm afraid I would probably get stuck or be distracted again, so some structure and people with drive is needed. Sorry for all the bullets - it's probably a side-effect from all the=20 PowerPoint stuff I do these days ;-) It's late, so I'll stop here, but do let me know what your thoughts are. Yours, Morten ------------------------------------------------------------------------ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDE V _______________________________________________ Gopf-devel mailing list Gop...@li... https://lists.sourceforge.net/lists/listinfo/gopf-devel --=20 No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.446 / Virus Database: 268.18.20/737 - Release Date: 3/28/2007 4:23 PM =20 -------------------------------------------------------------------------= Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share = your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=3Djoin.php&p=3Dsourceforge&CID=3D= DEVDEV _______________________________________________ Gopf-devel mailing list Gop...@li... https://lists.sourceforge.net/lists/listinfo/gopf-devel |