Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by gmclelland

  1. Haven’t tried it yet, but it looks like there is a new fork of selectize at https://tom-select.js.org I just saw this and thought I would report it here in case it is relevant?
  2. Sorry, I just realized https://processwire.com/modules/files-rename-replace/ is only for file fields, not image fields.
  3. I'm not sure if it will work with MM, but I like to use https://processwire.com/modules/files-rename-replace/ for that type of functionality.
  4. Maybe https://processwire.com/modules/fieldtype-select-file/ would work for you?
  5. I haven't tried Colima, but it looks like ddev recommends Colima over Docker Desktop: https://ddev.readthedocs.io/en/stable/users/basics/faq/#why-do-you-recommend-colima-over-docker-desktop-on-macos
  6. Just tried out ddev for the first time and it looks like it is working really well. Thanks @bernhard and others for contributing to this thread. Ddev looks way easier then my previous setup based on homebrew https://getgrav.org/blog/macos-monterey-apache-multiple-php-versions. Here's the steps I had to take to get started with ddev. I'm writing it here so that other people don't have to spend much time with this. `ddev config` - Choose `php` project. Docroot location = `wwwroot` and let it create the folder `git clone --branch dev https://github.com/processwire/processwire.git wwwroot` - Downloads the latest PW dev branch into the 'wwwroot' directory `ddev start` and open the site's url. It will look something like https://pwtest.ddev.site/ Go through Processwire Installer and enter the configurations The Processwire installer might complain about " Unable to determine if Apache mod_rewrite (required by ProcessWire) is installed. On some servers, we may not be able to detect it until your .htaccess file is place. Please click the 'check again' button at the bottom of this screen, if you haven't already." - Just click the "Continue to Next Step" button `ddev describe` - Shows the name, urls, and ports of the running servers Enter the following in the Processwire Installer DB Name = db DB User = db DB Pass = db DB Host = db DB Port = 3306 Character Set = utf8mb4 - if you want emojis? DB Engine = InnoDB Done. Just follow the rest of the prompts to access your site Maybe it could automatically create a site/config-ddev.php that gets automatically included into site/config.php? https://ddev.readthedocs.io/en/stable/users/topics/cms_specific_help/ and https://ddev.readthedocs.io/en/stable/developers/project-types/. Something like: // Automatically generated include for settings managed by ddev. if (file_exists(__DIR__ . '/config-ddev.php') && getenv('IS_DDEV_PROJECT') == 'true') { include __DIR__ . '/config-ddev.php'; } Looks like all of the custom CMS projects are located at https://github.com/drud/ddev/tree/master/pkg/ddevapp After looking at some of the .go files, it looks like it can get a little complex? https://github.com/drud/ddev/blob/master/pkg/ddevapp/drupal.go Oh well. Now it's time to have some fun with ddev and Processwire!
  7. Great video Bernhard! As always, very informative. I watched to the end. The only thing I would suggest is to bump up your font size a little bit more in your code editor while recording. In general, I prefer to not have background music in coding videos when the person is talking. Looking forward to any other future videos you publish.
  8. I could be wrong, but what I think @wbmnfktr is looking for is a **standardized** Processwire APIs across all Processwire installations that is on by default? This could be beneficial by allowing: third party services to integrate easily with Processwire. Something like zapier.com could build a Processwire connector that consumes the API to allow for no-code workflows that connect different systems and services together? a site aggregator website that could consume the other Processwire website's API and report back the details. For example, which sites need module or Processwire updates. Something like https://sitedash.app/ for Modx Static Site Generators to consume and build a fast static website that can be hosted on a global CDN. a Single Page Application built with Vue.js/React.js/React Native, etc.. that could be replace the Processwire Admin. I think https://www.sanity.io/ can do this? Everything is fully decoupled. Why would you want a different admin? What if you wanted to build a native Mobile app to administer your Processwire site? admin components that consume that consume the API for different admin experiences? Wordpress uses the API for their new Block Editor https://developer.wordpress.org/block-editor/ Sure stuff like sitedash.app can be built right now with Processwire, but services like zapier.com and others aren't going to spend time building a API connector if it isn't included in Processwire core and isn't standardized. I agree with flydev - there are other things to consider as well like issuing API tokens, content throttling, API versioning, providing data in different formats other than json and REST like GraphQL, webhooks, autogenerated API documentation like https://swagger.io/. https://api-platform.com/ covers a lot of these topics. https://strapi.io/ does a good job with some of these things like issuing tokens for integrating third party clients. Thanks everyone for posting solutions that could work. I enjoying reading and watching the many different ways you can do things with and without modules. Thanks @flydev ?? for the AppAPI demo. Thanks @bernhard for showing/creating the RockHeadless module and demo - dang your fast. I like how you demonstrate how you can also expose the children of certain pages to the API as well. That's is another aspect that has to be considered since Processwire is different than most bucket based CMSs. Processwire is tree based around hierarchy.
  9. https://advanced.team/ - try moving your cursor back and forth on this website. Lots of fancy animations as well.
  10. Yeah, it's been a while since I updated. I just updated again and the error went away. As always, thanks for fixing this so quickly!
  11. Just tried the update. Unfortunately, I'm seeing some errors in Tracy's Processwire Logs Panel that I thought I should report. Saving Tracy's settings page, clearing the compiled files and refreshing the modules didn't seem to help.
  12. Don't have much time to discuss, but I just came across this article that's talks about Craft's Project Config https://adigital.agency/blog/understanding-and-using-project-config-in-craft-cms that some may find relevant to this discussion?
  13. @Joss I had the same error https://github.com/ryancramerdesign/ProcessHannaCode/issues/23
  14. @JFn - see https://github.com/ryancramerdesign/ProcessHannaCode/issues/23
  15. Hey @teppo, just wanted to let you know that I ran into a problem with this module after installing the new HannaCode module. Here's the details https://github.com/ryancramerdesign/ProcessHannaCode/issues/23 I know this is an older module and most people will probably use HannaCodeDialog now, but I thought I would let you know in case you had some sites still running this module? Thanks for all you do with Processwire!
  16. Another example of sidebar editing from Umbraco - .Net based CMS. It also has a nice way of accessing a Media Library from the page your are editing.
  17. Here is an example of sidebar editing from https://www.storyblok.com/: https://www.youtube.com/embed/3Q5eIY-u2gI Sorry, I'm not sure how to embed youtube videos on this forum? https://www.contentful.com/ also something similar called a "Slide-In Editor" Here is another image that shows how a page is composed in contentful.com. It looks similar to Processwire's PageTableExtended module, but notice how you can also link existing entries/pages. We can't do that with PageTable or PageTableExtended. PageTableExtended comes close to a lot of the other systems I have seen, but it lacks a few features that would make it a good solution. It needs to be combined with https://processwire.com/modules/page-table-extra-actions/ and I also don't think the ProDrafts module fully supports PageTableExtended? It gives a warning that say's "This field doesn't support Drafts. Changes will always save to the live version."
  18. Great job jploch and kongondo! Ya'll can really put together modules quickly. Looks like that could also be used as "Freeform layout builder" component/section that can be added to a normal page table like I show above? jploch, I wasn't clear on how the user gets to see the grid editor in your example video? Do they click on a button to enter into the grid editor or does it take over the normal page editor somehow? I also like the mobile preview buttons at the top? Maybe ProDrafts preview mode can add those? I think CraftCms just added that feature as well? I expected it would work like the ProDrafts preview mode's sidebar? I just don't want the preview area modifying the site's markup. Like adding plus icons everywhere or drag and drop. That is what the Godaddy.com editor does. I'm not a fan of that. Sometimes those *features* can cause CSS conflicts and cause the preview to mess up. See below for example of the buttons that appear on hover: I like how the ProDrafts preview mode doesn't add those *features* to the preview area. On another note...people here were also talking about Editorjs.io and storing content in json in the database. I ran across a spec for that from https://www.sanity.io/ it's called Portable Text https://github.com/portabletext/portabletext and they talk about it more here. I guess you can run into problems when creating headless sites that store rich text as HTML in the database? They use JSON instead to remove all the styling and so on. I'm not sure how widely it is used, but I thought I would mention it in case anyone hasn't heard about it. I'm also not sure if it is compatible with Editorjs.io?
  19. If anyone else is interested, I started researching different ways to try to solve this problem(not just with Processwire.) You can view the Google doc here. Feel free to copy/edit or whatever. I wonder if we can simplify things? Do we really want a layout editor in the Processwire backend where you can adjust the grid widths and so on, or do we just need some UI modifications to the tools we already have? Here's an example where I think the backend page editor is too complex. from:https://getkirby.com/ and https://modmore.com/contentblocks/ The page editor could slow down and be clunky from trying to render all the DOM elements? Too complex to work on mobile Content editing gets smushed into small columns Dragging and dropping across layout regions requires a lot of dexterity for the end users - think accessibility. requires taking up the whole page for editing A page/layout editor will have to somehow visually represent your frontend layout in the backend. That seems problematic to me. Instead of having a complex page/layout editor where the user has to drag and drop columns, how about we simplify the interface so that it works on mobile as well? While the YooTheme demo looks cool, I don't think it would work good on mobile? I think the YooTheme UI is still too complex. How about we just allow the user to choose from prebuilt sections or components? Those prebuilt sections/components could then be edited in the Processwire sidebar panel like the Processwire ProDrafts sidebar editing. It would be cool if the RepeaterMatrix, Page Reference, Page Table, Repeater fields got rid of all the cluttered "Add New" type links and instead had one "Add new" button/link that would give the option to choose a template visually in a Processwire Sidebar Panel. Maybe also add another option to RepeaterMatrix, Page Reference, Page Table, Repeater fields to edit pages in the Processwire Sidebar Panel instead of the inline expand/dropdown editing? Just like the Processwire ProDrafts module does with Live Preview? This is how Godaddy.com's website builder works. You can try it for free. When you click the plus icon to add a new section, it shows this selector in the sidebar. This is also how https://froont.com/ sidebar works. A user selects a prebuilt section or component/widget. Also http://cards2.webflow.io/ and https://froala.com/design-blocks and https://www.brizy.io/brizy-design-kit-2/ you can see how a page is built from these widgets/components that stack on top of each other. Imagine if I were to create a Processwire "Landing Page" template. It would probably only have 3 fields: Page Header - Single Select - to override the default site header Page Sections - Allow Multi Select - to add layout rows Page Footer - Single Select - to override the default site footer That would give a lot flexibility of the page design without allowing a user to screw up the design. When looking at the processwire page editor, it could show the three fields each containing a preview graphic of the element that was selected. Maybe @bernhard 's module would allow the visual selection of the templates somehow or maybe @ryan could add a representative/template preview image option to all the templates? The Sections field would allow multiple selections. Those selections would display in a single column like the Page Table field that allows you to move the preview graphic of the element that was selected up or down in the list. Maybe Page Table Extended could be used to show that preview graphic from the TemplatePreviewImages module? I haven't tried. If you click the preview graphic, it will open that element in the Processwire Sidebar Panel for editing. Here is a rough mockup of what it could look like: That way the page editing is nice and simple, no need to worry about messing with the indentation of nested elements like in this example: Indentation is too easy for editors to mess up IMHO. Now what happens if you click on the "Three Column" item above? It would open for editing in Processwire Sidebar Panel on the right. Now that "Three Column" page has other Page Reference fields to components/widgets: Column 1 - contains a RTE Editor widget using a limited/restricted CKeditor or a markdown editor? Column 2 - contains an Art Directed Responsive Image widget Column 3 - contains a Accordion widget with other types of referenced widgets like a Editorjs.io widget or a file downloads listing widget So that is where I'm not clear on. Do we need some mechanism to allow us to "Drill down" to edit other referenced pages in the sidebar? How do we go deeper? Could there be some kind of breadcrumbs or back button like on an iphone? The SilverStripe CMS has drill down editing as seen in this video at the https://youtu.be/IKGUd2dq8XI?t=1022 although it doesn't use sidebar editing. Technically, I'm not sure how they achieve that? Anyways, I don't have the solution, but I thought I would share those concepts as rough as they are. ? I also like Bernhard's concept of defining these widget/components in code so they can be shared across sites. Creating all these fields and templates by clicking in the admin would not be fun. No disrespect to Processwire. (I love Processwire and it's admin theme btw) I love hearing all the discussion on this. It's one huge problem that definitely needs solving. I need to able to give non technical users the ability to create customized landing pages without them knowing html. They like to be able to switch out a whole section just to see what it would look like. That's why I would prefer to give them the ability to select prebuilt responsive components instead of allowing them the ability to create grids with rows with margins and paddings and so much other htmly stuff.
  20. Glad I could help! I think I was waiting to get some feedback from other people to make sure it wasn’t just me before I report it? For me it happens locally and in production. Local uses homebrew Apache and Php on my mac. Production uses https://serverpilot.io which uses Nginx for static assets with a proxy to Apache for Php.
  21. Hmm... I'm not sure then. Are you using TemplateEngineFactory with TemplateEngineTwig? Did you upgrade TemplateEngineTwig as well? Did you upgrade your Twig libraries with composer? Did you clear your site caches with Modules > Refresh? Just some thoughts... If I remember right..after upgrading to 2.x throw new Wire404Exception(); most of the time it would work, but one time it didn't. I just can't remember the use case. So maybe that bug isn't fully fixed? Perhaps you can provide Wanze your code so he can replicate and fix the problem?
  22. Hi elabx, On one of my sites, I have: if ($input->urlSegment1){ // unknown URL segment, send a 404 throw new Wire404Exception(); } and in another place I was using: // Don't let search engines index non-existing pages // see https://processwire.com/blog/posts/processwire-2.6.18-updates-pagination-and-seo/ // if(!count($paginated_calendar_postings) && $input->pageNum > 1) { if(!count($paginated_calendar_postings) && $input->pageNum > 1) { // I'm not sure why this line is needed, but it is // $session->redirect($pages->get($config->http404PageID)->httpurl()); throw new Wire404Exception(); } I think I used to have to do this, before a bug was fixed in this module? $session->redirect($pages->get($config->http404PageID)->httpurl()); Hope that helps
  23. @gornycreative - If you are using Cloudflare - you may want to set some rules as seen here:
  24. @benbyf - Do you know of anyway to prevent this module's page list customizations from loading in a Processwire Panel(the one you get when you click on the tree icon on page edit)? Everything I tried doesn't seem to work. ?
  • Create New...