Leaderboard
Popular Content
Showing content with the highest reputation on 01/19/2018 in all areas
-
This week I got kicked out of my office, by weather, a furnace, and kids. So I don't have a blog post or a version update, though I do have a lot of work in progress that you'll see next week (including an item from last week's roadmap that I think you'll really like). It's been below freezing all week, and our furnace stopped working, so now there's no heat. Something called the heat exchanger cracked, and it looked like we were going to have to get a whole new furnace. But then we learned that the one we had was still under warranty, so the manufacturer is sending a new one, but it'll take a week to get here. Luckily we've got coats and a fireplace, but houses here in Atlanta really aren't built for the cold, so it's pretty frigid at a little over 50f (10c) indoors. I hadn't really planned on typing this much, but it's keeping my hands warm, so I'll keep going. It started snowing, which is something that doesn't happen often here. It was enough cold, snow and ice that the kids school was canceled for much of the week. So I've been having fun keeping an eye on them, but it's a challenge to keep a 7-year old and 4-year old occupied and away from TV. I grew up in Minnesota, so admittedly a part of me enjoys the cold and the snow. But unlike in Minnesota, snow in Atlanta pretty much shuts everything down. In this case, it's also been so darn cold that everyone is frozen after 10 minutes outside, so nobody wants to go out there. Today is the first day where things are starting to warm up, hopefully a trend. When I say the weather kicked me out of my office, I also mean literally. The day it snowed, water started dripping out of the office ceiling, right onto my head, which is... not what you want to see. There was no entry or access to the space in the ceiling for me to get up there and see what was going on. So I had to cut open the ceiling drywall to get up there and have a look. After making a big mess, I got up there and shined a flashlight around, the scene was surreal. It was a 2 foot high attic crawlspace full of snow, with some snowdrifts nearly a foot high. That answers the question of where the water came from… overhead lights produced heat, melted the snow, and it poured into the office. But how the heck did snow get into my ceiling? And how do I get it out of there before it all melts and destroys my office? As it turns out, the day it snowed was very windy. Structures around here have something called ridge vents at the peak of the roof. They run the length of the roof and vent hot air out during the summer. But if you get the right combination of wind and snow (like sideways and upwards blasting snow) it can get into the ridge vents, and into the attic… so I've learned. The conditions must have been perfect for it, because a whole lot of the snow got in. I've never seen anything like it, and hope I don't ever have to again. I ended up spending a day carefully crawling around on joists every 16-inches in those tight and completely dark quarters, trying to get the snow out of the ceiling and insulation. With a flashlight taped to my head, toting around buckets of snow on my hands and knees, I looked pretty ridiculous. Over a day I filled several big buckets full of snow and got it out of there. It was a pain to clear it out, but certainly much better than having it melt through my office ceiling. It's not been warm enough yet to know how much snow I missed (and will melt through), but with any luck, what's left will just evaporate. That was this week's adventures, which admittedly had nothing to do with ProcessWire, but that's why this isn't a blog post. Coming next week: a new PW version (with some exciting updates), a new blog post, and hopefully a new furnace.18 points
-
Hehe! You made my evening Ryan . Sorry for your troubles but it's good that you are seeing the funny side of it and making the most of the situation. I miss this side of Mr Cramer! . Perhaps it's a good thing that once in a while we let the code rest and let our hair down (pun not intended!). Hope you get your furnace and office sorted soon.7 points
-
The short answer is no. The longer answer is: you could add a hidden date field on the parent template and a save hook for your child template that updates the parent's date field. Then you can sort your parents by that hidden field.5 points
-
https://github.com/thuijzer/processwire-FieldtypeBusinessHours Fieldtype Business Hours ProcessWire Fieldtype for entering business hours (opening hours) Input format Leave a day empty when closed on that day Times are in 24 hour format. 9:00-12:00 9:00-12:00, 13:00-17:30 16:00-2:00 Usage in templates Days are from 1 to 7 where 1 is Monday and 7 is Sunday (ISO-8601) echo $page->field_name->isNowOpen() ? 'Now open' : 'Now closed'; if($page->field_name[1] == null) { echo 'Closed on Monday'; } if($page->field_name[2]->inRange('11:00')) { echo 'Tuesday at 11:00 open'; } echo $page->field_name[1]; echo $page->field_name[1]->getEntries()->getFrom()->format('H:i');3 points
-
A lot of interesting ideas here. Nevertheless, I'm a bit nervous, because I hoped to see a focus on critical features missing when building larger websites, with full-fledged editorial teams (larger teams, with copy editors and editors, designers, ...). Think about editorial flows: Of course there are already helpful parts available, e.g. ProDraft. But it would be a big help to have page versioning in core, and collision detection! And think about teams with specialists for different work areas: Photographers and photo editors, who upload files into a central media repository and categorize them, so that editors have a logical place to search for article images, headers. To find an unique image language, sometimes with repeated use of some of the images. To publish in this way is a difficult process. Not something that could easily get replaced by AI. It's a special kind of work of human beeings, who like to be creative and want to get technical support in a way they understand and they need. They want to have access to large galleries that they can filter. To look at their selections in a preview, that shows teasers next to the others in the area concerned. To get an impression how it works, how images works with headlines, and teasers works beside their neighbors. And publishers like to see reasons to have confidence in the scalability and further development of key features for their workflows, their cms. Therefore it seems to be important to have a, in this regard fundamental, set of key features for larger publishing teams available, in a quality and with support, that creates trust in pw as a solid and future-proof platform for larger projects. I understand the difficulties and I know some of the arguments regarding versioning, or for one-page-one-image workarounds (against a central media management). But I'm not convinced by these arguments. More in detail, regarding the media management question. I think the maybe best way to achieve a pw kind of a media solution wouldn't be a central, fixed media library, but to build something like a central media archive out of pages – but with multiple images per page, selectable from an image field, like images of other pages are selectable from ckeditor fields. And yes, I know that there are modules that try to offer such a solution. So maybe it's not too difficult to come to a solution in technical terms. However, it makes a difference to see such a module and such a workflow as a well known and documented way to build a reliable media management, to know it as a part of trying to establish pw as a solid alternative for building larger websites with larger teams. Similarly regarding scalability questions. We have $config->pagefileExtendedPaths. But is that thoroughly enough tested that we can say we can definitely count on it? Does template cache work with it or not? (I wasn't able to test it out by myself.) Ryan wrote 2014: "Will have to revisit that with a similar solution to the files at some point in the future". (https://github.com/ryancramerdesign/ProcessWire/issues/432) If we could clarify this question, that would be very good. I mean, a good thing for the ProcessWire 2018 Roadmap. And last but not least: official NGINX support. To be clear: I'm not concerned to criticize any contribution to the roadmap, or have anything to complain about pw. On the contrary, I hope it will be possible to advance pw. But I think it would be a good idea to focus on critical areas regarding the use of pw for larger projects, for larger editorial teams. Decisions regarding a publishing platform depends on features we can offer, but not in a simple way, that we just could show this or that functionality. More important, I think, is to give a perspective that creates confidence in serious steps to build reliable tools, to enable reliable workflows for demanding tasks of teams, i.e. to establish pw, even for more complex teams of editors and for larger websites. This is a lesson to learn from the development of Craft. Of course, it doesn't make much sense to compare the projects, and to compare them is not my point. Success in one way or another not always depends on resources. Sometimes it's more a question of clarity and organization – sometimes success depends primarily on focusing on key issues. Although the basic requirements are very different, in many cases pw is a valuable solution right now. But it would be good to find the critical questions that the project should face, and to leave less important ones aside. EDIT: A short note regarding the NGINX question, apart from posts in the forum there's an older, very simple attempt on howtoforge, https://www.howtoforge.com/running-processwire-on-nginx-lemp-on-debian-wheezy-ubuntu-13.04. And an article about installing pw 3.0.62 on Ubuntu 17.04/17.10 with NGINX, https://websiteforstudents.com/install-processwire-on-ubuntu-17-04-17-10-with-nginx-mariadb-and-php-support/. Just as an example what a useful approach could look like: https://github.com/nystudio107/nginx-craft Would be great to achieve something like that for pw, with special consideration of ProCache.3 points
-
Most likely explanation is that the page path or ID that you are saving to session is correct, and that it simply is the 404 page that is being loaded. Maybe you have removed view access for the guest role on one or more templates, and have the "Show a 404 page" option selected? Incidentally, an alternative to what you are doing in _init.php is to select the option "Redirect to another URL" to redirect to your login page, and pass the ID of the page that the user attempted to access in a GET variable. So something like... /login/?return={id} ...then you look for the return variable in your login template and redirect back to that page after login.2 points
-
hi thuijzer, would you mind adding a screenshot to get an instant first impression of how it looks like?2 points
-
This is the new topic for the Settings Factory module (formerly known as Settings Train). Repo: https://github.com/outflux3/SettingsFactory I'm not sure what versions this is compatible with, it has only been tested on 3.x branch; it is not namespaced, and i'm not sure if namespacing is necessary or a benefit for this module; if any namespace or module gurus can weigh in on this, let me know. I'm also not sure if there needs to be a minimum php version; I have one live site using this now and it's working great; But before submitting to mods directory, would be better if there was some additional testing by other users.1 point
-
1 point
-
1 point
-
Happily skiing the pow at -6C here in Canada - the more snow, the better Although having lived through a winter in Maryland where they are not prepared for the snow (the housing and the road crews), I do feel for what Ryan is going through!1 point
-
Oh how I love my country. Just came home from a night out with the wife, a nice dinner followed by a glass of Macallan on a terrace. A jacket and scarf with just a shirt underneath is enough. Got home, all the heating we have is a couple of cats and a gas heater for when it's really cold (by our standards), which is turned off, but temperature is perfectly fine. This while the US is going through an ice age and people are getting blown away by the wind in the Netherlands. And after I click "Submit Reply", I'm going to change into a t-shirt, fill up a hot water bottle and go to bed, feeling blessed.1 point
-
Hey fellow forum members: everyone in the Atlanta region go help Ryan shoveling snow! Everyone else - visit The Store and buy a Pro moule for the disaster relief fund!1 point
-
1 point
-
My bad. The documentation is wrong. I like to use immutable objects so I created a getter function for the enries: getEntries() The readme is now updated.1 point
-
It's in the second screenshot with the Blog template. It's collapsed.1 point
-
Edit the Parent template and look under the "Family" tab and you'll see the "Name format for children" Try entering "id-title" without quotes in that field and see if it works. As described on http://processwire.com/api/modules/process-template/ You might also need http://modules.processwire.com/modules/page-rename-options/ Hope that helps1 point
-
Hi Robin, Thank you for your reply and the suggestion. I realise belatedly my original proposal for the blog post path to be /blog/<year>/<month>/<blog-post-title> doesn't prevent the possibility of potential of clashing post titles. I now believe it would be better to simply add the blog post id as a prefix to the post title such as is deployed in this forum. e.g. https://processwire.com/talk/topic/- and therefore achieve something along the lines of: /blog/<post-id>-<post-title> but as on the Processwire Forum only display the <post-title> on the actual post page. That way posts could be made using the same title and be uniquely identified. Do you or anyone else know how this is achieved?1 point
-
1 point
-
@psy You're welcome. I hope you find something. Sometimes, a little break is exactly what one needs to spot an issue. Have a nice evening.1 point
-
The Database class inherits from mysqli. You want to use WireDatabasePDO instead.1 point
-
I can highly recommend Laragon: https://laragon.org/download/migrate-from-xampp.html1 point
-
XDebug and XAMPP have quite an on-and-off relationship, and your problem has been encountered before. I'm not sure if there's a way around it without disabling XDebug. Perhaps you can find a different compatible build of it, or upgrade XAMPP and see if it has been fixed there. There also used to be some incompatibilities between XAMPP and Zend Optimizer where commenting out the Zend section in php.ini fixed a number of XDebug problems, but that was years ago. Might be worth a try though.1 point
-
You could do this with URL segments in the template for the /blog/ page. How to use URL segments1 point
-
Thanks for the module! I will have to give it a try this week. In the past I have just use the Pro Fields: Textarea module to create "fields" for each day, which was quite convenient. However, this looks promising and quite straight forward. ** Just in case, I added a screenshot of the layout using dummy times.1 point
-
Try wrapping in curly braces: <a href='{$download->download_pdf->first()->url}'>1 point
-
Is this any help (from a working site) <?php namespace ProcessWire; if(!$input->urlSegment1) throw new Wire404Exception(); $tag = $sanitizer->name($input->urlSegment1); $tagtitle = $pages->get("template=tag,name=$tag")->title; if(!$tagtitle) throw new Wire404Exception(); In your example this would be from /tag/ template, which is set to use urlSegments.1 point
-
1 point
-
Making future website upgrades more error prone and time consuming, I agree. Yes, we should get more organized somehow.1 point
-
I would like to add something else to this already great discussion, and this is about the rate of new features and changes introduced in ProcessWire. While the last few year's new features are impressive, they keep introducing so many minor issues that – while they are truly minor – they have already accumulated to the point where I cannot see how each of them will get sorted out in the future. Leaving these issues behind in the dust will make ProcessWire less robust in the long run. Do not get me wrong, I do no think ProcessWire is in any sort of trouble just yet but recently I stopped updating to new dev versions fearing that I might break a site. The last stable is v3.0.62 from May 5, 2017. I would love to see a feature freeze so that a new stable and somewhat tested version can be released.1 point
-
not related to processwire but may be of interest anyhow:1 point
-
It was far easier than I had first expected, as I started without much external input and CI restraints, so I could stick with UIKit defaults and had no usability expectations to meet. So I stuck with the "keep it simple" philosophy. I'm tentatively planning to make a release bundle out of it (time is as always the factor), but need to strip out a few specifics first and replace them with more generic code. There are also a few things which I simply stuck into site config but would merit a dedicated config page (think addresses, currency, holidays, time constraints and all that).1 point
-
Hello everybody, a few weeks have been passed since the last update. As you maybe remember, we introduced LdapSignIn, a module which allows you to sign in via an LDAP server account. Since you guys reported that there are many features missing to call it a "solution for Active Directory". Well, during the last weeks, we've thrown the module away, restructured and rebuilt it from the ground up. So we can now truely say: yes, this is a real solution for this porpuse. First of all, we've split the LdapSignIn module into 3 different modules WireAD handles the connection between ProcessWire and the Active Directory. It delivers a straight-forward API for authentication and accessing objects in the Active Directory. So your modules can access it as well. LoginAD extends the ProcessWire login process, so users from the Active Directory can log in. LoginSingleSignOnAD enables Single Sing On for ProcessWire using an Active Directory. Second, the modules also include a set of realy nice features: User and Group Migration You can define rules to map Active Directory user and group attributes into ProcessWire user and roles fields. Groups in Groups WireAD is able to detect groups in groups. So if user A is member of group B and group B is member of group C, user A is migrated as member of both group B and C. TLS and SSL WireAD handles connections via SSL or TLS to your domain controllers Load Balancing You can specify more than one domain controller to load balance between them Auto-detect Base DN or manually specify it Unique User and Role Objects Users and groups are migrated using their Active Directory GUID, so they are mapped as unique objects in ProcessWire Third, I created a demo video to show you some of these features: So what do you think? Please leave a comment below. Greetings from Germany Marvin1 point