Jump to content

ryan

Administrators
  • Posts

    17,359
  • Joined

  • Days Won

    1,745

ryan last won the day on August 7

ryan had the most liked content!

Contact Methods

  • Website URL
    https://processwire.com

Profile Information

  • Gender
    Male
  • Location
    Atlanta, GA

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

ryan's Achievements

Hero Member

Hero Member (6/6)

28.5k

Reputation

212

Community Answers

  1. Just a brief update this week. I'm going through an unexpected and very difficult situation in my personal/family life right now, and it has temporarily taken most of my attention away from work and ProcessWire. I'm doing okay and getting the support I need, but I expect things may be a little quieter than usual from me for a short while. I just need to give myself some room while I work through what's happening and get back onto more solid ground. I'd hoped to be back to full steam ahead after the long trip I just returned from, but sometimes things happen outside of our control. I'm very much hoping to be focused on ProcessWire next week, but am taking it one day at a time. Thank you for your patience and understanding, and I hope you all have a good weekend.
  2. I'm finally back from traveling and excited to get back to work! Over the last couple of weeks I've been to Amsterdam, Oslo, Copenhagen, Aarhus (Denmark), Stockholm, and Visby in Gotland Sweden. All really beautiful places. My family is from Sweden, Norway and Denmark, so it was nice to see where my roots came from. I really would have liked to visit Germany, Finland and more places too, but we were on a ship so we went where the ship went. One of my favorite parts was traveling on the water between the Baltic Sea and Stockholm, it's just really beautiful. The ARUS Art Museum in Aarhus was amazing, esspecially James Turrell's As Seen Below, the rainbow panorama, and so much more. The Vasa museum in Stockholm was incredible, seeing a capsized ship from 1628 that had been fully preserved in the cold waters. Vigeland sculpture park in Oslo was jaw dropping, as was the opera house. Hiking along the cliffs and shores of Gotland, as well as exploring the medieval town of Visby was another favorite. This was not my first time in Amsterdam, but it remains one of my favorite cities due to it being the most bike centric city I've seen. I only wish that I could have spent more time in each of the cities and towns we visited, so look forward to returning to them all someday. This week our big news is a brand new Interview with module author Maxim Semenov. Surely you've seen how he has new modules released almost every week (sometimes multiple modules). Even today, @maximus has published two new modules in the directory! This development pace is incredible, and it's made me want to interview him for a long time. I want some of whatever magic elixir Maxim is drinking, because I'd love to be able to work at that kind of pace, and with that level of energy and creativity. So I had a lot of questions for him, which you can read in this week's post, linked above. Turns out he's driving a FedEx truck and drinking Innis & Gunn beer while wrangling AI agents with his iPhone. I don't know about you, but I'll be scouting for some Innis and Gunn beer this weekend, and will report back if it works. 🙂 I've not been back in town long enough to have any major new ProcessWire updates to report just yet, though I did manage to cover some issue reports on the North Sea one day, and I've been working on some security upgrades for our installer. Almost all existing CMSs (even including WordPress, Drupal, Joomla, and yes ProcessWire too) have a security oversight where if you upload an uninstalled copy of the CMS to a web accessible location, whoever accesses it first can own it. That's not usually a problem, as you typically load the installer in your browser shortly after you upload/download it to an http accessible location. But not always. What about those instances where you place a copy of a CMS somewhere and forget, or get distracted, and a bot or someone else manages to access it before you? Later today I'm pushing an updated installer to our dev branch that requires an activation key before it will let you complete the installation. You have to prove that you have file system access by copying a cryptographically secure activation key out of the /site/config.php file and placing it into a field in the installer. This ensures that no random bot or visitor could take over an uninstalled copy of ProcessWire. I understand it's a little bit of extra hassle, so if your DB host isn't external to your installation, then it won't require an activation key. Meaning, this won't add an extra step for your localhost development installations. But it will provide more installation security than any other CMS that I'm aware of. Stay tuned, lots more to come in the weeks ahead!
  3. I was able to try Kimi K3 for a bit here while traveling. I tested through OpenCode Go. Kimi K3 made some good suggestions for AgentTools, and I had it get started on implementing them. But I found that there seems to be some issue with using it through OpenCode Go, as I'm constantly hitting OpenCode's Kimi usage limits (not my usage limits), so almost everything involves multiple retries. I think it's from OpenCode (the company) being throttled by Kimi (the company). But when it comes to my actual OpenCode usage limits, I really don't get much usage out of Kimi K3 before the 5-hour or weekly limits are exhausted. That's probably because OpenCode charges 2x usage for Kimi K3, while also using a lot of tokens, so it's not very practical to use with OpenCode's Go plan at present. I can also confirm it does seem to take a lot of time to do most things, though uncertain if that's Kimi K3 the model, OpenCode, or just that Kimi K3 is currently very popular and maybe there aren't enough resources dedicated to it. I don't think I'll use Kimi K3 more until it's more practical to use through OpenCode Go, but for what output it did produce, it was very good.
  4. @Joss I posed your question to the GPT 5.5 session that maintains AgentTools: @wbmnfktr @psy The latest AgentTools version includes updates for both of the issues you mentioned.
  5. Greetings from Oslo, Norway. No ProcessWire updates this week as I'm currently traveling. The same will be true next week as well, but after that we'll be back to our regularly scheduled programming. I'm looking forward to getting back and trying out the new Kimi K3 model (in OpenCode Go) -- anyone had a chance to try Kimi K3 yet? It seems to have many of the YouTube AI channels excited. I'm also looking forward to checking out the new PAGEGRID 2.3 from @jploch, which sounds amazing. Have a great weekend and week ahead!
  6. @Peter Knight Yes, I did a couple sessions with Sonnet 5 this week. It seems very good! Sonnet 4.6 is also very good (about the same for my use cases), and on my $20/month plan, I can use it most of the day and not hit any usage limits. As I understand it, Sonnet 5 cost is similar to Opus 4.8 once you take out the intro period and factor in how many tokens it takes to complete a task. I can't get much use of of Opus with my $20/month plan, so figured Sonnet 5 probably wasn't a good daily driver for me, except maybe during the intro period. Sonnet 4.6 is a great daily driver, especially on busy days. I also feel like I 'know' Sonnet 4.6 better than other models, having good rapport to the point where I can work more quickly with it. I know what to expect from it, its strengths and weaknesses, and like the areas where it tends to be more proactive. It mixes well with my workflow. When I need more horsepower, I really like GPT 5.5, which I use almost as much as Claude Sonnet. I get quite a bit of use out of GPT 5.5 on the OpenAI $20/month plan, but I do hit the 5hr limits with it more often. It's the one model that I can cautiously trust not to make mistakes. Like with Sonnet 4.6, I also feel like I know GPT 5.5 to the point where I can work with it more quickly. It has a unique sense of humor that keeps me chuckling all day. And it's got some funny quirks that I find entertaining. Like, it's got gripes and complaints about the the entitled compactor messing with its data. And it's sometimes got a hilarious fixation with gremlins and other mischievous creatures, where it treats the work we are doing a battle against those creatures. Tons of character. I also experimented with GPT 5.6 Sol and Terra this week also, which are impressive models. Despite those models being newer, it was clear that I'd have to spend a lot of time getting to know them well before I could get as much done as I can with GPT 5.5. I think it's because I'm still kind of a novice at this, and I'm not a vibe coder. I write code and collaborate with the model, so the rapport is more important to me than the technical details of the model. So far, GPT 5.5's sense of humor and quirks seem to be missing from GPT 5.6 models I've tested, but maybe it's just a matter of time. How about you, how are you liking Sonnet 5, and what other models are you using?
  7. @Jonathan Lahijani I do find Claude really good with working through issue reports, and he almost doesn't need me to do them. If just one issue, I'll say "can you check out issue 1234". If we're going to do a batch of them, then I'll ask Claude to pick out a group of issue reports that we can work through without getting stuck. So Claude kind of pre-filters them to maximize the time we have to work with. He reads the report and suggests how he's going to fix it. I say go ahead, and he fixes it, pushes it, replies in the issue report, and closes it if appropriate, then moves on to the next one. It's a huge help. I still hand code a new module like InputfieldJson. But once I'm finished with it, I have both Claude and GPT 5.5 look over it and do a code review and make suggestions. For this I use AgentTools and my favorite models for writing API.md docs are GLM 5.2, Kimi K2.7 Code, DeepSeek v4 Pro, and of course Claude Sonnet 4.6. When I'm doing API.md files, I'll setup a scheduled task to run every 5 minutes and ask the agent to pick a class out of a list, and do a full code review and save to a .REVIEW.md alongside the class, then write API.md documentation and save to an .API.md alongside the class. (I point them to the HOWTO-API.md included with the WireApiDocs class). Once they've finished, they send me an email summarizing what they did. After several are complete, I ping Claude and he goes looking for new .REVIEW.md and .API.md files. He works through both, fixing any items found in the review, and verifying that the API.md docs are correct and complete. The .REVIEW.md file gets deleted once all items in it are accounted for. And Claude renames the .API.md to API.md after he's satisfied that it's as good as it can be. Then it gets handed off to GPT 5.5, which uses the API.md and class file to write WireTests for the class. GPT usually finds minor things to fix in either the class or the API.md after writing the tests. GPT is great at writing tests and fixing small details, but not so good at writing docs, in my experience. Whereas Claude is great at writing docs, but not as good with small details or writing tests. So they are a good pair to use together.
  8. This week on the dev branch is ProcessWire 3.0.269. Highlights of this version include 32 issue reports resolved (even including some very old ones). 27 new API.md class documentation files were added. And 15 new WireTests files were added. Plus a new InputfieldJson module, WireHttpMulti class, and more. API.md files were added for these core classes: Wire, WireSaveableItems, Fieldtypes, FileValidatorModule, PageFinder, Pagefiles, Pageimages, Password, Process, Tfa, WireHttpMulti, WireTempDir, WireUpload, CliModule. API.md files were also added for these core modules: ImageSizerEngineIMagick, InputfieldDatetime, InputfieldJson, InputfieldPageListSelect, MarkupAdminDataTable, MarkupHTMLPurifier, MarkupRSS, PageFrontEdit, PagePathHistory, SessionLoginThrottle, LazyCron, WireTests, TextformatterMarkdownExtra New WireTests classes were added for these classes and/or modules: PageFinder, Password, WireApiDocs, WireHttpMulti, WireTempDir, WireUpload, ImageSizerEngineIMagick, InputfieldDatetime, InputfieldJson, InputfieldPageListSelect, MarkupAdminDataTable, MarkupHTMLPurifier, MarkupRSS, PageFrontEdit, TextformatterMarkdownExtra, plus 13 existing class tests were updated. New InputfieldJson module: a JSON-editing field, with API.md and tests. Now used by ProcessCommentsManager (for Comment meta data), ProcessPageEdit (opt-in editing of $page->meta() data, enabled in module settings), and ProcessModule (advanced-mode info viewer and config editor). In the page editor, see the new "Meta" input at the bottom of your Settings tab. New WireHttpMulti class (extends WireHttp): Enables concurrent HTTP requests via curl_multi, mirroring WireHttp::get()/getJSON(). Requires PHP 8.1+. Includes API.md and tests. (Via Matjaž Potočnik, @matjazp) Upgraded to the latest UIkit version for AdminThemeUikit: 3.17.11 => 3.25.19 New ImageSizerEngineIMagick sRGB conversion: When $config->imageSizerOptions['sRGB'] = true, converts wide-gamut images to sRGB before profile stripping. Bundles sRGB2014.icc. New Inputfield::collapsedIcon: Enables an alternate header icon when collapsed. For the next two weeks I have to do some travel and focused client work, so core updates will slow down temporarily, but we'll be back full steam ahead by the end of the month. Thanks for reading and have a great weekend!
  9. @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%.
  10. @Peter Knight Not sure I understand? Are you talking about saying good morning?
  11. ryan

    I'm back

    @Joss it definitely sounds like a glitch in the forum. I logged into the admin earlier this week and it's not happy about the php version, it apparently wants 8.2 and we have 8.3, I think. So it could be that. But once I get back to the computer I'm going to see if I can figure out how to get it working.
  12. @Joss hmm sounds like it didn't have permission to create the directories. You might check that processwire has write permission to site/assets. But if I recall correctly AgentTools will attempt to create them again when/if you use the scheduled jobs feature.
  13. This week there were 45 commits on the dev branch for ProcessWire 3.0.268. The most interesting updates were: Added checkboxes in the Setup > Fields list, so you can bulk delete or export. Added new getRaw() and saveRaw() methods for WireCache ($cache) Added $page->meta() support to PagesExportImport export and import (via @jploch) Added WireTests test framework files and API.md documentation for the following, which finishes up the Inputfield modules: InputfieldTinyMCE InputfieldImage InputfieldFile InputfieldTextTags InputfieldSelector InputfieldPage InputfieldIcon InputfieldPassword InputfieldPageAutocomplete InputfieldHidden InputfieldPage InputfieldPageTitle InputfieldFieldset InputfieldMarkup InputfieldPageName InputfieldName InputfieldPassword InputfieldForm These were done using the AgentTools scheduled tasks Round-Robin feature that rotates between different agents. In this case, between DeepSeek v4 Pro, Kimi K2.7 Code, GLM 5.2 and Claude Opus 4.8. After each API.md and code review was finished, they were queued to GPT 5.5 who verified everything, made any necessary fixes, and then built a WireTests ClassName.test.php file for each. Following that Claude Sonnet 4.6 gave each API.md, ClassName.test.php and ClassName.module a final review and commit. In addition, we have a new version of AgentTools that adds the following: New MCP server support New WireTests coverage Improved CLI safety and migration checks New AgentTools logo added to README (design credit to GPT 5.5) There's also a new version of ProCache posted this week that adds CLI command support, AGENTS.md and API.md files, and fixes a few bugs too. As always, visit the ProcessWire Weekly for the latest news and updates. Thanks for reading and have a great weekend!
  14. @JossI'm not sure I follow what you mean about "failed to create the subdirectories in jobs"? There is a /site/modules/AgentTools/tasks/ directory, where the predefined tasks are stored, is that what you mean?
  15. Wow love that view! Nice look out the window too.
×
×
  • Create New...