-
Posts
2,920 -
Joined
-
Last visited
-
Days Won
17
Everything posted by szabesz
-
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."
- 1 reply
-
- 2
-
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.
-
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 ;)
-
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 ;)
-
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
-
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.
-
Thanks @MarkE! I will! :)
-
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...
-
PW 3.0.232 – Core updates + new version modules
szabesz replied to ryan's topic in News & Announcements
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. -
PW 3.0.232 – Core updates + new version modules
szabesz replied to ryan's topic in News & Announcements
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. -
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.
-
How to add a markup field to a repeater item?
szabesz replied to Jonathan Lahijani's topic in API & Templates
Hello, Maybe this can be a good starting point: https://processwire.com/talk/topic/21756-field-access-on-runtime/?do=findComment&comment=187094 -
Provide a way to define / save / sync fields in the code base
szabesz replied to Rasso's topic in Wishlist & Roadmap
@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.... -
Provide a way to define / save / sync fields in the code base
szabesz replied to Rasso's topic in Wishlist & Roadmap
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. -
New post: Using date range fields in ProcessWire
szabesz replied to ryan's topic in News & Announcements
+1 as I am also longing for that. -
How to display page while images are getting resized?
szabesz replied to Jozsef's topic in General Support
Hello, Maybe this thread can help as a starting point: -
Promising technique indeed, thanks for posting about it! I will explore it when starting my next project.
-
Making unpublished changes to pages that require approval?
szabesz replied to mpdude's topic in Getting Started
@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. -
Making unpublished changes to pages that require approval?
szabesz replied to mpdude's topic in Getting Started
Another and free option is this module https://processwire.com/modules/access-by-query-string/ from @Robin S It is not comparable to ProDrafts but might do what you need. -
If you are concerned with file size like that then you can use CDN (https://unpoly.com/install/cdn) conditionally: load local files when CDN is not available. Unpoly also have advanced caching, so by using that properly your site can behave more like an application then a website by providing (almost) instant responses. (As a related side-note, I also agree with this certain forum user on this forum: https://forum.bootstrapstudio.io/t/bootstrap-css-and-cleanup/10578/2?u=szabesz) As for my own experiences, I have not yet implement the conditional usage of CDN but the e-commerce site I developed using Unpoly for its frontend JS magic is loved by customers, partially because of the easy to use user interface I crafted for them, and partly because of the speed of the site, even though it loads full Bootstrap 5, full jQuery and also Unpoly (plus my CSS and JS, of course). Sure, browser and Unpoly caching helps a lot! About half of the users use their mobile phones to place orders and they are equally satisfied. I just cannot showcase the site because currently it is for contracted customers only. There are plans to open it up for the average retail customers as well (on a different domain) so when that is in production, I will probably provide this forum with my very first showcase. (In 1 or 2 years... as I have loads of other projects to finish before I can start working on that.)
-
Yea these is how I think about it as well. HTMX is less opinionated and I like it that way. However HTMX is not the "JS sprinkles" (it's more for HTML over the wire requests) so that's where Alpine.JS comes in. While Unploly is definitely more opinionated for sure, that's also its strength and weakness at the same time. If someone starts using AlpineJs along with Unploly, then that person should use HTMX + AlpineJS instead in the first place. While Unploly is definitely more opinionated, it does not mean that based on Unploly is not possible to implement the same features that one would implement using HTMX + AlpineJS. You just need a completely different mindset when using either this or that. By using HTMX + AlpineJS one gets a sort of "lower level" solution while Unploly provides "higher level" tools. Using high level tools has the benefit of also dealing with documented conventions out of the box, while building upon a low level tool requires you to put more work in your documentation. High level tools has the drawback of sometimes having to find workarounds for different use cases, while low level tools introduces less of such issues. I don't want to persuade anyone to use Unpoly, but I want to mention that I use and love it, particularly because upgrading to major versions is always backward compatible. (Backward compatibility support extends to the previous major version.)
-
If Unpoly was non existent I would sure use AlpineJS + HTMX these days. However, https://unpoly.com/ does exists and to me, having to use only one technology instead of two (or more) is very important. The fewer I have to deal with the better. More importantly, easy upgrade path is essential, so no wonder I am not willing to leave ProcessWire :)