Jump to content

gmclelland

Members
  • Posts

    565
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by gmclelland

  1. In case anyone runs into the same issue...  After I upgraded Docker Desktop for Mac to the latest version, I started getting errors in DDEV on all of my DDEV projects.

    @rfay from DDEV - pointed me to the fix at https://github.com/docker/for-mac/issues/6677 

    Error response from daemon: Ports are not available: exposing port TCP 127.0.0.1:443 -> 0.0.0.0:0: failed to connect to /var/run/com.docker.vmnetd.sock: is vmnetd running?

    The fix for me was to run these two commands:

    1. /Applications/Docker.app/Contents/MacOS/install remove-vmnetd
    2. sudo /Applications/Docker.app/Contents/MacOS/install vmnetd
    • Like 3
  2.  

    On 1/17/2023 at 4:24 AM, BitPoet said:

    Thanks for the feedback. An unfortunate side effect of InputfieldPageListSelect is that it doesn't have an easy way to disable individual items in the tree for selection, and checking after the data is submitted feels a bit clunky. I'll try to find a hopefully intuitive way to add the check, but it may take a little while.

    See this...

    • Like 1
  3. 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.

    1. `ddev config` - Choose `php` project.  Docroot location = `wwwroot` and let it create the folder
    2. `git clone --branch dev https://github.com/processwire/processwire.git wwwroot` - Downloads the latest PW dev branch into the 'wwwroot' directory
    3. `ddev start` and open the site's url.  It will look something like https://pwtest.ddev.site/
    4. Go through Processwire Installer and enter the configurations
    5. 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
    6. `ddev describe` - Shows the name, urls, and ports of the running servers
    7. Enter the following in the Processwire Installer
    8. DB Name = db
    9. DB User = db
    10. DB Pass = db
    11. DB Host = db
    12. DB Port = 3306
    13. Character Set = utf8mb4 - if you want emojis?
    14. DB Engine = InnoDB
    15. Done.  Just follow the rest of the prompts to access your site
    On 9/15/2022 at 1:59 AM, bernhard said:

    Would be great to have ProcessWire listed to get some visibility! Though I'm not sure what benefits those quickstart options have?

    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!

    • Like 3
  4. 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.

    • Thanks 1
  5. 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.

     

    • Like 9
    • Thanks 1
  6. Just tried the update.  Unfortunately, I'm seeing some errors in Tracy's Processwire Logs Panel that I thought I should report.

    Spoiler
    ErrorException: mb_convert_encoding() expects parameter 1 to be string, array given in /Users/glenn/websites/mywebsite/wwwroot/site/assets/cache/FileCompiler/site/modules/TracyDebugger/panels/ProcesswireLogsPanel.php:52
    Stack trace:
    #0 [internal function]: Tracy\Bar->Tracy\{closure}(2, 'mb_convert_enco...', '/Users/glenn/we...', 52, Array)
    #1 /Users/glenn/websites/mywebsite/wwwroot/site/assets/cache/FileCompiler/site/modules/TracyDebugger/panels/ProcesswireLogsPanel.php(52): mb_convert_encoding(Array, 'UTF-8')
    #2 /Users/glenn/websites/mywebsite/wwwroot/site/assets/cache/FileCompiler/site/modules/TracyDebugger/tracy-2.7.x/src/Tracy/Bar/Bar.php(149): ProcesswireLogsPanel->getTab()
    #3 /Users/glenn/websites/mywebsite/wwwroot/site/assets/cache/FileCompiler/site/modules/TracyDebugger/tracy-2.7.x/src/Tracy/Bar/Bar.php(122): Tracy\Bar->renderPanels('')
    #4 /Users/glenn/websites/mywebsite/wwwroot/site/assets/cache/FileCompiler/site/modules/TracyDebugger/tracy-2.7.x/src/Tracy/Bar/Bar.php(98): Tracy\Bar->renderHtml('main')
    #5 /Users/glenn/websites/mywebsite/wwwroot/site/assets/cache/FileCompiler/site/modules/TracyDebugger/tracy-2.7.x/src/Tracy/Debugger/Debugger.php(296): Tracy\Bar->render()
    #6 [internal function]: Tracy\Debugger::shutdownHandler()
    #7 {main}

     

    Saving Tracy's settings page, clearing the compiled files and refreshing the modules didn't seem to help.

    • Like 1
  7. Here is an example of sidebar editing from https://www.storyblok.com/:

    https://www.youtube.com/embed/3Q5eIY-u2gI

    483103419_ScreenShot2021-02-03at09_20_36.thumb.jpg.f48864d251dd2664a721bb2fa853a3e8.jpg

    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"

    847652320_ScreenShot2021-02-03at09_16_12.thumb.jpg.17a55db7f1fc882fe39c9675c424785c.jpg

    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.

    1857137707_ScreenShot2021-02-03at09_31_16.thumb.jpg.191605c0542f8545855e793a68ee70b9.jpg

    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."

     

     

    • Like 3
  8. 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?

    984324665_ScreenShot2021-01-26at09_22_59.jpg.84915bf907238c3f5eef8bae5f2be7eb.jpg

    6 hours ago, bernhard said:

    I think the best solution would be to have the page editor work only on the frontend. Then editors have the final layout instantly visible on the right half of the screen and when they click on a block, they can edit that block in a sidebar on the left.

    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:

    883367910_ScreenShot2021-01-26at09_10_33.thumb.jpg.41b687fc3e22f5fb6421322adc0588f9.jpg

    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?

    • Like 2
×
×
  • Create New...