PHP Upgrade for Podio workflow automation - Action Requested
Dear users,
As part of staying updated with the latest code and libraries, we are upgrading the PHP version for Podio workflow automation from 7.4 to 8.1.
Why is this PHP upgrade important?
The previous version PHP 7.4 is declared end of life. This new version PHP 8.1 brings in better performance and supports new features. This is also important from security and compliance perspective.
The following section is primarily relevant to workflow automation admins using custom calculations in PHP:
We attempted a gradual roll out to a small set of workflows in May 2023 to assess the impact and gather possible incompatibilities in the new version. Based on this assessment, we have identified the major areas impacted and built a guide to help you with the migration changes. We noticed that most of the incompatibility errors were related to custom calculations that are not supported on PHP 8.1. After auto-fixing a lot of the incompatibilities on our end, we have shortlisted the final set of issues you could expect to see, that cannot be auto-fixed by us and need to be resolved on your individual flows.
The suggested resolution for each of those issues is documented in our new help centre guide here for PHP Upgrade.
Timeline for PHP version upgrade in 3 steps:
Step 1: For overall Podio workflow automation app on 19th June 2023
- Once done, all Podio workflow automation flows would pass through this new 8.1 version.
- However, any custom calculations will first be passed through 8.1 version, and in case of any errors, will fall back to run on 7.4 version. This will ensure your workflows using custom calculations do not get disrupted or end up in errors.
Step 2: PHP version warnings on 19th June 2023
- We will start showing warnings with pre-fix "Falling back to PHP 7.4. Future PHP8 Compatibility Warning" to highlight areas of version incompatibilities.
- Refer to "How to identify possible errors?" section below on where these warnings will surface.
Step 3: For custom calculations used in Podio workflow automation on 1st Aug 2023
- This would be the final step of version upgrade when all flows including custom calculations will run only on PHP 8.1 version
- If workflow incompatibilities using custom calculations are not fixed by then, it will lead to errors and failures as we would no longer fall back to 7.4 version.
How to identify possible errors?
Custom Calculations which need updates to be compatible with the PHP 8.1 version, will start being highlighted with warnings after Step 2 of the upgrade. The workflow will continue to run without any errors, however, warnings will start being surfaced at the below touch points:
In the Podio workflow automation app:
- Simulating variables (Sim vars): You would be able to catch the warnings while simulating variables in a workflow before it is run.
- Editing a variable: You would be able to catch the incompatibility warnings in red while editing variables in a workflow before it is run. In cases when the calculation contains token we are showing the warning in orange colour with additional message "This calc contains tokens. Use simulate vars to validate and resolve the above warning."
- Flow Logs: After a flow is run, all warnings will be recorded in the logs with an additional "Error:" to the warning prefix, so that you can get a filtered view on the "Errors only" tab in the logs page and also see the error count in the flow specific logs on the app flows page.
Via Email from Podio workflow automation:
- An error email will be sent from no-reply@automation.podio.com per unique warning message per flow per day with details of the PHP warning.
All these warnings will have a pre-fix "Falling back to PHP 7.4. Future PHP8 Compatibility Warning", which would help you narrow down your focus to these specific warnings for resolution.
Please note: these are just warnings to help users identify the incompatibilities and possible errors. It might have an additional prefix of "Error:" in the logs and email you receive, but the flows will continue running fine before Step 3 of release.
Action Proposed before final upgrade on 1st Aug 2023:
If you are using custom code today, will recommend you to revisit the same to confirm your custom code and syntax is compatible with PHP 8.1. If you see warnings as per the "How to identify possible errors?" section above, you may need to modify you custom code as per the PHP 8.1 version requirements.
Please refer to the below guide we have prepared with the list of incompatibilities that need to be fixed on your end before the Step 3 release: https://help.podio.com/hc/en-us/articles/11852890508818
For more details on the upgrade and backward incompatible changes, please refer to the below manuals:
- Migrating from PHP 7.4.x to PHP 8.0.x: https://www.php.net/manual/en/migration80.php
- Migrating from PHP 8.0.x to PHP 8.1.x: https://www.php.net/manual/en/migration81.php
Action Proposed after final upgrade on 1st Aug 2023:
If you have been unable to fix all incompatibilities before the upgrade to PHP 8.1, some of your workflows utilising custom code and syntax might see warnings after Step 2 of release and see errors/ fail after Step 3 of release. In such cases, check the logs for exact failure details, map them with the guide we have prepared or with the PHP manuals and accordingly fix the errors. These are retrospective steps and will bring in some amount of disruption. So we strongly recommend to make the necessary changes before 1st August (Step 3 release).
This upgrade is an important step towards security, compliance, performance and staying up-to-date with our code libraries. Our team has tried to minimise the disruption on your end by auto-fixing most of the incompatibilities, however, owing to the flexibility of custom calculations, we need these final possible incompatibilities to be fixed on your end and request action on the same over the next 4 weeks before we release Step 3.
Please reach out to us below via comments or contact support if you find an incompatibility that is not listed in our guide or see any other issues/concerns with this upgrade.
Best,
Team Podio
-
Official comment
Dear Users, PLEASE NOTE:
Based on multiple requests, we have been able to push the timeline for Step 3 to 1st August 2023, which was initially scheduled for 15th July 2023. This allows us all 2 more weeks of time to take the requested actions and be in good shape for custom calculations before the final step of PHP version upgrade.
There would be no further change to this timeline.
Best,
Team Podio
Comment actions -
Hi Daniel D'Amico and Rik Vanhoof, Thanks for posting your queries.
If you had involved a developer or Podio partner to build your workflows (with Podio workflow automation) earlier, then would recommend reaching back to them to confirm if you need any changes to be done. If you built the workflows yourself and did not add any custom PHP calculations, then you most likely do not need any change.
A good way to verify this would be to go to your Flow Logs, open the "Errors Only" filtered tab and check if you have any errors with prefix "Falling back to PHP 7.4. Future PHP8 Compatibility Warning" as these are specific to flows that are using custom calculations that could be impacted with the PHP version upgrade.
-
Pallabi Patnaik is it safe to assume that if we got no errors (in PWA error logs) these past days saying Falling back to PHP..., we should in principle have no issues on / after 01aug?
-
Pallabi Patnaik thanks for confirming!
-
Hi Pallabi Patnaik right now we're having the following error
Error: Fatal PHP Error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in /var/www/globiflow/releases/20230801065948/library/Helpers/EvalHelper.php:97
This workflow runs daily, and this is the first time it has occurred.
Best regards
-
Dellent This was an issue on our end with the release, so the release has been paused while we prevent this issue from occurring. You should not be seeing this issue any longer.
-
Hi Pallabi - you contacted my former employer who has reached out to me to help fix the errors they are now having (no-one there dealt with any of it until far too late despite the advance notice from Podio!), and I am finding the changes to be beyond me, and the help article is not useful.
The biggest issue is in reports, we are seeing "Divide by zero" errors - I need to be able to have the report divide by zero or at least display zero in the result if it is trying to divide by zero - but firstly I cannot work out the code to check, and secondly I'm not even trying to divide by zero with one of the flows, for example a calculation with 2 variables which works out as 600 / 40 should not be having a Divide by zero error?
I was their Podio expert, they have no-one there who knows it like I do, and I am stumped right now. Please can you point me at how to resolve this one? I have hundreds of flows to update and I can't even figure out the first one.
Thanks in advance.
-
for example a calculation with 2 variables which works out as 600 / 40 should not be having a Divide by zero error?
Does it show the zero error in the preview or when the flow runs? If it's only in the preview (color orange) and the flow runs correctly - forget the error notification. If it happens in the flow (and you get a red error note) parse the variables to numbers: intval(var 1) / intval(var 2) or if it can be a number with decimals: floatval(). You can use the parsing also to avoid it in the preview.
I need to be able to have the report divide by zero or at least display zero in the result if it is trying to divide by zero
result = field token or var2 token == 0 ? 0 : intval(var1)/intval(var2)
That's the same procedure/calculation we have to use in JavaScript (Podio calc fields) because JS also can't divide by zero
-
Thanks Rainer Grabowski for chiming in.
Podio Support I would recommend taking help from one of our Podio partners like Rainer to help fix the flows with PHP calculation errors. Please ask your former employer to reach out to me or share their contact with me so that I can help them identify the flows with errors and also get them connected with a Podio partner.
Please sign in to leave a comment.
Comments
13 comments