Framework upgrade to Python 3.7
Our engineers 🤓 decided to start Q1 2022 with an epic task, the migration of our code from Python 2.7 to Python 3.7.12, including the upgrade to Django version 3.2. With the release of this article (Feb. 2022), we are ending the porting of our code to Python 3.7.
Why have we upgraded Python?
The most important reason for this change is that the version of Python we were using is no longer supported. This means, for example, that its developers will no longer provide a solution to the vulnerabilities found in this version of the language. But there are other reasons that made Python 2.7 too limiting for us, for example, many features to make Athento more dynamic and smart could not be implemented with this old version of the programming language. The Athento suite for Machine Learning and Deep Learning was longing for native integration and will be easier to use from custom automation tasks.
What have we had to do?
It has been a big job with multiple implications. Athento is a big project, with many dependencies and third-party libraries that also needed to be updated. Some of the things we’ve been busy with over the last few months have been:
- Analyzing which version of Python was the most appropriate and what migration strategy we needed to follow.
- Upgrading libraries and dependencies to Python 3 compatible versions.
- Upgrading Django, the framework on which Athento is developed, to version 3.2.
- Rewrite code because version 3 is not backward compatible and the code syntax changes.
- Testing…lots of tests. 🤖
What’s in it for you?
More security, for starters. Also, Python 3 is faster and the new version of Django will allow us to implement little by little more real-time features so that you don’t miss a thing from your documents. More smart features, machine learning, and deep learning related.
A future with many more possibilities 😎 . As of today, all new Athento customers will be deployed on the new product version. Current client deployments will be migrated gradually. We will only offer support for bugfixes in the old version, as the new features will be developed in Python 3. And regarding new functionality, we have many exciting projects coming in the next few months, such as integration with instant messaging platforms 🤫 . We hope you are as excited as we are 🥳 .
- Send customized signature requests from Viafirma Inbox. +Info
- Integration with Playwright for end2end test automation.
- Now you can configure from the advanced administration the scheduled tasks (crontab).
- New functions that facilitate the creation of commands for massive operations, such as
- New automation task to convert audio files to mp3.
- New category
documentrequestedreceivedto execute automation tasks received from the document request screen.
- New general operation
opgetorcreateparentfolderandlinkitto create parent file or link it to a document.
- New migration method allowing to upload up to 100 million documents in one day.
- From the navigation, documents can now be opened in a new browser tab by pressing
ctrl + click.
- Filter by status is included in the advanced search (in the filters).
- Added the
document_authorparameter that allows setting the author of documents uploaded via document request.
- Improvement in the extraction of data from electronic invoices.
- Allow users to update the total number of documents in a queue from the dashboard view.
- The metadata lock operation has been updated to make it much easier to configure.
- Improved performance in the backup to Azure BlobStorage storage process.
- Improvement in the monitoring page
/health/status/monitto monitor incoming documents in mailboxes.
- Improvements to use CC for sending mails from a document.
- Improved binary archiving command.
- Improved performance by obtaining the root elements of a space.
- Optimization in the use of object permissions.
- Improvements in the documentation of the internal API
- Performance improvement in queues with masks.
- Fixed bug that prevented the creation of folders from the navigation.
- Fixed bug that prevented the control of allowed formats when updating a document file.
- Fixed bug in the filtering by Choice type fields in the Documents tab of the form.
- Corrected error that prevented filtering the values shown in a File/Document type field.
- Fixed bug in the compilation of translations.
- Various fixes in the advanced search filters.
- Fix for a bug that occurred when deselecting a File/Document type field.
- Fixed a bug in SMS sending.
- Fixed bug in the subscribe to webpush notifications button.
- Fixed a bug that appeared only in Mozilla Firefox when creating a dictionary term.
- Fixed user type selection fields showing the wrong value.