2️⃣ I would like to create a page, maybe in our handbook, for how to set up beta2 and get it working. Since Drupalpod won't work with it due to symlinks, it needs to be set up locally and without symlinks, and we need to be sure to also pull automatic updates, etc. Might use this thread to think through all the steps out loud, then I might work on that page.
| chrisfromredfin | base drupal installadd project_browser and automatic_updates with composerdo not use drush, or if you do you need to remove symlinks from vendor/bin and vendor/drush/.../docsenable Package Manager and Project Browser go to Project Browser settings, enable the experiemental feature(edited) |
| chrisfromredfin | That's about it, right? (cc @leslieg since I know she got this working last night. did I miss anything?) |
| shaal | :wave: What part would work in DrupalPod? |
| chrisfromredfin | If there were no symlinks (i.e. if drush was not included and if we didn't symlink anything from /repos in, but maybe actually copied them? |
| shaal | Sorry, I meant to ask - what is not working in DrupalPod |
| shaal | (I do remember the request for additional dependencies, WIP. Is this related?) |
| chrisfromredfin | Related to the same goal - which is to have -beta2 work in Project Browser |
| shaal | I'd love to make is all work in DrupalPod, so beside adding another module, what else is needed / or is a problem? |
| leslieg | That sounds correct @chrisfromredfin I used ddev, but folks would need a local environment. That and the use of composer in a terminal is a barrier for our target audience's testing of beta2 (site builders and those new to Drupal). It's a good workaround for now though and folks can help us test auto updates and package manager use in project browser. Thanks again to all the folks that made that all work. Kudos!!! |
| James Shields | I'm setting it up in Ddev now. I'll note down all my steps in a document and see if it's helpful. |
| James Shields | @shaal I think DrupalPod installs the module in a repos directory, then symlinks to that from the modules directory. It would need to install directly in the modules directory to work.Also, as Chris said, would need an option to exclude Drush. |
| shaal | DrupalPod symlink is essential for core development.But when using modules, it's just "nice to have", so I would like to see what it breaks |
| shaal | If you could tell me what to click - and how to see the error / problem - I'll be able to check it out |
| chrisfromredfin | Steps for DrupalPod to reproduce: Use try it now button on project_browser main page, once it's up then composer require drupal/automatic_updates.Enable package_manager and project_browser modules.Go to admin > development > project browser and turn on the experimental setting for UI installer. Once on, go back to project browser UI. You will get an error message from Project Browser that symlinks were detected in the codebase |
| James Shields | Anyone tried Project Browser on simplytest.me ?It seems to have beta2 available, but it gives error during build:SQLSTATE[08S01]: Communication link failure: 1153 Got a packet bigger than 'max_allowed_packet' bytes |
| chrisfromredfin | Yes, I tried patching it to fix that issue, but didn't know what I was doing. 🙂 |
| chrisfromredfin | #3285253: Error: Got a packet bigger than 'max_allowed_packet' bytes |
| shaal | @chrisfromredfin I think I followed your instructions, but I don't see the option you mentioned |
| shaal | Oh, found it! (it just wasn't in the menu) |
| chrisfromredfin | Doh! Guess we'll have to file an issue to add it :wink: |
| shaal | @chrisfromredfin do you have more information on WHY symlinks are not supported? I only saw this, but it doesn't explain the why/admin/help/package_manager#package-manager-faq-symlinks-found |
| chrisfromredfin | They're not supported by Package Manager because "symlinks are hard" per @phenaproxima 🙂 - he gave me the direct low-down at NEDCamp about it. Basically the composer-stager package that everything depends on cannot make them work reliably. |
| phenaproxima | @shaal If you want the in-the-weeds version, talk to @TravisCarden |
| shaal | It seems like search for *any* symlinks whatsoever in a project.We often use relative symlinks in projects to connect design system with the theme of Drupal (which shouldn't have anything to do with auto-updates) |
| phenaproxima | I know @tedbow is trying to implement a workaround |
| shaal | :thinkspin: Add an advanced user override button - "I think I know what I am doing" :wink: |
| shaal | actually... I think there's another bug needs resolved.I removed symlink setup in a DrupalPod installation.and the UI still complained about symlinks in the project.The symlink in question was -/var/www/html/vendor/drush/drush/docs/contribute/CONTRIBUTING.mdwhich is actually this file =CONTRIBUTING.md -> ../../CONTRIBUTING.md(something that installing Drush through composer seems to happen?) |
| chrisfromredfin | Yeah so we are trying to get symlinks out of drush |
| chrisfromredfin | But I think vendor bin ends up always being symlinks |
| shaal | I know very little about the issue, but wouldn't it be possible to check for only the symlinks that would cause issues for the update feature to run correctly ? |
| shaal | (or is it really that ANY symlink anywhere is going to cause issues?) |
| chrisfromredfin | Yeah it seems to be anywhere because it’s composer |
| chrisfromredfin | So vendor actually matters |
| phenaproxima | (or is it really that ANY symlink anywhere is going to cause issues?)Technically no, but we do not at the moment have a strong way to exclude symlinks from being considered. |
| shaal | I have an idea (on how to solve the DrupalPod issue)I can add a flag "no-symlinks" or something, that would load the source code into web/modules/contrib/ instead of using symlinks under /repos |
| shaal | Still managed by composer, still have git access to source code of the project |
| James Shields | In case it's helpful to anyone, I have put together a quick guide on setting up Project Browser locally in Ddev:https://docs.google.com/document/d/1rTLHgW6xVovSUbN0QggYkEht3O3eoQCn6nK4... |
| chrisfromredfin | VERY helpful James, thank you!!!!! |
| James Shields | The link above is editable, in case anyone wants to make any tweaks or improvements to it. However, we should either move to another page or lock down editing permissions if you want to share with other people. |
| bnjmnm | Drupalpod was the first remote means of hosting I got Project Browser GUI install working in! (edited) |
| bnjmnm | There was one additional step I needed to do for it to work. It's documented in Automatic Updates and great that it's documented at all, but it's not exaaactly easy to find. If you use the vendor hardening plugin it takes care of the PITA symlinks. |
| bnjmnm | The symlink thing is a pretty common obstacle so it's probably worth opening an issue to make that solution easier to find. If there isn't one by Monday (when I return to PB work), I'll get that filed. |
| chrisfromredfin | @shaal ooh I wonder if that additional “soft dependency” might solve our issues! |
| shaal | What is “soft dependency”? |
| chrisfromredfin | Something that we were discussing before like being able to add additional packages into drupalpod that aren’t necessarily composer dependencies |
| chrisfromredfin | Though as I type this I’m wondering if we could manage this with composer’s “recommended” (or “suggests” I forget what it’s called) |
| shaal | yeah, I’m definitely going to add that “soft dependency” to DrupalPod |
| shaal | Internally, DrupalPod would use that same mechanism to add (by default, as now) admin_toolbar, and devel |
| chrisfromredfin | yes, love that. |
| tedbow | re the symlinks the once is drush can be taken care of. if you have the help module on the error will link to the docs.re symlinks else where, right now symlinks are not supported for anything that "staged" in the update.We excluded some know folders that are not managed by composer from being staged such as the files folder and the node_modules module.and there is way in custom code you exclude other folders you know are not manage by composer.The problem is there is actually no way to 100% know what is managed by composer. We know the install_path of the packages are but that is not all the is managed by composer. For instance index.php managed by composer because Drupal's scaffold. We have no way of knowing if any other composer package does something like that with any file at any path (edited) |
| tedbow | we have an MR to explain this better #3319507: Add symlink support to Composer Stager 2.0, require that version, and simplify UX & tests accordingly |
| chrisfromredfin | @bnjmnm - how did you work around the project_browser itself being symlinked? Or were you in a more native GitPod setup where it wasn't? I can almost get the beta2 working but I've finally landed here:Loading composer repositories with package information Updating dependencies Your requirements could not be resolved to an installable set of packages. Problem 1 - Root composer.json requires drupal/project_browser 1.0.x-dev, it is satisfiable by drupal/project_browser[dev-1.0.x, 1.0.x-dev (alias of dev-1.0.x)] from composer repo (https://packages.drupal.org/8) but drupal/project_browser[dev-main] from path repo (repos/project_browser) has higher repository priority. The packages from the higher priority repository do not match your constraint and are therefore not installable. That repository is canonical so the lower priority repo's packages are not installable. See https://getcomposer.org/repoprio for details and assistance.@shaal what I'm after is that even if I could even write up manual steps for people to get it working in DrupalPod, that would be a big win. |
| chrisfromredfin | ^ p.s. this happened because I specifically, manually, removed the symlink then just copied (with cp -R) what was in repos to web/modules/contrib |
| bnjmnm | Oh right! It's pretty hacky. Instead of composer installing I just dragged the module contents into /modules. |
| chrisfromredfin | ahh ok right, so avoid that's in there with composer at all, that makes sense as a first step. thanks! |
| bnjmnm | The modules project browser installs doesn't result in symlinks, fortunately |
| James Shields | @chrisfromredfin Do we have somewhere to host the self hosting with ddev steps? I could stick them on my own blog if it would be helpful. |
| chrisfromredfin | Yeah this all started cuz I was about to put them in a handbook page. Then I remembered I could try out this vendor-hardening thing and ended up down the rabbit hole. 🙂 |
| chrisfromredfin | But I was going to do a third one here: https://www.drupal.org/docs/contributed-modules/project-browser |
| James Shields | I could have a go at adding there if you like. |
| chrisfromredfin | that would be great! |
| chrisfromredfin | if you can. I know guides have some sort of permissioning there, but I think anyone can create one and maybe I need to say it's "approved" or something |
| James Shields | I seem to have the option to add. We can see how it goes... |
| chrisfromredfin | great. I think you want it as a guide not a page |
| James Shields | That's what I'll try first. |
| James Shields | Not sure about that. Guide has summary and description, but not actually the guide text. It says to create pages within the guide for actual documentation content. Do I need to create a Guide, then a page inside that, or is the guide you linked above what I should add a page to? |
| chrisfromredfin | OK right, so sorry just add a page from the page I linked |
| chrisfromredfin | that page must be the 'guide' and you want to add one more 'page' to it (I'm new to this lol) |
| James Shields | No worries. Learning together! |
| chrisfromredfin | @James Shields I've also just create these manual instructions for getting it working in DrupalPod. @shaal can see what we're up against 🙂Open up from the [Try It Now] DrupalPod button on the Project Browser project page.
After it's up and running, execute the following in the terminal: Open up composer.json and remove: Then in the UI: Then go to Project Browser's main page (Admin > Extend > Browse modules) |
| chrisfromredfin | You may want to add that to your page? Like maybe one heading for DDEV and one for DrupalPod? |
| James Shields | Currently my page has the title "Project Browser Beta 2 Setup on DDEV" |
| James Shields | Not sure if you get notification that it needs review. Page is here:https://www.drupal.org/docs/contributed-modules/project-browser/project-... |
| James Shields | Wait, I seem to have missed a section. |
| James Shields | Okay everything should be there now. |
| chrisfromredfin | Thanks, James - it's approved and shows up now. Really appreciate it! |
3️⃣ I feel pretty confident about the content layout for the project detail page, I think that's an area that we could be focusing on now.
| chrisfromredfin | #3322594: Update project detail page layout & elements |
| chrisfromredfin | I would absolutely 💙 if @Divya Mangadu or @Jillian Chueka wanted to refactor the Figma design for the detail page to something like the flow I've done here, but less ugly :wink:, so people could get started on that page. ? https://projects.invisionapp.com/freehand/document/pwOhQ6IFC |
| chrisfromredfin | Otoh, someone could probably get started just pulling the data in in order even if it's ugly, for people who are itching to code some Svelte & APIs |
| rkoller | uhhh that reminds me i completely forgot to post my comment on one of the two issues. gotta quickly do that now. but one detail in the context of the comment to write. the high level priority guide order looks good to go. but it might be helpful also to create a detail priority guide (see https://alistapart.com/article/priority-guides-a-content-first-alternati... and search for step 5: create a detailed priority guide) |
| rkoller | commented: #3322594: Update project detail page layout & elements#comment-14807376 and in regards of comment 2. if the module name is moved to the page title the quick description could take the place of the module name right next to the logo in your mockup perhaps? https://projects.invisionapp.com/freehand/document/pwOhQ6IFC |
Participants:
chrisfromredfin, shaal, leslieg, James Shields, phenaproxima, bnjmnm, tedbow, rkoller
Comments
Comment #2
chrisfromredfinComment #10
chrisfromredfinComment #11
chrisfromredfin