Jump to content

All Activity

This stream auto-updates

  1. Today
  2. https://github.com/wirecodex/SimpleAsset
  3. just a small update about the next NativeAnalytics version, v1.0.24. A lot has already been done, but I’m still testing and polishing everything before I publish the full release. One of the main things I’ve been working on is better bot and crawler filtering. NativeAnalytics should now do a much better job at filtering out AI crawlers, SEO bots, social preview bots, uptime monitors, common HTTP libraries and other automated requests, so the analytics data should be cleaner. I also added support for the Matomo device-detector library. Thanks to @adrian The module can use a site-wide Composer installation if available, or fall back to the bundled version included with the module. There is now also a clearer status section in the module settings, so it is easier to see what detection method is currently being used. 404 handling has also been improved. The module now tries to avoid logging false 404s when the URL can actually be resolved by modules such as PagePathHistory, ProcessRedirects or Jumplinks. There are also two new cleanup buttons: Cleanup resolvable 404s Cleanup suspicious probes Suspicious probes are now detected better as well. This includes common scanner URLs like WordPress/Joomla/Drupal/Magento/admin login probes, .env, .git, config files, shell upload attempts, path traversal attempts and similar noise. I also added an optional URL/path filter, so if someone wants to exclude some custom patterns from tracking, this can now be done directly from the module settings. The module settings page has also been cleaned up and reorganized. It should now be much easier to understand, with clearer sections for tracking, filters, bot detection, privacy/consent, retention, reports and advanced settings. There are also several smaller improvements around realtime visitors, IP blocking, cleanup tools, bundled library fallback handling and general admin/dashboard styling. This is not the final release post yet, but the next upgrade is getting close and should be available soon.
  4. Hi @WireCodex that sounds nice. Is there any information available on this module? Like a GitHub link or a documentation?
  5. There is already a setting for this in the "module settings" to disable this on every page. 😉 Already working on this, and will probably post an update later today. Working on: Aggressive bot detection: IP blocklist, 404 filter and some other updates.. 😉 R
  6. Hi everyone, Building a package forwarding platform means dealing with phone numbers from dozens of countries. US customers, European recipients, warehouse staff - each expects a different format. Storing a raw string and hoping for the best doesn't work. This fieldtype does it properly. GitHub: https://github.com/mxmsmnv/FieldtypeTel What it does Powered by intl-tel-input v28 - bundled locally, no CDN dependency. Country flag picker with search Stores four formats per number: e164 - +12025550123 - for tel: links and shipping APIs intl - +1 202-555-0123 - for international display national - (202) 555-0123 - for local display country - us - for filtering and selectors echo $page->phone; // (202) 555-0123 echo $page->phone->e164; // +12025550123 echo $page->phone->country; // us // tel: link echo "<a href='tel:{$page->phone->e164}'>{$page->phone}</a>"; // Selector — find all Australian numbers $pages->find("phone.country=au"); Restrict countries, set preferred countries, per-field defaults Auto-format as user types AdminThemeUikit themed - light and dark mode via --pw-* CSS variables Requirements: ProcessWire 3.0.200+, PHP 8.2+ MIT License.
      • 2
      • Like
  7. Yesterday
  8. Sorry, I might start becoming a bit of an annoyance, but what do you think about removing anayltics data that is added to every page's edit interface if the page isn't viewable (no template file, etc), because it will always show zeros.
  9. Hi @Roych - I am seeing a LOT of bot traffic showing up in the stats - it's effectively making the data useless. Claude's analysis and suggestions: Total identifiable non-human traffic in this top-20 alone: ~955 sessions out of your 1,789 (~53%). And the signature is unmistakable: every one of these has ~1.00 hits per session, which is exactly why your single-page rate is 90.7%. Strip these out and your real human single-page rate is probably in the 60–75% range — perfectly normal for a content site. 1. Pull in Matomo's bot regex list (one-time integration, ~thousands of patterns vs. your ~20). Highest ROI. There are a few PHP libraries that wrap it — matomo/device-detector on Packagist. 2. Add datacenter IP filtering with GeoLite2 ASN data — free database, monthly update. Drops the Chrome/142-style residential-proxy-via-datacenter traffic. 3. Consider making JS-tracking the default (set autoTrack: true in injectTracker) and demoting server-side recording to a fallback for visitors who block your JS. This single change would likely cut your bot noise by 60–80%. 4. Skip behavioral fingerprinting unless you find specific high-value bots slipping through — it's a maintenance burden that doesn't justify itself for most sites. https://github.com/matomo-org/device-detector https://github.com/JayBizzle/Crawler-Detect Please let me know if you have any thoughts, but I think it's clear that the isBotUserAgent($ua) regex isn't very useful at all.
  10. Cool, thanks.
  11. Thanks for the report @Robin S - I hadn't seen that because it was specific to running the Console panel from the module config settings page, but is fixed in the latest version now.
  12. Yeah, I've mostly weaned my sites off of it, but I have a few busy ones where I don't want to force the logout of all the front-end users. After upgrading the "Running..." notice just keeps going, and when I checked the browser console there was an error message.
  13. Thanks @adrian, working great now. Yes, love this feature here, and in the Tracy Console too. Thanks for adding it!
  14. A simple, flexible asset management system for ProcessWire that makes handling CSS and JavaScript effortless. Organize assets with groups and collections, seamlessly switch between CDNs and local files, inline critical resources, generate integrity hashes, and render optimized HTML tags - all with an intuitive notation system and clean API that feels natural in ProcessWire. Alpha — v0.1.0. This module is in early testing. The API may change before a stable release. Feedback and bug reports are welcome.
  15. A background job queue for ProcessWire. Push tasks onto the queue from any template or hook, and let LazyCron process them automatically in the background — with priority levels, delayed execution, automatic retry with exponential back-off, and your choice of file or database storage. Alpha — v0.1.0. This module is in early testing. The API may change before a stable release. Feedback and bug reports are welcome.
  16. A WireQL-powered query engine for ProcessWire that makes building API endpoints effortless. Execute explicit CRUD operations, apply collection modifiers, sanitize field output, and cross-reference query results — all in a single expressive request. Alpha — v0.1.0. This module is in early testing. The API may change before a stable release. Feedback and bug reports are welcome.
  17. A fluent HTTP response builder for ProcessWire with full HTMX support, redirects, cookies, and content negotiation. Build JSON APIs, send HTML fragments, manage headers, and handle redirects with an elegant chainable interface. Alpha — v0.1.0. This module is in early testing. The API may change before a stable release. Feedback and bug reports are welcome.
  18. A modern HTTP request handler for ProcessWire that provides an expressive, type-safe API for accessing request data. Handle form inputs, headers, files, cookies, JSON payloads, HTMX requests, and client information with an elegant, fluent interface - all while maintaining ProcessWire's philosophy of simplicity. Alpha — v0.1.0. This module is in early testing. The API may change before a stable release. Feedback and bug reports are welcome.
  19. A modern, fluent HTTP client that makes consuming APIs effortless. Send HTTP requests, handle responses, upload files, manage authentication, execute concurrent requests, and download remote files - all with an elegant, chainable interface. Alpha — v0.1.0. This module is in early testing. The API may change before a stable release. Feedback and bug reports are welcome.
  20. That's huge. Obviously not a full solution as manual testing is (even with AI, so far) still required, but a big burden can be mitigated right at the start. 👌 Same for the SEO, but even moreso for the template file security scan. ❤️ Always happy for good documentation that PW is known for.
  21. Hi @Roych - do you think it would be possible to exclude URLs from the 404 pages section if they end up resolving to another page - for example, the PW core PagePathHistory modules does a great job of automatically redirecting pages with changed names to their new path, but the original failed path is still being listed.
  22. Sorry about that @Robin S - I had checked file downloads with the new version, but not using PW's $files->send. I tested with your example above and it's working again in the latest version. Please let me know if you notice any issues. I think it's really nice having actions run in the background now so that aren't subject to any time limits, but it has complicated things.
  23. Hi @Robin S - really sorry about that I never use SessionHandlerDB but I need to remember to test with it - should be fixed in the latest version.
  24. @Roych dark mode looks amazing. This is turning out to be a stellar addition to PW. Thanks for your grind.
  25. NativeAnalytics v1.0.23 released Finaly! This release brings full theme-adaptive UI support - the dashboard now natively follows the active ProcessWire admin theme, including automatic light/dark mode switching via Konkat's CSS custom properties. What's new: Automatic light/dark mode - panels, tables, charts, filters, tooltips and sub-tabs all adapt to the active color scheme and more ... Grab it from the repo and let me know how it looks on your setups! Thanks to @matjazp for the nudge to make this dark-mode friendly - more and more people are using dark themes these days, so it really had to be done. Took longer than I thought it would ... Cheers R
  26. Hi @adrian, I have an action that was working in v0.9.8 <?php namespace ProcessWire; class DownloadModulesDirectory extends ProcessAdminActions { protected $title = 'Download modules directory'; protected $description = 'Download a ZIP file of /site/modules/'; protected $author = 'Robin'; protected $dbBackup = 'disabled'; protected function defineOptions() { return array(); } protected function executeAction($options) { $files = $this->wire('files'); $config = $this->wire('config'); $zip_pathname = $config->paths->site . 'modules.zip'; $files->zip($zip_pathname, $config->paths->siteModules, ['overwrite' => true]); $files->send($zip_pathname); return true; } } In v1.0.1 the zip is created but a download isn't prompted, and I see this when executing the action:
  27. Hi @adrian, I also got the CSRF issue when using the console. I think it's a compatibility issue with SessionHandlerDB. The console works when that module is uninstalled.
  1. Load more activity
×
×
  • Create New...