xwp / stream

🗄️ Stream plugin for WordPress

Home Page:https://wordpress.org/plugins/stream/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduce the extensions screen

fjarrett opened this issue · comments

This screen will introduce users to the optional extensions that are available as part of Stream Premium, as well as authorize the site to receive auto-updates.

There has been some progress made already in the extensions branch.

  • Pull down a list of available extensions via JSON and display them
  • Store the data as a transient with a twice daily TTL
  • Ability to activate an extension plugin from this screen
  • Ability to install (download) an extension from this screen (is this even possible?)
  • Use the same modal as seen for themes to display more info and a video
  • Activate the site for Stream Premium using wp-stream.com credentials
  • Adds a license key to the DB in the background
  • Ability to deactivate your site, which removes the license key
  • Should be compatible with Multisite when plugin is Network Activated

Note: You will need to have vvv.wp-stream.com setup locally which will house all of the extension data and expose the data using the JSON REST API plugin.

Preview
screen shot 2014-04-07 at 9 08 28 pm

commented

"Ability to install (download) an extension from this screen (is this even possible?)" - I don't see why not :)

For the three "connect to wp-stream.com" items... what do we think about using OAuth for this? Pros? Cons?

One pro I can think of is that it's a pre-existing standard for this type of relationship. But, would it be more or less work than what is currently proposed?

@Japh Actually I think @shadyvb already has the authentication part working, although I'm not sure about the method. Care to comment, Shady?

@c3mdigital I just want the whole experience to be clean, easy and dead simple. Right now I think it's a little buggy and not totally completed, so it will be up to you to improve this process and test all the scenarios a user might perform.

@c3mdigital So is the intention here for the new issue-396 branch to replace the existing extensions branch?

@fjarrett Yes, I'm going to copy over the code for accessing the api and outputting the extensions on the screen. The existing template code is just the backbone template from the themes page for reference.

@fjarrett Do we know where we are going to store the zipped extension so it can be installed from the extension screen? For my testing I put it in http//wp-stream.com/wp-content/uploads/extensions/extension_name/extension_name.zip

@c3mdigital I don't know but @shadyvb does. Shady any advice?

@c3mdigital Zips will be stored outside of the docroot, to prevent any unauthorized access. They're typically stored in docroot/../github-releases which is customizable via filters.
However, I've been working on the assumption that there will be a wp-stream/plugins/{some-plugin}/download endpoint to serve those zips. Would have to revisit the extensions branch to be sure.

@Japh The existing implementation in extensions branch does use SSO for authentication, clean and easy, so the user won't even have to type a user/pass if he's already logged on to wp-stream.com, it picks up his user information instantly and activates the subscription on this site in one click.
@c3mdigital Are we keeping that part ?

@shadyvb yes for sure.

@c3mdigital I just added another requirement for Multisite support.

@c3mdigital Let me know when you're ready for me to merge this into the issue-65 branch so I can test it on multisite. (see #401).

@fjarrett @c3mdigital Just checked the three tasks about the license activation.
@c3mdigital Would appreciate your feedback on 475f522, which adds multisite support for the process. If it is enough, then you can check the last task in this issue.