Jump to content
ryan

Module: Video embed for YouTube/Vimeo (TextformatterVideoEmbed)

Recommended Posts

Antti, I was able to reproduce that and have fixed it. Thanks for finding it. The last pull request broke the preg_match index association and I didn't catch it. :)

Share this post


Link to post
Share on other sites

Antti, I was able to reproduce that and have fixed it. Thanks for finding it. The last pull request broke the preg_match index association and I didn't catch it. :)

Hi Ryan, when did you update the module to fix the repeating vid problem? I downloaded this module at 11:30 am EST and I'm having the same problem as Apeisa. If you updated it seconds after my DL finished I can re download. Weird coincidence on the timing.

Share this post


Link to post
Share on other sites

@digitex, update hasn't been pushed to GitHub yet -- I should know, since it was my pull request that broke this before, terribly sorry for that!

Just opened a pull request with a fix for this problem, just in case. If you need to make the fix locally you can review required changes here:

https://github.com/ryancramerdesign/TextformatterVideoEmbed/pull/2/files

Share this post


Link to post
Share on other sites

@teppo, no worries. It's funny how Apeisa and I both ran into the same problem on the same day.

thanks for the link, it's all fixed up at my end.

Share this post


Link to post
Share on other sites

I know that I pushed this update yesterday right when I wrote my message. But look what was waiting for me in my shell window when I just now checked:

[rytower]$ git push origin master

Username:

I typed in the push and just assumed it went through yesterday, as it always does. Then moved onto the next thing. For some reason GitHub is prompting me for a username (didn't expect that). Anyway, I just typed it in now so hopefully it should be online finally. :)

  • Like 1

Share this post


Link to post
Share on other sites

I have a video embedded a youtube with this module. At the end of the video youtube displays related videos. Can this be changed? The customer just wants to stop the video, without displaying any related videos.

Normally you can add "rel=0" to the embed url, but I don't know how to change this in the module.

Share this post


Link to post
Share on other sites

I have a video embedded a youtube with this module. At the end of the video youtube displays related videos. Can this be changed? The customer just wants to stop the video, without displaying any related videos.

Normally you can add "rel=0" to the embed url, but I don't know how to change this in the module.

Good point. I second this. I tried adding ?rel=0 to the embed url and it breaks it and just displays the link as text. Currently at the end of the vids it shows some pretty unrelated and annoying, so called "related" items.

Share this post


Link to post
Share on other sites

I've been experimenting with this by including the "rel=0" in the oEmbed call, but apparently YouTube ignores it. It looks to me like they don't support specification of this option with oEmbed, though if anyone can figure out how to do it I'll be happy to integrate it.

Share this post


Link to post
Share on other sites

What does it add the rel=0 to? The URL in the iframe tag I'm assuming, but thought I'd tried this... Anyway, if this works, we might want to support other options too. What other worthwhile GET variables can be specified to youtube?

Share this post


Link to post
Share on other sites

This is the embed code from youtube:

<iframe width="560" height="315" src="https://www.youtube.com/embed/YsCpDaSooWA?rel=0" frameborder="0" allowfullscreen></iframe>

So it does go into url in iFrame tag.

I think only other relevant option might be privacy mode. This is the embed code for privacy mode and no for related videos combined:

<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/YsCpDaSooWA?rel=0" frameborder="0" allowfullscreen></iframe>
  • Like 1

Share this post


Link to post
Share on other sites

I've pushed an update to this module so that it now recognizes any youtube query string variable. So you can use rel=0 or whatever you want from the link that Diogo posted. To use it, just append them to your youtube in your body copy, i.e.

https://www.youtube.com/watch?v=Wl4XiYadV_k&rel=0

Note the extra "rel=0" at the end. Of course, you can also specify multiple things too:

https://www.youtube.com/watch?v=Wl4XiYadV_k&rel=0&controls=0

Share this post


Link to post
Share on other sites

Diogo, that's a good one to know about, thanks. That one should work too as it's not detecting specific options but rather pulling the entire query string out of the URL and then packaging it back up into the iframe embed code that youtube provides. Once I saw all the options on the page you linked, I figured that was the only way to go.

Share this post


Link to post
Share on other sites

Ok. What am I doing wrong? I downloaded the new update, replaced it on the server and now all I get is the link as text on the page. I uninstalled everything so that I could reinstall from scratch and it's still not working.

I went back to the previous version I got originally (v 1.0.1) and it started working again. So I tried to upgrade again with the updated version and it broke. I don't know what's causing it.

Share this post


Link to post
Share on other sites

Digitex, I think I found the issue. Please try the latest update and it should work now.

Share this post


Link to post
Share on other sites

Digitex, I think I found the issue. Please try the latest update and it should work now.

Sorry Ryan. I hate to be a pain but the new update fixes the video embed...until I add the ?rel=0 to the link. That breaks it again. If it's now working for interrobang then maybe the problem is something else particular to my server configuration.

Share this post


Link to post
Share on other sites

For YouTube, you would actually be adding "&rel=0", not "?rel=0", i.e.

https://www.youtube.com/watch?v=Wl4XiYadV_k&rel=0

This works here. Is it possible that you used '?' rather than '&' ? If not, please post the exact URL that doesn't work.

Share this post


Link to post
Share on other sites

For YouTube, you would actually be adding "&rel=0", not "?rel=0", i.e.

https://www.youtube.com/watch?v=Wl4XiYadV_k&rel=0

This works here. Is it possible that you used '?' rather than '&' ? If not, please post the exact URL that doesn't work.

Turns out that is the case. I was going by the youtube embed code from the site which would use a URL that looks like this:

https://www.youtube.com/embed/Wl4XiYadV_k?rel=0

But using &rel=0 is correct and works. Thanks for the correction.

  • Like 1

Share this post


Link to post
Share on other sites

The TextformatterVideoEmbed module has been updated to support responsive embed codes. To enable, grab the latest version (v1.0.4) go to the module configuration screen and check the responsive box. Now when your videos are embedded, they will be output in a width-flexible format that adjusts to the container.

  • Like 3

Share this post


Link to post
Share on other sites

I had a bizarre report today from someone using this module. She copied and pasted the embed code into the body field, like I showed her how to do, and it rendered as a link. In other words the anchor tag was added automatically turning

https://www.youtube.com/watch?v=j-AMV7yAiAo&rel=0

into

<a href="https://www.youtube.com/watch?v=j-AMV7yAiAo&rel=0">https://www.youtube.com/watch?v=j-AMV7yAiAo&rel=0</a>

When her husband tried using Safari on a mac, no problem, but when she does it on, I think, Vista or XP using IE7 (I know I know some people just don't like to upgrade) she gets the above.

Anyone else ever see this happen?

Share this post


Link to post
Share on other sites

Are there any other textformatters enabled on this 'body' field?

Where was it copied/pasted from? If you copy and paste something that is an HTML link from one window and paste it into a TinyMCE field, then the link will be retained. It's possible that IE7 inserts the <a> tag around an URL copied from its address bar? If that's the case, she could either click the 'remove link' icon after pasting it on, or paste the link into Notepad, and then copy it out of there before pasting into TinyMCE (which should render it plain text).

Share this post


Link to post
Share on other sites

She emailed me her process which is the same approach I took and the same as her husband:

Opened up the desired video on Youtube.

Clicked "share".

selected and copied the URL that showed up directly below.

Logged in to my editing page.

Selected "video"

Selected "edit"

Scrolled down past "title", "headline", "summary", to "body"

Put my cursor at the end of the previous line of text

hit return

hit Ctrl v to paste

She then reported her husband tried again using the same method and it worked fine just as it did for him the first time he tried. She knows that it's something on her computer/browser. Clicking "remove link" is something i didn't think to tell her but that's good advice.

Just curious if anyone else has seen this and can confirm it's the browser doing it. Frankly I don't think it's a good idea to backwards engineer a module to be compatible with a browser as old and s****y as IE7, far better to encourage people to upgrade. If that's the problem.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By David Karich
      ProcessWire InputfieldRepeaterMatrixDuplicate
      Thanks to the great ProModule "RepeaterMatrix" I have the possibility to create complex repeater items. With it I have created a quite powerful page builder. Many different content modules, with many more possible design options. The RepeaterMatrix module supports the cloning of items, but only within the same page. Now I often have the case that very design-intensive pages and items are created. If you want to use a content module on a different page (e.g. in the same design), you have to rebuild each item manually every time.
      This module extends the commercial ProModule "RepeaterMatrix" by the function to duplicate repeater items from one page to another page. The condition is that the target field is the same matrix field from which the item is duplicated. This module is currently understood as proof of concept. There are a few limitations that need to be considered. The intention of the module is that this functionality is integrated into the core of RepeaterMatrix and does not require an extra module.
      Check out the screencast
      What the module can do
      Duplicate a repeater item from one page to another No matter how complex the item is Full support for file and image fields Multilingual support Support of Min and Max settings Live synchronization of clipboard between multiple browser tabs. Copy an item and simply switch the browser tab to the target page and you will immediately see the past button Support of multiple RepeaterMatrix fields on one page Configurable which roles and fields are excluded Duplicated items are automatically pasted to the end of the target field and set to hidden status so that changes are not directly published Automatic clipboard update when other items are picked Automatically removes old clipboard data if it is not pasted within 6 hours Delete clipboard itself by clicking the selected item again Benefit: unbelievably fast workflow and content replication What the module can't do
      Before an item can be duplicated in its current version, the source page must be saved. This means that if you make changes to an item and copy this, the old saved state will be duplicated Dynamic loading is currently not possible. Means no AJAX. When pasting, the target page is saved completely No support for nested repeater items. Currently only first level items can be duplicated. Means a repeater field in a repeater field cannot be duplicated. Workaround: simply duplicate the parent item Dynamic reloading and adding of repeater items cannot be registered. Several interfaces and events from the core are missing. The initialization occurs only once after the page load event Changelog
      1.0.4
      Bug fix: Various bug fixes and improvements in live synchronization Bug fix: Items are no longer inserted when the normal save button is clicked. Only when the past button is explicitly clicked Feature: Support of multiple repeater fields in one page Feature: Support of repeater Min/Max settings Feature: Configurable roles and fields Enhancement: Improved clipboard management Enhancement: Documentation improvement Enhancement: Corrected few typos #1 1.0.3
      Feature: Live synchronization Enhancement: Load the module only in the backend Enhancement: Documentation improvement 1.0.2
      Bug fix: Various bug fixes and improvements in JS functions Enhancement: Documentation improvement Enhancement: Corrected few typos 1.0.1
      Bug fix: Various bug fixes and improvements in the duplication process 1.0.0
      Initial release Support this module
      If this module is useful for you, I am very thankful for your small donation: Donate 5,- Euro (via PayPal – or an amount of your choice. Thank you!)
      Download this module
      > Github: https://github.com/FlipZoomMedia/InputfieldRepeaterMatrixDuplicate
      > PW module directory: – soon –
    • By Robin S
      A community member raised a question and I thought a new sanitizer method for the purpose would be useful, hence...
      Sanitizer Transliterate
      Adds a transliterate method to $sanitizer that performs character replacements as defined in the module config. The default character replacements are based on the defaults from InputfieldPageName, but with uppercase characters included too.
      Usage
      Install the Sanitizer Transliterate module.
      Customise the character replacements in the module config as needed.
      Use the sanitizer on strings like so:
      $transliterated_string = $sanitizer->transliterate($string);
       
      https://github.com/Toutouwai/SanitizerTransliterate
      https://modules.processwire.com/modules/sanitizer-transliterate/
       
    • By dimitrios
      Hello,
      this module can publish content of a Processwire page on a Facebook page, triggered by saving the Processwire page.
      To set it up, configure the module with a Facebook app ID, secret and a Page ID. Following is additional configuration on Facebook for developers:
      Minimum Required Facebook App configuration:
      on Settings -> Basics, provide the App Domains, provide the Site URL, on Settings -> Advanced, set the API version to 2.10, add Product: Facebook Login, on Facebook Login -> Settings, set Client OAuth Login: Yes, set Web OAuth Login: Yes, set Enforce HTTPS: Yes, add "http://www.example.com/processwire/page/" to field Valid OAuth Redirect URIs. This module is configurable as follows:
      Templates: posts can take place only for pages with the defined templates. On/Off switch: specify a checkbox field that will not allow the post if checked. Specify a message and/or an image for the post.
      Usage
      edit the desired PW page and save; it will post right after the initial Facebook log in and permission granting. After that, an access token is kept.
       
      Download
      PW module directory: http://modules.processwire.com/modules/auto-fb-post/ Github: https://github.com/kastrind/AutoFbPost   Note: Facebook SDK for PHP is utilized.


    • By thomasaull
      I created a little helper module to trigger a CI pipeline when your website has been changed. It's quite simple and works like this: As soon as you save a page the module sets a Boolean via a pages save after hook. Once a day via LazyCron the module checks if the Boolean is set and sends a POST Request to a configurable Webhook URL.
      Some ideas to extend this:
      make request type configurable (GET, POST) make the module trigger at a specified time (probably only possible with a server cronjob) trigger manually Anything else? If there's interest, I might put in some more functionality. Let me know what you're interested in. Until then, maybe it is useful for a couple of people 🙂
      Github Repo: https://github.com/thomasaull/CiTrigger
    • By Robin S
      I created this module a while ago and never got around to publicising it, but it has been outed in the latest PW Weekly so here goes the support thread...
      Unique Image Variations
      Ensures that all ImageSizer options and focus settings affect image variation filenames.

      Background
      When using methods that produce image variations such as Pageimage::size(), ProcessWire includes some of the ImageSizer settings (height, width, cropping location, etc) in the variation filename. This is useful so that if you change these settings in your size() call a new variation is generated and you see this variation on the front-end.
      However, ProcessWire does not include several of the other ImageSizer settings in the variation filename:
      upscaling cropping, when set to false or a blank string interlace sharpening quality hidpi quality focus (whether any saved focus area for an image should affect cropping) focus data (the top/left/zoom data for the focus area) This means that if you change any of these settings, either in $config->imageSizerOptions or in an $options array passed to a method like size(), and you already have variations at the requested size/crop, then ProcessWire will not create new variations and will continue to serve the old variations. In other words you won't see the effect of your changed ImageSizer options on the front-end until you delete the old variations.
      Features
      The Unique Image Variations module ensures that any changes to ImageSizer options and any changes to the focus area made in Page Edit are reflected in the variation filename, so new variations will always be generated and displayed on the front-end.
      Installation
      Install the Unique Image Variations module.
      In the module config, set the ImageSizer options that you want to include in image variation filenames.
      Warnings
      Installing the module (and keeping one or more of the options selected in the module config) will cause all existing image variations to be regenerated the next time they are requested. If you have an existing website with a large number of images you may not want the performance impact of that. The module is perhaps best suited to new sites where image variations have not yet been generated.
      Similarly, if you change the module config settings on an existing site then all image variations will be regenerated the next time they are requested.
      If you think you might want to change an ImageSizer option in the future (I'm thinking here primarily of options such as interlace that are typically set in $config->imageSizerOptions) and would not want that change to cause existing image variations to be regenerated then best to not include that option in the module config after you first install the module.
       
      https://github.com/Toutouwai/UniqueImageVariations
      https://modules.processwire.com/modules/unique-image-variations/
×
×
  • Create New...