Wow - this is all super-helpful. Huge kudos to @pdureau for taking this on.
As someone new to SDC, this discussion has been especially helpful in filling in some knowledge gaps for me.
-mike
ultimike → created an issue.
Initial best practices document published: https://www.drupal.org/node/3516295 →
Is there any reason not to close this issue?
-mike
I have been working on this in a separate Google Doc and will publish very soon - if anyone would like access to the doc, just ask.
-mike
If we focus on the title of this issue, I think that https://www.drupal.org/ixp → is actually complete enough for launch. Anyone feel differently?
-mike
@swirt Understood. I definitely think we need to somehow include content from your comment 3 above, and the Contrib First link, in our best practices document.
I might just copy/paste parts of your comment directly into the draft version of the best practices doc for now...
-mike
This issue feels overly broad to me.
Regarding @swirt's comments, I've responded to them in 📌 Develop IXP Best Practices Documentation Active
@chrisck - what do you are feel the short-term, achievable tasks for this issue? Maybe we can break those into individual issues?
You wrote:
Could the IXP initiative find a way to engage public organizations?
This is absolutely a goal for us (along with engaging other types of organizations), but I think it all comes down to messaging, correct? Do you feel that there are any structural additions we can make to the program to make it easier for government agencies to participate?
One of my goals is definitely for the IXP to have some visibility at every "summit" event at DrupalCons and other Drupal events - at the very least, maybe just a few minutes to introduce the program to summit attendees.
Thoughts?
thanks,
-mike
@flux423 - focusing only on the "IXP Survey" tab of the GoogleDoc, I think it is a no-brainer to move this along.
My main question to everyone is this: how do we use the resultant data? I think we need specific answers to this, including who will be doing the work to utilize the data. I don't think we should start this effort until we have a "realistic in a reasonable time frame" plan in place.
Some initial ideas:
- Additions to "best practices for IXPs" and "best practices for employers" pages (neither exists as of this moment, but I'm currently working on the latter.)
- A blog post suitable for general (Drupal) audiences.
-mike
mradcliffe → credited ultimike → .
@swirt - I'm putting together a "case studies" page for IXP. Is there any chance that you can turn your comment 3 above into a blog post somewhere? Ideally, it would be on https://medium.com/civicactions...
I would love to see the link to https://guidebook.civicactions.com/en/latest/common-practices-tools/cont... highlighted as well.
Thoughts?
thanks,
-mike
ultimike → created an issue.
Thanks!
-mike
swirt → credited ultimike → .
Following up on @kappaluppa's comment...
This was a bit of a tricky issue to reproduce as the form validation doesn't allow us to add an invalid link from an add/edit page that triggers the exception that needs to be logged. To get around this, we created a node with a link field with a valid URL, and then modified the uri value directly using SQL (see values in previous comment.)
Invalid values like this can be created via data migrations with malformed urls (as migrated link uri values are not always validated.)
Tests are still needed for this issue.
-mike
volkswagenchick → credited ultimike → .
This doesn't feel like a novice issue to me - I'm removing the tag.
-mike
Tim - this is all very exciting!
A couple of requested text changes/additions:
Developer hub
On https://jobs.drupal.org/ixp-developer-hub, please change:
The IXP Fellowship Program exists to promote opportunities for inexperienced developers to level up their Drupal skills by working for participating Drupal agencies.
To:
The IXP Fellowship Program → exists to promote opportunities for inexperienced developers to level up their Drupal skills by working for participating Drupal organizations . In exchange, once the mentoring engagement is complete, the participating organization is awarded contribution credits → .
IXP developers are inexperienced, but trained Drupal developers. If you have less than three months of paid Drupal experience, then you qualify for this program.
Contribution credits
Do we want to add the IXP hiring organization credit reward here and link back to the /ixp page?
thank you!
-mike
Wow - really great work so far - thanks so much!
I think the main page → , the What is an IXP? → , and IXP for new developers → are all ready to go - I made relatively minor changes to each of them.
That leaves IXP for organizations → and IXP for volunteers/reviewers → .
@anilu@ @camoa, do either of you have the content for either of these pages ready-to-go somewhere or will it need to be created (mainly from our "process" Google doc?)
I think the "IXP for organizations" page has a much higher priority, as that's what we want to be focusing on at DrupalCon next week - finding participating organizations.
-mike
ultimike → created an issue.
mradcliffe → credited ultimike → .
mradcliffe → credited ultimike → .
mradcliffe → credited ultimike → .
ultimike → made their first commit to this issue’s fork.
ultimike → created an issue.
@camoa and I have information from @horncologne and @flux423 that needs to be synthesized and added here.
-mike
ultimike → created an issue.
ultimike → created an issue.
I'm changing the title of this issue so that we have separate issues for best practices documentation for employers and employees (IXPs.)
-mike
ultimike → created an issue.
Maybe we want to build out the IXP home and sub-pages from https://www.drupal.org/ixp → ?
Regardless, IMHO, the near-term goal is to determine a hierarchy of pages that we'll need for launch. How about:
https://www.drupal.org/ixp →
- main page that includes overview, summary of requirements, and links to sub-pages
https://www.drupal.org/ixp/employer-requirements →
- employer requirements for contribution credit
https://www.drupal.org/ixp/employee-requirements →
- who can apply for IXP positions
https://www.drupal.org/ixp/case-studies →
- see
📌
Collect case studies from existing programs
Active
https://www.drupal.org/ixp/best-practices-employers →
- see
📌
Develop IXP Best Practices Documentation
Active
https://www.drupal.org/ixp/best-practices-employees →
Much of the information for the main page and two requirements pages can come from 🌱 IXP Phase 2 proposed process Active
-mike
I think this is a duplicate of 📌 Develop IXP Best Practices Documentation Active - marking as such.
-mike
@chrisck - thanks for the kind words.
@swirt and I spoke at Florida DrupalCamp and he told me about his idea about how agencies who work on government projects might be able to hire IXPs outside of a big contract by utilizing the "contribute first" idea ( more info 📌 Develop IXP Best Practices Documentation Active .)
I absolutely encourage this discussion to continue, but at this point in time, I'm focused on what can we do in the short term to get the IXP program launched.
I think @swirt's idea should be part of the " IXP Best Practices 📌 Develop IXP Best Practices Documentation Active " for hiring organizations documentation. @swirt and/or @chrisck - would one/both of you be willing to do that?
-mike
Should we split this issue into two issues, one for hiring organizations and one for the IXP themselves? (I think so.)
-mike
mradcliffe → credited ultimike → .
Screenshots added.
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
@nicxvan - just to clarify, are you saying that all that is currently needed is a before-and-after screenshot (and perhaps some better information in the issue template)?
-mike
I'm aware of the AI Image Alt Text module, but this issue can also be considered a bug because if the prompt used to generate the image is longer than 255 characters, then an error occurs because the alt text field can't handle that.
-mike
@nicxvan, @cilefen,
Wow - thanks so much for hopping on this so quickly!
Some background on this request: each year at Florida DrupalCamp, during lightning talks, I share my list of "Drupal grievances" from the previous 12 months. The lack of the "Status Report" link was one of my original grievances a few years ago. At the time, I found a different core issue (which I have been unable to find again) that mentioned this, but its scope was bigger and never went anywhere.
Fast-forward to a few days ago, and I decided that this would not only make a good item for my "grievance rewind" for this year's lightning talk, but also a good issue to tackle (and possibly mentor someone new on) for Florida Drupal Camp's contribution day. Imagine my surprise (and joy!) when I opened this issue a few minutes ago to see the MR!
Hopefully, the narrow scope of this issue will allow this MR to be merged.
Marking as RTBC.
-mike
ultimike → created an issue.
ultimike → created an issue.
nicxvan → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
volkswagenchick → credited ultimike → .
I've just updated this fork with the following changes:
- Changed the name of the new flavor to "Markdown Smörgåsbord"
- Added a new
hook_markdown_easy_environment_modify()
that will allow folks to add additional extensions. I also added a supporting test. - (scope creep alert!) While working on the new hook, I discovered that the way I implemented
hook_markdown_easy_config_modify()
was bad. So very bad (because it would force the developer to recreate the entire converter - including the extensions - in the hook's implementation.) So, I changed the hook to fire a bit earlier (and this is the breaking part) I changed its input parameter from the$converter
to just the$config
array. This is a breaking change (so sorry!) for anyone who has already implemented this hook. But, the code is much better for the long haul now. Once this is merged, I will update the documentation (I have already updated the README in this issue fork.)
I'm going to let this sit for a week or so for feedback before merging. Will dance for feedback.
-mike
Another couple of ideas:
- Markdown Smörgåsbord
- Markdown Extras
After much discussion and difficulty in (my) figuring out the correct spelling, I'm going to go with "Markdown Smörgåsbord".
-mike
Heh - I think the discussion here has outgrown the title of the issue 😂
Anyway, @kreynen, your hierarchy makes sense.
-mike
@pameeela - thanks for the quick response. I understand the reasoning, but for some reason, something doesn't sit right with me. I think that if I put myself in the shoes of someone new to Drupal, and I click on something that indicates I'm going to see some 'add-ons' and then I arrive at the page where I don't see that word, it might be disorienting.
Anyway, I totally get it from the fact that things are moving fast, and there's bound to be some inconsistencies as well as some additional evolution. From a teaching/learning standpoint, I find great value in consistency.
thanks,
-mike
ultimike → created an issue.
Possible new flavor names suggested by DrupalEasy alumni:
- Markdown Goulash
- Markie Markdown and the Funky Bunch
- Markdown Loaded
- Markdown Madness
We also discussed the possibility of adding additional extensions like Table of Contents, but the concern is that they're always on, and not enable-able (or disable-able) on a per entity basis.
-mike
Ahhh - never mind. I just figured it out! It works as expected.
It was my misunderstanding. The "Require paragraphs to be added inside a layout" option means that non-layout paragraph types have to be placed inside a layout paragraph type...
-mike
ultimike → created an issue.
As I mentioned in my previous comment, I didn't want to go down the road of adding additional configuration to the Markdown Easy so I decided to remove the Footnotes extension option and add a new "Markdownpalooza" flavor that includes both the Footnotes extension as well as the Description lists extension. (Full list of all possible extensions provided by the CommonMark library this module is already using.)
I believe that adding this functionality this way keeps my mission of this module intact: to be easy-to-use and easy-to-maintain.
Summarizing the three available flavors:
- Existing flavor "Standard Markdown" is comprised of only the CommonMarkCoreExtension.
- Existing flavor "GitHub-flavored Markdown" is comprised of the GithubFlavoredMarkdownExtension which is the same as CommonMarkCoreExtension plus the following extensions: Autolinks, Disallowed Raw HTML, Strikethrough, Tables, and Task Lists.
- New flavor "Markdownpalooza" is comprised of GithubFlavoredMarkdownExtension plus the Description list extension and the Footnotes extension.
Some additional thoughts:
- I am not against adding addition extensions to Markdownpalooza, but after going through the list of available extensions, I didn't see much value in any of the other available extensions.
- I'm not 100% in love with the name Markdownpalooza, and am open to suggestions. My only criteria is that I'd like a name that is a bit fun.
Additional changes in this MR:
- I added the relevant Footnotes and Description list HTML tags to the default configuration of the Markdown text format that is installed with this module.
- I added test support for the new Markdownpalooza extensions.
- I renamed the "Important" information when configuring the Markdown Easy text filter to "Tips" and added some additional information.
- I added a new hook_markdown_easy_environment_modify that will allow folks to add additional extensions via a small custom module. Once this MR is merged, I'll update https://www.drupal.org/docs/extending-drupal/contributed-modules/contrib... → with an example of how to use it. I'm happy to provide issue credit for anyone who wants to help me with this.
- As this is a fairly significant addition to the module, once merged, I'll be releasing a 1.1.0 version.
- Similarly, once 1.1.0 is released, I'll be reviewing and updating all of the documentation (including the README.md). I'm happy to provide issue credit for anyone who wants to help me with this.
Thoughts? Feedback?
thanks,
-mike
I talked this over with some folks during DrupalEasy Office Hours and I'm leaning towards doing the following:
- Remove the option to enable Footnotes.
- Add (at least) a new "flavor", calling it something like "GitHub flavored+" and including Footnotes and maybe a few other commonly-used extensions (I'm open to suggestions.) If we go this route, then I may want to consider automatically updating the "Limit allowed HTML" config based on the flavor selected.
The goal is to both keep the codebase of this module as simple as possible (for easy updates) as well as keeping its implementation as easy as possible for end users.
Thoughts?
-mike
volkswagenchick → credited ultimike → .
It would be really helpful if we could decide on the following for Atlanta, so that I can work with the DA in getting everything we need/want finalized:
- A proposed schedule of mentoring events during DrupalCon. This includes first-time contributor workshops, mentoring workshops, issue queue triage workshop, mentor’s BoF. To this end, I am able to secure us a dedicated space for these workshops, including during contribution day (so that we can separate the first-time contributor’s workshop from the mentoring area.) BUT, to make any of this happen, I need a proposed/tentative schedule by January 1.
- The name of the main contact on the mentoring team for marketing/communications. This person will also be asked to help work with DrupalCon marketing folks in writing and designing marketing materials (including a half-page handout for the booth.) The DA is willing to help us get the word out, but ideally, there will be a single point-of-contact.
- I think we should identify a “mentor recruitment” lead. I have some ideas about how this could be really useful.
Also see my comment in Slack in the #mentoring-leads channel: https://drupal.slack.com/archives/G63JLJK7G/p1732311521966999?thread_ts=...
I hit this error while installing RC2 using Safari 18.1.
I tried doing a ddev drush cr
as in comment 27 above, and I had the same output and the same result (the page refreshed fine.) Odd.
-mike
Workaround worked for me as well.
-mike
I've update the MR to address the things I noted above as well as I improved one of the functional tests to actually test the footnote extension.
I'm still on the fence about whether or not the Footnotes extension should be enabled by default or not seeing how there are additional tags that have been added to the "Limit allowed HTML tags and correct faulty HTML" configuration to support footnotes.
Regardless, once this is merged, I'll need to remember to add something to the release notes letting folks know that if they're upgrading and enable the Footnotes extension, they'll need to add the following to the "Limit allowed HTML tags and correct faulty HTML" config: id
to the existing <li>
as well as <sup id>
.
I am amenable to adding additional extensions, but I really want to keep this module dead-simple to use - perhaps that means enabling and configuring extensions by default without giving users the option to enable/disable them in the filter's settings form.
Thoughts?
-mike
ultimike → made their first commit to this issue’s fork.
I have to agree with @bramdriesen on all of his comments. I would like to see this MR cleaned up a bit and a test added before considering this change (especially because this is a bit of an edge case and a workaround exists.)
-mike
mradcliffe → credited ultimike → .
mradcliffe → credited ultimike → .