I believe there's some sort of (custom) backend to track all the videos / content, although @JeffreyWay would need to weigh in to confirm.
Laracasts CMS
Hey everyone,
I was just wondering whether Laracasts has custom CMS where they upload videos and meta data related to videos or simple just grab all information from Vimeo.
@JeffreyWay maybe you could shed some light on it as I need to create similar app for my workplace. Any help would be much appreciated.
Many thanks for your replies.
@austenc Thanks for your reply. I don't know if you have noticed but each of video thumbnail has font icon. How does he include that icon as in Vimeo no HTML is allowed.
Probably that's a picture and it's part of the video.
@naveed I'm pretty sure @JeffreyWay is using some sort of a custom CMS. When he shows the code base for laracasts, he has a Series, Episode and a Lesson. Each series has episodes and Lessons are like standalone Episodes. He showed his demo DB once and you could see that he stores a vimeo URL for the videos, video's name, excerpt and a few more things.
@Ruffles Thanks for your reply. No its not an image but separate icon in html.
I was thinking more like a screenshot of it and then mixed with the video. I am just guessing, I haven't really done any video editing.
@naveed If you inspect the source code of laracast, which is a great peace of HTML by the way, if will find that @jeffreyway did a clever trick in order to create custom thumbs on videos, also the videos are uploaded on Vimeo. Every video has got its own personal overlay with useful information such as Watched, title and icon.
Also laracast is based on Laravel and is custom built, I remember back the first version of laravel which has no forum and only few videos but it was awesome anyway
Source https://web.archive.org/web/20130404000553/http://laracasts.com/ first version draft
First sign up and browsing https://web.archive.org/web/20131107213345/https://laracasts.com/
@Kfirba and @Ruffles thanks for your input. @Kfirba thats what I was thinking that @JeffreyWay must have some custom CMS to upload lessons and Series.
@ludo237 Thanks for your reply. Creating overlay and displaying title and length is not difficult part as we can get that info from Vimeo API but I was curious about font icons as you cannot embed those in Vimeo so was wondering that he must have custom cms to achieve that.
@naveed When you think about it, it's actually the same as storing a dynamic photo gallery. You don't store the photo itself in your DB, but a path to it. Here you simply use a 3rd party service to store your videos (and eventually play them in this case) and then simply retrieve them like some sort of an iFrame. Using this method, you can simply design everything as much as you want.
@naveed I guess it's database side. I think he has some sort of administration panel where he can categorise each video with its own set of icons and related meta tags.
Also with a simple tool you can find the endpoints of laracasts.com and some of them are administrator only.
Please don't ask for the software and/or the procedure because I'll not provide any kind of info about it (as a security researcher I'm wearing the white hat :D)
@ludo231 Yes that is what I was thinking as he has some extra information like tagging video level (Beginner and Intermediate) which cannot be done in Vimeo.
@naveed Indeed but this will be my obvious choice of handling this kind of situation.
@ludo237 I guess I have to create custom cms then. Would have been easier If all information could have been entered in Vimeo and just pull it using API.
@ludo231 You piqued my interest with those endpoints. I'm planning to build some endpoint on my website so a webhook from a remote git repository will be able to post to it and trigger a git pull. Do you mean it will be useless even if I try a URI like: https://example.com/git-8JyvexuPlkgJUwW to make it more secure?
@naveed The basic logic of laracast (excluding the forum part, and the awesome graphics) it's pretty easy to implement with laravel. I think that having that kind of information will be useless on Vimeo because they are too much dedicated, maybe there's a section for that on VIMEO I'm not sure because I don't know their APIs.
@kfirba well "security through obscurity" it's always a bad choice. If you want to secure some endpoint you should create some kind of "filters" via OAuth or HTTP tokens (generated for each Application etc.)
EDIT: FML autocorrector LoL
@ludo237 Can you please elaborate more about the OAuth and the HTTP tokens? If you have some reading materials I will be glad.
@kfirba I don't want to go OT here, please open another topic I'll answer there :D
@ludo237 Agree that there is no need for them to have extra fields to fit my app requirements. They are purely video hosting company and doing good job as it is.
But I believe @JeffreyWay must be utilising Vimeo API to get info like video length, title and description instead of manually entering in his custom CMS and it would be like doing the same thing twice.
@naveed only @jeffreyWay knows that, hope he will answer to it :D
@ludo237 Thank you for your contribution. Much appreciated.
@naveed I'm almost sure that he doesn't store his video information (title and excerpt) on vimeo but in a DB. That way he can store HTML text and style the excerpt/title however he want.
@Kfirba Thank you. Hopefully @JeffreyWay will find some time to answer this.
Yes, I have a custom CMS that I use for managing all the content on the site. Vimeo exclusively handles the video hosting. Everything else is done on this end.
@JeffreyWay I would love to see a lesson/series about setting up a cms like the one on laracasts! I trying to setup my own admin dashboard but i'm a bit confused with setting the correct routes and permissions so only I can get on it.
The larabook series u did was awesome! Maybe something like that but for setting up an admin dashboard.
@thomasb Backend controllers folder along with all the routes in a route group of "/admin", protect the whole lot with a group/role :)
Will look in to that! thanks
Also namespace your controllers helps keep it all tidy and clean. Default in l5 now.
Please or to participate in this conversation.