Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/23/2025 in all areas

  1. So much to agree with in all of the above. My brief contribution: I came to ProcessWire having used WordPress and CodeIgniter. WP was fine if you just wanted a really simple website, but rapidly got frustrating if you needed something a bit more (adding a bookings capability to my holiday let website involved all sorts of contortions). CodeIgniter (ok, a bit passé now, I know) worked ok but needed a lot of coding and was a bit of a straitjacket. I looked at a whole load of CMS alternatives - Drupal etc. - but only ProcessWire had the right balance between CMS and CMF based on a really simple and intuitive concept (everything is a page). Completely unopinionated, but quick to get something working which can then be built on as necessary. As your needs grow, so you realise that PW grows with you.
    2 points
  2. +1. This may not sound very shiny and impressive, but you see a lot of systems where URLs are somehow divorced from the data structure and it’s a big turn-off for me. PW’s more manual routing features (urlsegments, path hooks) are also awesome.
    2 points
  3. At this point it's a bit hard to put myself in the shoes of someone just getting here, but some highlights from the top of my head: The community is awesome 🙂 The ability to define and modify data structures in the admin using an easy-to-use GUI is still a huge deal. One can quite literally create a full-blown application just by clicking around the admin, especially when combining it with something like ListerPro (though that's a commercial tool, so may be a bit off scope here). Even for those with zero programming know-how, getting a simple ProcessWire powered site (or app) up and running is a (relatively) easy task. Selector engine makes querying data extremely easy, and selectors also scale exceptionally well for complex needs. Most beginners are unlikely to need to know how sub-selectors or OR groups or more complex operator types work, but there is a lot of flexibility hidden underneath. For those that have worked (or fought) with WP_Query, our selector engine is a major selling point. Right out of the box there's a lot of stuff there that even some of the most advanced content management systems don't have — custom content types, amazing language support, numerous field types and inputfields, etc. Honestly, the language support alone is more advanced than anything I've seen in other systems so far, with or without plugins. While it's impossible to compete in numbers with WP, there are actually a lot of high quality modules for ProcessWire. One probably won't be able to carve out a custom application just by slapping modules on top of modules, but there's a whole lot of stuff that they can do. Once you're familiar with the system, extending it with modules and/or hooks is easy. Did I mention the community? Also, ProcessWire is open source and free to use with no strings attached. Unlike some other systems. (Sorry, had to go there.)
    2 points
  4. Xforum is a proof of concept front end forum system and is currently for local testing only. To install, have a blank site ready using the newest Processwire version. Follow the instructions found in the xforum_install.txt file. There is no help documentation at the moment, but it is pretty easy to figure out once you click around a bit. I'll attach any new help files here as they are created. Have fun with it and any questions please don't hesitate. XforumPOC_1.0.0.zip
    1 point
  5. Hi Bernhard - I purchased RockCommerce a couple of days ago to test out. I have done the quick start tutorial in the docs and it went well. However, I need product variations, but the docs aren't ready yet! The variations I need are for specialist shoes (ballet dancers) and fairly complex - the prices also change depending on the shoe size! Colour Pink White ...etc Size 1 1.5 2 2.5 ... 12 Is there anything I can read/a demo anywhere to get me started? Thanks
    1 point
  6. @wbmnfktr @Kiwi Chris @Mats @MrSnoozles @bernhard @teppo @Jan Romero @MarkE Wow, thanks for all of the feedback. This is really helpful and gives me a lot to work with! I'm currently compiling and combining all of those feedback into a separate document that will be used to build out the features section. @bernhard What's the source of the first two quotes in your message? Those are really good. I might like to use portions of those quotes directly if possible, so wanted to provide proper attribution. @MarkE May I use a quote from what you wrote? (this quote below):
    1 point
  7. Ah yes, that tool is probably only useful when using the online services like Google’s Gemini
    1 point
  8. It's possible that I'm still missing the point, but if the underlying problem is that there are multiple data sources with differing data formats, there are only two top level approaches that I can think of: write a separate import script / profile / configuration for each data source, or write an adapter per source that converts them to single, uniform format, which you can then import. For me personally scraping is never the preferred option, as it comes with a number of potential issues. For one you may not be able to scrape all relevant data, or you may get malformed or partial data — and you may not know it before it is too late. Getting your hands on the raw data is almost always much, much better. At the very least I would contact each vendor before scraping to confirm that a) they think it is doable and b) it won't result in them blocking you due to your scraping tool exceeding rate limits etc. If you can't make sense of the data format you've got, ask for some kind of documentation. The worst case is that you need to figure things out on your own — that can easily lead to nasty issues, as your assumptions could be completely wrong. If there is no way to get solid documentation for the data, let your client know that it's essentially a guessing game at this point. Especially when money is involved that's not a great situation to be in. Anyway, from what I've heard so far this all seems completely doable, but could obviously get pretty time consuming — and hence costly 🙂
    1 point
  9. https://github.com/teppokoivula/ImportTool was built to handle a similar need, in case you want to check it out. It’s most useful for imports that may be needed again later, though; the idea is that you define an import profile, which can then be executed via the admin while also providing an input file for the data. Depending on the data I usually set limit somewhere between 50-500 pages and set the “on_duplicate” setting for the profile to “continue”. This way you can keep running the same import profile with the same data file until you’re done. This module is a bit unpolished, but in use on a few of our sites 🙂
    1 point
  10. For me ProcessWire combines the best of two worlds: The world of CMS/Blogging Platforms like WordPress and the world of Frameworks like Laravel or Symfony. I think edit: I had to let AI write my brain-dump in a more professional way and I could not have said it better: My quick and dirty prompt (don't blame me for grammar etc 😉 ) I know we can debate about AI in general but I think it is very interesting to get this "birds eye view" of aggregated data as it somewhat shows the current information that lies around the web at the moment: I also think that ProcessWire is a perfect alternative for systems like Typo3 and I bet that there are many many developers out there that would be super happy if they knew that ProcessWire existed! See this showcase for example. I think this says a lot! More people need to know about ProcessWire, especially the folks that are not using (or do not want to use) WordPress. All the people that expect building a website to be a "click-click install this plugin that plugin" experience are not our target audience. But all the people looking for alternatives and being unhappy with typo3/drupal/etc. are! ProcessWire lacks a good page building concept. Don't want to say more about that as it would fill a whole other topic 🙂 Many need a second look. Me 10 years ago included! At first sight I totally underestimated the power and beauty of this system. I hope the new website can help to change that 🙂 https://w3techs.com/technologies/details/cm-typo3 High traffic site? Loads of content? Why is nobody thinking of ProcessWire in that case? And here is what AI thinks about Typo3 vs. PW: Really excited to see the new design and website 🤩 Good luck and all the best 🚀 Thx for building and sharing such a great masterpiece with us!
    1 point
  11. ProcessWire has a lot of great features that make it better than many competitors. I'm sure there's much more, but here's a start: Build anything Powerful field types and unlimited templates allow you to build anything. Simple yet powerful API ProcessWire gives you the tools to build what you want, easily and in record time. Headless or hybrid Create a REST or GraphQL API or a traditional website. Any template engine Twig, Blade, Latte or plain PHP? We've got you covered. Multi language Reaching an audience in multiple languages is not an afterthought but built right into the core. Powerful permissions Let users see only what they need to see, with a fine grained permission system. Easily Extensible Modules can change or extend almost any aspect of the system. Long-term backwards compatible We know you hate breaking changes. So do we.
    1 point
  12. ProcessWires ❤️ features Custom Fields and templates Selector engine Multi language Freedom of output Tree hierarchy with clean urls Permissions system Extensibility: Modules and hooks Image handling. Thumbnails included Community
    1 point
  13. Further to what @wbmnfktr said, I think ProcessWire can be described as a low code data designer. You still need a front end developer to build public facing pages, but potentially someone with no backend development skills can build a complex range of templates for different data. In more complex scenarios, yes, it might be necessary to write some modules or hooks, but a huge amount can be done without writing a single line of code, but later, if people want to package up and subject to source control, there are third party modules like RockMigrations that allow taking all the field and template definitions and storing them as migrations files. In a sense, ProcessWire in this respect is like a headless CMS of which there are a few out there that allow custom data design without coding. But wait there's more. ProcessWire can be used as a no code/low code headless CMS, but it also assumes that you'll want to output the data somehow, and give you all the tools to do it, without being opinionated. If you just want to output fields directly into HTML template files with some simple PHP codes, fine, you can do it. If you want to output as API calls and use a javascript frontend framework, you can do it. (Not a core feature, but there is a third party module to enable it) If you want to use a templating language, you can do it. (also via third party modules, or use your own)
    1 point
  14. Hello there friends, As a learning challenge, with Claude Sonnet AI's help, I installed the PEST testing framework and created a bunch of tests for Ryan's Invoices site profile. I'm pretty happy with it. 🙂🙂 You can check the project on GitHub: https://github.com/sjardim/processwire-invoices-with-pest To try it, just install the site profile on a fresh PW project as instructed here: https://processwire.com/blog/posts/invoices-site-profile/ and copy my project's : the entire /test folder, phpunit.xml file and composer.json file and install composer dependencies. Next, in your terminal, run `./vendor/bin/pest --filter=InvoicePageTest` to see the magic. Here's a preview of the InvoicePageTest class: I hope this help you in your testing journey!
    1 point
  15. When I look into the code of the module, there is no way to set “sender_reply” via a function, except via the module config. But there are some Workarounds: Or the easier version via the mail header: $mail->header("Reply-To", "your@replyto.address");
    1 point
  16. Imagine you have a multisite setup where you need different languages for different domains: One website might be single-language (DE only), another one might need DE/EN/CZ, and another one might need DE/EN/HU: I didn't know how to do it, and I didn't find any other posts with a similar need or solution. When looking into the code I even thought that my need was not possible yet without modifying a core file. So I asked Ryan if he was willing to make the process of adding languages to the $languages array hookable. Turns out that this is not necessary! All you have to do is to grab the Iterator of the languages array and remove languages as you need: // /site/ready.php if($anyCondition) { // remove CZ language $languages->getIterator()->remove("name=cz"); } So simple 😍 Maybe it helps 🙂
    1 point
×
×
  • Create New...