AmigoJack wrote:Son of a Beach, I apologize for all needless, inadequate, incompetent and offense comments being done here, like off-topic driven excuses or mixing up modifications with plugins or being fussed with why you won't explain the difference between a modification and a plugin (I hope that author simply misinterpreted a MOD as a "module") or imprecising your words.
II. At the moment this could seem rather confusing to some users so I'll try and explain this.
- An olympus feature (added in 3.0.6) for the auth, captcha and search backend systems with the aim to allow a new captcha/auth method/search backend to be added without editing files, however a few CAPTCHA plugins (there aren't many search & auth plugins) do also edit files.
- A new phpBB 3.1 feature. They are completely self-contained. The extension will live inside phpBB/ext/<vendorname>/<extname>/ . They support events (the new term for hooks), plugins and more. Theoretically anything a modification can do these can do. However extensions with a front page (e.g. a blog or gallery) can't be at phpBB/blog/, it will be at phpBB/index.php?ext=blog. There is a built-in installer and it has numerous modes to make life easier. It also allows SQL changes.
- A way to customise olympus installs by editing files, adding files, applying database changes. AutoMOD was available from http://www.phpbb.com
but not built-in. There was a limited hooks system in use but it did not meet many applications, was not well documented and did not support template edits. In 3.1 MODs will attempted to be phased out and replaced by extensions as they are easier to use (with the modes and no more update conflicts), install (built-in installer and no MOD conflicts) and develop (all self-contained so you don't need to use the MODX generator, just copy the directory. I'd say extensions can be used for everything (except making something not at index.php?ext=) MODs can but I'm sure someone will find an obscure way they they can't so I wont.
III. JS/AJAX features have been added in 3.1 in recognition of the latest web technologies, however phpBB will still work with JS disabled.
IV. Simply put the Olympus line is running out of bugs to be fixed, its only natural; as the age of a line of maintenance releases grows older, releases will be more staggered as there is less to fix. 3.1 has taken a bit longer than we would have liked however numerous plans have been put into place for the future to help have a speedier release cycle. Also this year has seen a massive increase in the amount of community contributions. Not only with prospective GSoC students working to show their ability in the application process (and the accepted students will now be working on large features (and small ones) and a number of rejected students have also said they will stay around and contribute) but a number of other community members have started contributing. We have what I think might be a record number of open pull requests at the moment due to the overwhelming amount of code being written, all of which needs to be heavily reviewed and revised before being merged.
With regards to symfony, you only mentioned it briefly but I'll talk quite a bit about it, symfony is used in numerous popular applications (Yahoo Answers, Drupal 8 etc.). It has a quite fast release cycle (so that shouldn't ever slow down phpBB releases) and the aim of using it is that it greatly reduces the amount of development time as so many basic things are already done for you. It also makes things easier to use other libs that already exist again, saving us the time developing them (e.g. assetic, monolog, Doctrine ORM and DBAL, FOSUserBundle). If we really wanted we could do it without a framework but it means we have to do all the basics of making our own template engine, dbal, basic classes etc. ourselves. Then it makes it harder for us to use external library's as we have to work harder to integrate them. Although, I'd like to point out, as symfony components are decoupled it is possible to use them on their own in your application without it being symfony based. For events in 3.1 we have actually including the symfony events dispatcher component to cut down a lot of development time but we did this without major architectural changes by using the decoupled component.
If I'm honest, until around the beginning of this year I hated symfony. I thought it looked more complicated and would take ages to learn how to use. Then I made a contribution to area51 and thought, wow, that was a nightmare (mainly because I got confused by having things in the directory structure and the location of parts of the code). But recently I've started using it a lot more and have been using it in my personal projects as I've actually taken the time to look at it, see how it works, see how it can be used, and I love it. The documentation for it is fantastic for any new beginners (and quite useful as a reference when I can't remember how to use/do something). I would just say, don't judge symfony until you've read at least a few pages of the "Book" and tried it out (I'm mainly talking to developers here).