Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by szabesz

  1. Hello, thanks for sharing! Have you forgotten to link to the module perhaps? eg.: https://tech-c.net/posts/login-fail-notifier-for-processwire/ https://github.com/techcnet/LoginFailNotifier
  2. You might be interested in my "cheat sheet" posted over here: https://processwire.com/talk/topic/23641-markup-regions-pw-vs-data-pw-different-behavior/?tab=comments#comment-201538
  3. The weakest point of WordPress has always been not relying on well established design patterns but on custom, ad-hoc solutions they made up as they went. Also, there is a great belief in not starting from scratch but trying to refactor the whole system somehow to get rid fo the technical debt, even thought it rarely succeeds, if ever. Maybe it might work for small projects but not for substantial ones. The devs of WordPress certainly failed in that. Another team trying to make a gradual but complete refactoring to make this idea come true is the devs of PrestaShop. They advertise it as the only sensible way to go, as this way – according to their reasoning – merchants can keep their investments in paid modules and other customizations applied to their shop(s), yet, when the next major PrestaShop version upgrade comes along, merchants are expected to start from scratch, somehow importing their old (and "incompatible") shop data into a freshly installed PrestaShop! They also state that module developers can better support their modules because they can keep them compatible with several mayor versions of PrestaShop without writing and maintaining their modules for each major versions separately. However, the the thing is that they do it by writing extremely long if-else statements all over the place to take account into all the differences between the systems (and there are many!), so you can imagine how fragile that style of coding is. Does that really help the module developers? I don't think so. ProcessWire used to have a v1 version and Ryan decided to start from scratch, and there must have been a good reason behind it. When something fails to deliver what it was supposed to deliver, then – in the long run – the only way to move forward is it to go back to square one. Two more "success stories" regarding starting form the "beginning": Ashley Hewson's interview : https://youtu.be/ABM60-0fbuM?t=344 Construct: https://www.construct.net/en/about Even Adobe has failed in this regard, as their applications are just somewhat similar to each other and they are still not yet rewritten, they just keep growing in size, never really bringing real UX enchantments along they way by turning into one, actually integrated suite like the Affinity apps. I have already switched from InDesign and Illustrator to Publisher and Designer. Affinity Photo has yet to deliver smart objects and pixel wrapping so that I can leave Photoshop as well, but I hope they are already working on these features. Fingers crossed 🙂 Sorry for partially being off-topic.
  4. I wish Apple's development practices were in line with such a feat, but sadly quite the contrary is happening these days: https://eclecticlight.co/2021/06/14/are-macos-updates-easier-than-ever/ Form Bug Sur and up, they can't even provide a Safari quick fix with a relatively small installer, but a big system updater of few gigs! https://eclecticlight.co/2021/05/03/apple-has-released-big-sur-11-3-1-update/ "Although it apparently addresses just these two vulnerabilities, it’s still 3.3 GB for an M1 Mac and 2.4 GB for an Intel model." Yikes 😞
  5. For this to work, one needs to modify PW's root .htaccess at "# 4. Protect from XSS with Apache headers" of the "loaded site", something like: <IfModule mod_headers.c> # prevent site from being loaded in an iframe on another site # you will need to remove this one if you want to allow external iframes # Header always append X-Frame-Options SAMEORIGIN # Lets the listed domains load content into an iFrame Header always append Content-Security-Policy "frame-ancestors 'self' example.com example.test www.anotherexample.com;" also, it is probably a good idea to turn the iframe into a responsive container: https://github.com/davidjbradshaw/iframe-resizer
  6. Thanks Bernhard and Ryan! I agree. Especially regarding .../wire/modules/AdminTheme/AdminThemeUikit/uikit/src/scss which is never used. However, I disagree with "forcing" us to use node.js. There should be no need for node.js just to use core features. Maybe an additional module which is not bundled with the core but still maintained "as if it was" a core module could solve this. A lot of times there is no need for admin design customizations, for example when just installing PW for "clean install" testing purposes. What if there were a set of "additional core modules" which can still be installed with a few clicks but kept separately from the main zip file of PW? Ideas for such modules: https://github.com/ryancramerdesign/FieldtypeTextUnique https://github.com/ryancramerdesign/FieldtypeEvents https://processwire.com/talk/topic/2708-module-process-changelog https://processwire.com/modules/module-release-notes/
  7. There used to be a "solved" feature we do not have anymore but with this last upgrade somehow it sneaked in again 🙂 These Invision Community members love experimenting...
  8. When working with ProcessWire always think "pages first", there are loads of creative ways to utilize them, they form the bases of the ecosystem. @Robin S and @adrian and others have lots of useful free modules to make it even easier to work with them. Just a few examples, randomly selected: https://processwire.com/talk/topic/25340-dynamic-options/ https://processwire.com/modules/process-page-field-select-creator/ https://processwire.com/modules/admin-page-field-edit-links/ https://processwire.com/talk/topic/24136-lister-selector https://github.com/ryancramerdesign/FieldtypeTextUnique https://processwire.com/modules/fieldtype-events/ https://github.com/kixe/FieldtypeSelectExtOption https://processwire.com/modules/process-admin-actions/ https://github.com/Toutouwai/AdminActionsUnorderedListToPages and more to discover: https://processwire.com/modules/ BTW, welcome to ProcessWire 🙂
  9. You are right 🙂 It has been, a lot of times. It is a know shortcoming we have to live with, so to speak.
  10. Great question! I am also interested. I've been browsing the Forum with Dark Reader for years but a native solution is usually better.
  11. Thanks! Yes, the first option sets the URL to the same one as the URL of the XYZ hour ago link. Thank you very much, Pete! Some examples for the "right column" feature: https://processwire.com/talk/topic/17068-markupsitemap/page/7/ https://processwire.com/talk/topic/12208-tracy-debugger/page/1 screenshots: Looks like it is the long topics which get these stats feature added automatically perhaps? I am not sure how useful these stats are. This is more of a social media like feature you talked about, which is kinda irrelevant in our case, I think too. It just takes up space. I vote for turning it off, if possible. Thanks in advance, Pete! EDIT: It is not possible to use the scroll wheel of the mouse to get to "under" the spoiler, I had to position the cursor in the text above and use the arrow keys of the keyboard to edit anything below. I wish the forum's developers spent more time on improving the RTE instead of anything else. Using the RTE is still a pita sometimes. I know that a JavaScript based RTE in the browser is the hardest thing to implement ever, but still... 🙂
  12. I think I found it, the XYZ minutes/hours ago link might lead there. I just cannot test it currently 'cos I have run out of unread posts 🙂
  13. I usually keep an eye on unread posts: https://processwire.com/talk/discover/unread/ Previously, when I clicked on the title of the topic, I was taken to the last unread post and that was very convenient. However, the new version just links to the first post, which is not very useful. Currently the closest thing to do is to click on the "number of replies" link, but that takes me to the last post, and I need to scroll up to find the where the "Unread replies" begin. Is there still a link that leads directly to the beginning of "Unread replies"? I need it badly 🙂 Also, some topics (maybe module support sections?) have a new "stats section" laid out as a new right column. This is a waste of space because the main column is narrower than full width, so a long topic has become even longer than before. This means a lot of extra scrolling from now on, which does not make me happy at all 😞 Code in this new narrow main column is mostly need horizontal scrolling just to see the content, and that is annoying. I also saw some fixed-width code text sticking out of the main column it for some reason. I am not pleased with these changes at all, they are definitely not welcome. I hope Pete can sort these issues out.
  14. It does not matter whether it is positive or negative in this case. It is clearly politics: https://en.wikipedia.org/wiki/Politics Quote: It may be used positively in the context of a "political solution" which is compromising and non-violent,[".... Anyway, sorry for being off topic. I am not an administrator here, I just wanted to point out that you introduced something which is not inline with the forum rules.
  15. @Torsten Baldes There are always downsides or caveats to any solution, more on this here too: https://processwire.com/docs/more/multi-site-support/ You can also take a look at the multisite modules' codebase to learn more or you can even roll out your own solutions (I am in the process of do it, too) if you have the time, of course. BTW, would you please refrain from breaking our Community Rules & Guidelines? Please, see: https://processwire.com/docs/more/multi-site-support/ "3. No discussion of politics or religion anywhere on these forums including the Off Topic boards - there are many other websites where you may discuss these topics." This means changing your profile image.
  16. +1 I always read changelogs as well. Well, when one is provided... Side-note : ModuleReleaseNotes is great, the second non-core module I always install right after Tracy. As a companion module to ProcessWireUpgrade these two modules make the upgrade experience very pleasant. So if Pro modules also provided change logs then that would be great. This is an example form AdminOnSteriods: https://github.com/rolandtoth/AdminOnSteroids/blob/master/CHANGELOG.md Rendered like this:
  17. This is great news, thanks Ryan! It really helps a lot as looking up new versions manually is very time consuming.
  18. I recommend Stripe over PayPal. The simplest way to implement it is by using Stripe Checkout: https://stripe.com/en-hu/payments/checkout Once I have done that for a "one product only" site. This is the process in short: If visitor enters valid email address and provides quantity between 1 and 4 then he is allowed to proceed. ProcessWire sends an email to the site owner in the background with the email address provided and the amount in it, so that the site owner knows that someone initiated the process. Stripe Checkout comes up, customized with custom logo and a product image. Customer can either cancel the process or pay (also provides shipping info). If payment is successful, then customer gets confirmation message from ProcessWire and the bill from Stripe. That's all there is to it. The site owner can manage all the orders via the Stripe admin, nothing is stored in the ProcessWire database, not even the email address.
  19. I do it all the time for any module no matter what 🙂 and I also always force browser to refresh when a module possibly affects the admin, just to be on the safe side. I think I picked up this habit when I also failed to do it in the past for a Tracy update...
  20. +1 🙂 in case it is a feature request 😛
  21. Not at all, it is just that – as I have wrote somewhere above – I keep an eye on your posts so I have read them all because I am interested. Especially as we are indeed talking about the same topic, it is just that we prefer somewhat different approaches to achieve something pretty similar, and I have already taken notes of your "tips and tricks". Thanks once more!
  22. Yeah, I got that and thank you for that, however, I'm not keen on implementing modules for doing frontend development. Why? It is simply my personal preference. I perfectly understand if you build upon modules even for the frontend, however, that's just simply not my mindset. I appreciate that you spend the time explaining the benefits, whoever OOP can be done for the frontend even without putting any code into modules. The entry point is the page being rendered, from that point on, I can instantiate any objects I need to, there is no need for a module to do that. So that is why it is very important for me to be able to pinpoint the method that can be used to do custom initializations. So far I have not found any issues with using loaded(). If I find any drawbacks, then I will certainly ask for more help and ideas.
  23. I just want to signal that I edited my post above, adding this: Taking a look at wire/core/Templates.php it is the getPageClass() method which determines the class of a page. Here, $corePageClass = __NAMESPACE__ . "\\Page"; is used to set ProcessWire\\Page as expected, except when there is a custom page class being used. Then, PW checks if a page class has been set "in the admin" and – if it is valid to use it – then uses that one instead. If no valid custom page class has been found so far, then PW looks for a valid custom page class supported by the new technique of PW 3.0.152+ (that is: extending it in our own client code) and this is where the class name ProcessWire\\DefaultPage is hardcoded into PW like this: $defaultPageClass = __NAMESPACE__ . "\\DefaultPage";. If this class is used/exits as a custom page class, then it is set to take over the pace of the core Page class, like this: $this->pageClassNames[0] = $defaultPageClass; and afterwards: $pageClass = $this->pageClassNames[0]; So my understanding is that by using the name DefaultPage to extend Page, one can "ask" ProcessWire to use it as the bases of almost all page objects, except for users, roles and permissions which are treated differently. Taking advantage of the possibility of using DefaultPage is optional of course, one can just simply extend Page by using any other arbitrary names, but the string literal DefaultPage named subclass is treated as the new core class in case one needs to add some custom behavior to all "non-user related" pages. Correct me if I am wrong but this is what I gathered sot far....
  24. "regarding frontend custom page classes" Sorry for the confusing wording, what I mean is that I was not trying to compare the ___loaded() method of custom page classes to the the init() and ready() methods of a module's class and I am getting a bit confused that you started to discuss those methods as well, because module classes and custom page classes re unrelated in our case, aren't they?
  • Create New...