Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add functions to get Media (images/videos/audios) from entry description/contents #9

Open
weierophinney opened this issue Dec 31, 2019 · 12 comments

Comments

@weierophinney
Copy link
Member

Just check now a days feed entries have images/videos/contents can we have few functions to extract that details?

e.g : http://sportbild.bild.de/rss/vw-startseite/vw-startseite-45028186,sort=1,view=rss2.sport.xml


Originally posted by @rajjanorkar at zendframework/zend-feed#49

@weierophinney
Copy link
Member Author

@rajjanorkar

can we have few functions to extract that details?

You can extend the reader yourself, because zend-feed has a plugin system. Please check the documentation: "zend-feed – Extending Feed and Entry APIs".
There will you find an example how to register a new namespace and read the specific elements.
All relevant elements are described here: "Media RSS Specification".


Originally posted by @froschdesign at zendframework/zend-feed#49 (comment)

@weierophinney
Copy link
Member Author

Thank you @froschdesign, i am still in learning phase looking forward to contribute to this space.


Originally posted by @rajjanorkar at zendframework/zend-feed#49 (comment)

@weierophinney
Copy link
Member Author

I'm sorry, the last code example in documentation doesn't work anymore. (See: #44)
Here can you find a workaround: zendframework/zend-feed#54 (comment)


Originally posted by @froschdesign at zendframework/zend-feed#49 (comment)

@weierophinney
Copy link
Member Author

FWIW, MRSS is exactly the extension I've been working with, though I've only looked at thumbnails/images in my implementation. Would be great to have that in core since it seems to be popular and is very useful.


Originally posted by @Synchro at zendframework/zend-feed#49 (comment)

@weierophinney
Copy link
Member Author

hi @Synchro thats nice, if you dont mind can you share your extension and that will be starting point for others.


Originally posted by @rajjanorkar at zendframework/zend-feed#49 (comment)

@weierophinney
Copy link
Member Author

@weierophinney
Copy link
Member Author

I will add the support for one of the next minor releases; 2.13 or 2.14. This includes the full Media RSS specification with unit tests and documentation.

Help is always welcome! 😃


Originally posted by @froschdesign at zendframework/zend-feed#49 (comment)

@alexkuc
Copy link

alexkuc commented Jun 10, 2022

You can add media objects using setEnclosure method on entry object. According to RSS 2.0 specs:

enclosure | Describes a media object that is attached to the item.

<enclosure> is an optional sub-element of .

It has three required attributes. url says where the enclosure is located, length says how big it is in bytes, and type says what its type is, a standard MIME type.

The url must be an http url.

When setting enclosure, you need to specify uri instead of url:

$entry->setEnclosure([
  'uri' => get_absolute_url($path),
  'type' => get_mime_type($path),
  'length' => filesize($path),
]);

@froschdesign
Copy link
Member

@alexkuc
Correct, it is possible to add a media object via the enclosure element, but it is recommended to use only one object:

For best support in the widest number of aggregators, an item SHOULD NOT contain more than one enclosure.

https://www.rssboard.org/rss-profile#element-channel-item-enclosure


In the documentation it can be found in the reader section: https://docs.laminas.dev/laminas-feed/reader/#entry-api-methods

@alexkuc
Copy link

alexkuc commented Jun 10, 2022

Thank you for the link, @froschdesign. W3 was unfortunately ambiguous whether you can use more than 1 but your link clears up that nicely. I have left the code here for others in case they face similar dilemma.

@froschdesign is it still necessary to keep this issue open? Seems to me that functionality for adding media objects is already in place

@froschdesign
Copy link
Member

Seems to me that functionality for adding media objects is already in place

In the Media RSS specification you will find a lot more: https://www.rssboard.org/media-rss

@alexkuc
Copy link

alexkuc commented Jun 10, 2022

Ah, I see now:

RSS enclosures are already being used to syndicate audio files and images. Media RSS extends enclosures to handle other media types, such as short films or TV, as well as provide additional metadata with the media.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants