đź’ˇ Idea: set up Netlify Open Authoring for easier contributions
Idea Summary
Netlify CMS allows users to create pull requests via the Netlify CMS interface. See: https://www.netlifycms.org/docs/open-authoring/
I think in terms of facilitating contributions from users who are less technically-savvy, this could be great! You log in with a GitHub account, use a CMS interface to create your definition, and then when you submit it for review, Netlify CMS opens a pull request in the background.
Prerequisites
This would require:
- [x] Configuring the site for editing using Netlify CMS
- [ ] Enabling Netlify Open Authoring
Interesting! I had only a brief stint with Netlify CMS some months ago. Do you know how it could handle our, rather involved, Front Matter requirements? I think it can handle most of it but am not sure about the lists (further read, alt words) mostly.
While we wouldn’t have solved the «needs GitHub account» blocker, I feel that this could be a step in the right direction.
@ovlb I've used the front matter with lists on other Eleventy projects, so it's definitely doable. I think it would take some setup to properly support all the metadata, but could work really well once done. I was prompted to open this ticket after looking at #88, when I realized that it also requires a GitHub account. The nice thing about Netlify Open Authoring is that while it does require the account, you don't have to actually interact with GitHub or git at all as far as I can tell.
@greatislander Yeah, having a UI that’s made for content editing could be a real win.
I marked this as «Needs info» as I think it makes sense to split the requirements into some smaller tasks to see what is really needed.
Do you know of a project that already uses Open Authoring that we could fork to get a better understanding of the tool without having to set up everything ourselves? I know Hylia uses it, maybe we can use a fork of it.
@ovlb As far as I know, Hylia uses Netlify CMS but not Open Authoring? I could create a test project so we can experiment with Open Authoring functionality, and also work on a PR to try out Netlify CMS with the definitions.
Sounds great. But let’s wait for word from @tatianamac before we storm ahead :)
@greatislander I love this idea as it contributes to the core idea of limiting barriers to entry. I would love the idea of testing it out on our own new test project that has similar structure to see what the interface is like.
I think it's a good thing that creating an account is necessary; I would hate to reduce good friction for trolling/spamming given the sensitive nature of the dictionary.
tl;dr Let's open a new test project. @greatislander Are you cool to take the lead? @ovlb Are you cool to continue to be awesome and provide feedback?
@tatianamac I would be delighted! I can create a repo on my own account and invite both of you as collaborators to do some simple testing. Probably won't get to it until the end of the week but I'll keep you posted.
No hurry. Thanks for all your effort and enthusiasm :)
@greatislander Do you still have bandwidth/interest to work on this?
Hey @tatianamac, I do! I am hoping to work on it this weekend. Sorry for the radio silence, hope you are well.
Hi @tatianamac and @ovlb, I've got this working in principle for my fork (deployed here). I haven't fully configured the Netlify CMS editor to handle definitions, but I think this approach is promising. I'm wondering if it might be helpful for me to walk one or both of you through how this would appear to a user and let you try it out before I go any further. Thoughts?
@greatislander Thank you so much for putting this together! Sure! I'd love to try it out and see how it works. Are you able to provide a little README?
@tatianamac Happy to. I'll work on that tomorrow. More soon!
Instructions for Open Authoring
To suggest changes to an existing definition or propose a new one, visit https://selfdefined-open-authoring.netlify.com/admin/ and click "Login with GitHub". Once you've logged in, you will be prompted to create a fork of the Self Defined repository on your GitHub account. Click "Fork the repo" to proceed.
You'll then be able to click "New Definitions" to create a new definition, or click one of the existing definitions to propose changes to it. Saving your changes and setting its status to "In Review" will open a pull request for review.
@tatianamac @ovlb See instructions above— you can see the test definition I created in this pull request: https://github.com/greatislander/selfdefined/pull/1
Note that the Netlify CMS fields and preview functionality is woefully incomplete, but if the workflow for contributions seems helpful I can continue to expand on this initial work. I'm also happy to talk through this issue in more depth with either/both of you as there's a lot of moving parts. Thanks!
@greatislander I think this looks great so far! I think the integration feels quite smooth!
I have done a little Netlify CMS customisation and I think it would be awesome to add some features to help educate on the definition writing. For example, adding selectors for the flags.
Are we still able to respond to PRs with line-item comments?
Hi @tatianamac, we can definitely add selectors for the flags and lots of other helpful guidance to the CMS interface. As for responding to PRs, that will still be possible but then the contributor will need to go back and edit their contribution through the CMS -- it's not the perfect workflow but it works, I think!
I can start putting together a PR if you feel that it's worth moving forward. Let me know!
Awesome! It would be cool to see how we can integrate the flags and such at another pass! I'd say please move forward with a PR. Thank you for all your work on this!
@greatislander Hello! How are you feeling about moving this to a PR?
Hi @tatianamac, been swamped with work but I still intend to work on this. Sorry for the lack of progress!