Giter Club home page Giter Club logo

media-explorer's Introduction

Media Explorer

Media Explorer gives you the ability to insert content from social media services in your posts.

Setup

In order to get this working in your WordPress installation, you have to follow the next steps:

  • Clone this repo in the plugins folder of your WordPress install with git clone https://github.com/Automattic/media-explorer.git.
  • Get your credentials:
    • Twitter
    • Instagram.
    • YouTube.
      • For YouTube, you'll have to create or use an existing project in your Google Developers Console
      • Ensure that this project has the "YouTube Data API v3" API enabled.
      • Create and use a public access API Key for your project.
  • Write your credentials in mexp-creds.php
  • Activate the "MEXP oAuth Creditials" plugin to enable the configured API keys.
  • Enjoy!

media-explorer's People

Contributors

bendoh avatar garyjones avatar hearvox avatar johnbillion avatar kovshenin avatar mattheu avatar mjangda avatar mobius5150 avatar nickdaugherty avatar paulgibbs avatar pepegar avatar simonwheatley avatar trepmal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

media-explorer's Issues

Style snippet

Give some style to the snippet of the video. Maybe making the title bold.

Highlight already-inserted tweets

Demo'd this to some VIPs and had some feedback that a visual indicator in the search results showing which bits of content that have already been embedded would be useful.

Improve the location prompt

In Chrome the "Allow this site to use your location" prompt (which shows up on the "By Location" tab for Twitter) is really not very visible. It's better in Firefox.

Should we...

a) Show a bigger pointer in the page that points at the prompt when the location access request is pending?
b) Just remove it and let Google decide where I am based on my IP (which is the fallback anyway).
c) Leave it as it is.

Note that the prompt has a timeout of 8 seconds, after which it'll fall back to Google if the user hasn't made a choice.

Screenshot from Chrome:

screen shot 2013-08-29 at 10 04 03

Screenshot from Firefox:

screen shot 2013-08-29 at 10 02 39

Pagination button in Twitter service is hidden

The "Load More" button for the Twitter service is hidden under the search form. Maybe I've broke it when applying new styles for YouTube service, but I don't know how to make it work or where to put it. It doesn't work in the default admin nor MP6.

Perhaps @johnbillion has more info about it?

Twitter media previews

For tweets with pictures, is it possible to show those previews in the Media Explorer? Do we get the media URL back in the search results?

I thought I had seen discussion about this already but can't find it.

Preview videos

Give to the user the option to preview videos, for example popping up a lightbox with the video.

Make service authentication an easier process.

I think this will include

  • giving users a bit more clear introduction on what to do
  • Allow users to input API keys and secrets in a UI
  • adding a UI for authenticating the user for oauth credentials

Responsive design

Enhance the responsive design for mobile devices, tablets, or smaller screens.

Add spinner to 'insert' button view for AJAX pagination

The idea being that when you've triggered infinite scroll, your eye will be at the bottom of the page, and that's where another spinner should be.

It needs to be in that View (not sure what the name of it is -- the toolbar?) as opposed to the bottom of the results view so that it's always visible and has a static position.

Add actions/filters for third party devs

There are 0 actions and only a few filters for third party devs to use to extend the plugin. We should audit the code and add actions and filters where appropriate.

An example of where this will help is https://github.com/Automattic/media-explorer/blob/master/extended-media-manager.php#L29 -- per the documentation on http://vip.wordpress.com/documentation/extending-media-explorer/, we say:

Create a folder under the services/ directory

Obviously this can't be done on WordPress.com and most sites, and at the very least it adds a manual step to the installation of all plugins that extend the media manager.

Suggest something like this:

function pg_init() {
    foreach ( glob( dirname( __FILE__ ) . '/services/*/service.php' ) as $service )
        include $service;

    do_action( 'pg_init' );
}
add_action( 'init', 'pg_init' );


// Then in my add-on plugin or theme, I can do this:
function pg_plugin_media_explorer_addon() {
    require 'my_addon.php'; // all the media-explorer extension will be in this file
}
add_action( 'pg_init', 'pg_plugin_media_explorer_addon' );

Better documentation for setup

The setup for this plugin isn't very obvious out-of-the-box.

The documentation in README.md speaks of editing "mexp-creds.php" in the plugin directory, but doesn't bother to mention that the file isn't actually included by this plugin, and that it's actually a template to be filled in and copied to one of the variety of places that these filters could be configured (e.g., in the theme, in wp-config.php, sunrise.php, etc?)

Also the directions for obtaining a YouTube API key were not obvious for the Google API v3 system, since you have to turn on "YouTube Data API v3" in your developer profile to make this work.

Gutenberg integration

Not sure what is on the roadmap for Media Explorer, but when Gutenberg drops, Media Explorer will probably no longer work.

I know Gutenberg is still in development and there doesn't appear to be a migration guide in place yet, but this is just a placeholder ticket to gather some migration thoughts.

How to include MEXP into Featured Image and ACF Image Fields

This is an awesome project! We made our own tab and have assets feeding in for the WYSIWYG Add Media button, the only issue I was wondering about was how to extend the same functionality to the Set Featured Image button, and ACF Image Field button. I currently have our assets showing up when you click on Set Featured Image by making some modifications in our service's js.js by extending backbone and using media.view.MediaFrame.Select = select_frame.extend({ to enable it on the Set Featured Image button, but when I try selecting the asset, I cannot seem to get it into the featured image (basically, I just need the steps to add an attachment ID to the featured image area when an asset is selected; I know I must download the asset and import it into the media library, then attach that attachment ID to the set featured image area). If anyone has any insight on this, it would be great! I am currently trying to understand backbone.js to make this happen.

Generic CSS for items and form fields

The CSS for media items is currently targetted for Twitter and YouTube. We should add some basic base CSS rules (float, width, border) so that anyone who wants to add a new service can do so without being required to add CSS unless they want to.

Open up the "Wiki" tab on GitHub

Nice project!

Perhaps consider opening up the "Wiki" tab on GitHub so developers can add documentation links and share projects based on Media Explorer, etc.

Bigger images when no image returned

Increase the size of the default image returned by default by Youtube.

Probably we'll need CSS magic here, because we're using the same size (medium) for both default and thumbnail issues.

WordPress.com hosted OSM map tiles

Swapping out the Google map on the Twitter 'By Location' tab for an OpenStreetMap powered map is relatively straight forward. The main issue is that using openstreetmap.org-hosted map tiles for heavy use is forbidden (and generally frowned upon due to the tile server being funded by donations).

I know it's probably above my pay grade to suggest such a thing, but it would be very neat if WordPress.com introduced its own OSM tile server, especially if Media Explorer ends up getting bundled into Jetpack.

It would reduce Media Explorer's dependency on Google maps, although it would still be using Google's Geolocation API for geocoding location names.

YouTube results incorrect after first search

  1. Search YT with a query, e.g. "tea". Relevant results are returned.
  2. Change query, e.g. "music", hit search again. Results from previous search are returned first. However if you scroll, infinite scroll pulls in the second page of results for your current query.

My Tweets

It would be nice to have a My Tweets tab in the Twitter provider.

It would be very simple, it would have an input field the same as on the By User tab, except the username would persist (stored in user meta probably) and it could trigger the search automatically each time the tab was subsequently selected.

Closing the CFTP GitHub repo for this project

It seems sensible to make this repo the canonical one for the project, now you (Automattic/VIP) have taken ownership. To break the forking relationship, we need to contact GitHub and ask them to do this; but before I did, I wanted to check you were happy for us to do this?

Once we've made this repo canonical, we'll delete ours to avoid confusion. We can't delete it beforehand, as deleting a private repo also delete all forks! :O

Any thoughts?

Update EMM references to new name

Before publicly releasing, we should try and update all references to extended-media-manager or emm to media-explorer or mexp_ to match the new name.

Create a README

Create a README explaining, at least, how to set up the existing services.

Abandoned?

This plugin seems to be abandoned. Was it replaced by some other extension in the Jetpack or another plugin?

Only URL inserted

First: sorry for writing here, but I've found no other place on the web.
I've downloaded the 1.2 package and installed on a WP 3.8 system. "debug" is turned on, and I see no problems.
The media-explorer loads fine, I can select Youtube videos (and with an extension plugin also Picasa images and Flickr images).
Only inserting them in the post is not working: I always get only the media URL. Even in visual editing mode. As a text.
I'm pretty sure it's not the way it supposed to work. ;-)
Have I done anything trivial wrong? Have you had this issue ever?

Thanks and sorry for posting here again
newash

"Insert Tweet" button sometimes disappears

When using MEXP to add tweets, sometimes the "insert" button doesn't appear after you've selected a tweet. Seeing this on wordpress.com -- it's pretty hard to reliably recreate.

Add infinite scrolling

Add infinite scrolling to the list of results. It might require also to increase the default maxResult value to 16-18.

Exclude or mark retweets

Someone mentioned a while ago that retweets should either be excluded from results, or they should be marked more clearly as retweets.

Personally I think removing them from results makes more sense. Thoughts?

Add Upload tab

Hello!
Could you please tell me how to add a tab "Upload Files" for one of custom service? This tab exists on all libraries types (images, audio, video). I suppouse that is some controller's content which should be swiched to. I have tried to use some core js code for uploading but still no luck. Any help will be appreciated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.