Leaderboard
Popular Content
Showing content with the highest reputation on 11/07/2017 in all areas
-
On twitter @pwtuts I made this site to: a) help get beginners up and running with PW. b) give something back to a community that has been very helpful (and patient) to me. c) improve my own knowledge because writing about it really drills it home. Modules: AOS - lots of useful admin tools Connect page fields - made tagging and related posts very easy indeed Custom inputfield dependencies - used to hide fields (on child pages) in a multipage post because all blog posts use the same template ProFields: repeater matrix - used for all body content (image, RTE and code fields) Markup Sitemap XML - for submission to google search console ProFields: Auto links - I have a bunch of pre-determined strings in here (that I need to print out and stick on the wall...) Tracy Debugger - still can't use properly IMagick image sizer - very fast compared to GD, especially when some posts have 5+ images and the originals are 2500px wide Tools: NodeJS with the usual suspects: "devDependencies": { "autoprefixer": "^7.1.2", "cssnano": "^3.10.0", "gulp": "^3.9.1", "gulp-postcss": "^7.0.0", "gulp-rename": "^1.2.2", "gulp-sass": "^3.1.0", "gulp-sourcemaps": "^2.6.0", "gulp-uglify": "^3.0.0", "postcss-flexbugs-fixes": "^3.0.0" }, "dependencies": { "bootstrap": "^4.0.0-alpha.6" } Bootstrap 4 (npm) SCSS In short: had a bunch of fun making this, learned loads. and looking forward to updating with more tutorials.12 points
-
A very simple textformatter that was inspired by Diogo's RemoveHeight textformatter. This one strips the height from any images and either adds a custom class or adds a max-width:100% as an embedded style. Github: https://github.com/netcarver/TextformatterFluidImages PW Repo: here.6 points
-
ProcessWire is even more, it has capabilities to be a conventional CMS with highly configurable Administration Interfaces, Templatesystem, Database Mangement/ Access and render tools for the output of dynamic markup headless CMS providing content data via API (JSON, GraphQL) and optionally static HTML + JavaScript (HUGO/ Jekyll) WAF (Web Application Framework) a platform to build a headless CMS or other App/ SaaS on top of fit Make your choice!4 points
-
Maybe I don't fully understand the term headless, but I would have thought that PW is ALWAYS headless, even with our typical way of using the API. Surely headless doesn't just mean delivery via JSON etc, but rather simply no forced output. I have used PW in the "regular" way for websites, but also as a JSON source for SPA web apps and mobile apps. In my mind, these are all headless, but maybe I I still don't get it, or maybe that is actually what you are saying anyway4 points
-
Hello, Upon reading these articles https://dev.to/maxlaboisson/an-introduction-to-api-first-cms-with-directus-open-source-headless-cms-9f6 https://snipcart.com/blog/jamstack-clients-static-site-cms I was thinking that PW can be used for a Jamstack or Headless CMS with no changes at all. You can easily create REST Api with PW or use the GraphQL module https://github.com/dadish/ProcessGraphQL So ProcessWire is an Open Source Headless CMS since 20103 points
-
@SamC And if Gravit Designer doesn't suit your needs, you can always acquire Affinity Designer (no Linux or web-based version) - during the Black Friday period. Edit: you also currently have a special offer until the 16th for the launch of the 1.6 version. It's possible (some of) the free gifts will still be offered during the Black Friday period.3 points
-
Affinity Designer seems another good choice: https://affinity.serif.com/en-gb/designer/3 points
-
3 points
-
I'd say that technically ProcessWire probably isn't a headless CMS – but it can of course be used as one, and quite effectively for that matter ProcessWire is very much a border case, but my impression is that if you can build a front-end with(in) a CMS, it's no longer strictly speaking a headless CMS. And you can build a front-end with ProcessWire. Sure, you interact with an API, but it's a "local" or "in-app" API, not (only) an external one. Hope that makes sense. And, mind you, I'm not saying that ProcessWire is worse than a "real" headless CMS – in fact I'd argue that it's a better choice for many use cases, but that's obviously up to debate3 points
-
2 points
-
I hate Inkscape - if you don't have Illustrator, take a look at Gravit Designer: https://designer.io/ There are web-based and desktop versions available.2 points
-
_init,php isn't a regular template file. It's more kind of a universal settings file with variables and presets you might need later on your page(s). So you could add the following line to site/config.php $config->prependTemplateFile = '_init.php'; The _init.php in /site/templates/ will be included every page load and therefore the login check is always in place. Within this file you could and should add psy's / your code <?php $loginPage = $pages->get('template=loginregister'); // in my case yours might be different if(!$user->isLoggedin() && $page->id!=$loginPage->id) { // checks if user is logged in and not on login page $session->set('returnPage', '/path/to/welcome/'); // set your welcome site $session->redirect($loginPage->httpUrl); die; }; This would redirect every user that is not logged in to your login page and sets the returnPage. Be careful with the check conditions. You might want to fine tune this check.2 points
-
Hi @noelboss, I've tried a few times, but I've found it really hard to describe the application without showing screenshots of the workflow. It is unfortunately not as easy as hiding the logo and branding. The customer has a lot of competitive advantage using this tool. I also moved jobs since. During the Christmas holidays I might have some spare time to work out a tutorial of a custom build application. Thanks again for your showcase.2 points
-
Agreed. This is easier than you might think. A whole new world opens up. This should be highlighted as an USP for ProcessWire. Especially with the new UIkit3 theme no need to built custom front-ends anymore.2 points
-
Info : Before pull AdminThemeUikit module to dev branch, check this https://github.com/uikit/uikit/issues/2998 issue fixed. I see this issue after update my forked AdminThemeUikit module uikit files and opened an issue on uikit repo.2 points
-
Last night a documentary called "Steve Jobs: The Lost Interview" was broadcast on New Zealand television (on Maori Television, which is about the only free-to-air channel worth watching here). Now I am very far from being an Apple fanboy and I knew almost nothing about Steve Jobs going in. I haven't seen any of the biopics from recent years. I was tossing up whether to even turn on the TV but thought I would give it a few minutes. Well, I was glued to the screen throughout and now I completely get why this guy was exceptional. He's obviously very intelligent but you expect that. What blew me away was the clarity of his thinking and the general manner in which he communicates. Here he is answering questions off-the-cuff and the answers he gives are so concise and insightful and just go straight to the crux of the issue. And when he is asked a question about something he hasn't previously clarified his own thinking on he doesn't just blurt something out like normal people - he pauses and thinks and then answers. That is a rare quality. This is 70 minutes of unedited interview but it is fascinating stuff. There are goodies in there for people interested in computer science history, but also highly recommended for anyone with an interest in management or even general self-improvement.1 point
-
https://github.com/apeisa/PaymentStripe https://github.com/apeisa/PaymentPaypal https://github.com/apeisa/PaymentModule https://github.com/apeisa/PaymentInvoice1 point
-
Yeah, for fatal errors you need to look at: register_shutdown_function To be honest I was confused, because for me undefined functions are exceptions, not fatal errors. I just read that "php7 has changed this behavior, and undefined functions/methods are catchable exceptions." Some more on this change: "Many fatal and recoverable fatal errors have been converted to exceptions in PHP 7. These error exceptions inherit from the Error class, which itself implements the Throwable interface (the new base interface all exceptions inherit)." http://php.net/manual/en/migration70.incompatible.php1 point
-
I don't think WireException is involved there. What you are seeing is a fatal error message from PHP, and you can't "catch" a fatal error AFAIK.1 point
-
New website created by myself for Hannah Shaw Children's book illustrator: http://hannahshawillustrator.co.uk/ Modules used: AIOM+ Croppable Image 3 PageTable extended - used to create layouts such as: 2up, 3up, 1third-2thirds, video, slideshow etc. Image Animated GIF Site-wide File Manager PublishToTwitter3 Video embed for YouTube/Vimeo Template Notes lots of Javascript and CSS animations to give it some fun flare where possible.1 point
-
I don't think so. I think it's just me. I'm not like some of the members here with years of PHP experience so I've just never used a tool like this before. I'm sure over time, the usefulness will become much more apparent. I mean, I still use ST3 instead of an IDE because I don't make anything with enough complexity to require one. I'm interested in learning more about the PW classes though and how things actually work together in the background. I have done a Java course at the Open Uni so did stuff like classes/creating objects/getters/setters/interfaces/inheritance/abstract classes/overloading. Was basic but probably enough to get me started. Yep, it's a png exported from the original svg I made. Tbh I suck with svg. I use inkscape purely because I can't justify the monthly cost for illustrator although I'd love to give it a shot. I guess I need to change the font in the logo to a path in order to actually see the correct font in the resulting svg when it's displayed on a webpage. Of course, always open to new ideas! I thought this might come up. Would be awesome to have 'posted by displayName', which links to a page listing all the posts written by whatever name. I bet connect page fields could be used for this somehow, maybe a page ref on the user template which links to the existing page ref on the blog posts (the one already linked to the page ref on the tag-entry template). Not sure how to handle the actual content creation though, I didn't plan on having a user registration form. Maybe I could create a user by request or something. Thanks for the feedback everyone, it's very useful1 point
-
Have you tried to use an absolute path like this? <?php $manifest_path = $config->paths->templates . 'path/to/manifest.json'; // ...1 point
-
Are you sure the path is correct? What if you omit true (i.e. don't just search in include-path) and use an absolute path? PW doesn't disable this function. If you're in devmode and/or have Tracy Debugger installed, you should see some hint why it's failing.1 point
-
$session->login() returns NULL on failure - see http://cheatsheet.processwire.com/session/properties-and-methods/session-login-name-pass/ rather than FALSE, so if ($task === false) isn't the correct test.1 point
-
Joking apart, that's a great idea. BTW @SamC, would you be open to accepting submissions?1 point
-
Awesome work! Keep it up! quick note, the logo looks abit crunchy on my macbook pro, would suggest hi res image or svg.1 point
-
Thank you Sam Give yourself 30 minutes and learn to create a process module. Use InputfieldMarkup and you'll be impressed what's possible1 point
-
Hi @mel47 - you are correct that repeaters aren't supported. I do support some other multi-value fields, but repeaters are more than multi-value, they are also multi-item (if that makes sense) which is where it gets complicated because not everyone will want the export to be formatted the same way. Just to clarify - you are wanting BCE to export your repeater items, rather than import a CSV of items into a repeater field? I see in your example how you want the export to look but the problem is that different child pages can have different numbers of items in their repeater fields which will mess up the CSV export - nothing will line up properly. This will be especially bad if you have "Column Labels" turned on. I am just not sure that there is a good universal way to export repeaters to CSV. If someone comes up with one, then I will happily implement, but otherwise, I think it's going to be a bit of a mess. That said, I have just committed a new version that fixes quite a lot of CSV export bugs! It also includes my experiments with Repeater support. They are commented out though, so you will need to uncomment: https://github.com/adrianbj/BatchChildEditor/blob/ca338ff0cb6f784579a370ff5e5f2fb71c3eeb85/ProcessChildrenCsvExport.module#L144-L154 https://github.com/adrianbj/BatchChildEditor/blob/ca338ff0cb6f784579a370ff5e5f2fb71c3eeb85/ProcessChildrenCsvExport.module#L196-L205 and then comment out these: https://github.com/adrianbj/BatchChildEditor/blob/ca338ff0cb6f784579a370ff5e5f2fb71c3eeb85/ProcessChildrenCsvExport.module#L177 https://github.com/adrianbj/BatchChildEditor/blob/ca338ff0cb6f784579a370ff5e5f2fb71c3eeb85/ProcessChildrenCsvExport.module#L1281 point
-
Thanks @tpr - great having the sticky header. Another one of those File Compiler annoyances that needs a to fix: Add links to configure admin theme settings on Profile \ProcessWire\page(SuperUser only)1 point
-
1 point
-
Great idea and execution!! I think this could turn into a very important piece of the PW ecosystem. Congrats!1 point
-
Beautiful work @SamC ! I look forward to reading through all the tuts sometime soon. For the lazy amongst us, here is the link: https://www.pwtuts.com I am glad you are using it, but sad that you don't think you are using it properly. Do you think there are some things I can do to make it easier to understand/use? Maybe we need a tut for it1 point
-
@benbyf I always enjoy seeing your work, a real fun site this one I am browsing on the iPad though in portrait mode and the top menu items to the right press but don’t go to the intended links. A long press triggers the safari modal to open the link. They work in landscape as a single horizontal menu. I know this thread is old but just a heads up.1 point
-
This is incredible! Well done @bernhard wish I could do like 1/10th of that stuff.1 point
-
There's something called function scope in PHP. In a hurry, please Google forums for more info. For now, use: wire('page'); wire('pages'); wire('input'); // etc...1 point
-
I created a "Pull Request" at my own and extended the module config, so one is able to define a date range and reverse sorting. Thanks @Macrura1 point
-
I do not see how UIkit is a dependency here. Ryan has just shown us that he could replace the old skin with a new one in a relatively short period of time. UIkit 3 is currently a modern, easy to personalize "framework" on which experienced developers have been working for months if not years. How could the ProcessWire community build something better than that? Without some sort of framework there is no documented/conventional way to implement things which makes it hard (if not impossible) to adhere to some sort of "standards".1 point
-
JQuery simplifies things for JS, just like PW does for PHP cms. You could use vanilla JS or another framework that would make things harder for devs. Would you use PW if it were more complicated to use or so basic like pure PHP? I think jQuery is still the right tool for PW admin, or at least I don't see any real advantages using another (or using none).1 point
-
Cool JS frameworks will become history just because sooner than later someone releases just another even cooler JS framework rendering the previous ones obsolete. BTW, the WordPress guys have been debating for months or maybe for more than a year which one to pick... On the other hand, jQuery is still going strong as others have also pointed it out above.1 point
-
I'm very interested why foremost it's age is a good reason to turn away from jQuery. It's no new cool kid on the block, but it is matured, very well documented and wide spread. It was no "dead end" like some of the other "cool" JS frameworks have been. It feels like a good ol' companion. It's not the right tool for every job nor a holy grail, but in pretty much use cases it works well and affordable in a sense that there is no steep learning curve.1 point
-
For me, the reality is that when I use "vanilla" scripts, each one coming from different developers with its own code for dom traversal and manipulation, yes they are in plain js without dependencies ... but with a tons of redundant code for the same tasks ... so when I finally managed to finish a complex website with sliders, accordions, calendar, date selectors, drop-down menus, parallax, forms and looong, etc. each has its own code to select nodes, add/remove classes and looong, etc. I have a lot of repetitive code, for what? For a trend? yes it's true jQuery 1x is obsolete and fat due to the support of old browsers, but jQuery 3x is as slim as you need. The reality is that we need a library for common tasks (give it the name you want). For today jQuery allows me to do simple tasks on a regular website without additional efforts (ie a website like processwire.com, not a web application, or a project for Córdoba).. well.. if someone create that library, pleeeease use an API similar to PW/JQUERY.. it's so easy to use and learn for us, the non pro developers!!1 point
-
So, we should build the next PW admin without uikit framework too? Because we will no longer depend on jQuery but will depend on UIKit or any other library that we need to function properly. Really I don't understand which is the trending goal of eliminating jQuery like a disease?1 point
-
you achieve that using the simple html dom parser, just have it scan for the anchors; the Process Documentation module has an example that will do exactly what you need; you can download a copy of the simple html dom parser and put it somewhere you can include it, and then process the body field as is shown in the example... https://github.com/outflux3/ProcessDocumentation/blob/master/examples/uikit-example.php1 point
-
Thanks - that is what I thought. Weird though that it's not causing problems for anyone else I'll push an update in a minute.1 point
-
Major revamp to Dumps / Dumps Recorder panels This has bugged me for a while - the Tracy core dumps panel is: ugly and with a forced label whether you want labels for it or not doesn't show a count of dumps next to the icon doesn't show dumps from consecutive ajax calls - each call overwrites the previous dump That is why I built the original Dumps Recorder panel, but it also had a problem: the redirect and ajax Dumps Recorder panels contained all previous dumps (those from the main page request, etc) which made it hard to see what was from what So now I have overridden the core Dumps panel with a new version that has: an optional label a count of dumps adds consecutive ajax calls so you don't miss any. I have rebuilt the Dumps Recorder panel as well. You probably won't want this most of the time, so it is no longer enabled by default on new Tracy installs, so if you are upgrading, I recommend disabling the Dumps Recorder panel by default and just enabling via the Panel Selector as needed. It no longer has a "Preserve Dumps" option, because that is now it's only purpose, so when it is enabled, it will preserve all dumps across all page / ajax requests and reloads. You can click "Clear Dumps" whenever you want, and of course disabling it will also clear the recorded dumps. I think this is a major improvement - it keeps things simple when that's all you need, but enables recording when you want to keep track of changes over multiple requests or you simply find that your bd() calls are somehow being lost / not shown - sometimes I see this when debugging modules - the dumps will be stored, but not shown - the dumps recorder will record these and show on the next page reload. Hope all that makes sense - please try it out and let me know if you find anything that you think can be improved. One other thing - I have moved the $_SESSION section from the Debug mode panel to the Request Info panel - I think that's a more appropriate location - inline with having the INPUT (post, get, and cookies) in there. On Tracy upgrades, you'll need to enable SESSION in the config settings for the Request Info panel.1 point
-
Nice little improvement to the ProcessWire Info panel. I have reduced the admin links section down to some basics: Admin Login / Logout Clear Session & Cookies Tracy Debugger Settings. The removed links can now be added as you wish via the "Custom Links" section. This is configurable in the module settings and lets you link to any page in the Page Tree. The two screenshots show the same custom links (with and without labels). You'll notice that I have added links to a few Process modules (Upgrades, Changelog, and Cache Admin), along with the links that used to be available by default, and then another link to "Add Page" and also to a plain page (My Special Page). Personally I am just going to remove many of these for my own setup so it's just down to those I use a lot. For example I will definitely delete the "Fields", "Templates", and "Roles" links because I rarely want to go to those parent pages anyway - I always want to go via the admin submenus to go to a specific template or field, etc. Anyway, hopefully you'll all find this a useful way to add shortcuts to regular admin tools from the frontend of your sites. On a minor technical note, the module settings for these custom links actually converts the page IDs to page paths so that you can use the Module Settings Import Export module to setup Tracy on other sites without having to redefine these links (because page IDs for non admin pages will be different).1 point
-
When you logout, if you get 404, set the page published. If you get the page but some parts are missing, then you probably misconfigured field access settings, allow guests to view the field.1 point
-
@heldercervantes Sounds like one of my older modules. Welcome to the world of module authorship!1 point
-
There was a suggestion here in the forum recently that front-end editing works best when you are using the same version of jQuery in your template that PW uses in the admin back-end. So that is something to try.1 point
-
I'd strongly suggest you to take a look vue.js instead of react. It's considerably more friendly to beginners, but does still have all the powers react does have (not judging advanced stuff like react native). I personally also feel, that react is more targeted to a "all or nothing" usage (at least in terms of tooling), whereas with vue you can start out just by implementing small components in your site, without the need to change everything from the get-go.1 point