ProcessWire weekly #11

Bringing you the latest ProcessWire news, here's issue #11 of ProcessWire weekly: core updates, new modules and links to content you might find interesting. Read on!

Our previous issue was the first one to be delivered to ProcessWire newsletter subscribers. This time we've got another surprise for you – namely that our regular core updates section is much more than just a brief summary.

There were some pretty big updates in the dev branch this week and this time the content for core updates is actually written by a guest author. This "guest author" is none other than the man behind ProcessWire, Ryan Cramer himself.

That's right, folks; this issue of ProcessWire weekly has not one but two authors – and twice the goodness! Now, let's get this thing started.

Summary of the latest updates to ProcessWire's development branch

This section was written by our guest author, Ryan Cramer, the founder and lead developer of ProcessWire. Big thanks to Ryan for taking the time off his busy schedule to write this!

Goodbye TinyMCE / Hello CKEditor

TinyMCE has been dropped from the core and has been added to the modules directory as a 3rd party module. We will continue to maintain it as a 3rd party module. TinyMCE 3 is a great rich text editor, but I'm currently of the opinion that CKEditor 4 works better as our core default.

As a result, CKEditor has been added to the core as the new default rich text editor. While I would love to include both editors in the core, there are plenty of people that think we shouldn't have any rich text editor in the core, so having two giant RTEs would be too much.

If you want to continue to use TinyMCE in PW 2.4.9+ that is no problem. After upgrading to the latest dev (or once you upgrade to PW 2.5 stable) simply install InputfieldTinyMCE from the modules directory immediately after upgrading your ProcessWire core (or at least, before you go editing pages and/or fields).

HTML Purifier

MarkupHTMLPurifier has also been added to the core. This is something that CKEditor inline mode requires, but I think it's a good addition regardless.

We have added a $sanitizer->purify($html) method that makes use of the HTML Purifier module. For more about HTML Purifier, be sure to visit http://htmlpurifier.org.

New additions to $page

Added new $page->hasChildren() method, which works exactly the same as $page->numChildren() except that it returns only number of visible children (you can also pass a selector string to either method).

While we already had essentially the same thing before, I've not been satisfied with it from the API side. That's because $page->numVisibleChildren is too much of a mouthful and $page->numChildren(true) is too ambiguous (nobody wants to look up what "true" means), so $page->hasChildren() is something that I think is more readable in our code. Though the old methods/properties will continue to work too.

Added new $page->editUrl (or $page->editURL if you prefer) property that returns the URL to the page editor for the current page.

New default site profile

Our default site profile has been looking dated for awhile, and it wasn't even responsive. We've been working on multiple replacements for it, but with so many different ways to do things in ProcessWire, it's hard to settle on just one.

We've come to the conclusion that there need to be multiple profile install options right from the installer. One should be completely blank, one should be a very minimal introductory profile, and one should go a little further in introducing various concepts. Today I replaced the existing default site profile with a more minimal profile. There is probably still work to do with this one (feedback appreciated as always).

The existing default site profile will be coming back, but under the name "site-classic". We've got to keep it around, or at least available, since it's the best demonstration we have of direct output head.inc/foot.inc template methodology, and it's also a prerequisite to some other profiles. I just don't want it to be the first and only thing that people see when they install ProcessWire.

Another profile in the works (and nearly done) is one that builds upon a templated.co template called Iridium. This one serves as a good example of using ProcessWire to work with an existing design/template.

Jonathan Dart integrates enterprise-level search engine to ProcessWire

ElasticSearch module built by Jonathan Dart integrates search engine Elasticsearch with ProcessWire. The module focuses on utilising the full-text search capabilities of Elasticsearch, takes care of indexing your site and adds simple API level tools for searching indexed content.

Real-time search using ProcessWire's native $pages->find() is already powerful, but it's still good to know that there's an alternative available. With Elasticsearch there's quite literally no limit for searchable pages, no matter how huge your project grows.

For details and how-to's for the module, see ElasticSearch in modules directory and related support forum thread. For details about Elasticsearch, their website is good place to start (and, for the record, the case stories are especially intriguing).

Two new modules by Adrian: Email New User and Force Password Change

Email New User and Force Password Change were both built by Adrian, one of our long-time top contributors in the ProcessWire support forums. These are separate modules, but both being brand new and related to user administration, I'll introduce them here together:

Email New User makes it possible to send email messages to new users with their account details and – if you choose to do so – auto-generate and send passwords at the same time. It should be noted that Adrian himself warns against this and suggests using this feature only together with Force Password Change module.

Force Password Change adds a new checkbox to user management and when user with that checkbox checked logs in next time, she is required to change her password. This is a security feature with multiple use cases: no more weak temporary passwords becoming permanent, easily forcing periodic password changes for users etc.

Both modules are really simple yet also really useful at the same time, especially for sites with slightly larger user bases. Nice one, Adrian!

Interesting forum topics to check out

Our support forum is where just about everything related to ProcessWire is discussed. The forum is the place to be if you want to stay up to date with all things ProcessWire. For your convenience, here are a few recent and/or active topics you might find interesting:

Trouble in paradise? Self-appointed forum superhero Nico hurries to rescue!

ProcessWire is an awesome system, but sometimes things still don't go quite as you planned. Or, as a popular Finnish proverb has it, "it didn't go quite like in Strömsö". (Don't worry, most of us Finns don't even know the origins of that one.)

Long story short, Nico Knoll has prepared for us a short (but growing) collection of tips for troubleshooting various ProcessWire issues. If you've got tips of your own, you might want to submit those for Nico to, perhaps, include in his troubleshooting guide!

Stay tuned for our next issue

That's it for ProcessWire #11. As always, our next issue will be out exactly one week from now, Saturday, 2nd of August – and automatically sent to ProcessWire newsletter subscribers a few days later. Until then, happy hacking with ProcessWire!

This post has 7 comments:

Stefan Wanzenried on Saturday 26th of July 2014 13:57 pm

Great issue, as always! :)
Thanks again Teppo for your work here, this is awesome!

I'm on holidays the next 4 weeks with limited interent access. Whenever there's access, I'm going to check out the new ProcessWire weekly for sure.

Cheers

Diogo on Sunday 27th of July 2014 13:34 pm

Thanks for the mention to Milktop, Teppo! By the way, it's Oliveira (means olive tree) ;)

teppo on Monday 28th of July 2014 10:49 am

Cheers, Diogo. Fixed. Names are surprisingly hard to remember and easy to misspell (but knowing what it means should help) :)

Raman bhalla on Tuesday 29th of July 2014 15:10 pm

no

WillyC on Wednesday 30th of July 2014 4:32 am

yes

Peter on Sunday 10th of August 2014 20:15 pm

Any news on 2.5?

Teppo on Monday 11th of August 2014 22:06 pm

Peter, better place for that question would be the support forum, but.. nothing definite yet. I'll be sure to mention it in the weekly posts as soon as I have any solid information :)

Post a comment