All Activity
- Past hour
-
PlausibleAnalytics β Full-featured Plausible Analytics dashboard
psy replied to maximus's topic in Modules/Plugins
@maximus You're on fire π -
module HTMX for ProcessWire: Build reactive, state-aware components effortlessly
ukyo replied to ukyo's topic in Modules/Plugins
@BitPoet Thank you for info π I updated video - Today
-
Context Module - AI-Optimized Site Documentation with TOON Format
psy replied to maximus's topic in Modules/Plugins
Thanks @maximus Does it state in the docs that the project-summary.md should be updated at the end of each session via a prompt? Didn't RTFM π -
This song is a total banger:
-
Context Module - AI-Optimized Site Documentation with TOON Format
maximus replied to maximus's topic in Modules/Plugins
Quick bump to 1.2.0: Fixed: Hardcoded Export Paths All /site/assets/context/ paths in prompt templates now use dynamic export_path Works correctly with custom paths like /home/user/context-exports/ Affects: project-context.md, create-template.md, create-api.md Prompts Description Clarity Changed wording to clarify these are templates for manual use "Prompt templates for manual LLM/agent use (not auto-loaded by agents)" Prevents AI agents from mistakenly treating them as project data Added: "Go to Module's Settings" Button Quick access button on dashboard next to "Re-Export" No more hunting through admin menus! Changed Project Summary Preservation project-summary.md no longer overwritten on re-export Preserves your session history and changes Only created on first export Thanks @szabesz and @psy for the excellent feedback! - Yesterday
-
Hi everyone, I've built a module that integrates Plausible Analytics directly into the admin β with a full dashboard, charts, and a per-page stats widget on the edit screen. GitHub: https://github.com/mxmsmnv/PlausibleAnalytics What it does: Dashboard under Setup β Analytics with summary cards (Visitors, Pageviews, Bounce Rate, Visit Duration) Traffic trends chart + Top Pages bar chart + Traffic Sources donut chart Tabbed breakdown: Geography, Devices, Browsers Per-page widget on the page-edit screen β shows last 30 days stats inline Period selector: Today / 7d / 30d / 6m / 12m API response caching via LazyCron (configurable interval) Self-hosted Plausible support via custom base URL Chart.js vendored locally β no external CDN dependency Role-based access via plausible-view permission Screenshot: Built on Stats API v2 (POST /api/v2/query). The module handles all v2 quirks internally β event vs session metrics split, correct date_range values, visit:entry_page filter for per-page session stats. Happy to answer questions. Bug reports and PRs welcome!
- 1 reply
-
- 2
-
-
I have trouble following the instructions here. I have several virtual domains successfully installed on Apache Ubuntu, with index.php placeholder files. I want to install Processwire sites in each of them, each with their own config and database, and have all of them use the same /wire codebase in /domainone. /www/html/domainone/site (+ /wire) /www/html/domaintwo/site /www/html/domainthree/site etc. The 'how to install' instructions on the link talk about creating subdirectories off the web root, tmp directories, moving and renaming folders, having to come up with different names for the site folders, etc. It does not sound like what I am looking for. Is there a simpler way to get the structure described above? ChatGPT claimed I could just bootstrap the /wire folder into the other with one line and install normally, but that did not work of course.
-
One benefit of using an AI while writing/debugging new and old code is that you could, at this point, ask it to create and maintain as-it-goes a separate unit test repo or folder that any modifications can test against, update, and compare the potential efficiency impact on all ongoing changes. This could then be applied to either agent-based code updates, or check-ins of user-created modifications. Since you already have the bot running against and alongside the repo, it might be worthwhile to see if that's something that could be built alongside to reduce cross-module errors. Maybe. π
-
AFAIK Incus is a community fork of LXD developed (partly) by same people. So not so new actually)
-
Caddy - a lightweight HTTP2 web server
Jonathan Lahijani replied to gurkendoktor's topic in Dev Talk
@Ivan Gretsky Yes, still using Apache on the LXCs. I've never heard of Incus, but thanks for mentioning it. Seems it started in 2023 so in the early stages. For now, I'm going full force on Proxmox (I spent a lot of time in December and January experimenting with it), but will keep a close eye on it. Users on this post on HN say some nice things about Incus so that's a good sign. -
@gerritvanaaken @pideluxe Yes, it automatically takes over all mail sending. I've updated the module and added OAuth2 support, but I haven't tested Azure specifically. You can follow the instructions here: https://github.com/trk/WireMailPHPMailer#xoauth2-google-microsoft-yahoo-azure-support Please test it and let me know the results, or feel free to submit a PR if any fixes are needed!
-
Sorry about that @PWaddict - both versions should be fixed now.
-
module HTMX for ProcessWire: Build reactive, state-aware components effortlessly
ukyo replied to ukyo's topic in Modules/Plugins
@Ivan Gretsky I don't know why but video is there and I can see π -
Now when they're all pinged, we need to have something for them... Something to do or to write about... Maybe just say hello and share where they're at now...
-
Cool @Jonathan Lahijani! So you are still using apache on those LXC instances, right? Have you considered Incus instead of Proxmox? I've read it is more easy to setup and manage if you're good with cli. And is "more native" for LXC's.
-
With the 1.4.0 version, after I click the image icon on TinyMCE to upload the image and insert it to the body field and finally save the page I'm getting this Error: Class "DOMDocument" not found in C:\laragon\www\mysite\site\modules\ProcessCustomUploadNames\ProcessCustomUploadNames.module.php:308 The 2.0 version doesn't have any issues when I'm doing the above method for TinyMCE. On another page where I have 1 image field (single image), on every 2nd save the image is renamed with -1. So, first the image is saved "mysite-123" as I want it and then if I save the page again, the image renamed to "mysite-123-1", if I save the page again the image will get back to what I want "mysite-123" and if I hit save again it will become "mysite-123-1" and so on... Also, if I try to upload new image or delete the current one and hit save, the page gets unpublished. Note: These testings didn't happened on a clean PW installation. For now, I'm gonna stay with my forked version as at least for me there are 0 issues. I will get back to you probably next week with more testings but this time on a clean installation.
- Last week
-
If you love the simplicity of ProcessWire's API but want the reactive, SPA-like feel of modern frontend frameworks without writing complex JavaScript, this module bridges that gap. It brings native Server-Side Component state hydration, Out-Of-Band (OOB) swaps, and strict security to your ProcessWire application using HTMX. π What does it do? This module transforms how you write frontend components in ProcessWire: True Stateful Backend Components: It introduces Component and Ui base classes. Your PHP components automatically rehydrate their state (variables, dependencies, $page assignments) between HTMX AJAX requests! No need to manually parse POST payloads. Auto-Discovery: Just place your components in your site directories. The module automatically discovers and securely namespaces them (Htmx\Component and Htmx\Ui). Zero-Javascript Reactivity: You can handle form submissions, counters, validation, and multi-field updating dependencies directly from PHP using HTMX attributes. Cryptographic Security: The module uses strict HMAC-SHA256 signatures with TTL (Time-To-Live). This guarantees that bad actors cannot modify state payloads or trigger invalid endpoint logic in the browser. WebSockets & SSE Ready: It has built-in helpers to easily hook Server-Sent Events (SSE) and WebSockets onto your templates without exhausting PHP-FPM pools globally. π How it looks in your code You simply create a PHP component class, define some public properties, and write an endpoint action: <?php namespace Htmx\Component; use Totoglu\Htmx\Component; class ClickCounter extends Component { public int $count = 0; public function increase() { $this->count++; } } Then, you can render it anywhere in your site with a single line: /** @var Htmx $htmx */ echo $htmx->renderComponent(ClickCounter::class); View the documentation and examples on Github Feel free to try it out, run the tests included in the repo, and let me know your thoughts or feedback! htmx.mp4
-
wbmnfktr started following Agent Tools (AI) module
-
Just created a new test project and added the module. One thing I noticed immediately was that in my DDEV environment I needed to prefix the commands in order to run them in the actual container. // non-DDEV environment php index.php --at-eval 'echo wire()->pages->count() . " pages\n";' // DDEV environment ddev exec php index.php --at-eval 'echo wire()->pages->count() . " pages\n";'
-
Caddy - a lightweight HTTP2 web server
Jonathan Lahijani replied to gurkendoktor's topic in Dev Talk
This is a bit off-topic (however related to Caddy), but I have been re-doing my internal development setup, which is now powered by a dedicated Proxmox server (on a Minisforum MS-01) and uses LXC containers for ProcessWire sites. On some containers, I just have one ProcessWire site, and on others, I have multiple. Previously, I just had one bare-metal, dedicated server with all my sites on it, which is very convenient but I lose having parity with my production environments (which isn't a big deal with a typical website, but more-so for mission critical webapps; also I am trying to avoid using Docker). So my internal infrastructure might look like this: lxc1 site1.domain.com site2.domain.com site3.domain.com lxc2 site4.domain.com Since I want some of my development sites to be accessible from the outside on a dedicated subdomain like shown above, this requires the need of a reverse proxy since my internet connection has only 1 IP address. Therefore, I set up another LXC which runs Caddy as a reverse proxy (also set up fail2ban to deal with stupid hackbots) which works so well and it's ridiculously easy to set up and takes care of SSL automatically. I did this just a couple days ago, after not having played with Caddy for a couple years, so maybe this bit of excitement will get me back into using it directly as well. -
Caddy - a lightweight HTTP2 web server
Jonathan Lahijani replied to gurkendoktor's topic in Dev Talk
@Pete I did get far with it, but I never ended up running a site with Caddy so it hasn't been battle tested. I've messaged it to you directly as I don't want to post something incomplete for the public until I've really done my due diligence on it. -
Pete started following Caddy - a lightweight HTTP2 web server
-
@Jonathan Lahijani just wondering if you got further with your Caddy file? Caddy looks really interesting to me but where you were at with your own config sounds like if I could take a look at your file it would save a lot of headaches working it out from scratch (lazy of me I know).
-
@tpr @Martijn Geerts @renobird @cstevensjr @Wanze @pwired @Mike Rockett @Zeka @SiNNuT @DaveP @justb3a @nik @MadeMyDay and so many others...
-
Thanks @ryan for the "$20/month" vs "pay-as-you-go plan" comparison. Since my experience is very similar (using Cline Bot's "pay-as-you-go" credits), it appears that Anthropic does prefer to employ a vendor lock-in strategy. "Wow this sounds like a really good deal." It was a Black Friday deal, their standard prices are higher, but still affordable (currently $84 for a year). I prefer OpenAI compatible APIs, and IDE plugins that support it. That way I can pay for the subscription I can afford, and use that. That is why currently my favorite tool is the Cline plugin, available for, quote: "VS Code, Cursor, Windsurf, Antigravity, a JetBrains IDE, or Node.js 20+ (for CLI)". Thanks @gebeer for drawing my attention to AGENTS.md, I have so far overlooked it. There is so much to learn. Just like Ryan, I have also recently started testing/using AI-assisted development tools, and Cline for ProcessWire development is what I am most comfortable with at the moment. Now reading the docs for Cline's Rules page, I see that it also supports AGENTS.md, and optionally others as well. So my understanding is that AGENTS.md should be the general guide for AI that comes with the ProcessWire core (or currently through the Agent Tools module), but I can augment it with my other rule files, like the ones I already have: processwire-project.md. This file should only contain project-specific default guidelines that are in addition to the ProcessWire official AGENTS.md. I will need to refactor my rules and skills, cleaning them for contradictions and redundancy. Cline extends that with its Memory Bank feature. I've just started to use it, but I don't have much experience yet. Seems to be a good tool, though.