This week, the big stuff is between you and Santa, but what we do have are lots of useful stocking stuffers for you to enjoy in ProcessWire 3.0.46! More
2017 roadmap, 2016 recap & more
Happy New Year! Looking back over the last year, it's been a really great year for the project, and wow has it gone fast! In this post we'll look back at some of what we've accomplished over the last year, and–more importantly–introduce and review our 2017 roadmap. Today we've also released version 3.0.47 dev, which doesn't add anything new feature wise, but does contain several optimization and bug fix comments.
2016 was a great year for ProcessWire
Most of the development time in 2016 went towards preparing ProcessWire 3.0, and we released this new version, which has been a very successful release. More about what's new in ProcessWire 3.x can be found here. Going from 2.x to 3.x, version 3.0 was the first major version release in ProcessWire's history as an open source project (not including the first open source release), and likewise represents a major highlight of the year.
We released 44 dev branch versions of ProcessWire 3.x in 2016. Meaning, close to one new version per week for the entire year!
ProcessWire finally got major media coverage in 2016, and they had a lot of nice things to say! Thanks to people like Francesco Schwarz, Ben Byford and others who have written great articles on ProcessWire, the word is getting out. We've appeared on some of the best web design/development related websites including tutsplus.com, smashingmagazine.com and others.
Documentation has been another major theme of 2016 with a lot of time investment. ProcessWire's code documentation has been improved by leaps and bounds, and a new API reference was introduced that serves as a strong and comprehensive reference of ProcessWire's API.
Repeater fields have had a lot of love in 2016 with multiple major updates (the last month included too). We also introduced perhaps our most powerful field: ProFields Repeater Matrix.
People have been doing awesome things with ProcessWire in 2016. Looking through our sites directory and showcase forum, we see more and more amazing examples of what people are creating in ProcessWire and… I'm always speechless, it's beautiful. This has been particularly apparent in 2016. The designers and developers using ProcessWire are the most talented and skilled people in the world, and we are so proud to have you as part of the ProcessWire community.
We've had a new edition of the awesome ProcessWire Weekly to read every week. Huge thanks to Teppo Koivula for this, it is a true highlight of the week for me and I'm sure most of you – ProcessWire Weekly.
We switched to a new GitHub repository that's more relevant and fitting for the project. Our new repository is a GitHub organization account that supports better collaboration with separate issues and requests repos, and enables us to assign more people to assist in these areas. With a new repo and new contributor guidelines ProcessWire has become much more of a collaborative effort in 2016. This will continue more and more in the years ahead.
The outstanding community continues to be the best thing about ProcessWire. Big thanks to all of you for being part of ProcessWire and doing such awesome things with it.
What’s in store for ProcessWire in 2017?
2017 is going to be even better than 2016! While it's impossible to cover everything we might do in 2017 here, we've put together a list of some of our bigger priorities for the year ahead:
New admin theme. While it's been mentioned in previous blog posts, this roadmap would not be complete without mentioning it here. An areas of focus will be developing a new admin theme that takes the best of the Reno and Default admin themes, and goes further. We aim to replace our current default admin theme. In doing this, we'll also be standardizing ProcessWire's front-end class namespace to use the "pw-" prefix (in cases where it's not already using a module name or type prefix). We'll be simplifying a lot on the CSS framework side of PW's admin as part of this as well.
New bundled site profile(s). This one was also mentioned in a previous blog post, and will be a high priority for 2017. At minimum, we'd like to drop the Classic profile that currently comes as an installation option, and replace it with a common CSS framework profile. We'd also like to have a bundled blog profile, which may be one and the same as the common CSS framework profile, or something different (we'll see). Regardless of which way it goes, we want to make sure that when someone installs ProcessWire for the first time, they have something that really shows off what's possible and inspires them to want to dig in to see how it works.
Continued upgrades to our image and photo handling tools. We're continuing to look at support for predefined crops, and client-side image resize support, both of which we think may be possible to bring to the core in 2017.
Custom properties for image/file fields. Currently file and image fields just support description and tags options as meta data to accompany a given file or image. We'd like to move towards supporting additional custom inputs for these types.
New website. A lot of nice redesign work was done by the community over the last year or so. In 2017, we'll be moving forward with developing it and making a lot of nice improvements to this website.
Continued performance and security optimization. This is one I repeat in every roadmap, and goes without saying – we are always driven to make ProcessWire the fastest and most secure CMS out there. We will continue to optimize performance and security in every way possible and are always looking for opportunities to do so.
Tools for exporting and importing of pages. We've got some nice built-in tools for importing and exporting of templates and fields, but not yet for pages. Over the coming year, I'm hoping to add page import/export as well. I'd like to be able to copy/paste a page or group of pages from one server to another.
Expanded image capabilities in CKEditor. Currently when you want to use images in CKEditor, there must be an images field on the page, and you have to upload an image to that field before you can use it in CKEditor. We'd like to optimize this process so that: 1) if there's no images field on the page, it falls back to a predefined common images/gallery page; and 2) these common images/gallery pages would also be available as bookmarks in the "insert image" dialog; and 3) you can drag-and-drop images directly into the CKEditor field, and they will upload to the appropriate location automatically.
More multi-language fields. Currently the core includes multi-language text, textarea and title fields. Multi-language is also supported natively on some more the more complex fields as well. However, there are a few gaps yet to fill, like multi-language URL fields for example. We will cover any remaining gaps here in 2017.
Support for markup regions. This simple template file strategy takes the best of direct output and delayed output, and enables even simpler communication between multiple template files by using the markup you already write. This makes template files easier to understand at a glance, reduces verbosity, and enhances what you can do with output.
Continued Pro module upgrades. 2016 saw the release of new Pro modules (RepeaterMatrix, ProfilerPro, ProcessWireAPI) and upgrades to most of the Pro modules. In 2017, we'll continue to expand upon the ProFields and ProDevTools sets of modules, and release major upgrades for FormBuilder, ProCache, ProDrafts and ListerPro. The next major upgrade is coming for ProDrafts with support for repeaters, workflow and more. A huge thanks to all of you that are supporting ProcessWire by purchasing (and renewing) Pro modules – this is what makes ProcessWire sustainable as an open source project, and it's what enables me to put my time towards developing ProcessWire and less towards other client work. Your support is greatly appreciated.
New cheatsheet. With our new API reference now fully up-to-date and running smoothly, we'll be working to make it drive the cheatsheet site as well. We're not yet sure if we'll be integrating it into the existing cheatsheet or re-developing parts of it, but we do know that Soma's cheatsheet has been awesome and essential, and getting it up-to-date with all that PW 3.x offers is a priority for 2017.
Chances are we'll be covering a lot of stuff that doesn't appear above, as that's how it always works out. But these are our best projections for the moment. With ProcessWire 3.x we've got the best product out there (in our humble opinion), and we'll emphasize making it even better in 2017.
Less talk, more results
In 2017, as you've seen above, we'll be focusing on some projects that don't fit quite as neatly into 1-week blocks – things like new admin theme, site profiles, new website and more. Currently, most of my time goes towards preparing everything into weekly version packages and blog posts, and that takes up most of the week. I love the weekly format and schedule, and it's great for momentum. But also recognize that timeline drives where the attention goes, rather than what needs attention. Bigger updates get pushed back because they can't as easily contribute to a weekly version or blog post.
I've been thinking it would be good to experiment with putting more focus on those bigger multi-week updates, where I won't necessarily have enough new ready-to-use code or content to push for a new version or blog post on a weekly basis. So in 2017, I'll be reducing the frequency of our version and blog posts a bit so that we can drive more attention towards bigger picture stuff on the ProcessWire project, and take things to the next level.
I'll be aiming to have 2-3 versions and blog posts a month (sometimes 4), rather than always 1 per week. When it comes to the blog posts, if we've got more guest authors that would like to participate, that would be welcome too. I do plan to return to the once per week (or more) frequency once we've covered some of the bigger projects on our 2017 roadmap.
As a side note, I wanted to mention that quite a bit of time this week went towards continuing development on the ProDrafts support of Repeater and RepeaterMatrix fields. I now have it functional, though still have a lot of testing to do, as there are lots of different cases to cover with Repeaters. But for those that have been asking for it, I did want to let you know you'll definitely be seeing this, and likely very soon.
Happy New Year! I look forward to a great 2017 with you and the whole ProcessWire community!