ProcessWire Weekly #646

The 646th issue of ProcessWire Weekly brings in all the latest news from the ProcessWire community. Modules, sites, and more. Read on!

Welcome to the latest issue of ProcessWire Weekly! In this week's issue we're going to kick things off by checking out what's new in the dev branch of ProcessWire this week. Meanwhile, in other news, we're going to introduce a new third-party ProcessWire module called Files, created by Maxim Semenov.

As always we've also got a new site of the week to highlight. This week that site belongs to Mladen Mađarević, a Croatian creative director, product designer, and web developer with a solid track record with user-centric web and design projects. More about his portfolio website in a bit, so keep on reading.

Thanks to all of our readers for being here with us again, and as always, any feedback is most welcome – please don't hesitate to drop us a line if there's anything in your mind you'd like to share with us. Enjoy our latest issue and have a great weekend!

Latest core updates: ProcessWire 3.0.274

This week we have a new development version of the core, 3.0.274. This version comes with a big new feature: support for SQLite and PostgreSQL databases. Until now we've supported MySQL and MySQL compatible databases — such as MariaDB and Amazon Aurora — but thanks to a new translation layer and built-in database-specific dialects we now get to experiment with a much wider array of supported engines.

ProcessWire and its modules keep writing the same MySQL SQL they always have. On SQLite and PostgreSQL, ProcessWire translates each query as it runs. So your existing API code, templates and most modules work without changes.

— Ryan

You can test this feature by grabbing the latest dev version and running the installer, which now lets you choose the database type. It is also possible to switch the database of an existing site, which involves exporting your site as a site profile using ProcessExportProfile, and then installing that profile on a new database.

Under normal circumstances the core handles everything, and things just work. It should be noted, though, that this feature is still experimental, having just landed in the dev branch — as such, it is currently intended for testing purposes. If you do test this feature and do run into any issues, please let us know by opening a new issue.

As of this writing there are some known differences between databases:

  • Sorting on SQLite: without unicodeSort accented letters sort after the rest.
  • Relevance on PostgreSQL: relevance scores don't match MySQL's, and result ordering can differ from MySQL when a match spans more than one field.
  • Zero dates on PostgreSQL: MySQL's 0000-00-00 dates become NULL instead.
  • Module specific SQL: modules relying on MySQL-specific features that the translator doesn't yet support can fail with an error saying so.

SQLite support comes from Ryan's work on the core, with PostgreSQL support added on top by Adrian Jones — many thanks to Adrian for this great addition!

That's all for our core updates section this week. For more details, be sure to check out the "ProcessWire adds SQLite and PostgreSQL support" blog post at the processwire.com blog. Thanks!

New module: Files

Files is a new third-party ProcessWire module created by Maxim Semenov. This module adds a private, hierarchical file library to ProcessWire — with support for folders, subfolders, previews, large-file uploads, and controlled sharing.

Here are some of the key features of the Files module:

  • Files are kept in private server storage (outside the web root), organized into folders and nested subfolders.
  • Large files upload via chunked AJAX with progress tracking and retry handling, with a standard multipart fallback if needed.
  • Built-in previews for images, PDFs, text, audio, and video; optional read-only previews of office documents via an external ONLYOFFICE Document Server.
  • Creates revocable, read-only links for individual files or entire folder subtrees (including files added later). Shares can be restricted to a specific ProcessWire user, and can include passwords, expiration dates, and download limits.
  • Uploads are checked against session, CSRF token, and permissions; files are validated by size, MIME type, and SHA-256 checksum.
  • Admin "Files" area lets authorized users browse, search, upload, preview, and manage shares.

The module also includes a permission-aware MCP Server provider (read, draft, publish, and admin tools) for AI tool access. For more details about the module and it's features, check out the modules directory entry for Files, or the README file bundled with the module's source code.

If you'd like to give this module a try, you can install it via the built-in modules manager in the admin, or clone or download it from the Files GitHub repository. In case you have questions or suggestions for the author, visit the Files module support forum thread.

Big thanks to Maxim for creating this module and sharing it with the ProcessWire community!

Site of the week: Mladen Mađarević portfolio

Our latest site of the week is the personal portfolio of Mladen Mađarević — a Croatian creative director, product designer, and web developer with more than ten years of experience.

Based in Rijeka, Croatia, Mladen offers a range of digital solutions — from product design (UX/UI) and art direction to front-end web development. His services are geared toward creating user-centric digital experiences. With a background as a Senior Product Designer at Endava, he has delivered 50+ web and e-commerce projects and designed 10+ web and mobile apps.

My approach is collaborative and detail-oriented. I’ll work closely with you to understand your brand, goals, and audience.

— Mladen Mađarević

The portfolio of mr. Mađarević is an introduction to his services, approach and typical process, and project highlights. The site is available in English and Croatian, and some of the general highlights include an absolutely gorgeous design complete with splendid animated effects, plenty of well-thought-out content, and detailed descriptions of his past projects — overviews, challenges faced, strategies applied, and more.

As for some behind the scenes details, the front-end of this site appears to be custom-built, as there are no full-blown front-end frameworks in sight here. Various animated effects are powered by the popular GSAP library, and there are some additional third-party JavaScript dependencies used here as well, though. As for the ProcessWire side of things, there are no familiar non-core modules here, so not much we can say here.

Thanks to Mladen Madarevic for sharing this project with us — we're happy to have this site featured in the ProcessWire sites directory!

Stay tuned for our next issue

That's it for the 646th issue of ProcessWire Weekly. We'll be back with more news, updates, and content Saturday, 3rd of November. As always, ProcessWire newsletter subscribers will get our updates a few days later.

Thanks for staying with us, once again. Hope you've had a great and productive week, and don't forget to check out the ProcessWire forums for more interesting topics. Until next week, happy hacking with ProcessWire!

Post a comment