-
Posts
1,464 -
Joined
-
Last visited
-
Days Won
10
Everything posted by Peter Knight
-
Thanks. That’s quite a volume. Appreciate the info. More soon….
-
I'm doing a little research here. How many templates do you have across your 3 largest sites? I don't need URLs. Just an approx number. For me, I have approx 10-20 templates in most sites. Cheers P
-
I'm thinking a stand-alone repo? If it's going to be a solid design language reference and referenced by other modules and developers, it should be separate. What's your feeling?
-
I was just thinking this when @Soma reappeared. I've been using MSN too on every project I've ever created and never had an issue with it.
-
I heard that too. If I’m not mistaken though, you can have 10,000 views per month free. https://mapsplatform.google.com/lp/maps-apis/#pricing
-
I think this was flagged before but the Dev Directory is running on an older theme. https://directory.processwire.com/developers/ The map seems broken too but I realise Google are forever changing their maps API. P
-
PromptWire MCP (new name) is now public on Guthub. Use at own risk 😀 https://github.com/PeterKnightDigital/PromptWire-MCP PromptWire MCP for ProcessWire (blog introduction) Documentation can be found here. https://www.peterknight.digital/docs/promptwire/v1/ Enjoy 😊
-
This is briliant, @maximus. I was just considering such a thing, so looking forward to contributing if it becomes a repo.
-
☁️ Duplicator: Backup and move sites
Peter Knight replied to flydev's topic in Module/Plugin Development
Is Duplicator aware that some environments can contain symlinked Modules of remote repos? I can set the excluded files and folders to: .git .github .cursor .DS_Store .gitattributes .gitignore otherwise I recently had PHP warnings on some hosts about open_basedir restrictions. Cheers P -
Is Vimeo or a dedicated video host not an option?
-
Hey soma. It’s wonderful to hear you’re back. I must be following you on instagram because I have seen your work regularly over the years. they’re the biggest wins and often take longest to happen Looking forward to seeing you more around here 😀
-
Hey all, MediaHub is ready! Thanks for the kind words and the questions about availability. I've been replying to a few people privately, but here's the latest.. It has been given a thorough kicking on my own site(s) and 2 client sites. I'm opening up a waitlist for those interested in purchasing early access. I want to limit it initially to the first 5-10-ish people. IE small batches so I can make sure the purchase and licensing flow works smoothly hear how the setup goes across different environments provide proper support to each person. If you're interested, DM me here. Early access members will get a discount on the first year of updates as a thank you for feedback. I'll post a walkthrough video here shortly, but the screenshots earlier in the thread should give you a pretty good picture of things. Cheers everyone, Peter
-
Recommended way to move installation from local to production server
Peter Knight replied to _Roy_'s topic in Getting Started
No probs. Just out of curiosity, who are you hosting with as I recall some hosts have weird setups. I recall GoDaddy in particular caused me issues before. Nothing some htaccess wrangling didn’t fix but a head scratcher at the beginning. -
Recommended way to move installation from local to production server
Peter Knight replied to _Roy_'s topic in Getting Started
@_Roy_ how did it go? -
Possibly it can or could. It could simply be bad prompts which led to non optimal solutions. I’ll ask it later 🤖
-
On a side note, because of the ProcessWire 'way' of handling images, it helps to think about the purpose of the images your page will have. As teppo flagged. So I usually have 1 x carousel images or a hero image field 1 x general images field i might display in the content 1 x something else The reason for doing this is that you can keep all your images and image field settings appropriate for the image purpose etc. Especially if you have clients adding or removing images. I find having just one image field can be an issue if they accidentally remove something or add an image which should not be part of the hero banner etc. Later on you might want to also look at tagging images and calling them onto your front-end pages https://processwire.com/modules/textformatter-image-tags/ But I'd recommend getting used to the basics first. An example of how I use image tagging might be. I have a product field with a lot of general images one of them in particular is used as a preview thumb on a product overview page so i'll tag that image 'preview' or whatever you want really. Lets us know how it goes
-
Recommended way to move installation from local to production server
Peter Knight replied to _Roy_'s topic in Getting Started
I usually do this and it simplifies things if your local and remote credentials are the same. 1. Turn on errors on your config file to make trouble shooting easier 2. Zip up all your local files and ensure to get your htaccess too 3. Export the local database and import it into the remote plesk server or whatever you’re using 4. Set up remote database credentials 5. unzip remote files From that point onwards, I might have some htaccess issues or I might need to look at site logs etc but most of the time it goes smoothly enough. You’re installing onto a blank site right? If there is an existing site in the webspace which you didn’t create, ensure to rename the index.html page -
Hey a UI/UX question if anyone wants to chip in. Does this make sense? Rich Text Editors (normal flow) You click the Add Image button in TinyMCE, and the Select image window opens. You see a list of images associated with that page (only). Rich Text Editors (with MediaHub) With MediaHub, I'm no longer restricted to showing only the images attached to a page's fields. But that raises a UX question: clients are used to seeing just a handful of images tied to the page they're editing. Presenting hundreds of Library assets upfront and asking them to sort and filter isn't an improvement...if it's a sorting and filtering burden. The better approach is two tabs? On this page for the assets already attached to the current page, and MediaHub (or Library) for the full collection? Or should I only display the entire library with the users' page images positioned at the top for convenience? Cheers P
-
From Cursor below. You'll be please to note it's impressed with your question 🙂 Good question! It's entirely home-baked. The CLI is a custom PHP script (PwMcp/bin/pw-mcp.php) that bootstraps ProcessWire directly, and routes commands through a CommandRouter class (PwMcp/src/Cli/CommandRouter.php). It's purpose-built for the MCP workflow - the Node.js MCP server shells out to PHP, passes structured arguments, and gets JSON back. It doesn't use WireCLI, ProcessWire Console, or RockShell. Those are general-purpose CLI tools for ProcessWire. The PW-MCP CLI is narrowly focused on the specific commands the AI agent needs: reading pages, querying selectors, listing templates/fields, exporting schema, and syncing content. It speaks JSON natively (no human-friendly formatting to parse) and is designed to be called programmatically by the MCP server rather than by a human in a terminal. The architecture is: Cursor Chat → MCP Server (Node.js/TypeScript) → CLI (PHP) → ProcessWire API For remote sites, the CLI layer is bypassed entirely - the Node.js server makes HTTP POST requests to pw-mcp-api.php, which bootstraps ProcessWire and runs the same CommandRouter directly: Cursor Chat → MCP Server (Node.js) → HTTP POST → pw-mcp-api.php → ProcessWire API So the CLI is really just the local transport mechanism. The actual logic lives in the CommandRouter and related PHP classes, which are shared between both the local CLI and remote HTTP paths.
-
Oh and I had an n8n automation set up recently. You can run n8n for free locally so I did a little experiment… local n8n workflow is scheduled to run every X minutes contacts my live site creates an unpublished post in a predetermined location sends me a slack notification confirming page created That’s the real reason that the Module exists. So if you want to, you can create content at scale automatically. Nothing to stop you integrating keyword and competitor research into the mix and experimenting with programmatic SEO (pSEO). Maybe I should add that to the AI thread?
-
Latest updates. I had somewhat foolishly left development of the RTE integration until late in the day. But this week I am almost done with TinyMCE integration and a custom button on the toolbar. Initially I had planned on this flow user clicks the RTE media hub icon (insert image) A popup appears which displays images from the other fields on that page im so conditioned to this pattern that I overlooked something obvious. Why display just the images on a page when Media Hub can display all images in your hub? 🧐 Somehwhat unnecessarily, we’re asking clients to add an image to a field(s) Select insert image select image from step 1 again I’ll add a screenshot of the solution tomorrow. Would appreciate a second pair of eyeballs on this if anyone has time. P
-
Hey @gebeer Yes, it's pretty wild and fun to watch sites being built by AI. Frightening too obviously ! I created an entire blog last week without touching the admin. Templates, fields, test content, pages etc created in about 5 mins. And 4 minutes of that were typing my instructions. But you could always save it as a 'recipe' and reuse it. No worries. I don't mind questions. 🙂 Yep, the JSON schema approach is a wrapper around the PW fields and templates API. It can create/update fields (type, label, description, inputfield settings) and templates (fields, family settings like allowChildren, urlSegments, etc.). Re. roles/permissions or module install/uninstall, I didn't need those. My workflow is quite simple, thankfully and doesn't involve clients updating their sites. I haven't used RockMigrations, but knowing Bernard's reputation, I imagine RockMigrations is significantly more comprehensive in that regard. Regarding the question about AppAPI Vs HTTP API, I had to ask the robots about that one and the reply is comprehensive but possibly not what you were asking. See below, but you're probably already familiar with the AppAPI stuff. BTW the Module isn't commercial, and anyone can try it. I want to clean up the repo before opening it up for wider use. Is the above any help to you? Did it answer your questions?