Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by szabesz

  1. I think integrating Unpoly into the PW admin would require refactoring the fundamentals of the currently used JavaScript codebase. So I didn't consider suggesting it as an additional tool, but rather as a completely new foundation for the admin's JavaScript.
  2. I am also still a fan of jQuery for similar reasons that Ryan enjoys using it. After all, its size is smaller than any decent images a page might contain. So, why use vanilla JavaScript's inconsistently developed methods when one can use jQuery, which was always developed with consistency in mind? I am also a big fan of Unpoly, which (to me) IS "ProcessWire" but in the JavaScript world. If I were to modernize ProcessWire's JavaScript code, I would certainly choose Unpoly while also keeping jQuery. They can complement each other instead of conflicting in terms of concurrency.
  3. https://getaspen.io/ "Aspen is a free API-testing native app for macOS. Build with ZERO trust in mind there is no logging required to run API test. It is specifically made to meet the needs of testing REST APIs, and with the help of AI, instantly help with integrations by generating data models, Open API Specs and generating integration code." Also watch the intro video, as it is funny :) BTW, I read about it over here: https://laravel-news.com/aspen
  4. Sure! It's fine to have a diverse community, as long as people aren't using the current global warming situation to convince others to commit suicide or avoid having kids, for example. Making people afraid of partially real or made-up problems, just so those causing the fear can act like they're saving you, is a sneaky way to control you. So, fear not, but be skeptical and read the opinions of others as well (eg.: https://angusmac.net/category/climate-models/), and not just what the mainstream is trying to sell so hard. Those in power are not there because they want what's best for you. If they wanted that, they would not be in power in the first place.
  5. Its not enough to just hover the mouse pointer over the discussion part of the page but I need to click on it and after that page up/down and arrows do work for me. BTW, I mostly use Brave for ordinary browsing, so this time I tested it with Brave too.
  6. I asked it: "What language model are you based on?" It replied: "Hello! I'm based on the LLaMA model (LLaMA: Open and Efficient Foundation Language Models, Touvron et al. 2023), a neutral and respectful AI assistant developed by the company Brave. I'm here to help answer your questions to the best of my ability. How may I assist you today?" Next I asked: "Please describe what ProcessWire is." Replied: "ProcessWire is a powerful and flexible open-source content management system (CMS) that offers a unique and intuitive way of managing your website's content and structure. It is built with PHP and MySQL, and is designed to be lightweight, fast, and easy to use. With ProcessWire, you can create complex websites with ease, using a logical and intuitive page tree structure that makes it easy to organize and manage your content. Additionally, ProcessWire has a robust set of features, including support for templates, layouts, and modules, making it a great choice for building custom websites." Next I asked: "Where can I download ProcessWire?" Reply was: "ProcessWire is a free, open-source content management system (CMS) that you can download from the official ProcessWire website. To download ProcessWire, please visit the following link: <https://processwire.com/download/>. From there, you can select the version of ProcessWire that best suits your needs and download it to your computer. Once you have downloaded the software, you can install it on your web server and start using it to manage your website."
  7. Virtualization is "natively" built into macOS from Monterey an up, so using that provides developers solid support for virtualization without reinventing the wheel. Even a single Mac enthusiast, developer and tech article writer like Dr. Howard Oakley is able to do it: Liviable for running Linux: https://eclecticlight.co/2024/01/01/virtualise-linux-on-apple-silicon-with-liviable-beta-4/ Viable for running (yet another) macOS: https://eclecticlight.co/virtualisation-on-apple-silicon/ His apps provide general virtual machines for free.
  8. Hello everyone, Among other interesting projects listed in the December 2023 PhpStorm blog newsletter, I found these particularly interesting: human-readable regular expressions for PHP PHP Dictionary OrbStack (macOS only, free for non-commercial purposes only) Happy coding ;)
  9. Happy to help! Please note that our forum rules https://processwire.com/talk/topic/8234-community-rules-guidelines/ state: "The forum language is English. We really appreciate the effort everyone makes from countries around the world to post in English. After careful consideration and experience on other forums, it makes sense to have one common language for discussion here so that ideas can be shared and not missed in language-specific forums - the same applies for debates that might get out of hand as we do not want to miss those either." So I translated your reply with deepl.com. You can do the same before you post or you can write in English in the first place and ask ChatGPT to "Please fix spelling and improve grammar: your text goes here". That way you can improve your English in the same time. The more you force yourself to use a language, the better you'll be at using it ;)
  10. Glad to hear that. I do not know how much experience you have with PHP but here is a good and free series I can recommend: https://www.youtube.com/playlist?list=PLr3d3QYzkw2xabQRUpcZ_IBk9W50M9pe- As the more "OOP PHP" you know the easier your path will be. In the FrontendForms module support topic you can find examples for saving to pages, look for PHP variables called $p and such. The easiest way to save any data is to save to dedicated pages. By dedicated, I mean that you first setup your templates with their fields and after that you can simply create new pages for your subscribers (by using the PW API, of course). While its readme sound hard to grasp at first, I can still recommend @adrian's Page Field Select Creator module to setup your subscribers/subscriber relationship: https://processwire.com/talk/topic/4523-page-field-select-creator/ What this does is that it automates the manual setup of parent/child relationships which is a common scenario and a subscribers/subscriber relationship is exactly like that. You can lear more about it (among other PW forum topics like @kongondo's excellent post) in this article where the car/car-brand or author-list/author is the same relationship: https://medium.com/@clsource/understanding-processwire-templates-fields-and-pages-201aecd0a1a4#.m9yquavll
  11. Hello, Is there an exact question in your post I cannot find or you forgot to phrase it perhaps? Anyway, I recommend reading and studying all the posts of @Juergen's FrontendForms module so that you learn ho to use it. I hope this helps.
  12. Nice work and thank for sharing @MarkE! Could you please somehow share higher-resolution videos than those above? (Maybe using YouTube?) The first one is 37MB, and the second one is only 27MB, making the text hard to read. Sure, I understand what is going on, but still...
  13. I was thinking along these lines. Thanks for your clarification! Such a feature does sound very powerful, but I am pretty sure there can be use-cases when we do not want to let clients decide what to include in either the creation or the retrieval of a version. So, I think making it also configurable would be preferable. Another feature I would love to see is the possibility to purge versions, having options like: Chop/Burn just like for logs Only purging saved field data but retaining the "versions log" (versions no longer having their field data would not be restorable, of course). Such a feature could be used to track (keep) the date/time of changes without forcing us to keep field data that is no longer needed. The combination of the above two.
  14. Great news as always, thanks @ryan! Does that also mean that even superusers will be able to configure which fields of a given template should or should not be versioned? Or will only module developers in their own code be able to specify that? I would certainly need field-level configuration as well if I wanted to use something like this because the only way to be able to do it at the module code level does not sound like a good idea.
  15. As far as I understand, what Ryan suggests is putting if($config->httpHost === 'host.domain.com') and such into template files. Instead of putting if's into template files for deciding what to render based on the current host, I do something like (and more...): if (file_exists($hostTemplatePath)) $templates->get($templateName)->filename = $hostTemplatePath; in init.php to decide what file to use as a template in the first place. In the very same loop where I set the actual template, I also do if (class_exists($namespace . $className)) call_user_func_array("{$namespace}{$className}::initiate", []); so my page classes can get initiated upon their request.
  16. Hello, Maybe this can be a good starting point: https://processwire.com/talk/topic/21756-field-access-on-runtime/?do=findComment&comment=187094
  17. @MarkE I rephrased your post above a little bit and fed GTP-4 with it. This is what I got: Circular dependencies can indeed present a challenge when dealing with database migrations. Your proposed solutions are viable and could work depending on the specific situation. Let's delve deeper into each approach and discuss their potential benefits and drawbacks: 1. Performing the database migration in multiple steps: This approach is generally safe and effective, as it ensures that all required objects are present in the database in the end. However, it may require careful planning and sequencing of migrations to ensure that each step has all its dependencies satisfied. This approach is encouraged by your module and is also recommended in Django's migration documentation [Source 2](https://django.readthedocs.io/en/stable/topics/migrations.html). 2. Including an item twice in the migration: This approach involves initially adding the class or field without the dependency, then adding the dependency after the referenced object has been added. This method can work, but it may be complex to implement and maintain, especially for large databases with many interdependencies. Your module currently doesn't support this approach. 3. Running the migration process twice: This approach relies on the hope that the second run will resolve any missing dependencies from the first run. While this may work in some cases, it's not a guaranteed solution and could potentially lead to inconsistent results. Therefore, it's typically not recommended unless you have a strong understanding of the specific dependencies and migration behavior in your database. Another approach worth considering is the use of **"swappable" dependencies**, as mentioned in Django's migration documentation [Source 2](https://django.readthedocs.io/en/stable/topics/migrations.html). This allows you to declare dependencies that can be swapped out with different implementations, which can be useful when dealing with circular dependencies. Hmmm....
  18. I can confirm all this... and I also in favor of a solution that works the way @MarkE designs it. As soon as it is ready for testing and I have the time, I will surely try it out as well.
  19. Hello, Maybe this thread can help as a starting point:
  20. Last time I needed to use JS to modify stuff after each AJAX request to solve a similar issue I used this: https://stackoverflow.com/questions/10783463/javascript-detect-ajax-requests/#answer-67250545 stackoverflow.com can still rock. I would not be surprised if OpenAI swallowed a lot from there...
  21. Promising technique indeed, thanks for posting about it! I will explore it when starting my next project.
  22. @mpdude Using the hook like @ngrmm posted above you can fulfil this requirement: "certain users may make changes to existing pages and preview those, but the changes will not yet be published (is that the right term?) and visible to anyone else. Only when another user with more permissions (say, a reviewer) approves a certain change it will become visible for all website visitors?" And you could use Robin's module to also let clients review a page before it is published by the reviewer.
  • Create New...