Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 10/03/2025 in all areas

  1. Last week I was on a boat, far from any computer, so that’s why there weren’t any updates. This week I’m back in the office and back to work on the core. The focus has been primarily on optimizations and issue fixes (see dev branch commit log). There were also a couple commits related to PHP 8.4 support. Issue fixes and optimizations will likely continue to get more focus as we get closer to our next main/master version.There are also some Pro module updates in the works as well. Have a great weekend!
    6 points
  2. New feature in StripePaymentLinks (v 1.0.7) 🎉 Hi, everyone! We’ve just added a sync helper to the modules config screen that can pull past Stripe Checkout Sessions into ProcessWire. Super handy if you want to… backfill older purchases migrate existing users or just double-check what’s in Stripe vs. what’s in PW How it works: Scans Stripe sessions (with date range + email filter if you like) Matches them to PW users by email Creates missing users (optional) Creates/updates purchase repeater items exactly like live checkouts Has a test-run mode so you can preview before writing You get a nice report right on the config screen (below "Sync now") with totals and per-session actions (SKIP, LINKED, UPDATE, CREATE) plus the line items. Makes it a lot easier to keep things in sync — especially if you had sales before installing the module. Note: since each run fetches sessions and line items directly from Stripe’s API, the total duration depends on network + Stripe’s response times. In our tests with ~120 sessions the sync took about 15 seconds. Grab the latest version and give it a spin. We already tested this version on some live projects and everything works fine, but always backup before you mess with data 😉 Feedback welcome! 🙌 Cheers, Mike
    2 points
  3. Snapshot of the moment, got a Mac Studio with 64GB of ram and running around 8-10 projects everything goes smooth. Got the docker provider using around 16GB of memory. I do this too, but I don't auto run it on login. I can see how this could be a bottleneck, I don't think it's unbearable to start every project when needed since like you mention, you actively work in a few of them. With your 128GB of ram I'd definitely give it a shot because yolo haha. "ddev start --all" let's go!
    2 points
  4. Image Hotspots Allows a Repeater field to be used to define hotspots on an image. Being able to add multiple fields of any type to the Repeater provides flexibility for the information you can store for a hotspot. Setup 1. Install the module. Two decimal fields will automatically be created on install: hotspot_x and hotspot_y. You can set custom hotspot and highlight colours in the module config if needed. 2. Create a "single" image field (i.e. maximum number of files = 1) that you will use store the image that will have hotspots defined on it. Add this field to a template. 3. Create a Repeater field and add the hotspot_x and hotspot_y fields to the Repeater. Add any other fields you need to store information about the hotspots you will create. Save the Repeater field. 4. In the "Details" tab of the Repeater field, expand the "Image Hotspots" section (this section appears for any Repeater field that has the hotspot_x and hotspot_y fields). For "Image field", select the image field you created in step 2. The "Image height" setting defines the maximum height of the image when displayed in Page Edit. 5. Add the Repeater field to the template you added the image field to in step 2. Usage in Page Edit When an image has been saved to the image field, the Repeater field will display a preview of the image at the top of the field. Click "Add New" to create a new hotspot. The hotspot appears at the top left of the image initially and can be moved by clicking and dragging it to the desired location on the image. The X/Y coordinates of the hotspot will be automatically updated as the hotspot is moved. For precise adjustments you can modify the X/Y coordinates directly and the hotspot position will be updated. To identify which Repeater item corresponds to a given hotspot, click on the hotspot. The corresponding Repeater item header will receive an orange outline. Click the hotspot again to remove the orange outline. To identify which hotspot corresponds to a given Repeater item, expand the Repeater item and focus either the X or Y coordinate fields. The corresponding hotspot will be highlighted in orange. On the frontend It's up to you to display the hotspots on the frontend in any way you need. The values of the hotspot_x and hotspot_y fields are percentages so when given absolution positioning over the image your hotspot markers can preserve their positions as the image scales up or down in a responsive layout. https://github.com/Toutouwai/ImageHotspots https://processwire.com/modules/image-hotspots/
    2 points
  5. Hey folks, fun fact: this module was already featured in this week’s ProcessWire Weekly – even before we managed to post it here in the forum. So, here we are, finally giving it a proper introduction! 😅 TL;DR: This module connects Stripe Payment Links with ProcessWire and provides a simple checkout integration for sites that don’t need a full shop. 🎯 ✅ Drop a Stripe buy button anywhere ✅ Redirect back to PW thank-you or delivery pages ✅ Buyers get accounts, purchases are logged, access is granted ✅ Access mails are sent automatically ✴️ New in v 1.0.7: Sync existing purchases and buyers from Stripe to PW with test/write option ✴️ New in v 1.0.8: Full Stripe subscription support with real-time webhook updates (cancel, pause, resume, renew) and smarter access control logic First things first: What are Stripe Payment Links? Stripe Payment Links are basically hosted checkout pages that you can create directly in the Stripe Dashboard – no coding required. You define a product (or multiple line items) in Stripe. Stripe gives you a unique URL (the “Payment Link”). You can drop this URL behind any button, on any landing page, newsletter, or social media bio. When a customer clicks the link, they’re taken to a secure Stripe Checkout page (PCI compliant, supports all major payment methods, Apple Pay, etc.). After payment, Stripe redirects them back to your success URL. Super simple. But… on its own, Stripe has no idea about your ProcessWire site, your users, or your gated content. That’s where this module jumps in. 🚀 Why another payment module? We at frameless Media often work on small client projects where setting up a full e-commerce shop would be complete overkill. Think: Coaches selling a few courses or workshops Businesses offering a handful of digital products or subscriptions Creators who just need a buy button on a landing page Stripe Payment Links are perfect for this. But: ProcessWire on its own doesn’t handle redirects, user handling, or gated delivery pages. So we built StripePaymentLinks – a lightweight drop-in module to connect Stripe with PW. What it does Handles the redirect back from Stripe Checkout that contains the session id Creates or updates the buyer’s user account Records purchases in a repeater field Manages access to “delivery pages” (only available after purchase) Auto-sends access mails (configurable: never / new users only / always) Provides Bootstrap-based modals for login, password reset, set-password Usage examples Example 1: Sales page + delivery page Sales page has a “Buy now” button (Stripe Payment Link). After checkout, the user is redirected to the delivery page, which is access-protected. → Module logs them in, grants access, and if they’re new: a set-password modal pops up. → An access mail with product links is sent. Example 2: Product without a delivery page Some products don’t need protected pages (e.g. a consulting slot or voucher). → The success redirect goes to a generic thank-you page. → The module shows an access summary block with purchased products and sends the mail. Example 3: Mixed purchase (thank-you + delivery page) A checkout with multiple items: e.g. a “simple product” plus an addon that has its own delivery page. → Thank-you page shows the addon link(s). → The access mail lists all purchased products. Source & License The module is open-source under the MIT License. 👉 GitHub: https://github.com/frameless-at/StripePaymentLinks 👉 ProcessWire modules directory: https://processwire.com/modules/stripe-payment-links/ So yes: if you or your clients just need a few low-barrier buy buttons, not a full-blown webshop, this might be the module you’ve been looking for. If needed we can provide some screenshots and visual examples next week 😉 Happy to hear your thoughts, ideas, and testing feedback! Cheers, Mike
    1 point
  6. Framework 16 daily driver here, excellent choice. Linux? Do it! Outstanding support on the hardware and once you settle in you'll wonder how you ever had to endure Windows.
    1 point
  7. Update. I restored to a backup from two weeks ago provided by my provider. Now I'm getting an error on both front and back end: Fatal Error: Uncaught Error: Class 'ProcessWire\InputfieldText' not found in /home/birthfac/www/wire/modules/Inputfield/InputfieldName.module:7 Stack trace: #0 /home/birthfac/www/wire/core/Modules.php(1545): include_once() #1 /home/birthfac/www/wire/core/Modules.php(1502): ProcessWire\Modules->includeModuleFile('/home/birthfac/...', 'InputfieldName') #2 /home/birthfac/www/wire/core/WireClassLoader.php(202): ProcessWire\Modules->includeModule(Object(ProcessWire\ModulePlaceholder)) #3 [internal function]: ProcessWire\WireClassLoader->loadClass('ProcessWire\\Inp...') #4 /home/birthfac/www/wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module(20): spl_autoload_call('ProcessWire\\Inp...') #5 /home/birthfac/www/wire/core/Modules.php(1545): include_once('/home/birthfac/...') #6 /home/birthfac/www/wire/core/Modules.php(1502): ProcessWire\Modules->includeModuleFile('/home/birthfac/...', 'InputfieldPageN...') #7 /home/birthfac/www/wire/core/WireClassLoader.php(202): ProcessWire\Modules->includeModule(Object(ProcessWi (line 7 of /home/birthfac/www/wire/modules/Inputfield/InputfieldName.module) This error message was shown because: you are logged in as a Superuser. Error has been logged. How to solve this?
    1 point
  8. And another issue. First time I submit the form, after isValid() I call showForm(true), so the form shows with the last value entered. I see the notice "Thank you for your message", and the URL segment is still there. I hit submit a second time and get a 404 page (from my code) because the URL segment is removed.
    1 point
  9. Reason is the option in PW admin: I always check to end segments with a slash, if I check "no" the form works.
    1 point
  10. Hello, On a page with an url segment, the form is never valid. It's a simple form with an InputNumber. If I remove the segment it works, if I add it isValid() is always false. Another minor issue, even if an InputFile has setMultiple(false), I can drag and drop several files on it, I don't know if you can do something for this.
    1 point
  11. Hi, @Jonathan Lahijani! I am pretty sure that your existing setup is superior for the multiproject needs of yours comparing to ddev. You try to standardize while ddev is all for making something custom. I would play with some new php stuff on ddev to keep up with the hype. But would stay with you current setup for the paid work.
    1 point
  12. Thank you! I guess that is just the way things work. I re-generated the token inside my facebook app and replaced it in the module settings. Then, after 30 minutes the Instagram Feed was working again. The token auto-renews from time to time but it seems that in some rare cases you have to simply generate a new one.
    1 point
  13. You could do that with RockMigrations $rm->installModule('SessionHandlerDB'). Add it to the migration file on every site. Don't even need to spin up. Will be applied next time you login as superuser. That should suffice :-)
    1 point
  14. Yes, you can. The project files live on the Linux host machine (your Omarchy setup). They are being mounted to the ddev containers as docker volumes. The Docker daemon follows all symlinks to their real locations. So you can have a similar setup as on your current Ubuntu server. Kind of, yes :-) Depends on how juicy your new machine is. ddev spins up a few docker containers for each project. The more projects you have running the more containers need to be started. I have never started more than 3 projects at the same time. So can't really tell what happens if you spin up 10 or more. Are you working on multiple projects at the same time daily, do you really need them to be available at the same time? project startup is quite fast. So there's no need to have them all running all the time. You can manage them through docker desktop or Vscode extension or CLI, of course. All ddev projects are managed through one ddev-router container (Traefik) which acts as reverse proxy for http/s calls. So if you have multiple projects running, they can access each other through http. Just do it man. You won't regret. Linux has plenty of file explorers to choose from, you can find a decent replacement for XYplorer for sure. I live in Thunar. It has a plethora of plugins (batch rename etc) and is very customizable. As for Omarchy, it is a very opinionated setup but should give you a great starting point. I moved to tiling WMs some years ago and now wouldn't want to miss them. It's just so much more organized. I know exactly which application lives on what workspace and can switch in a blink of a keystroke. Who the heck needs frickin floating windows, why were they even invented?
    1 point
  15. Hi @Stefanowitsch, I'm afraid there's not much else I can recommend except from removing the account from the module (and removing the app from the IG account) and then trying to set it up again.
    1 point
  16. Thanks @zoeck - seems like the documentation for all this is spread all over the place which I don't think is helping Ryan get renewals. Honesty I would probably have renewed more often if I'd known about the cheaper price.
    1 point
  17. Over the years there's been a growing part of me that's wanted to be a full-time Linux user. I've been using Windows from the beginning and attempted to switch to macOS a few years ago (given the excitement of M1) however I gave up after 8 solid months because I came to dislike some issues that I couldn't circumvent in macOS. Due to some fear, impatience and most importantly, software compatibility, I have not made the switch to Linux, but times have changed. I've played around with the big distributions (Ubuntu, Debian, Fedora, etc.) in some way or another. I've grown extremely comfortable with Bash, the command line and have the confidence in working my way out of issues (a lot of this is due to the hardware business I was involved with for 7 years which sharpened by skills). I've dealt with installing Nvidia drivers in every which way too (if you know, you know). Whenever Ubuntu releases an LTS version, I tend to experiment with it and I did so last night with 24.04. Really annoying things like not being able to move the taskbar from the left to the bottom without having to use extensions that could break, are now natively supported (IIRC you couldn't do this so easily before). That sounds like a minor nit-pick but if there's something I know about myself, it's that if I don't have to reprogram my muscle memory, I will have an easier time. The mouse movement feels Windows-like (this truly annoyed me with macOS despite trying every program and tweak in existence) and font rendering doesn't seem to bother me as much as macOS. Again these seem like minor nit-pick type things but to me they matter. At this point, it comes down to software compatibility. I'm not some hardcore Office user and I barely use it beyond basic word processing, so that's not an issue. The only other software suite is Adobe CC. I do rely on Photoshop and Illustrator, but not for "creating" but rather tweaking. I've built some muscle memory with those apps as well but I can't let them hold me back. I know Photopea exists which many have raved about being a great Photoshop alternative and which supports PSD quite well from what I've heard. So that's always an option combined with Gimp or Krita if I don't have to deal with actual PSD files. Maybe I'll set up a VM with Windows to help ease the transition. So at this point, there's nothing holding me back. I installed Ubuntu 24.04 on my main system along-side Windows (dual boot). In a couple months, I will try to switch. Any other desktop Linux users here? BTW, I'm sticking with Ubuntu because I like how it's Debian-based. I know there's some disagreements with snaps being used, etc., but because it's the most popular Linux distro and feels polished enough and similar to Windows, it's the best place to start (and maybe stay).
    1 point
  18. Hi, We have a client who insists on a one level url structure. They are used to it from other CMS. Example: Home menu 1 page 1 This results in the url /menu-1/page-1/ The client wants a custom url: /page-1/ I did unsuccessfully search the modules for a solution. I am currently a bit at a loss on how to achieve this without creating redirects manually through the redirect module or .htaccess. Has anybody already approached this case? Any input is appreciated. Adrian
    0 points
×
×
  • Create New...