Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. @eelkenet I've added the ability to run single migrations from the CLI, as well as re-run, so they should be there now. The CLI --flags options should be more clear now, if you type "php index.php" the help will show all the flags under the CLI commands. As for MCP, we'll be implementing local MCP for most AgentTools commands, probably within the next two weeks. I'm told by GPT 5.5 that agents will likely still prefer to use the CLI in AgentTools most of the time, and that it's more token efficient to do so. But there are also benefits to MCP too so it makes sense to support. I doubt we'll have as many MCP tools as what you see in PromptWire, and AgentTools and PromptWire are completely different tools, so if you find them both useful it makes sense to use both.
  3. Today
  4. Fixed in 1.0.3 (just pushed). Thanks a lot for the report, @eelkenet, that one's on us. Since the introduction of image tags we use them on every image field. It now requests tags per field only when the field actually has them. Do a Modules → Refresh to pick it up, and it should run cleanly on your test setup now. Let me know if anything else trips up. Cheers, Mike
  5. PS, Native Analytics is hookable (https://github.com/Roychgod/NativeAnalytics/pull/15) these days, so I took the approach of actually building my Behavior/Heatmap module to add a tab to that module. Not sure if you think it would be a good approach for Compass, but just thought I'd throw the idea out there in case you didn't know about the option.
  6. Hey @maximus - another great one! I noticed that the settings default to having "superuser" in the excluded roles, but even if you remove that, this line: $excludedRoles = $this->parseConfigList($this->get('exclude_roles')) ?: ['superuser']; forces the superuser block anyway. This confused me for a bit while testing.
  7. Thanks, that makes sense. I updated the Bulk Editor so it now shows the rendered title below the editable Meta Title field when Title Format adds a suffix or other text. The input still contains only the raw editable title, so the suffix is not accidentally saved into each page override, but the rendered title is visible and the length count continues to include the configured Title Format.Thanks, that makes sense. I updated the Bulk Editor so it now shows the rendered title below the editable Meta Title field when Title Format adds a suffix or other text. The input still contains only the raw editable title, so the suffix is not accidentally saved into each page override, but the rendered title is visible and the length count continues to include the configured Title Format.
  8. Hi @Mikel, I kept running into crashes when attempting to test this module: ProcessWire\WireException Unknown column name(s) for findRaw: images.tags search► File: .../future-materials/public/wire/core/Pages/PagesRaw/PagesRaw.php:1816 1806: // rename i.e. [ 'field_name' => 'new_field_name' ] 1807: $this->requestFields[] = $prefix . $key; 1808: $this->renameFields[$prefix . $key] = $value; 1809: } 1810: } 1811: } 1812: 1813: protected function unknownFieldsException(array $fieldNames, $context = '') { 1814: if($context) $context = " $context"; 1815: $s = "Unknown$context name(s) for findRaw: " . implode(', ', $fieldNames); 1816: throw new WireException($s); 1817: } 1818: } So apparently you need to allow Tags on image fields in order for this module to work? I never use those, so maybe this could become optional?
  9. Thanks for your help! The protected folder and the htaccess file are beside the "site" folder. PWSITE: - /site/ - /wire/ - /index.php - /.htaccess (of PW installation) - /protected-subfolder/ - /protected-subfolder/.htaccess - /protected-subfolder/.htpasswd
  10. Nice illustration too 🙂 Did you need this module developed for your forums?
  11. Meteo is a weather integration module for ProcessWire. It fetches current weather and forecast data, normalizes responses from different providers into one predictable array format, and can optionally render ready-made weather widgets. Providers Meteo supports: Open-Meteo OpenWeatherMap WeatherAPI.com Open-Meteo works without an API key. OpenWeatherMap and WeatherAPI.com can be used as primary or fallback providers when API keys are configured. Features Current weather, hourly forecast, and daily forecast City geocoding Provider fallback chain File cache with configurable TTL Structured array output for custom templates or frontend frameworks Bundled widget templates: card, full, minimal Widget themes: auto, light, dark One-click Material M3 demo page installer Error tracking via getLastError() Basic usage $meteo = $modules->get('Meteo'); $weather = $meteo->getWeather(40.7128, -74.0060, [ 'location_name' => 'King of Prussia', 'timezone' => 'America/New_York', ]); echo $weather['current']['temperature']; echo $weather['current']['weather_label']; Render a bundled widget: echo $modules->Meteo->styleTag(); echo $modules->Meteo->renderWidgetForCity('King of Prussia', [ 'language' => 'en', 'widget_theme' => 'auto', ], 'card'); Links GitHub: https://github.com/mxmsmnv/Meteo Documentation: https://github.com/mxmsmnv/Meteo/blob/main/docs/USAGE.md
  12. Confirm this problem. https://streamable.com/ukewz6 I have same green avatar 🙂
  13. Hey everyone! Built a heatmap module for ProcessWire, thought I'd share. It tracks clicks, mouse movement, rage clicks and scroll depth — and shows everything as a heatmap right in the admin. No third-party services, all data stays on your server. You pick a page from the list, it loads in an iframe with the heatmap overlaid on top. Switch between click/movement/rage/scroll tabs, filter by date and device type, export as PNG if you need it. Install is just drop the folder into /site/modules/ and hit Install. The tracker injects itself automatically, nothing to configure. GitHub: https://github.com/mxmsmnv/Compass
  14. Yesterday
  15. Update: v1.0 – out of beta (and nested collections landed) Hi all, after a good run in production across a few sites, we’re finally tagging a stable release: v1.0.2. Quick recap for anyone just finding this: Image Library is a Process module that surfaces every image already sitting in your native FieldtypeImage fields, across every page, template and (Matrix)Repeater, in one cross-site, filterable, inline-editable table, with serious bulk editing, content-based de-duplication and where-used on top. It does nothing to your data and needs no migration. The full story is in the three posts above. Collections, all grown up. What was a flat “tick some images, save them as a tab” feature is now a proper little hierarchy: Folders / nesting. A collection can hold its own images and nest sub-collections, up to 3 levels, like folders that also hold files. There’s no separate “container” type: an empty collection is just one with no images yet. Open a parent and you see the union of its own images plus every descendant’s; remove an image from a parent and it cascades down. A manager dialog. One tabbed dialog (Collections | Bookmarks) to rename, reorder, nest / un-nest and delete, by drag or buttons. Deleting a collection cascades to its sub-collections; the images stay put in the library. A Collections column. A new table column shows the collections each image belongs to (linked), with inline re-assignment via a checkbox tree, for one row or a whole batch selection. Membership shows as a union, so a parent lights up whenever the image is in one of its sub-collections. Team-wide now. One thing changed under the hood: bookmarks and collections moved from per-user storage to a single team store, so the whole editorial team works from the same set. Gated by a manage-shared permission; bookmarks got folders too. And on the phone: the strip collapses to three tabs (Show all / Bookmarks / Collections) with cascading tap-to-open fly-outs, so curation works on touch, not just desktop hover. Search that actually narrows. The search box learned operators: multiple words match any (OR), +word requires, -word excludes, and "a phrase" matches exactly, e.g. red +rose -draft. Across title, description, tags, filename and custom subfields. Why “stable” now. Beyond the features, this release got the boring-but-important pass: uploads on Replace are validated by content and not just by extension, a rename now keeps an image’s “Used in” entry, output is escaped, lookups are hardened, and the codebase went through a sizable DRY refactor with no behaviour change. It has been running real editorial work, so 1.0 felt earned. Status. v1.0.2, first stable. Module + docs on GitHub and the Modules Directory. As always, feedback and edge cases very welcome: deep Repeater / RepeaterMatrix nesting, odd Fieldtype combos in custom-field templates, ProFields, and anything the collections manager or front-end picker trips over. Cheers, Mike
  16. Hi @ryan, first of all: thank you for creating this module. I have been doing some rigorous testing with Agent Tools, and while I have been quite productive in using this to move a wordpress site into PW, I do keep running into a couple of smaller issues. In no particular order: It seems I cannot run just a single migration from the CLI. The CLI always wants to run all that have not yet been applied. It seems I cannot simply re-run a migration from the CLI. The GUI does allow this. If I want to do this, I first have to rename the php file in assets/at/migrations. It would be very handy if there was a built-in and (agent-)documented way to add CLI --flags to the migrations. Codex has been inventing their own flags, for instance --dry-run=1, --limit=1 etc, but the implementation has been poor and inconsistent. Besides this, what I am wondering is if it will become possible to, instead of using the CLI or UI, to hook up AI directly via MCP. Or should I look at https://github.com/PeterKnightDigital/PromptWire-MCP for that?
  17. One of my testers won't be available to test as soon as they thought. If anyone else would like to test MediaHub, please shout (DM). The PW community is pretty diverse. I've had testers from a technical, UI/UX and media background. That variety of interests has really helped improve MH from multiple angles.
  18. Thanks @maximus the title format is working now! I was somehow expecting to see that the {site_name} (or whatever suffix you enter here) will be added and visible in the bulk editor window: Currently only the page title value is visible. However when viewing the page in the frontend the title format from the module settings is shown correctly. So I can confirm that this works now.
  19. Last week
  20. Hi @Stefanowitsch, thanks for the screenshots — they helped a lot. You found a real inheritance bug. The JSON example itself was correct: { "meta_title": "field:title", "meta_description": "field:summary|truncate:160" } The problem was that empty page-level SEO fields could block the global defaults with an empty custom value. That is why {site_name} was added by the Title Format, but {meta_title} stayed empty, and the Audit / Bulk Editor still showed missing values. Now: flat defaults like meta_title and meta_description resolve correctly meta.title and nested JSON defaults are also supported empty page-level source fields inherit from template/global defaults empty Bulk Editor title/description fields are saved as inherited values instead of empty custom overrides After updating, rebuild the audit index again and the title/description values should appear. Hi @adrian, thanks for catching both of these. I added separate Rendering settings: - Render hreflang alternate links - Render JSON-LD schema Both remain enabled by default for backwards compatibility, but can now be disabled independently. So in your case, you can disable hreflang when ProcessWire languages are only used internally, and disable JSON-LD completely if your templates already generate the exact structured data you need.
  21. Hi everyone, Needed a way to embed polls and quizzes directly into page content — shortcode in any text field, renders as a cache-safe interactive widget. Built it, it works well, sharing it. GitHub: https://github.com/mxmsmnv/Pulse Screenshot: What it does Polls and quizzes embedded via shortcode into any text field: [[pulse:poll name="my-poll"]] [[pulse:quiz name="my-quiz"]] Polls — voting with live results, multi-select, allow-other option, duplicate protection (cookie+IP, user session, or soft). Quizzes — three modes: graded — points, pass/fail threshold, answer review personality — options award points to outcomes, winning outcome shown at end exam — graded plus timer, attempt limit, question bank, certificate Visual questions — question-level images and image-option layouts. Admin workspace — Setup → Pulse with full CRUD, analytics, CSV/JSON export, import, clone, and demo installer. Security: All scoring server-side — is_correct / outcome_points never reach the client before submission CSRF mandatory on all submissions (token from /pulse/state) Honeypot + rate limiting by hashed IP Voter cookies and IPs stored as salted hashes only Exam HMAC-signed question sets, server-enforced timeouts, signed certificates Cache-safe: renders a static shell, hydrates via JS — works with ProCache. Requirements: ProcessWire 3.0+, PHP 8.2+ MIT License.
      • 10
      • Thanks
      • Like
  22. I messed up and upgraded the module without upgrading the old version of PHP that I have installed. (7.something) Is there a way for me to downgrade the module (install an older version)? Upgrading to PHP 8, while recommended and necessary, isn't an easy task at this point and in the meantime the mailing function of the website is broken. 😞
  23. This looks great! Any way to install it without Composer?
  24. Are you hosting the htpasswd protected folder within the site/ folder, or beside it? PWSITE: - /site/ - /wire/ - /index.php - /.htaccess (PW root htaccess) I have placed folders at root (the same level as site and wire), and haven't had any issues with similar situations, so long as the file name(s) are correctly typed and matching the case sensitivity. Any PW-specific subfolders would also be subject to whatever htaccess rules those subfolders possess, so it's easier to just have separate-need folders at root level.
  25. Hi everyone, I just set up a very simple htaccess password protection for a folder on our website (which is run by PW of course). To be specific, I placed a .htaccess file within that folder, referencing a .htpasswd file in the same folder. However, somehow the PW mechanics redirect to the standard PW 404 page of our website whenever I try to open any file within that folder (instead of prompting the htaccess login and password fields). Thanks in advance for any hints!
  26. Ok, I uploaded a 4.9.6 version manually in wire/modules but it wasn't recognised there. Then I uploaded in site/modules and it got recognised. So now it's working while it's still in site/modules. Also recognised in the upgrades module. After that the module information page said there's two versions and now they're both 4.9.6. A bit of a mystery to me but anyway, ProcessWire managed to get everything in order sort of by itself.
  27. Thanks everyone! The idea of a ProcessWire-native community/forum system is very close to what I am exploring with Vox. I do not think the goal should be to clone classic forum software exactly. PW gives us a chance to mix discussions, Q&A, inline content participation, profiles, reputation and API access in a more flexible way. Migrating a large forum is obviously a serious project, not just “Claude, make no mistakes” 🙂 But Vox 1.6.2 is a step toward testing these patterns on real PW sites: forum overview, Answers mode, Textformatter embeds, inline forms and flexible profile sections. I would be happy to hear which real use cases people would like to see covered next.
  28. I already generate LD-JSON in my code. I haven't entered anything in the module's identity settings, but it's still generating the json on the frontend. Is there a way to disable this please? I want very specific output for each template type. Unless there is a way in Ichiban to achieve that?
  29. Hi @maximus - thanks for all the great recent improvements. Is there a way to disable the <link rel="alternate" hreflang="english-au" etc from being rendered? I have a lot of installed languages which get used behind the scenes, but the website itself is only in English, so having all these listed just isn't correct.
  1. Load more activity
×
×
  • Create New...