outline / outline

The fastest knowledge base for growing teams. Beautiful, realtime collaborative, feature packed, and markdown compatible.
https://www.getoutline.com
Other
26.32k stars 2.11k forks source link

Embed Services #817

Closed tommoor closed 3 years ago

tommoor commented 5 years ago

Continuing from https://github.com/outline/outline/pull/680 – Please add requests for additional services as comments on this issue.

nick-esri commented 5 years ago

Abstract please :)

tommoor commented 5 years ago

I can promise that Outline will be the first service to have Abstract embeds πŸ˜‰

nick-esri commented 5 years ago

Excellent news - thanks @tommoor

jbrewer commented 5 years ago
coleylogan commented 5 years ago

Github to see a brief summary of any issues I reference in docs.

locomot1f commented 5 years ago
locomot1f commented 5 years ago

so... I love the option to embed google slides. One option that would be awesome would be to embed the "presentation" format of the slide, as opposed to the "edit". so, if I try to embed this link - https://docs.google.com/presentation/d/1a_18aJ8rshQWK8q5bwT5wG2z97o9Lb315-uTEfXN-eo/edit?usp=sharing - it's fine but if I try this link - https://docs.google.com/presentation/d/1a_18aJ8rshQWK8q5bwT5wG2z97o9Lb315-uTEfXN-eo/present?usp=sharing - i get a blank box where the presentation should be.

tommoor commented 5 years ago

That would be nice, unfortunately it looks like Google sets some security headers that prevent the presentation version from being embedded as an iframe 😒

If you know of any other services that achieve this let me know and I can dig into how they get around it…

image

atomobianco commented 5 years ago
aam1r commented 4 years ago
matbrgz commented 4 years ago

Strategy

Common iFrame

Using API

Need Invetigation

matbrgz commented 3 years ago

@tommoor could you explain a little more how to make a request inside editor? I forget where we start talk about this, but here is the right place. We probably could start an issue inside editor repo.. thanks

tommoor commented 3 years ago

https://github.com/outline/rich-markdown-editor#embeds

Embeds are described by this object in the props, which you've seen. We have a matcher method here, I propose that we add a resolver method that would take a url: string as input and return Promise<string> as the response type with the resolved url, the resolver would have the responsibility of hitting up an external api eg oembed and converting the input link into an embed link.

<Editor
  embeds={[
    {
      title: "Google Doc",
      keywords: "google docs gdocs",
      icon: <GoogleDocIcon />,
      matcher: href => href.matches(/docs.google.com/i),
      resolver: async (href) => {
         const result = await fetch(`http://myresolverapi.com?url=${href}`);
         return result.url;
      },
      component: GoogleDocEmbed
    }
  ]}
/>

The resolver can be completely optional.

milesstoetzner commented 3 years ago

Hey,

see my MR for Google Drawings Integration https://github.com/outline/outline/pull/1814

stale[bot] commented 3 years ago

Hey! The issue has been automatically marked as stale because it has not had recent activity. It will be closed soon if no further activity occurs. Please reply here if you wish for the issue to be kept open.

matbrgz commented 3 years ago

Still need it.

matbrgz commented 3 years ago
pdxrlk commented 3 years ago
aam1r commented 2 years ago

@tommoor - Please reopen this. This was a good issue to keep track of embed requests.

matbrgz commented 2 years ago

@tommoor could you please reopen here?

wesleyguirra commented 2 years ago

Please add support to metabase

almereyda commented 2 years ago

Eventually it can be good to upstream embed logic into a separate microservice, which allows to decouple the release cycles for Outline and those integrations?

A maintained FLOSS version of such a device is https://github.com/itteco/iframely, where one could contribute to similar to the uberdosis projects.

tommoor commented 2 years ago

It would be nice to remove the maintenance of these from this project you're right. That oss looks very interesting if anyone wants to take a stab

Limezy commented 2 years ago

It would also be nice to be able to chose in the settings which embed services we want to use. Right now it's all or none, which seems OK but what about when there will be 100 of them ? Would also be nice to be able to configure our own services as a plugin for instance. I can think of some embedded service that will never be added to the main repo. They are too "niche" for that (specific medieval musice scores integration...)

almereyda commented 2 years ago

The "classical" go to shop for this service as an SaaS is https://embed.ly/ btw.

To solve plugins, we first need to reopen #2219 and design it. ;)

Then there'll be plenty of room for bulk-selecting an SaaS or FLOSS embed service, and for refactoring existing and future integrations into plugins.

luclu commented 2 years ago

I don't want to bloat this issue as I think the surfacing approach via an embedding-frameworks is sound, but please let me append to the list:

matbrgz commented 2 years ago

@luclu Currently Outline already support Diagrams.Net

sudoexec commented 1 year ago

markmap please. It renders markdown to mindmap.

zeekhuge commented 1 year ago

Would be great to fave following embeds as well.

bpetit commented 1 year ago

Would be great to fave following embeds as well.

* [ ]  Nocodb -  https://docs.nocodb.com/setup-and-usages/share-base/

* [ ]  Github projects

* [ ]  Jira Tables - https://jira.atlassian.com/browse/CONFCLOUD-72958

should we open a new FR for this ?

s256 commented 6 months ago

I would also like to see Gitlab embeds as well, ideally supporting the cloud and the self-hosted version.