PrevWeb hosting changes and server upgrades
This week our focus was on the server side of things (rather than on the code side) and we've got some exciting upgrades to share with you. More
About
Working through GitHub issue reports was the focus of this week, and it looks like we've got one more week to go in working through the current queue. There have not been any major bugs in 3.x, so things are looking more and more stable. Most updates in this weeks version (3.0.20) are about fixing minor bugs and various cosmetic things.
There's nothing particularly exciting to report in this version other than that. But working towards a fully stable 3.x master version is itself an exciting thing. So rather than focus on the small tweaks and fixes from this week, lets backtrack and review all that's new in 3.x relative to the current 2.7 master version.
Technically, the biggest difference between 2.x and 3.x is that 3.x uses PHP namespaces. This either matters to you a lot, or not at all, but it's a good thing for the growth of ProcessWire as a project. More
In order to ease the transition to namespaces for modules and template files, ProcessWire 3.x originally came with a compatibility mode ($config->compat2x). However, FileCompiler was later introduced to 3.x, which eliminated the need for any kind of compatibility mode. ProcessWire is able to automatically compile non-namespaces modules or template files into a format that makes them recognize namespaces. More
Built-in, front-end editing capabilities come with ProcessWire 3.x, opening a whole new path for page edits. More
Image fields got a major upgrade in 3.x thanks to a redesign by Renobird and development help from LostKobrakai. The design was originally introduced in this post by Renobird, and the results now appear in the current 3.x version with more info and screencasts here and here.
ProcessWire 3.x adds a new $pages->findOne() method that behaves as kind of a hybrid between the $pages->find() and $pages->get() methods.
The getPath() method enables you to get the path to a page without actually loading it, making it a nice optimization for several instances. And the getByPath() method enables you to retrieve a Page object when you only know the path. Of course you can already do that with any page finding method that accepts a selector, but the difference is that getByPath() is very task focused and can do it a lot more quickly, and with a few extras as well. More
This method works very much like the unix "touch" command. Given a $page, it quickly updates that page's modification time (in the database) to now. More
This new method enables you to find thousands upon thousands of pages at once, and even iterate them without running out of memory! More
Full page link abstraction is now built into the core Textarea field, making it possible to move or rename linked pages and have any internal links to them get updated automatically. More
Repeaters have a ton of upgrades in 3.x, making them far more useful and efficient than before. Read more here and here.
In combination with some of the Repeater upgrades mentioned above, 3.x also supports the ProFields Repeater Matrix Fieldtype, which is opens up a whole new landscape of editing possibilities. More
One of my favorite tweaks in 3.x are the page tree upgrades that make it remember where you left it and also enables it to load the page list much faster than before. More
Thanks to the work of Horst, we added support for new ImageSizerEngine modules and bundled the new ImageMagick resizing engine as a faster alternative to the built in GD resizing engine. More
ProcessWire 3.x also adds support for a new kind of template file. You can now have template files for any field in ProcessWire, and those template files can be used to render output for any given field. Read more here and here.
You now have a lot more options when it comes to viewing a page on the front-end. Our "view" link is now a drop-down letting you choose to view it in the same window, in a modal, in a panel or in a new window. More
The speed at which sub-selectors operate has now been greatly improved. Basically, they are now hundreds of times faster than before. 3.x also now supports nested sub-selectors.
We added support for extended page names enable you to have URLs containing almost any UTF-8 characters. This is great for multi-language sites too. More
ProcessWire 3.x lets you boot multiple copies of ProcessWire at the same time, which opens new possibilities for sharing data among multiple installations.
In addition to the common modal windows that you see in ProcessWire, we now support panels and are using them in our page list quick tree and the new debug tools panel. Panels are also an option when viewing a page.
As you can see, 3.x is really coming along nicely and a huge upgrade. We're also feeling very good about the stability of it, and think we may be getting close to making it the new master.
Next week we'll be continuing to cover GitHub issue reports and hope to get into some of the PRs as well. For those that like using the 2.x branch, we may also have some news you'll like coming very soon.
Have a great weekend and remember to read the ProcessWire Weekly!
27 May 2016 10
This week our focus was on the server side of things (rather than on the code side) and we've got some exciting upgrades to share with you. More
10 June 2016 3
We've got some great updates for you this week, especially for those still running ProcessWire 2.x. ProcessWire 3.x also got a lot more stable this week. In fact, this week ProcessWire 2.x and 3.x formed a new alliance! More
“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.
Can
- 9 years ago
- 70
★★★★★Awesome article...remembered me about some great features I already used but forgot to implement in new projects..thx for that :D
And I'm really looking forward to docs about multi-instance ;)
Abrazos
Reply
apeisa
I don't think there will be much news regarding 2.x branch. All focus on development has been and will be on 3.0.
Reply
Renobird
Wow! Seeing it all in one place gives you a sense of how huge these updates really are. A huge thank you for all this amazing work. And, a huge thank you to everyone who has contributed ideas, code, testing, etc...
Reply
Basilis
- 9 years ago
- 20
★★★★★You are my hero!!! Thank you so much, and also everyone who has contributed!!!
Reply
Fil
Thanks for the great PW 3 upgrades! Curious about the 2.x branch news.
Reply