ProcessWire 3.0.75 and a new version of ProDrafts

ProcessWire 3.0.75

A new version has been posted on the ProcessWire dev branch this week. Version 3.0.75 focuses mostly on covering GitHub issue reports, small bug fixes and tweaks. It is a recommended upgrade if you are currently using the ProcessWire dev branch. For more details on what's new in this version, see the dev branch commit log for September 1–15, 2017.

It's been kind of a crazy week here. On Monday the remains of Hurricane Irma went through here and brought some really crazy winds. It knocked down some trees, and with them all the electricity. As a result, we've had no power in our city this past week. Today (Friday) is the first day that things are finally back up and running and getting back into the office. The schools didn't have power either, so no school for the kids. It's been a nice week with the kids, but a challenging week to get work done.

I work off a notebook computer, so still managed to cover some ground, but don't have the new module I alluded to last week. So long as another hurricane doesn't roll through, that should be ready next week instead. However, we do have a new version of ProcessWire on the dev branch, and a new version of ProDrafts released! The rest of this post will cover the latest updates to ProDrafts.

New version of ProDrafts

ProDrafts version 6 was released today in the ProDrafts board. This version contains a whole lot of updates, but the most notable are the addition of repeaters support and basic workflow support. We'll cover each in more detail below. (If you aren't yet familiar with ProDrafts, you can read about ProDrafts here).

Repeaters in ProDrafts

This update has been a work in progress for quite a long time. Implementing repeater support in ProDrafts was a pretty challenging task. But I've spent a lot of time working with repeaters lately, building the repeaters page export/import functions in the core, and newly added Repeater derivative module (also in the core): FieldtypeFieldsetPage. Which is to say Repeaters are fresh on the mind, and it was a good time to finally finish the repeater support in ProDrafts.

Repeater support is enabled automatically if the core module FieldtypeRepeater is installed. Nested repeaters are also supported. Repeater support in ProDrafts includes support for these Fieldtypes:

  • FieldtypeRepeater (core)
  • FieldtypeFieldsetPage (core)
  • FieldtypeRepeaterMatrix (ProFields)

The only caveats are that the Automatic Save feature of ProDrafts (and thus Live Preview feature) are not supported with repeaters. I've done a lot of testing here, but because there are a lot of potential combinations when it comes to repeaters, nesting and such, repeater support is considered beta at this point in time. If you are using ProDrafts and have wanted to use it with repeaters, please give it a try and let me know how it works for you. Because it's in beta, you'll want to test in non-production environments thoroughly before using in production environments.

Workflow support in ProDrafts

Workflow support enables users without publish permission to submit their drafts for approval. Likewise it enables users with publish permission to approve or reject drafts that have been submitted for approval. It also includes notifications and messages for communication between parties.

This workflow support in ProDrafts was proposed by ProcessWire user Nikolaus Rademacher (wheelmaker24 in the forums) and is built largely to specifications he came up with. His experience is with large ProcessWire installations with sometimes thousands of users. His ideas and support were essential to this feature in ProDrafts.

To enable workflow support in ProDrafts v6, the page-publish permission must be installed. This is a core permission that is not installed by default, but very simple to install. To install this permission, go to Access > Permissions > Add New, and check the box for the page-publish permission. Once installed, visit the ProDrafts module configuration page in the ProcessWire admin and click "Save". This will enable basic workflow support.

When drafts are submitted or rejected, the user can optionally add notes for the person that receives the request or rejection. These notes appear in a notification when the page is edited, and also appear in email notifications that ProDrafts sends.

After submitting a draft for approval, another user with page-publish permission to the submitted page can approve or reject the draft.

If a publisher decides to reject a draft, they also have the opportunity to provide notes on why the draft was rejected. The original submitter is notified and given the opportunity to make edits and re-submit or abandon the draft.

Note: this screenshot above shows the editor for a newly created page that has not yet been published. If it were a draft for an already published page, then it would look the same but with a little bit different button labels and options to compare to live version or abandon the draft.

Notifications can be sent automatically by email if the user has opted-in to receive them. This is done with checkbox fields when a user edits their profile. Three separate email templates are provided for these actions:

  • Request publish of draft: sent to user(s) with publish permission to page.
  • Approval of draft: sent to the user that requested publish and had their draft approved.
  • Rejection of draft: sent to the user that requested publish and had their draft rejected.

Drafts awaiting approval/publish can also be reviewed from the Drafts page in the admin (Pages > Drafts). When there are pending drafts awaiting approval there is an "Awaiting Approval" tab that appears. It contains a list of all drafts awaiting approval.

This version of ProDrafts is now ready for download in the ProDrafts board (subscriber login required). This is a beta version, so we do expect that there may be some bugs or issues to resolve. As a result, stick to using it only in a non-production environment until you've tested thoroughly that there aren't any issues for your installation and environment.

Next week we'll be back with a new module and a new version of ProcessWire on the dev branch. For the latest ProcessWire news and updates, read the ProcessWire Weekly. For me at least, there's nothing better than reading the ProcessWire Weekly with a cup of coffee first thing on a Saturday morning.

Comments

  • Nikolaus Rademacher

    Nikolaus Rademacher

    • 7 years ago
    • 61

    Thanks for the mention, Ryan! It was fun working with you and figuring it all out :)

  • ryan

    ryan

    • 7 years ago
    • 11

    See the "Repeaters in ProDrafts" section above– FieldtypeRepeaterMatrix is a supported type, as is FieldtypeFieldsetPage.

    • Chris

      Chris

      • 7 years ago
      • 00

      I have a red exclamation next to my matrix fields, latest version of dev and modules?

  • Chris

    Chris

    • 7 years ago
    • 20

    Looks great, but what about matrix support?

    • Neeks

      Neeks

      • 7 years ago
      • 20

      Thanks for such a thoughtful implementation of ProDrafts, and draft workflows. The workflow features is key, and I am really glad it made it into the module. Great work!

    • Alex

      Alex

      • 7 years ago
      • 10

      Hi Ryan,

      great update of ProDrafts! Will you be working on implementing Live Preview and Automatic Save in combination with Repeater Matrix in the near future? And what about workflow: it seems like this doesn't work for templates with Repeater Matrix, too. Is that correct?

      Best regards,
      Alex

     

    PrevFieldsetGroup module released

    Wrapping up the fieldset trilogy comes part 3: Fieldset Group, which is now released. In the post we take a closer look at it and compare it to the other fieldset types. Then we wrap up with some hints about more coming up in the weeks ahead. More 

    Latest news

    • ProcessWire Weekly #554
      In the 554th issue of ProcessWire Weekly we'll check out the latest core updates, introduce a couple of new third party modules, and more. Read on!
      Weekly.pw / 21 December 2024
    • Custom Fields Module
      This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
      Blog / 30 August 2024
    • Subscribe to weekly ProcessWire news

    I just love the easy and intuitive ProcessWire API. ProcessWire rocks!” —Jens Martsch, Web developer