Re: Contrib structure
Stephen Woolerton <[email protected]>
| Newsgroups | gmane.comp.java.enhydra.barracuda.general |
|---|---|
| Message-ID | <[email protected]> |
Hi All, Given there is a brand new server to setup, it seems a good time to consider different ways in which code can be shared. Here are some ideas... *Code sharing: * I wonder if there should be two levels of code submission. The first level is as per the "contrib" guidelines. This is code that has been checked by one or more of the maintainers and the owners of the contrib code have committed to maintain the code long term. The contrib code remains part of the Barracuda distribution. The second level is for those who have code they think would be interesting for everyone, however, they don't want to be responsible for maintaining the code in the future. Kind of like "Here have a look at this, everyone and use it how you will". The intent of this level is that it makes it easy for someone to share some code, and in addition, it reduces the load for the project maintainers since they wouldn't have to vet code in this level. The second level code is possibly accessible from CVS under a separate title. * Application patterns / Best practises:* Something else that I see as being essential for Barracuda to really fly is a collection of patterns and best practices. For instance there are no Barracuda application libraries at present. Someone like myself who is new to Barracuda has a lot of development work generating such things as a pattern for Search->View->Add/Edit/Delete, and I'm also looking at the code to view multiple records and provide a split to multiple pages. As a new developer, I'm unlikely to get this right first, or even second time, and yet these things provide a foundation for the entire app and so it takes several applications before the framework is "nice" and then one has to go back to the other apps and fix them up. (Sound familiar, I'm sure many of us have been there. We're using WebObjects which is great, and now we need an OpenSource environment as well for applications which require no deployment fee. We went through the scenario above with WebObjects and now it runs well for us, but I hope to find a way with the help of the community to avoid that costly learning cycle with Barracuda). As I see it, Barracuda provides a high level abstraction layer so we can concentrate on Business logic in our applications. Unfortunately, a new user currently has to become an expert in Barracuda and write their own components before they can write the business logic they chose Barracuda for. In summary, as a new Barracuda user there are in effect two barriers to picking up Barracuda. The first is the framework which has quite a learning curve, and the second thing is developing the needed components on top of the framework. Providing application patterns enables Barracuda users to write sound *business based code* very soon after picking up the product. In addition, patterns and a few screens based on those patterns show best practices rather than having to discover them. Thanks Stephen Note: I know the BarracudaDiscRack application exists. It didn't compile for me and it is not running on the Barracuda web site and so I haven't seen it for a year or so. I understand this application is written as a tutorial based on an original XMLC application rather than "here is the best way to do a commercial database application in Barracuda". Correct me if I'm wrong.