How to build Learndash custom Video Provider plugin? - wordpress

I am currently using Learndash for my LMS. I noticed that it supported YouTube, Vimeo, HTML5.
The problem is that I want to protect my videos by using something like Amazon S3 Presigned URL that will expires within several minutes. I want to build a plugin for a custom Video Provider, where I can put the bucket, access key and secret key as the plugin configuration and then the video object key as the video data.
When a learner open the video page, this plugin will send out request using SDK to create a presigned URL that expires in 10 minutes. When it receives the URL, the plugin will play the URL in the video player.
I have a basic understanding of writing WordPress plugin but I am not too familiar with LearnDash core. Any tips on the points below would be great!
What hook I can use?
Which file I should take a look into?
Which part of the LearnDash documentation?
Is there any simple LearnDash addon that I can learn for?
How to store and retrieve the video ID in the related course topic?

Related

I'm trying to implement external REST APIs in my wordpress website. Can anybody have idea how to do it (whether with a plugin or with programming)

I tried to use one plugin called "WP Data Sync". I am also going through its documentation/ support for the same. I am also having wpbakery page builder in my website. So is there any way that we sync with that also?
Note - We have to sync data in the form of images, image gallery, events listing, and the blog posts.
Did you check out WP Data Syncs website at https://wpdatasync.com/ and create an account to check out an API key?
I'm not sure about all APIs, but the ones I've used in the past would require me to register with the API's website, get issued an API key and maybe even designate the key to a specific website (your WordPress site in this case) for security reasons. After that, you would then go to your WP site and setup the API there via WP DataSyncs plugin.
I hope I understood your question and that this helps.

WordPress, send articles by facebook messenger each day

I have a wordpress website who publish articles, i want to automacaly send a selection of articles to users in their facebook messenger
I saw a website that do that, and I want to do same
Thank you
Maybe there is a Wordpress Plugin for that, but I would do it like so:
Creating a cronjob and executing a php file once a day. (How this works in WP: https://www.a2hosting.com/kb/installable-applications/optimization-and-configuration/wordpress2/configuring-a-cron-job-for-wordpress)
This file is getting all the new posts (or maybe posts with a specific WP Tag or whatever you want to send to your users) from the WP API.
Then, in this file, you connect to the Facebook Send API https://developers.facebook.com/docs/messenger-platform/reference/send-api/ and send this posts to your users. Read the API docs for how that actually works

How can I have private videos (on a private Pro Vimeo profile) viewable and DOWNLOADABLE on my website?

(Using Wordpress plugins and Vimeo API)
I have had a bespoke Wordpress plugin built and am struggling now with one capability.
I have paid for a Pro Vimeo account so that I have better privacy options, but I need to have the videos viewable and most importantly DOWNLOADABLE on my client's website.
I am sure this was possible before, but after three software developers have tried and mostly not managed to complete my job briefs, I am left pretty desperately on how to finish this key functionality.
When I try to download the videos straight from the website, it won't let me and takes me to a blank page. The only way to fix it is to make my Vimeo profile and videos public on Vimeo however, it is vital that they are private on there.
I would be SO GRATEFUL if someone could help me.
You need to use the API to retrieve file download links for your videos.
Make an authenticated request to https://api.vimeo.com/videos/[video_id] using a token with the video_files scope. In the response is an array "download" that will contain video file metadata, including download links, and the expiration time of those links.

pull Vimeo download link in wordpress post

I am a Vimeo Pro user and they have an option of downloading my videos. My concern so far is once i publish the video download URL in a membership site and a person distributes it over the web, i have no control over it but to delete the video itself.
I was told i can generate the download URL through the Vimeo API to come up with expiring download links. But when I tried to get a video download URL through the API playground, it seems it expires after a certain period of time. If I go this way, that means I have to replace my video download URL's in my wordpress site every time a URL expired.
Is there a way for me to pull the non-expiring download URL of the video but the users in my Wordpress site see an expiring download link when they click on it - like Amazon S3 download URLs?
If there is, what are the codes needed and where would I place the codes in Wordpress core files like functions.php etc?
Thanks for your help and instructions from the basic steps.
I can't give wordpress specific examples, but one way might be to create your own wordpress page that generates the download link, and redirects your user to the download link.
Then you can control access via the wordpress link

How to create an audio streaming site in the style of Lynda or other video-training sites?

I would like to make a streaming store like Lynda.com, Udemy.com, or other video-training websites - where the customer can buy and/or subscribe to my digital library, but the customer can only stream the content, no downloading. Is this something I should do in WordPress, Shopify, or something else? A key aspect would be the customer being able to go back-and-forth between buying an individual stream and a monthly subscription without losing their purchased streams.
The content will be self-created audio files. As far as the audio-player, I was thinking about using SoundCloud.com and privatizing the audio on SoundCloud.com. Then embed the audio onto the site to prevent pirating and rely on a third-party site to host the audio content rather than burdening the hosting provider. Or is there a better solution?
Thanks for any feedback!
You CAN use Wordpress, but there will need to be more involved then just setting up a basic website. You'll need to provide the user with a unique URL to stream the content from.
Other than building a custom platform, you can use something like http://buddypress.org/ to create user profiles. And only allow paid users to access certain content.
Shopify will only help with taking orders. Not giving users account access to login.
You could use shopify, then build out a user login side using something like Heroku. We had a similar goal to build a marketplace for live music bookings - basically the difference here being that the artists were the users, not the customers. We used Collections as profiles and Products as bookable packages. We simply embedded youtube vids and made sure to turn off recommendations in the youtube embed code. We currently make this information public, but it could be behind a login (the basic login/account that shopify provide) in your instance. It would be a little bit manual: e.g. they 'purchase' the subscription, then they create a login at checkout, whereby they're then able to access the videos/audio.
Have a play with our marketplace as an example of what I mean: tremolo.com.au

Resources