Hi Henri, On 11/23/2010 04:43 PM, Henri Bergius wrote:
> Just to introduce myself, I'm Henri Bergius, one of the core > developers of the Midgard framework. Midgard is one of the oldest open > source web frameworks / CMSs for PHP. Midgard is a bit unique that in > addition to the actual web layer written in PHP we have a content > repository[1] that our system uses for all persistent data storage > written in C (well, Vala in the next iteration, but C is what Vala > anyway generates), with PHP-level access coming from a specific > extension. Midgard has always focused on clean URLs, flexible > templating, valid mark-up, integration with third party web services > and high level of security. > Personally I've been frustrated for a long time with the lack of a > generic PHP ecosystem. As PEAR has largely stagnated, almost all > interesting library and tool work happens either in complete isolation > or within more specific ecosystems like Drupal, ZF, Midgard etc. I see > the introduction of Zeta Components into Apache as a promising > development that might be the beginning of a generic PHP code-sharing > ecosystem[2]. > As such, this is an area that both myself, and the Midgard Project in > general should be interested in. cool stuff and thanks a lot for your blog article. :) I'm pretty much looking forward to having you on board. > So, how to get started? I guess the main thing is to get familiar with > the existing Zeta Components, and then to start thinking of what of > those we could use within our framework, and what parts of our > framework could be contributed back to Zeta. Some low-hanging fruit > could include: > * Geolocation library: https://github.com/bergie/midgardmvc_helper_location This looks very interesting, indeed. To get into contributing, you will first have to provide two documents to the list for discussion: 1. Requirements 2. Design The first doc should wrap up why such a library is needed and which use cases it should satisfy. The idea here is that we first gather all potential requirements before discussing a flexible design for the component. As you already have working source code, noting down the requirements you had in mind should be easy. The second document is created after the first has been finalized here on the list. It should contain an overview of the components design and code examples on how a user is expected to use the component later. As the code already exists, this will mainly be a matter of noting down the key ideas. Finally, when the design has been discussed here on the list, you can start adjusting the code to the result of the discussion. It might be, that this requires some refactoring to keep the new component open for further extension (open-close-principle) and some class name changes. After that, the component is ready to be added. :) I saw Jerome already provided you with links to our developer docs. You will find loads of information there. > * Our MVC framework: https://github.com/midgardproject/midgardmvc_core We already have MvcTools, which provides interfaces for implementing a clean MVC and a dummy implementation of these interfaces. So, adding a second MVC component does not sound reasonable to me. Otherwise we will end up like PEAR. But maybe our MVC component can profit from the Midgard MVC somehow? > * Midgard provider for the Zeta Database layer > * Midgard provider for the Zeta authentication layer I'm not sure how this would fit into Zeta Components themselves. What exactly do you imagine? > * Maybe Alexey's PHP Application Server: > https://github.com/indeyets/appserver-in-php I'll have a look at that. The title sounds interesting, though. :) > If collaboration on some of these would sound good, I'll be happy to > start the discussion in the Midgard end of things. > 1: http://bergie.iki.fi/blog/what_is_a_content_repository/ > 2: http://bergie.iki.fi/blog/php-finally_getting_an_ecosystem/ The discussion about having a Repository component already came up once in a while on the old eZ Components list. I'd love to see a generic and flexible repository component for Zeta, but this must be very well thought out and maybe splitted up into several tie-in components. Your blog article looks quite extensive, so I need to allocate some time to read it. Please feel free to discuss any potential addition to Zeta on the list. We are happy to see some people moving into the project. :) Please make sure to use a dedicated thread for each potential component. Best regards, Toby -- Tobias Schlitt http://schlitt.info GPG Key: 0xC462BC14 Want to hire me? Need quality assurance? http://qafoo.com eZ Components are Zeta Components now! http://bit.ly/9S7zbn
