Quote from: BobRay at Mar 15, 2008, 03:56 PM
Component Repository is a nice compromise. It would help bring along the people who already know it as the Repository and I like the idea of calling them "components" since resources and elements are already used in 0.9.7. I also think it’s superior to "add-ons" since many of them are such integral parts of MODx (e.g. Wayfinder) and "add-on" makes me think of loosely coupled stuff like SMF, FoxyCart, and WordPress.
Actually after some more thought, we already have a new name for this, it’s the
Web Transport Facility, and needs to be generic in this way since it means everything from transporting components to transporting core updates to transporting actual MODx content, or even custom xPDO data from custom data models.
And loose coupling is absolutely the goal here, and though some disagree with me on things like Wayfinder being an add-on, that’s exactly what it is. Same with Ditto. I’ve built plenty of sites with them, and I build plenty of sites without them. They are not part of MODx itself, thus they are add-ons. I don’t want MODx to be in the situation where the core framework and libraries are dependent on the viability (or even potential security flaws) of a single component someone wrote for it, shared with everyone, and most people think it should "be in the core".
As brilliant as they are, in really serious sites where optimization and speed are critical, some of the add-ons that are distributed with the core are simply too generic to really do some tasks in the most efficient way needed. This is typical of anything that tries to meet the needs of a great number of people, and I certainly do not mean that to sound in anyway insulting to the various authors and contributors to these components; I do use them and am grateful for them, but I also recognize they do not solve every problem, nor should they try. I just simply am saying it’s critical to keep component development and innovation alive by:
a) making it clear that the MODx core is a content management framework that should serve both component and content contributors (be they developers, designers, copy writers, or whatever) and focus on that, not all the various web application components everyone wants to have out of the box with their favorite CMS management interface,
b) that the distribution of everything else is either an add-on or an extension; even the index.php, the manager and connector directories are contexts and not part of the MODx core, they are "reference" implementations of the a web context, a manager context, and a connector (or service-oriented) context, but they are also not components; yet as content they can be transported and installed in the same manner as the components...
c) additional "reference" components will be developed, distributed, and supported by MODx itself through a project incubation process TBA in the near future, and all of the components distributed with MODx by default now will be available in various packages through the WTF
I guess what I’m getting at is there is more involved in going from our current "component-oriented repository" to one that also takes into account "content and data delivery".
Integration with external, stand-alone applications like SMF and Wordpress is another animal entirely; that’s not anything to do with loose coupling really; it’s just that a lack of application server features in PHP that can be utilized by many applications (identity, security, etc.) has driven most PHP applications to be very difficult to integrate with. The only true solutions to this are hacking up each app, web-services, or one standard framework for all PHP’ers (like Rails for the Ruby language); yeah right...
As for FoxyCart, this is already a web application built on a service-oriented architecture. This SOA approach represents the future of application integration IMHO.
Quote from: BobRay at Mar 15, 2008, 03:56 PM
I wonder if it would work to call it just the "Repository" in links like the one on this page and put "MODx Component Repository" on it as a heading?
I think the best idea would be to simply introduce WTF, and keep the legacy "MODx Component Repository" separate for the 0.9.6.x user-base that perhaps doesn’t want to make the leap to the next generation, or at least not right away. And referring to it as the Repository seems fine by me, but what do others think?