All Activity
- Past hour
-
Module: AIOM+ (All In One Minify) for CSS, LESS, JS and HTML
tires replied to David Karich's topic in Modules/Plugins
This is the source code at the bottom of the frontend page: <script src="/site/assets/aiom/js_418c8cd8c559810255e3250d05446d9c.js" async defer></script><script>var emo = emo || {}; emo.key = '.C1vql2a5RcPeJomwFrx7puhYLKgINntH0s9WZbAMiyDOXjE6TVS8GkB_1111Qfz';</script><link rel="stylesheet" href="/site/assets/aiom/css_6b89ca87ab7d885667358c0a046f5836.css"><link rel="stylesheet" href="/site/assets/aiom/css_1111a5003457ed863af5db2e9421e88.css"><script type="text/javascript" src="/site/assets/aiom/js_b363b432e18b7d69fccac9f9ef11116d.js"></script><div id="adminbar" data-adminbar='{"classes":{"link--modal":"adminbar__link--modal"},"urls":{"modules":"\/wire\/modules\/"}}' class="adminbar adminbar--auto-padding"><ul class="adminbar__list adminbar__list--left"><li class="adminbar__list-item adminbar__list-item--item-logo"><a class="adminbar__logo" href="/pwbackend/"><img class="adminbar__logo-img" src="/wire/modules/AdminTheme/AdminThemeUikit/uikit-pw/images/pw-mark.png" alt="" /></a></li><li class="adminbar__list-item adminbar__list-item--item-browse adminbar__list-item--active"><a class="adminbar__link adminbar__link--item-browse" href="#"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 960q-152-236-381-353 61 104 61 225 0 185-131.5 316.5t-316.5 131.5-316.5-131.5-131.5-316.5q0-121 61-225-229 117-381 353 133 205 333.5 326.5t434.5 121.5 434.5-121.5 333.5-326.5zm-720-384q0-20-14-34t-34-14q-125 0-214.5 89.5t-89.5 214.5q0 20 14 34t34 14 34-14 14-34q0-86 61-147t147-61q20 0 34-14t14-34zm848 384q0 34-20 69-140 230-376.5 368.5t-499.5 138.5-499.5-139-376.5-368q-20-35-20-69t20-69q140-229 376.5-368t499.5-139 499.5 139 376.5 368q20 35 20 69z" fill="#fff"/></svg>Ansicht</a></li><li class="adminbar__list-item adminbar__list-item--item-edit"><a class="adminbar__link adminbar__link--item-edit adminbar__link--modal" href="/pwbackend/page/edit/?id=8305&modal=1&ab_modal=1"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M491 1536l91-91-235-235-91 91v107h128v128h107zm523-928q0-22-22-22-10 0-17 7l-542 542q-7 7-7 17 0 22 22 22 10 0 17-7l542-542q7-7 7-17zm-54-192l416 416-832 832h-416v-416zm683 96q0 53-37 90l-166 166-416-416 166-165q36-38 90-38 53 0 91 38l235 234q37 39 37 91z" fill="#fff"/></svg>Bearbeiten</a></li><li class="adminbar__list-item adminbar__list-item--item-new"><a class="adminbar__link adminbar__link--item-new adminbar__link--modal" href="/pwbackend/page/add/?parent_id=8305&modal=1&ab_modal=1"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1344 960v-128q0-26-19-45t-45-19h-256v-256q0-26-19-45t-45-19h-128q-26 0-45 19t-19 45v256h-256q-26 0-45 19t-19 45v128q0 26 19 45t45 19h256v256q0 26 19 45t45 19h128q26 0 45-19t19-45v-256h256q26 0 45-19t19-45zm320-64q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z" fill="#fff"/></svg>Neu </a></li></ul><ul class="adminbar__list adminbar__list--right"><li class="adminbar__list-item adminbar__list-item--item-admin"><a class="adminbar__link adminbar__link--item-admin" href="/pwbackend/page/?open=8305"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1152 896q0-106-75-181t-181-75-181 75-75 181 75 181 181 75 181-75 75-181zm512-109v222q0 12-8 23t-20 13l-185 28q-19 54-39 91 35 50 107 138 10 12 10 25t-9 23q-27 37-99 108t-94 71q-12 0-26-9l-138-108q-44 23-91 38-16 136-29 186-7 28-36 28h-222q-14 0-24.5-8.5t-11.5-21.5l-28-184q-49-16-90-37l-141 107q-10 9-25 9-14 0-25-11-126-114-165-168-7-10-7-23 0-12 8-23 15-21 51-66.5t54-70.5q-27-50-41-99l-183-27q-13-2-21-12.5t-8-23.5v-222q0-12 8-23t19-13l186-28q14-46 39-92-40-57-107-138-10-12-10-24 0-10 9-23 26-36 98.5-107.5t94.5-71.5q13 0 26 10l138 107q44-23 91-38 16-136 29-186 7-28 36-28h222q14 0 24.5 8.5t11.5 21.5l28 184q49 16 90 37l142-107q9-9 24-9 13 0 25 10 129 119 165 170 7 8 7 22 0 12-8 23-15 21-51 66.5t-54 70.5q26 50 41 98l183 28q13 2 21 12.5t8 23.5z" fill="#fff"/></svg>Backend</a></li><li class="adminbar__list-item adminbar__list-item--item-logout"><span class="adminbar__html adminbar__html--item-logout"><form class="adminbar__form" action="/pwbackend/login/logout/"><button class="adminbar__button" type="submit"><svg class="adminbar__icon" aria-hidden="true" width="16" height="16" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1664 896q0 156-61 298t-164 245-245 164-298 61-298-61-245-164-164-245-61-298q0-182 80.5-343t226.5-270q43-32 95.5-25t83.5 50q32 42 24.5 94.5t-49.5 84.5q-98 74-151.5 181t-53.5 228q0 104 40.5 198.5t109.5 163.5 163.5 109.5 198.5 40.5 198.5-40.5 163.5-109.5 109.5-163.5 40.5-198.5q0-121-53.5-228t-151.5-181q-42-32-49.5-84.5t24.5-94.5q31-43 84-50t95 25q146 109 226.5 270t80.5 343zm-640-768v640q0 52-38 90t-90 38-90-38-38-90v-640q0-52 38-90t90-38 90 38 38 90z" fill="#fff"/></svg>Ausloggen</button></form></span></li></ul></div></body></html> <!-- Generated: Fri, 15 May 2026 16:43:44 +0200 // Powered by AIOM+ v4.1.0 --> And this is what the top of the frontend looks like while you're logged out: When I click "Empty cache," the frontend looks normal again and the admin bar disappears. - Today
-
Hi everyone SEO NEO is ready if anyone is available for early testing. I have been testing on a fictional purpose-built site to stress-test multilingual content, URL segments and a heap more. If you'd like to try it on your next real PW build, please DM me, and then we'll work quickly towards the general release and availability via PW modules and GitHub. Cheers, and have a great weekend π P
-
Peter Knight started following Time Management and Work / Life Balance
-
Hey Brendon This took me back. When I first started freelancing, I distinctly remember a period where I felt the same. It was impossible to keep up, know everything, have time to stay current and be in a relationship. And for a brief while, I was trying my best to do all those things. Two revelations really helped me relax and enjoy life and stop stressing. 1. A friend reminded me that my relationships were more important than my work 2. I realised the most important challenge is knowing what I don't need to know So, to clarify number 2, it was a case of switching from: I need to know Adobe Flash, Actionscript 1, HTML and CSS, PHP (3), JS, Dreamweaver etc etc etc to I don't need to be an expert in all these fields. I just need to know how to solve the client projects in front of me. If I don't know something at the time, I'll learn, buy a book or suggest an alternative. So I hope that helps. I notice you're looking for a system to cram it all in, but the thing that actually helped me was accepting I couldn't (and didn't need to). So don't sweat. It's funny because lately I had to remind myself of my 2000 AD self. I began to feel with AI and AI Development that there's no way I can keep up. I've been bookmarking 50 pages a day (but reading none) and can occasionally feel burnout approaching. So I'm going to relearn to calm down a bit, because that girlfriend from 25 years ago is now my wife, I have a good freelance business, and the most important things are relationships, health and peace of mind. Everything else is a bonus and worth chasing, but not at the expense of the fundamentals. Also, you mention your friend's life, but you're measuring yourself against someone you're painting as superhuman. That could easily be a confidence and happiness killer right there, and unlikely to be helpful.
-
douwe started following Using Google Translate API for automatic translation
-
Many thanks @Ivan Gretsky.
-
Module: AIOM+ (All In One Minify) for CSS, LESS, JS and HTML
matjazp replied to David Karich's topic in Modules/Plugins
What do you mean by "backend page apparently gets cached"? Any errors in javascript/network panel in browser? Any info in log files? I see that the layout of tabs is not correct, or at least differs from how the tabs are renered here on my browser. AIOM does not have admin bar, I have no idea what would that be. Please PM with your site details so I can check myself. -
Can you provide more info? You edit some css file and want to insert "overflow:hidden" and then happens what?
- Yesterday
-
lpa started following Long saving time, how to debug
-
I have quite a quite large template having 57 fields. Now the saving of a page with that template takes over a minute on the production server. The server is a shared webhotel server with PHP 8.2. On my own vps server the saving takes under 3 seconds. Tracy shows in the timers for the last save stage, the redirect to ?id=222&s=1&c=0, 1,2 seconds time. But the Execution time for this in System info is 1400 ms. Where can I see what causes the one minute delay? I can't find the point in Tracy panels to debug more.
-
Thank you for your reply. That puts my mind at rest, I'll just sync the times in my local config.php as you suggest.
-
Module: AIOM+ (All In One Minify) for CSS, LESS, JS and HTML
tires replied to David Karich's topic in Modules/Plugins
I've noticed some strange behavior on two ProcessWire & AIOM+ installations now. When I make a change in the module and click "Save," the backend page apparently gets cached. When I open the frontend in a different browser, the admin bar appears. When I click "Empty Cache," the admin bar disappears again. But with every change in AIOM+, it reappears in the frontend. Iβve only made the default settings and havenβt changed anything in the templates themselves ... -
Hi Peter, thanks for taking the time to go through everything in detail β really appreciated. Good to see how much is already done or on the roadmap. Also, I really like your βNearly Everything at Onceβ acronym for Neo. π Looking forward to the phased rollout. Cheers, Mike
-
Hi everyone, Every site I've launched eventually had a database incident β corrupted table, failed migration, bad deploy. Having a reliable backup system that runs automatically and stores offsite is non-negotiable. This module is what I use in production. GitHub: https://github.com/mxmsmnv/ProcessDbBackup What it does: Three independent backup types β Regular, Weekly, Monthly β each with its own LazyCron schedule and retention count Admin home widget β shows status (π’ OK / π‘ Outdated / π΄ No backups) per type with "Create now" buttons Backblaze B2 upload β optional offsite storage after every backup, keep or delete local copy Chunked upload β upload .sql.gz from your computer in 2MB chunks, bypasses upload_max_filesize entirely Streaming restore β reads .gz line-by-line, flat memory usage regardless of dump size Partial restore β select individual tables from a backup Pre-restore auto-backup β safety backup of current DB before any restore Backup integrity verification β gzip check + SQL structure validation Lock file β prevents concurrent backup processes Exclude tables β skip cache, sessions etc. from all backups Storage protected with .htaccess deny-all Backup methods: mysqldump (preferred, InnoDB-safe hot backup) with PHP PDO fallback. Restore via mysql CLI with PHP PDO streaming fallback. Requirements: ProcessWire 3.0+, PHP 8.0+, zlib, PDO. mysqldump/mysql CLI optional but recommended for large databases. MIT License.
-
- 10
-
-
- Last week
-
It's not possible to upload a profile picture in the forum
David Karich replied to David Karich's topic in General Support
Hmm, not the best solution. π I've tried it about 30 times already today. -
It's not possible to upload a profile picture in the forum
maximus replied to David Karich's topic in General Support
You need try couple times. -
szabesz started following MediaHub 1.16.0 released
-
Those "top bar features" are welcome, and so are the "library and inputfield" additions/changes. Thanks @Peter Knight!
- 1 reply
-
- 1
-
-
Thanks, @millipedia. I used Audio Embed Textformatter in the past, in another site, together with Video Embed and so on (pdf, etc.). But it would be much simpler and more elegant to use a universal "insert media..." in TinyMCE. As a last resource, while I wait for a uniform solution, I'm using a Hanna code to embed the audio without forcing the person who is editing to deal with code. But I'm not completely satisfied with this partial solution, I confess.
-
You could use @teppo's Audio Embed Textformatter which converts URLs which reference audio files into an audio tag.
-
Ivan Gretsky started following How to restrict and lock Repeater Matrix types?
-
How to restrict and lock Repeater Matrix types?
Ivan Gretsky replied to howdytom's topic in Getting Started
I assume you want those other RM types that should not be editable by the user with the given role still to be shown in admin, but with all their fields being disabled. The best way to achieve this is via hooks. Look here or search for similar topics for inspiration. Check RestrictRepeaterMatrix's source code for another example. You need to get the InputfieldRepeaterMatrix field at some point (maybe after the renderReadyHook method), foreach through the blocks and change their fields' output based on your conditions. Sorry for no ready-to-copy-and-paste code)) -
Media plugin is enabled. The file is in the inputfield files in the page. It doesn't work. The files inputfield allows wav and mp3 extensions, amongst others.
-
David Karich started following It's not possible to upload a profile picture in the forum
-
howdytom started following TinyMCE strips out html <audio> tag?
-
I guess you have to enable the TinyMCE media plugin in your field settings β Input. It's in the Plugins section. Also, make sure to add the media type to the toolbar. Personally I try to avoid adding audio elements to the WYSIWYG editor. As a quick solution you could create a text field to reference a file path or add a file field which provide a upload option. <audio controls> <source src='{$file->url}' type='audio/mpeg'> </audio> Updated:
-
I need to insert in a inputfield (textarea) a player for sound (either mp3 or wav). It seems TinyMCE strips out the tag <audio src="..."></audio>. Any ideas about what I'm missing?
-
Hello, I need some advice on what is the best option to set permissions for Repeater Matrix. I am using a Repeater Matrix with multiple Repeater Matrix types in a template. The main Repeater_matrix_field consists of around 10 items with image, text fields and various layouts. What I am trying to do is to limit permissions and prevent a user role from editing. How can I restrict access to certain Repeater Matrix types so that all fields are locked except 2 Repeater Matrix types? Is that possible? Repeater_matrix_field structure: 1. Repeater Matrix item: Full size image field 2. Repeater Matrix Item Two Column text fields 3. and 4. Repeater Matrix Item. The only field that the user should be allowed to edit 5. Repeater Matrix Item: Text Teaser fields 6. Repeater Matrix Item: Full size image field 7. Repeater Matrix Item: Two Column text fields What is the most elegant way to set the permissions? Option A. I have looked into RestrictRepeaterMatrix module. However it still possible to modify and delete existing Repeater Matrix types. Option B. Usually I would add a separate field with individual permissions, but adding 2 more Repeater Matrix duplicates seems to be overkill. Also both fields are located in the middle of the Repeater Matrix field. The option to change the item order is essential. I hope this makes sense. I really appreciate any reply.
-
module New Textformatter: Smart Quotes for visible Text
Mikel replied to Mikel's topic in Modules/Plugins
Update: Custom Option β v 1.1.0 A while back, a kind soul forked this module to add Polish quotation marks. Small plot twist: Polish primary quotes are typographically identical to German ones (β...β) β so the fork mostly added the word "Polish" to the dropdown. Hats off to the spirit, though. π΅π±π©πͺ Taking the hint, we've now added a Custom option: pick it in the module config and you get two extra text fields where you define your own opening and closing characters. No more forking required when none of the presets fit β Polish, Klingon, or otherwise. π Cheers, Mike -
GitSync β Keep your (private) modules in sync with GitHub
matjazp replied to Mikel's topic in Modules/Plugins
[manual] Sync "TracyDebugger" branch "master": 1121 remote, 987 local, 0 to update, 0 to delete (134 preserved via .gitignore/.gitattributes) Yep. Thanks for quick fix! -
GitSync β Keep your (private) modules in sync with GitHub
Mikel replied to Mikel's topic in Modules/Plugins
Sorry, @matjazp, that's a genuine data-loss bug on Windows, on us. Root cause: buildLocalFileMap was using SplFileInfo::getPathname() which returns backslash paths on Windows, while the remote tree uses forward slashes. So every subdirectory file looked simultaneously "new" (not in local) AND "deleted" (not in remote) because the key comparison failed. The ZIP path then wrote 980 files and the delete pass immediately removed the same 980 files via their backslash variant β which on NTFS resolves to the same file. That's exactly the "6 files left in root" pattern you saw. Fix is now in branch refactor-install-from-Github: relative paths are normalized to forward slashes in buildLocalFileMap regardless of OS. A few things to double-check before you retry: Sync GitSync branch "refactor-install-from-Github" to latest commit 0f1425e Make sure your manually-restored TracyDebugger matches the upstream master (which it should if you grabbed it from the GH repo directly) Run sync β log should show something like 0 to update, 0 to delete (134 preserved via .gitignore/.gitattributes) and "up to date" If your restore was from git clone rather than the GitHub ZIP, your local will have .gitattributes and docs/ present β those are now matched by the .gitattributes export-ignore filter, so they'll be preserved rather than deleted. Thanks for the precise log output β without the file-count math the Windows-only nature wouldn't have been obvious. Linux/macOS users were unaffected because SplFileInfo::getPathname() already returns forward slashes there. Cheers, Mike