Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. I have downloaded the entire repo as a Zip and extracted all the modules into the site/modules folder. In the admin area, when I clicked the Modules->refresh, the following error had occured: And then, whenever I go to any links under Module admin menu, I see the same error. If I click on the refresh menu again then I get the following error: Where did I do something wrong? Help needed!!
  3. Today
  4. @adrianThanks, i will do it.
  5. @Saugatdai - if I have the module correct, you're probable better off posting your issue over here: https://processwire.com/talk/forum/62-padloper/
  6. Hey everyone. Much to my surprise, my favourite publication on Saturday - ProcessWire Weekly - has a small feature on SeoNeo. I've been reading ProcessWire weekly every Saturday since Issue #1 and never expected to see my own Module mentioned. Thanks @teppo or anyone else who made this happen. I'm not sure what the criteria process is. If you would like to try SeoNeo, any bugs, feedback, praise or abuse is welcome. Github https://github.com/PeterKnightDigital/SeoNeo Official docs https://www.peterknight.digital/docs/seoneo/1.x/ Question, abuse, support, general flattery peter@peterknight.digital Cheers P
  7. Wow, thanks @HMCB for the kind words and support. I must admit, I do love coffee. Especially free ones but even more, I've loved making SeoNeo and am dedicated to keeping a base plan alive and free. So buy yourself or a stranger a coffee instead for the moment. There is a PRO version coming (yes- complete with uppercase letters!), so hopefully the PRO will earn me a coffee or two πŸ™‚ Thanks again. Did you try SEONeo yet and did you have any issues or suggestions? P
  8. Both β€” the payload is random, the prefix is configurable, and the overall structure is fixed: Format: PREFIX-XXXX-XXXX-XXXX-XXXX β€” a prefix plus a 16-character payload in dash-separated groups of four. Prefix: configurable per product via the gs_license_key_prefix field (2–16 uppercase letters/digits, no dashes). If left empty it falls back to the module default PGSHOP. Payload: 16 characters drawn from random_bytes() over a confusion-resistant alphabet (ABCDEFGHJKMNPQRSTVWXYZ2345 β€” no 0/O/I/1/L/U, so hand-typed keys don't get misread), with rejection sampling to avoid modulo bias. That's ~75 bits of entropy. The block layout, separator and alphabet are fixed in code, only the prefix is a per-product knob. If you need a genuinely different scheme, the generator sits behind a LicenseKeyGenerator interface (RandomBytesLicenseKeyGenerator is the default impl) β€” you can drop in your own without touching the issuance logic. Yes, guaranteed at the database level, not by in-memory bookkeeping: gs_license_keys.license_key carries a UNIQUE index. Issuance inserts the key; if MySQL returns a duplicate-entry error, the service generates a fresh key and retries up to 5 times (LicenseIssuanceService::persistNewKey). This is deliberately a race-safe atomic insert + retry, not a check-then-insert (which would have a TOCTOU gap). At ~75 bits of entropy a real collision is astronomically unlikely, but the guard is there and correct even under concurrent checkouts.
  9. Great stuff. Just two questions before I get around to testing Can we configure the license key format or is it random? Are subsequent licenses aware of the previous keys to avoid collision
  10. I have downloaded the entire repo as a Zip and extracted all the modules into the site/modules folder. In the admin area, when I clicked the Modules->refresh, the following error had occured: And then, whenever I go to any links under Module admin menu, I see the same error. If I click on the refresh menu again then I get the following error: Where did I do something wrong? Help needed!!
  11. @Peter Knight I get that this is free, but set up a Buy Me Coffee or something. You’ve done a tremendous amount of work. And if you take up community suggestions, it would be nice to reward you a little for your efforts. This is a great module.
  12. A small update on PWGermanShop: I've just finished adding support for digital products and license management. Current features include: Selling physical and digital products together Automatic license key generation after successful payment License key delivery by email Customer license overview in the frontend ("My Account") Device activation tracking with configurable activation limits License validation API for your applications Backend tools for managing and revoking licenses I've also added a demo product so you can try the complete workflow yourself: https://demoshop.mholte.de/shop/focusframe-timer/ After completing a purchase, you'll receive a license key that actually unlocks the demo application, so it's not just a mock-up. Documentation for the licensing module: https://mholte.de/docs/PWGermanShop/#/betreiber/lizenzen?id=lizenzschlΓΌssel-germanshoplicenses Please note: There is currently a bug when using the "Auf Rechnung" payment method. The license generation and email delivery are not triggered, so for testing please use another payment method (for example "Vorkasse" and click "Zahlung erhalten" in the orders overview, that will trigger the flow). Once you've finished testing, please delete your order. Otherwise, your order details, including your email address, may remain visible in the demo shop's backend until the next automatic reset (up to about 6 hours). I'd really appreciate any feedback, especially if you're planning to sell software, plugins, digital downloads, or other licensed products with PWGermanShop.
  13. Hey. Nothing wrong with wiggly bananas! I just installed it on one of my own new sites in development. It's much more impressive looking in real life than in the video. I normally don't like any type of design studios within Modules but you've made something very polished and flexible and I can see there are over-rides. So all looking really good. Will get around to the nitty-gritty of the compliance stuff hopefully next week.
  14. I recently extended PrivacyWire (via hooks) to handle opt-in and opt-out models and during my research the one key thing I discovered is that the province of Quebec also requires the opt-in model, so I also use Maxmind's region_code to allow support for specifying which model is used at the region, and not just country level. I also added support for showing a "Opt out request honored via privacy signal" temporary toast message when the browser has set a Global Privacy Control (GPC) policy, rather than either of the opt-in or opt-out banners. @maximus - does the module support these options?
  15. Hi I want to display some code samples in my TinyMCE field. Is the best approach to enable TinyMCE codesample in the Plugins or is https://processwire.com/modules/textformatter-prism/ a better option? Thanks. A bit rusty on this but I am moving over 200 pages of documentation from a React based app into Processwire.
  16. Hey Peter, thanks a lot β€” good timing then! On both points you flagged: GTM β€” Cookie ships with Google Consent Mode v2 built in (toggle it on under Integrations). It fires the denied-by-default signals before your GTM/gtag snippet loads, then updates them live on every consent change β€” so GTM just sees the standard Consent Mode API and behaves correctly without any custom wiring on your end. Only gotcha: keep your GTM snippet loading after the module's own output so the default signals are already in place when it initializes. Reporting β€” there's a Consent log (Setup > Cookie > Consent log) with CSV export β€” timestamp, consent version, granted categories, salted IP hash, configurable retention with auto-purge. On top of that there's a small stats dashboard (accept-all vs. only-necessary vs. custom %, per-category acceptance, a 30-day volume chart) if you just want the at-a-glance numbers without digging into raw export data. Honestly, the Design Studio is the part I'm most proud of. I don't particularly enjoy digging into code just to customize something visually, so I built the whole widget to be styled entirely from that live-preview builder β€” colors, fonts, layout, icon, dark theme, all of it β€” no CSS overrides needed. For agency work with multiple client sites that each need slightly different branding, that's probably the bit that saves the most time. (And yes, one of the 7 icon choices is a banana that wiggles when you hover it. No compliance value whatsoever, purely for fun β€” but I couldn't resist leaving it in. 🍌) Would genuinely love to hear how it goes on your test site β€” especially if you run it against a client's actual GTM setup, since that's the scenario it matters most for. Feel free to open an issue on GitHub if anything doesn't line up with how your clients have things wired.
  17. Hey Maximus. I was literally wondering / hoping last week that someone might build something robust and modern for PW. Most of my clients pay a monthly subscription for third party solutions but they believe rightfully that the EU compliance is non negotiable. So looking forward to trying this on my personal site as a test. One of the most valuable parts for them is integration with GTM and the reporting dashboard too BTW. Also that video really helps demo the functionality πŸ‘πŸ»
  18. Hi everyone, I'd like to share Cookie, a consent management module I've been building β€” a consent banner, preferences window, server-side auto-blocking of trackers, and an interactive visual builder for styling the whole thing without touching CSS. GitHub: https://github.com/mxmsmnv/Cookie Demo (Design Studio): https://drive.google.com/file/d/1u5nSmBogZJd8FF5vVZ_R2CABkSAZvXl2/view Why Most consent solutions I looked at made you choose: either you get compliance (trackers actually blocked before consent) or you get design control (colors, layout, icon placement) β€” rarely both without editing CSS/JS by hand. Cookie tries to give you both. What it does Consent-first by default. Known trackers and embeds (GTM, Google Analytics, Yandex Metrika, Meta Pixel, Hotjar, Clarity, DoubleClick, TikTok, YouTube, Vimeo, Google Maps and more) are neutralized server-side, in the rendered page, before it reaches the browser. Two consent models: opt-in (GDPR/ePrivacy, UK GDPR/PECR, LGPD, Law 25, POPIA, KVKK) and opt-out (CCPA/CPRA and other US state laws), plus Global Privacy Control support, and a geo mode that picks the model automatically by visitor country. Category-based blocking of scripts, iframes, images and video, with placeholders and multi-category requirements. A visual builder (Setup > Cookie β€” "Design Studio"): live-preview layout, colors, fonts, radius, shadows, spacing. 50 color presets, 25 icon-color presets, 18 dark-theme presets. A floating settings icon with 7 built-in choices, adjustable shape/size/position/color/shadow, including a transparent icon-only mode. A dark theme with its own live-edited color set. A services catalog + cookie policy generator. Google Consent Mode v2, consent expiry/versioning, JS API, CustomEvents. Optional consent log with CSV export and a small statistics dashboard. Everything is hookable, and it's multi-language out of the box with per-language text targeting. Basic usage <script type="text/plain" data-consent="statistics" src="https://example.com/analytics.js"></script> $wire->addHookAfter('Cookie::allowCategory', function($e) { if ($e->arguments(0) === 'marketing') $e->return = false; }); Installation Copy to /site/modules/, install, configure texts/categories in module settings, design the widget in Setup > Cookie. Requires ProcessWire 3.0.244+ and PHP 8.2+. MPL-2.0 licensed. Full docs and hooks reference: README. This is the 1.0.0 release β€” feedback and bug reports welcome! GitHub: https://github.com/mxmsmnv/Cookie Demo (Design Studio): https://drive.google.com/file/d/1u5nSmBogZJd8FF5vVZ_R2CABkSAZvXl2/view
  19. @ryan - On a slightly different note, I have just installed the qwen-2.5-32b instruct, and it is running fine on my system via ollama (better at balancing tham LM Studio, it appears). But I have been setting it up for gramma checking, using modelfile to customise it. Basically, it tells it to act as an editor, not to get too creative, then gives some specific instructions over strange words, grammar, etc. It then creates a model for just that purpose. Could something similar be run for AgentTools so that the actual model has specific hard-wired PW knowledge in advance? I don't know enough to say if this would speed things up or anything like that. But it certainly helps with Word as it knows in advance character names etc, without it having to be prompted at the time.
  20. I casually do this with my HERMES (https://hermes-agent.nousresearch.com/) instance, just to train it against my habbits. Or at least I try to. I also become angry, or let it know when I am angry, or whatever about a topic, plan, schedule we had planned or working on. Depending on the model in the background the success rate is mixed - at best. Being more fun and enjoyable sticks way better with HERMES at least. OpenClaw (or whatever its name is nowadays) didn't work out for me at all. HERMES is running on all my office machines (settings are synced via Syncthing) so I can query any of them via Telegram. At least one device is online and reachable from whereever I am all the time. I was curious with HERMES and started chatting with it, like it was someone I met the first time at the bar/office/gym/whereever. We chatted, exchanged details, interests, projects, HERMES also knows my love for TV shows (https://log.nerd.to/tvshows/) and movies - and has access to the repo so whenever I mention something in those regards, HERMES updates that list with new shows or ratings. 🀯 I can ask for recommendations or chat about the latest episode of FROM. I wouldn't do that with OpenCode, Pi, Grok, Droid, Cline, Kilo, or any other agent... but HERMES. It's built for that.
  21. Yesterday
  22. [ah-sht-here-we-go-again-meme.jpg] The current progress of ProcessWire reminds me of the fun I had back when I first discovered ProcessWire. All the features and things I was able to enjoy with ProcessWire I missed in all other tools back then. No limitations or restrictions in terms of templates, fields, pages, content, and everything. I really enjoy it. I love it. 🫑 Thank you, @ryan!
  23. @Peter Knight I think polite and/or positive language can have a place in prompting. LLMs are conditioned on the full prompt, including tone, social framing, implied collaboration style, etc. Maybe they don't feel encouraged the way humans do, but the language still changes the context the model is responding to. Research on emotional prompting suggests that motivational language can improve outputs, though it varies by model and task. Prompting an AI agent in a respectful, collaborative way (including perhaps saying "good morning") can be useful because it steers the kind of response you’re asking it to produce. Related and pretty interesting: EmotionPrompt improved results across different metrics between 8% and 115%.
  24. When checking a checkbox for field, can the table row get highlighted? It makes it easier to track visually. Note: this would be similar to when selecting a row in ListerPro, it highlights the row.
  25. yeah its a funny habit. I wonder how long it’ll be until the AI overlords dictate the schedule
  26. Well, I do. I tell him/her that its late here and have to go to sleep πŸ™‚...
  27. Yes. Both clocking out and clocking back in like we owe them some account of our status
  28. @Peter Knight Not sure I understand? Are you talking about saying good morning?
  1. Load more activity
Γ—
Γ—
  • Create New...