WordPress / Learn

WordPress.org Learn - The canonical source for the code and content behind https://learn.WordPress.org
277 stars 100 forks source link

Slides block for Lesson Plans #127

Open courtneyr-dev opened 4 years ago

courtneyr-dev commented 4 years ago

The Training Team has slides for most lesson plans. They still are only found in GitHub. We'd like them to appear within the lesson plan, as a sidebar item.

User stories: https://docs.google.com/document/d/1TrcH09TtNYkwp3W6pI_BzkDnbkwhpw6utFRYuLqCBwg/edit?usp=sharing

hlashbrooke commented 4 years ago

Are you wanting the slides to be visible on the site itself? Like people can go through them on learn.wordpress.org, or is a downloadable file fine?

courtneyr-dev commented 4 years ago

Both - and creation of slides. It's part of what it would also take for the team to leave GitHub. It's quite a tangled situation.

hlashbrooke commented 4 years ago

Could you give more detail about what you want and how you want it to work? Does GitHub currently offer this functionality, which is why you need it in order to fully migrate? The more details you can provide the easier it will be to find an effective solution.

courtneyr-dev commented 4 years ago

We likely need design involved. There are 85 lesson plans, many of those have accompanying slide decks. The User Stories doc covers the uses. If it'd help to speak via an audio/video chat, I'd be happy to set up a meeting. We have a design template in place, and want consistency for all the presentations. We need a way to create, present, and an option to download and review the slides offline. The plugin mentioned near the end of the doc has a decent working model in place. I realize, it's a huge ask for adding functionality to Learn. The training team is not committed to that plugin that was contributed, but it may be a great start.

hlashbrooke commented 4 years ago

I'm still not 100% clear on the needs. From what I can tell, you want:

Is that accurate? Are there additional needs here?

The reason I'm asking, is because it really feels like including slide-building functionality on Learn seems like a huge additional thing, when Google Slides (for example) offers all of the above functionality with easy sharing and no conflicts. Is there a reason why having the slide-building be native to the site is important? Or would a third-party platform like Google Slides work?

hlashbrooke commented 4 years ago

Some historical discussion here: https://make.wordpress.org/training/2015/08/25/slides/ and here: https://trello.com/c/jpp5ob7t/192-slides

hlashbrooke commented 4 years ago

Based on the prior discussion, the requirements for the slides platform are:

Backwards compatible Reusable Minimal learning curve Ability to use without internet Design consistency between different sets of slides (theme) Maintainability Ease of updates Ability to account for different aspect ratios Accessible Open source

A native solution (i.e. a WordPress plugin) could be great, but there would be a high maintenance burden involved. I would hate to see a cool solution implemented, but it falls apart a year or two down the line because it cannot be adequately maintained.

Google Slides ticks all of the boxes above except for the different aspect ratios (which can be solved with more than one deck being used) and it's not open-source (which isn't a problem here since its a hosted service).

With that mind, I propose that we go with Google Slides here and, if it ends up being a difficult or problematic platform then we can look into other options. It's safer to start with an existing hosted platform that looks like it should work, rather than build something from scratch that needs to be actively maintained.

Does that sound reasonable? Does anyone see an issue with that? I'm very open to alternatives here, but I do think Google Slides is a good way forward here.

azhiya commented 4 years ago

I hadn't actually thought about Google slides but it does sound like a reasonable solution.

I'm going to ping the Accessibility team to confirm that there are no issues with this proposed solution.

azhiya commented 4 years ago

I'm adding in the backstory:

azhiya commented 4 years ago

@hlashbrooke how do I add an accessibility label to this issue? Forgive me if it is obvious but my brain isn't computing at the moment.

hlashbrooke commented 4 years ago

It doesn't look like we have an accessibility label in this repo and I don't have access to create one.

If we're going to go with Google Slides though, then this issue can essentially be closed since that isn't a dev solution.

courtneyr-dev commented 4 years ago

Training is still not decided on next steps in leaving all that we have in GitHub. Our temporary solution will include linking to slides still in the GitHub repo. As a team, we had voted against Google Slides as it didn't meet the requirements on https://make.wordpress.org/training/handbook/guidelines/slides-style-guide/ (recently found that page). I can't find written text, but believe these guidelines were based off many of the same ideas of WP itself. We have content in GitHub and do not have time to recreate if we are aiming for an announcement with 5.6 release. The team can revisit our needs after launch to figure out our plan.

courtneyr-dev commented 3 years ago

Update: https://make.wordpress.org/training/2021/01/29/request-for-testing-slides-plugin/

Learn Working Group will review for use in Workshops as well. Then we can escalate to an official request.

courtneyr-dev commented 3 years ago

We'd like to escalate this now to an official request @coreymckrill. The testing feedback seemed positive.

Considerations:

What additional info can I share to start the review/consideration?

andreamiddleton commented 3 years ago

My understanding is that this plugin is not being maintained. Currently, I don't know who might be available to maintain it; Meta is challenged by their maintenance burden as it stands. I believe the slides plugin was created as a proof of concept. Given those givens, I don't think it's a viable solution for Learn/Training.

As a team, we had voted against Google Slides as it didn't meet the requirements on https://make.wordpress.org/training/handbook/guidelines/slides-style-guide/ (recently found that page).

Do you mind if I ask when this vote was held? It might be worth reassessing, if it's been a year or more — products like Google Slides do change and expand their feature set pretty regularly.

Also, I'm not clear on what features from that list are not available via Google Slides; can you help me understand?

courtneyr-dev commented 3 years ago

The team decision was held years ago. Backstory in the links above. https://github.com/WordPress/learn/issues/127#issuecomment-718046210

As a team, we would like to have a slide presentation for nearly every lesson plan that can be used offline.

We had these started in GitHub. That meant 1 team Repo to maintain and "own" the slides. Using Google Slides, each contributor would own that deck. That presents considerable more effort when upgrading slide decks, including auditing, locating, accessing revision permissions, etc.

Concerns:

Would alternative and maintained slide plugins available in the repo be considered? Untested but notice something that may be similar and has been maintained https://wordpress.org/plugins/presenter/. We could revisit to test if it would be an option.

hlashbrooke commented 3 years ago

I'd like to circle back here since getting slides on lesson plans would be a great thing to see happen sometime soon.

I poked around and asked the people involved and, right now, none of the slides plugins that are available in the Plugin Directory are being actively maintained and there are no current plans to do so with any of them. That means that we have three options for Learn:

  1. Use a plugin from the directory and hope that the original author puts some work into maintaining it
  2. Fork a plugin from the directory and the Meta team will have to put in the work of maintenance
  3. Use a third-party platform for slides

Option 1 is impractical for obvious reasons.

Option 2 is going to be a tough sell since we have a lot of dev work needed to be done on Learn, and a lot of custom code that already needs to be maintained, that it would be stretching the Meta team unreasonably thin to ask them to maintain an additional large amount of code.

Option 3 feels like the only realistic solution out of these and, when it comes to third-party solutions, the best option is Google Slides (although I'm very much open to other suggestions if they're workable). Google Slides ticks all of the boxes for what is needed (highlighted in comments above), but I understand the hesitancy here and can see some issues with using Google Slides, namely:

To mitigate those issues to some degree I propose the following:

  1. We host all slide decks on a central Google account - the WP Foundation G Suite setup could be used for this, so it would simply be a matter of sharing the login details with the people involved. This would provide a central home for all slide decks, rather than having them on individual people's accounts.
  2. We open a new issue for a block to be built for Learn that embeds the slide deck on the frontend, as well as provides a link to the presentation on google.com. That way people can see the slides in context and open them full screen to use them right there, or they can go to the source directly and download them in a variety of formats (PDF, PPT, ODP, etc.). This block would be easy to build and would not result in a maintenance burden for the Meta team.

Does that sound reasonable? I'm aware the best solution would be one that is native to WordPress and can be managed inside the WP dashboard, but right now that just doesn't exist in any sort of maintainable and realistic way, so I feel like what I have proposed here is the most practical solution that could actually be implemented.

azhiya commented 3 years ago

Thanks for looking into this Hugh. A few questions:

binarygary commented 3 years ago

I'm adding some context notes. If you, like me, remembered that State of the Word at WCUS in 2019 slides were presented in the block editor/gutenberg and wanted to suggest that as a solution you can stop your research here. The plugin utilized to support the SOTW WCUS 19 slides is the first link referenced here https://github.com/WordPress/learn/issues/127#issuecomment-718046210 and is no longer supported. As noted in https://github.com/WordPress/learn/issues/127#issuecomment-899978902 this plugin will not likely be a good solution here.

hlashbrooke commented 3 years ago

Thanks for highlighting that @binarygary!

To answer your questions @azhiya:

I'm definitely keen to explore options here, so if there's something that will work better than Google Slides please suggest it!

hlashbrooke commented 3 years ago

As per the discussion in this week's Training Team meeting, we're going to move forward with Google Slides and evaluate that as we go along.

With that in mind, the needs of this issue have changed to require the following:

I'll update the issue title to reflect this change.

hlashbrooke commented 3 years ago

I see two text inputs in the lesson plan sidebar for slides to view and download them:

Screenshot 2021-09-17 11 21 45

It seems we could simply repurpose these two fields, so the only work here would be the frontend side, with the 'View URL' being the URL for embedding and the 'Download URL' being the link to the slides on Google Slides.

hlashbrooke commented 2 years ago

I jumped into this work and discovered that the fields I mentioned in the comment above already do show links on the frontend:

Screenshot 2021-11-26 at 9 01 09 PM

If done as discussed above with Google Slides, the 'view' button opens the slides up in full view in a new tab and the 'download' link goes to the slides page for someone to export into whatever format they like.

I feel like this already solves this issue and is a very neat solution. The only other additional enhancement I can think of at this stage is having the slides embedded on the page. @courtneyr-dev is that something you think would be useful? Or would it just be taking up more screen real estate than it's worth?

courtneyr-dev commented 2 years ago

I think this is some we need some more thought about. Google Slides is our backup plan. But with talks of merging lesson plans and workshops, we need to scope how that would all be laid out. So the work of embedding things now and then moving and adjusting could be effort better directed elsewhere first.