Jump to content

wbmnfktr

Members
  • Posts

    2,236
  • Joined

  • Last visited

  • Days Won

    59

Everything posted by wbmnfktr

  1. It's not really about the Headless CMS - at least not in my case. I'd be totally fine with just editing .md (content) or .njk (templates) files from the command-line. While this works perfectly fine for me, my clients aren't that keen to work this way. They love their interfaces to edit content, creating pages and such. So there is still need for some kind of interface of some kind for my clients. As I love ProcessWire and all the things I can do with it, using it as a Headless CMS would be the perfect match. Not only that but ProcessWire is way ahead compared to other CMSs, especially combined with ProModules. Yet it's not that easy to get this up and running to use it with 11ty, Hugo, Gatsby and other SSGs (Static Site Generators). Or at least it wasn't for me and still isn't. That's why used WordPress for quick solution. There is a REST API/JSON feed with everything I needed right from the start, some additional changes and I was ready to go. But as soon as I know how to get these JSON feeds from ProcessWire, I will switch that project over for obvious reasons. And the reason why this even became a topic for me: static sites are way more comfortable in terms of "release and forget". If a client doesn't change anything within a year or two, it doesn't matter at all. There are no risks, no security issues, no updates, nothing. Sure you have to maintain a ProcessWire instance even though you rarely use it but you can disconnect it from the deployment and nothing will happen to the real site. But maybe in some cases it's already enough to use Forestry CMS, which right away talks to Github - kinda awesome! @lokomotivan listed some very good reasons for static sites ans SSGs and I will go this route as soon as I can for existing projects and upcoming ones. Let alone the performance differences are quite insane, even when using ProCache. I hope to get one of my larger side-projects up and running with this kind of setup in the next months. Maybe with ProcessWire, maybe with another option (just to get a feeling for other tools). While I already get awesome numbers in performance tests, the amount of unwanted traffic through bots, spiders and a lot of script-kiddies is an issue for me. Using Netlify or Cloudflare as hosting solution this wouldn't be an issue anymore. So... while classic websites are still a thing, I'd like to add another option to my tool belt and I'd love to use ProcessWire with it.
  2. Some additional feedback so far... The PageQueryBoss module, which @monollonom recommened looks pretty nice and works out really well so far. There are issues, but way less than before. I will use and play around with it for a bit. Maybe that's what I was looking for. In regards to those other modules I mentioned before... GraphQL In my setup I had to change each and every field to make it available for public (legal) requests. That's awesome for a setup that needs control about each and everything. But that's nothing I needed or need. Therefore changing a lot of fields without knowing anything about possible issues in other pleases, wasn't an option. Pages2Json The simple JSON feeds were easy to create but... customizing, repeater fields, matrix fields and such... were way out of focus and not that easy at that time (we haven't had a lot of budget and time to get things done)... so maybe it's a nice solution after all. I used it before and it's still in some other projects but in this special use-case... it wasn't that perfect for me. So... I can't say anything bad about the module, yet it wasn't a solution for that specific project. Another thing... While those modules work for some use-cases and in probably a lot of existing projects, they are still 3rd party (which isn't a bad thing, but...) and looking at the "last update" dates... they are somewhere between 2018 and 2021. Which isn't that bad compared to some core and 3rd party modules, yet I have to rely on those modules for the next couple of years. Changing PW versions, PHP versions and whatsoever. Some support threads are way outdated and sometimes even look "bad" with unanswered questions. Didn't and still don't feel comfortable with this - not only in this very case. Therefore I use so many ProModules for a lot of things.
  3. Thanks @monollonom - I didn't know that module but I will have a look at it. Maybe that's more of what I need. Thanks @dragan - you are right, a Headless CMS is something completely different than a SSG. I already found a nice SSQ solution and right now I'm looking for a fitting CMS. I looked at a lot of those mentioned above, yet ProcessWire is way more advanced and more capable of almost anything. And sure... creating JSON feeds is easy until you have a more complex setup of fields, references, repeaters, Matrix fields and such. That's exactly that point @gebeer made here. In WordPress it was super easy to get it right from the start - sure still not a super complex structure, no real repeaters, but way ahead. I'm fine with going into the code, write my output but I sometimes just need something that works right out of the box. Wordpress could be a good fit but maybe even better one of those other CMS out there. This in the core, with support for (matrix) repeater, combo and all the good stuff... this would open a totally new and large user base.
  4. Intro: Just to let you all know where this comes from... In the last few weeks I had a lot of tasks and projects in regards to SSG (static site generators), mainly some *.js frameworks. While those *.js frameworks weren't anything of my taste I started to love and enjoyed 11ty. I've already re-built some of my personal projects with it (11ty) just on static files (js/json data files), which worked really great. BUT... and this is my reason I post this here... this was hard work to move data into static files. Question: How Do You Do It? How do you handle ProcessWire as a Headless CMS for SSG projects? I tried the Pages2Json and GraphQL modules and even custom URL-Hooks for JSON output... but those solutions didn't fit any of my needs. Not even close. It could be me, but I thought about solutions that were more kind of ready-made for almost all purposes. (Yes, I know PW is more of a toolkit :D But most projects just don't have the budget to allow such custom exports of data.) As I wanted to build more complex sites (even as those are mostly only prototypes whatsoever) with way more data, as in posts, pages and such... I installed a basic Wordpress instance, used Custom Post Type UI for custom post types, I was able to get everything done within minutes. Yes, minutes. It took me 3 minutes to set everything up (5+ post types), while adding data took another 10 minutes for each post type. The result was, that I had specific JSON feeds for everything I needed. wp.domain/wp-json/wp/v2/posts ... /pages .../movies .../authors .../whatever - all in perfectly formatted JSON, even those fields that where references, like categories, topics, and other taxomonies. I'd love to see/hear about your solutions. I'm almost certain that PW should or might need an additional (instead of new) focus. As PW is able to do way more than any other Headless CMS out there... it might and should try to match up (in terms of marketing and onboard solutions). I tried Forestry CMS, DatoCMS, SanityCMS, NetlifyCMS and a lot more Headless CMS the last few weeks... all were nice but FAR away from what a basic PW instance can do. I was shocked how basic, yet praised they (other HeadlessCMS) were in the community. Even without ProModules ProcessWire is way ahead of any Headless CMS I tried/used so far. (SURE! It could be me, but I doubt it.) Maybe I'm missing something but I for sure don't wanna miss out on PW for an awesome solution as a Headless CMS. If there was a native JSON/RestAPI feed like in WordPress or any other like-minded (as in easy) solution in it... it could probably the one solution for all. So... Headless ProcessWire - How Do You Do It? Therefore, as this is way more complex than an average question, I tag some of you right here, as you may know much more about anything in terms of ProcessWire or ProcessWire Headless as me. @ryan @adrian @Robin S @horst @psy @Jonathan Lahijani @teppo @dadish@thomasaull
  5. Kind of heckling here, yet... I didn't even know anything about this in that depth... therefore... just a THANK YOU for this insight.
  6. Exactly that was kind of a game changer for me. I switched my config settings, kept another database for branch/tree version1 and went from there. I was able to switch between the old site and each and every new instance/feature set of it. In total 6 branches/trees but it was worth it. Relates to the last project in which I used worktrees.
  7. I'm not using them day-to-day... that would be such an overhead. But yes, worktrees are some kind of next-level chaos at first. Still sometimes really nice. I used worktrees in some larger projects in which lots of things happened at the same time. So switching from branch to branch, stashing, half-baked commits didn't work out at all. I mapped each worktree to its own virtual host, could switch code bases whenever needed without said things, like stash or commit. Are they perfect? No. At least not in my day-to-day projects. But there have been some projects I really benefitted from worktrees. Still a tiny fraction, but still. I assume it will work out totally different in case you do C/C++, Rust, Go, TS... things like that. At least that's my impression while watching coding session similar to video linked above.
  8. Just in case... have a look a Git worktrees. Sounds weird and complicated (especially in the setup process) yet... it could be another game changer. No stashing, deleting or workflows like the workflow from xkcd. Maybe even easier than branches to be honest, while still using branches. I keep this here... as it's entertaining and fun... Looking through that channel you might find interesting things while searching for "git" or "workflow" or "bug". Sure it's VIM-based, yet even possible in VSCode (and others) I guess - most of the time. However it's super fun to watch and to get ideas and insights.
  9. Just a heads-up here... Had to add {all}script{all} as there were issues with some recent requests containing those. For now this works wonders.
  10. That's my thought each and every time I miss a few weeks of @ryans posts. There is soooo much in PW we don't know but Ryan.
  11. Sure we could trick here a bit with CSS but that would be future-proof at all. Therefore... you might try the HannaCode solution @Gideon So mentioned or otherwise add another layer with just JS. I can't promise anything... but will keep this tough in mind while doing some CSS-work. Maybe... I could come up with something. Shouldn't that be easy? I will look into it a bit more at the end of the week, as I have time then. But I guess there should be something possible. Could you provide a "final result" for what you need or something? Just drop it in my DMs if it's too "confidential" or similar.
  12. I did for way too long. Therefore they don't like me anymore. ? But yes... it's more of a culture to work this way but on the other hand... we all are free-devs with super individual workflows. I can't and don't wanna blame anyone for this. At the end everything was fine*. * 100s of merge conflicts later, with rebase and such things. ?
  13. I wish this would be an option here but Ryan on the other hand has his stand here. Which I really like somehow even it doesn't fit my needs at all. On the other hand I have seen already solutions from others - no, they aren't public and I won't tell who, but - and they look promising. Really promising like something I know from the setups I worked with years and years ago in a J2EE/Oracle setup. That was a super-portable setup. A few files managed through Tortoise SVN and all and each instance was updated. I would support a broader pool to make developing open source software and extensions for PW more a business than a hobby. I know too many free/OSS devs that can hardly make a living, therefore my goal is more about a sustainable pool for plugin devs. SURE... this is still absolutely nothing like planned or thought through... yet... there needs or should be some kind of benefit for plugin devs. I already donated to some here for their work. Just because their software made my life and projects way easier. While talking about that, I still plan to build up kind of a pool for developers in my projects. Still in progress... yet.
  14. I love this workflow... but does your setup know this. I guess it does... so far. Didn't try it for now. But... that's why I asked. I personally don't merge on the servers as well, yet... there are others in my team that do this once in a while and therefore create some fun for the whole team. ? Nonetheless... I will give your setup a try as it almost looks perfect in a controlled setup. Yet again... thanks for sharing.
  15. All personal projects use the dev branch for quite some time now, even upcoming client projects use the dev branch it. Besides 3.0.191 all have been super stable and reliable so far. But still on PHP 7.4.
  16. Wow... this could be a thing I try next weekend. It looks really nice. Like something I always wanted to create. Right now... I ssh into my stage and live setups to pull my changes... but this. Thanks a lot @gebeer! Yet... one thing... how do you setup your domains/sub-domains for this. I imagine that myproject-staging would be sub.domain.tld, right? Does the script notice merges from staging to master/main?
  17. You can't add additional markup while adding classes with CKEditor - or at least there is no way I know about. (So there are still chances.) Or at least not in that matter. Therefore... why do you need this kind of markup at all? Styling? To achieve this you could write a JS that adds another span for whatever reason.
  18. This is kind of cross-post... in order to keep this thread updated with related thoughts. In summary... @ryan and @horst use what PW provides... @bernhard uses his RockMigration... all others of us use what ever fits our need and I'm totally fine with that... and really appreciate that. Yet... somehow I'd really love to see a CraftCMS-like (even though I never saw or used it) JSON/YAML-Recorder-style tool @bernhard showed to us. What if we open a money-pool for such a development? Someone interested? If I could have some kind of a solid working solution for a real time JSON/YAML-file-export/import solution which I only need to migrate via Git, without writing any functions, code or whatever, solely based on my PW-setup, to make all my instances the same... sure with some checks in the background but... YES... that would be my dream. Still... I want and have to try and test the solution CraftCMS has available. I put my money where my mouth is and start upfront with EUR 500 in the pool. I will post some details of all the features I'd like to have and see in such a module in the upcoming days, maybe a week or two. Yet... whoever wants to join, let me know. In case you want to develop such a module, PLEASE let me know. I guess I want to see this module happen in some kind or another (community or pro module). My goal is... making PW even better. And maybe this could be another step. Crossposted from
  19. Could take a while or at least a day or two but sure... I'll let you know what I was trying so far.
  20. In summary... @ryan and @horst use what PW provides... @bernhard uses his RockMigration... all others of us use what ever fits our need and I'm totally fine with that... and really appreciate that. Yet... somehow I'd really love to see a CraftCMS-like (even though I never saw or used it) JSON/YAML-Recorder-style tool @bernhard showed to us. What if we open a money-pool for such a development? Someone interested? If I could have some kind of a solid working solution for a real time JSON/YAML-file-export/import solution which I only need to migrate via Git, without writing any functions, code or whatever, solely based on my PW-setup, to make all my instances the same... sure with some checks in the background but... YES... that would be my dream. Still... I want and have to try and test the solution CraftCMS has available. I put my money where my mouth is and start upfront with EUR 500 in the pool. I will post some details of all the features I'd like to have and see in such a module in the upcoming days, maybe a week or two. Yet... whoever wants to join, let me know. In case you want to develop such a module, PLEASE let me know. I guess I want to see this module happen in some kind or another (community or pro module). My goal is... making PW even better. And maybe this could be another step. This thought elsewhere (Added: 2022-01-29):
  21. That sounds solid and reliable. I'd almost bet on this but it never worked out somehow. But could have been right after this feature was introduced. Can't say for sure. Never tried it since or at least for a long time.
  22. Sure... I know your workflow... yet... whenever I try it... it's like some illegal firework blew right into my face and my weekend was ruined. It's probably me in some kind or another. It's a workflow that doesn't fit into mine for some kind or another for whatever reason. Maybe I'm too old for those things or maybe I worked way too long with exports that mirrored all changes far too perfect from one system to another. (INXIRE CMS on Oracle - in case you want to know). But SURE I will look into this more but on the other hand the CraftCMS and CSV/JSON-Recorder I saw was almost perfect for my cases.
  23. Craft CMS is on my list for 2022, but don't tell anyone. Yet... I'd suggest talking to at least with @bernhard. I think he is soooo close to a solution we all have (somehow) in mind. Yet maybe we don't understand his RockMigration right now.
  24. I did, this week. Not for the very first time, but for the very first time within a very real project. It worked. Until it became complicated in some ways and I had to change, switch, move, re-add, and so on. It took me about 2 hours to get things done I normally do within 10 minutes. Yet... that was on purpose. I wanted to try it again but on the other hand I have had a time-limit. I guess RockMigration can do this, but I don't know how yet, but... how could I export an existing set of fields, templates, individual settings from an existing setup into an RM-script? My favourite goal would be... installing RM into a lot of existing projects, create RM-export scripts that put everything into a PHP (or whatever) files I can use later on to re-import/re-migrate into a new project. So I could build up some kind of library for cases I always need. Is there a RM-function that allows me to export all fields, templates, and field/template settings into an RM-PHP? In case this sounds weird, I'd understand. So... maybe... just drop me a message with "You are weird!" better though... a message with "Yes... (but)... look here... use this function here and there". I somehow start to understand this module. Even though it's way out of my comfort zone.
  25. Thank you so much for this insight... even though I hoped for something completely different - to be honest. I thought you would use some database-magic-scripts or an individual what-has-changed-since script, but I'm totally fine and impressed with your (don't know how to say, but...) focus and clear view about all the things you changed from one dev-step to another. I personally can't remember one step after another even though I write almost everything down (no, just kidding. It's not that bad! But close.). There is one thing in your routine that I can't work around... How do you manage conflicts when creating new templates, withouth fields that haven't been imported/created, yet. OR... How do you manage conflicts when importing fields, when templates those fields belong to don't exist? To be fair and honest again... I almost never really used those export/import features. Even though I always wanted... but... other ways worked way better, faster, and way easier for me in those moments. When this/that/these/those... tools you use work for you... I might have to look way deeper into it, than I ever thought. Or at least make me familiar with them. WOW...
×
×
  • Create New...