Make WordPress Core

Opened 14 months ago

Last modified 12 months ago

#59299 new enhancement

Add Felt.com to the list of oEmbed providers

Reported by: javiarce's profile javiarce Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Embeds Keywords:
Focuses: Cc:

Description

I'd like to request whitelisting the Felt.com's oEmbeds. Their mapping platform is both robust and user-friendly, and would be a great addition to WordPress users interested in sharing maps online.

Here's an example URL: https://felt.com/map/Learn-to-Use-Felt-Tutorial-0xljGYVlRzGfxNgRV9A6akC?loc=40.7849,-73.97533,13.94z&share=1

Is the service is popular enough for core developers to have heard of it before? Is it “mainstream?”

It's probably not mainstream yet, but it's a very well-known service in the GIS community.

If similar services are already supported, how does this service compare in terms of size, features, and backing?

As far as I know, core doesn't whitelist embeds for other mapping platforms. To embed maps from other providers (OpenStreetMaps, Google, Mapbox, etc.), a map block is required.

Does this service have an established social media presence?
Yes.

https://twitter.com/felt
http://threads.net/@feltmaps
http://mas.to/@felt
https://www.youtube.com/@feltmaps

Is its oEmbed endpoint clearly established and properly documented? (Sometimes, they are just a developer’s pet project that may not be supported.)

It's supported, but as far as I know, it's not documented in their dev documents https://feltmaps.notion.site/Getting-Started-With-The-Felt-API-69c8b02b7d8e436daa657a04a2dbaffa

Does the oEmbed endpoint work with WordPress’ oEmbed auto-discovery? If not, could it be made to work with additional HTML tags or attributes being added to the allow-list?

Yes, the embed is discoverable.

Does the service make an effort to build relationships with developers, such as through robust APIs?

How old is the service?
The company was founded in 2021, the platform was launched at the beginning of 2022.

Does it have a well-established Wikipedia article? (Seriously.)
No, but they are contributors to several big open-source projects. More information https://felt.com/open-source, https://felt.com/blog/felt-flagship-member-of-qgis, and https://blog.qgis.org/2023/03/21/felt-is-our-first-sustaining-member

Has anyone written a WordPress plugin that leverages the service in some way, whether adding it as an oEmbed provider, creating a shortcode, or leveraging other APIs of the service? Do these plugins have any noticeable adoption or traction that would indicate usage and demand?
No, as far as I know.

Is the provider frequently proposed?
No, this would be the first time.

Change History (12)

#1 @javiarce
14 months ago

  • Summary changed from Adding Felt.com to the list of oEmbed providers to Add Felt.com to the list of oEmbed providers

#2 follow-ups: @ayeshrajans
14 months ago

Welcome to WordPress Trac @javiarce.

Do they have an oEmbed API?

#3 in reply to: ↑ 2 @javiarce
14 months ago

Replying to ayeshrajans:

Welcome to WordPress Trac @javiarce.

Thanks!

Do they have an oEmbed API?

I'm not sure, but I'll try to find out.

#4 @javiarce
14 months ago

@ayeshrajans: oh, sorry, yes, they have it because I tested the URL above in a oEmbed checker today, and it worked.

This is the endpoint they use:

https://felt.com/oembed?format=json&url=

And here's an example using the URL in my message above:

https://felt.com/oembed?format=json&url=https%3A%2F%2Ffelt.com%2Fembed%2Fmap%2FLearn-to-Use-Felt-Tutorial-0xljGYVlRzGfxNgRV9A6akC

Last edited 14 months ago by javiarce (previous) (diff)

#5 in reply to: ↑ 2 @canduruk
13 months ago

Replying to ayeshrajans:

Welcome to WordPress Trac @javiarce.

Do they have an oEmbed API?

Hi! I work at Felt and as @javiarce has mentioned, we have an oEmbed API and it is documented here.

https://feltmaps.notion.site/Felt-s-oEmbed-API-bc0357996b084ee891773f7095672bc9

We get lots of WordPress users wanting to embed and would love to be included in providers list.

#6 follow-ups: @swissspidy
13 months ago

Does the oEmbed endpoint work with WordPress’ oEmbed auto-discovery? If not, could it be made to work with additional HTML tags or attributes being added to the allow-list?
Yes, the embed is discoverable.

Looks like the discovered iframe embed works fine except for the "Open Map" link that's blocked.

#7 in reply to: ↑ 6 @canduruk
13 months ago

Replying to swissspidy:

Does the oEmbed endpoint work with WordPress’ oEmbed auto-discovery? If not, could it be made to work with additional HTML tags or attributes being added to the allow-list?
Yes, the embed is discoverable.

Looks like the discovered iframe embed works fine except for the "Open Map" link that's blocked.

Hi. Can from Felt here. Thanks for looking into this.

I am able to use Notion's oEmbed discovery to automatically embed a Felt map and all the links for fine. Is the link functionality being broken something we can fix on our end?

https://feltmaps.notion.site/feltmaps/Test-Embeds-418e1f9090fe4ed894076b87a5823631

We'd love to make Felt be accessible to WordPress users (we get requests every single day) and I'm happy to help in ay way possible.

#8 in reply to: ↑ 6 @canduruk
13 months ago

apologies for the double-post

Last edited 13 months ago by canduruk (previous) (diff)

#9 follow-up: @swissspidy
13 months ago

I am able to use Notion's oEmbed discovery to automatically embed a Felt map and all the links for fine. Is the link functionality being broken something we can fix on our end?

WordPress oEmbed discovery support is very strict, and iframes are rigorously sandboxed by adding sandbox="allow-scripts" security="restricted" attributes. That's why the link is not working automatically.

Links to the same origin as the iframe are supported via postMessage calls using a secret that's passed to the iframe via a query parameter. While that's technically possible for you to add, it also complicates things :-)

Plus, I now see that there also some CORS issues because of the sandboxing.

Long story short, I think adding it to the allowlist is the most straightforward way.

That said, it feels like for now that's best done via a dedicated WordPress plugin that adds such support. Such a plugin could also provide a dedicated block for the block editor as well.
Perhaps this is something you could look into?

#10 in reply to: ↑ 9 ; follow-up: @canduruk
13 months ago

Replying to swissspidy:

I am able to use Notion's oEmbed discovery to automatically embed a Felt map and all the links for fine. Is the link functionality being broken something we can fix on our end?

WordPress oEmbed discovery support is very strict, and iframes are rigorously sandboxed by adding sandbox="allow-scripts" security="restricted" attributes. That's why the link is not working automatically.

Links to the same origin as the iframe are supported via postMessage calls using a secret that's passed to the iframe via a query parameter. While that's technically possible for you to add, it also complicates things :-)

Plus, I now see that there also some CORS issues because of the sandboxing.

Long story short, I think adding it to the allowlist is the most straightforward way.

That said, it feels like for now that's best done via a dedicated WordPress plugin that adds such support. Such a plugin could also provide a dedicated block for the block editor as well.
Perhaps this is something you could look into?

Thanks for the detailed explanation and it all makes sense.

We will look into the plugin route but I'll note that a big chunk of our WordPress requests come from end-users, such as teachers and students. These folks don't have access to the plugin system or aren't tech-savvy.

I think being included in the allowlist would help these people immediately instead of those people having to use Notion or other tools to continue working with their Felt Maps.

#11 in reply to: ↑ 10 @canduruk
13 months ago

Hi @swissspidy — wanted to check in here. What would be the next steps to get Felt included in this allowlist? Thanks a lot in advance for your consideration.

Replying to canduruk:

Replying to swissspidy:

I am able to use Notion's oEmbed discovery to automatically embed a Felt map and all the links for fine. Is the link functionality being broken something we can fix on our end?

WordPress oEmbed discovery support is very strict, and iframes are rigorously sandboxed by adding sandbox="allow-scripts" security="restricted" attributes. That's why the link is not working automatically.

Links to the same origin as the iframe are supported via postMessage calls using a secret that's passed to the iframe via a query parameter. While that's technically possible for you to add, it also complicates things :-)

Plus, I now see that there also some CORS issues because of the sandboxing.

Long story short, I think adding it to the allowlist is the most straightforward way.

That said, it feels like for now that's best done via a dedicated WordPress plugin that adds such support. Such a plugin could also provide a dedicated block for the block editor as well.
Perhaps this is something you could look into?

Thanks for the detailed explanation and it all makes sense.

We will look into the plugin route but I'll note that a big chunk of our WordPress requests come from end-users, such as teachers and students. These folks don't have access to the plugin system or aren't tech-savvy.

I think being included in the allowlist would help these people immediately instead of those people having to use Notion or other tools to continue working with their Felt Maps.

#12 @peterwilsoncc
12 months ago

@canduruk I agree with @swissspidy's earlier comment that a plugin is the best way forward if it's not possible to modify the oEmbed endpoint to be auto-discoverable.

Due to the strong backaward compatibility commitment, WordPress needs to be really considered about adding new services to the built in allow-list. As felt.com launched a little under 18 months ago it seems a little soon to add support.

Note: See TracTickets for help on using tickets.