Quote from: aNoble at Dec 08, 2005, 04:10 PM
Now here are my concerns:
Performance - from what I’ve seen not a big issue (I’ll sacrifice a little if it gives me a lot in return)
Absolutely, but from tests so far I see no significant difference in either MySQL or PHP parsing time using the default content. More soon, as I complete more of the code refactoring to use the objects throughout the document.parser class.
Quote from: aNoble at Dec 08, 2005, 04:10 PM
Simplicity - I have no problem with making the core complicated and using advanced OO and build methods but I do think we need to keep snippet creation simple. However, just because the API and the core is OO doesn’t mean that the snippets have to be OO. There’s a big difference between writing OO code and writing code that uses objects. So I don’t think that the snippets will have to be any more complicated than they are.
IMO, once you understand the basic patterns of OO design, it becomes much easier to create and refactor code in the system. It’s like semantically correct XHTML: you can do a lot more automation and dynamic presentation using the semantic standards in XHTML, and the same holds true with OO patterns and code design/maintenance/automation. So once you get over the initial fear of change, which comes any time you shift development paradigms, I think you will all find it simpler and more intuitive, though it will require more collaboration. But I don’t thin that’s a bad thing for the project anyway.
Quote from: aNoble at Dec 08, 2005, 04:10 PM
The Future - Before we get 100% commited to this I want to make sure that we’re not going to regret it down the road. So let’s do a lot of testing and watch the development of this and try to figure out where propel is going and how fast.
Absolutely, I’ve committed us to nothing; just wanted to make everyone aware of the experiment. But the more I think about it, even if we decide to come up with our own solution to this, there is absolutely no reason we can’t start with this open source code. Why re-invent the wheel from scratch when you can refactor and re-engineer a wheel someone has already provided you with? We did this in several commercial projects I’ve been involved with, complete changing and customizing the open code to fit our exact needs.
The only complication in my eyes, will be setting up your development environment, for which I hope we can work together to quickly document the steps required for Windows, Linux, and Mac developers to start working with Propel, Creole, and Phing; I got it setup with my existing Eclipse/PHPEclipse dev environment in about an hour tops; you’ll be able to do it in a matter of minutes with the instructions, if you already use Eclipse. And unfortunately, the only cross-platform solution that makes any sense for this is Eclipse with PHPEclipse extensions; and you can use the Ant build tools in Eclipse to edit, control, and run the Phing build scripts, add SVN integration, and, well, you get the point. It’s the best overall development environment for the project IMO, regardless if we choose Propel or not.
Quote from: aNoble at Dec 08, 2005, 04:10 PM
Jason, I think it would be very helpful to see an example snippet using Propel. Maybe a modification to an existing snippet so tha t we can see eaxctly what a propel version of a snippet would look like compared to a current version.
Absolutely! I will most likely provide all of the snippets in the current core codebase, including the ones in the default content install, refactored along with the core when I present this.