Jump to content

Kiwi Chris

Members
  • Posts

    266
  • Joined

  • Last visited

  • Days Won

    4

Kiwi Chris last won the day on April 11 2022

Kiwi Chris had the most liked content!

Profile Information

  • Location
    New Zealand

Recent Profile Visitors

3,278 profile views

Kiwi Chris's Achievements

Sr. Member

Sr. Member (5/6)

396

Reputation

  1. @MarkE yes that would be handy. I assumed a module would be necessary, just wasn't quite sure what to hook into.
  2. Sounds like a useful module. Could this help with a related issue to locks I've had in that in ListerPro (or other places), I've wanted to have locked pages, but allow users to duplicate them? Imagine a scenario where someone has repeat orders and wants to make new orders that are very similar to previous ones with a few changes, so they should be able to duplicate an existing order, but not change it. I'm fine with changing the lock status via api on creation of the duplicate, but I've struggled with enabling the icon to click to allow copying a locked page.
  3. That's weird, site loaded fast for me with cache cleared (ie under a second). I have had some periodic issues with warnings about high server load that I haven't been able to identify yet. It might be another site that's causing performance issues and slowing the server down temporarily. There are only a handful on the server, and most are tiny, but thanks for the heads up. I'll see if I can get to the bottom of it.
  4. I did something similar to this with a website for a photography club. In this case the equivalent of your projects would be competition entries. I wrote a custom dashboard module for this and hooked into ready.php to prevent display of the normal page tree for normal admin users, used AdminRestrictBranch, and ListerPro from a link in the dashboard module, so users could list, edit, and create just pages that belonged to them.
  5. @ryan this is a bit of an old thread, but I never came up with a solution. Any suggestions? I tried a hook in ready.php but it doesn't seem to do anything. Not sure if I'm hooking the right event? /** * Prevent clients from unlocking BOMS as they need to have 'unlock' permission in order to be able to use 'copy' permission. */ $wire->addHookAfter('Pages::statusChangeReady', function ($event) { $currentPage = $event->arguments('page'); $user = wire('user'); if ($currentPage->template == 'bom' && $currentPage->isLocked() && $user->hasRole('client')) { $this->exit(); } });
  6. This is the experience I had. In the end I gave up and arranged alternative hosting. It seems other people had similar problems, and I wasted far too much time trying to get it to work. I double checked and found that I could run ProcessWire fine with Nginx on my local development environment but Azure App service wouldn't properly handle the nginx config.
  7. I'm using a fork of this module by @kixe so not sure if this issue exists in other versions of the module or not, but I'd be interested to know, and a suggested fix if it does: My problem is that if someone accesses one of the multisite domains, that loads fine, however it seems that if you do enter an address like: www.site1.com/www.site2.com it will load any other site as a sub-url of the first domain entered rather than redirecting, because technically every subsite is just a subpage of home, but the module code handles redirecting so that a subsite home page loads instead of home. What should happen if someone enters www.site1.com/www.site2.com is that it should redirect to www.site2.com
  8. I just read this after I got home from Saturday morning netball with my 11 year old daughter. Sounds like ProcessWire kids are a thing. 😁
  9. Have you seen this: https://github.com/momentum81/php-remove-unused-css It's incomplete, hasn't been updated in a while, and won't remove all unused CSS but might still achieve some reduction in CSS size.
  10. There's a Bootstrap NPM starter project that includes PurgeCSS to strip out unused css here: https://github.com/twbs/bootstrap-npm-starter Also, there's a good tutorial on how to strip CSS with any CSS framework using UnCSS here: https://www.keycdn.com/blog/remove-unused-css There's another tutorial that should work with any CSS framework here: https://medium.com/dwarves-foundation/remove-unused-css-styles-from-bootstrap-using-purgecss-88395a2c5772
  11. I recently inherited a site built in Wix because the person who built it disappeared, and the site owners weren't provided with a login. Reverse engineering it proved a nightmare, including having to use Chrome Developer tools to individually download images since the way Wix served up the pages, you couldn't just save them and capture all the content. I probably could have built them a site from scratch for less, but they really wanted to keep the design, and they didn't have backup copies of their images. I've rebuilt it as a static site at this stage just using SSI for headers and footers, with Bootstrap 5.x to provide layout, and I've been able to discard 97% of the code on most pages and have something that looks pretty much the same. Pages that were up around 1MB of HTML from Wix came down to about 15KB with Bootstrap, with almost identical appearance. I'm not a great designer myself, but Bootstrap makes doing pretty much any kind of layout fairly easy, and it's easy enough to strip out unused CSS to slim it down once you're finished. Customising Boostrap via scss files is pretty easy, particularly if you use something like Visual Studio Code which has extensions that will automatically compile scss on save. There are other CSS frameworks like Bootstrap such as UIKit that ProcessWire itself uses as well, and using any of these is a great help if you want to ease into the intricacies of CSS with a framework with components that just work, but that you can customise as you need and as your skill develops. These front-end frameworks are much like ProcessWire itself, in that they don't set out to tell you how to build sites, but give you a useful set of components that you can put together like Lego bricks or perhaps Meccano is a better analogy, as you actually have to bolt things together by writing some code, whereas website builders hide all of that away from you (and create horrible code), but you do get parts that are already made to work together.
  12. I'm not sure if it will help with your requirements, but there's a module I've used in the past that may help. Although Mike Rockett is no longer maintaining the module, I think it still works, and may help: I used it to map URLs of the kind you're talking about from a site I built before I discovered ProcessWire so that they'd still work in ProcessWire https://processwire.com/modules/process-jumplinks/
  13. My approach to this is non-web based. I write my copy in LibreOffice, and then copy and paste. Unlike Word which has a habit of generating horrible HTML code, LibreOffice generates clean HTML when copied and pasted, as long as you stick to using formatting that exists in HTML, ie headings 1-6, lists, and paragraphs. Since LibreOffice is free, and uses .odt file format by default whereas Word uses .docx it's possible to have both, and use LibreOffice Writer for web content. An .odt file is just a zip file containing XML and any visual assets (as is a .docx file) (You can test by changing the extension to .zip and then open the file. I've used this technique to get jpg files for a website when someone's emailed me a Word document.), so in theory, it should be possible to write an import module to upload an .odt file, read its contents, and save to a rich text field in ProcessWire. I'm happy copying and pasting from LibreOffice Writer, but an automated import module for people who write a lot of rich text and need to get it into ProcessWire might have merit for others.
  14. Thanks. I'll look into this and have a go at replacing it. In my usage scenario this isn't really an issue. I have some very small non-profits who don't want to pay much but have images and documents they want to host, and storing them locally on my VPS isn't really cost effective if they have a lot. If they're paying a low price and don't have to worry about storage, I don't think they're going to object if there's a temporary outage. I really appreciate you making this available. It's something I'd been thinking about for a while, and having a working module to modify will be so much easier than starting from scratch. I'd imagine my usage scenario may be useful to others too, so I'll be sure to update any modifications I make.
  15. This is super cool. I'd been thinking about ways to use Cloudflare images for a while. This might be a bit of an issue for how I'd considered using it. One of the things that had attracted me to Cloudflare Images is the low price of storage and traffic, but if ProcessWire still needs a local copy, that's maybe not quite as useful for the scenario I'd had in mind, although it would certainly help with traffic. Not sure whether a way around it would be to just store a thumbnail locally once full res file has been stored in Cloudflare.
×
×
  • Create New...