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

Introduce the extensions screen #396

Closed
9 tasks done
fjarrett opened this issue Apr 8, 2014 · 12 comments
Closed
9 tasks done

Introduce the extensions screen #396

fjarrett opened this issue Apr 8, 2014 · 12 comments

Comments

@fjarrett
Copy link
Contributor

fjarrett commented Apr 8, 2014

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

@Japh
Copy link

Japh commented Apr 8, 2014

"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?

@fjarrett
Copy link
Contributor Author

fjarrett commented Apr 8, 2014

@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 pushed a commit that referenced this issue Apr 10, 2014
- Add admin_menu callback to admin
- Added require_once for extension file to WP_Stream
- Created base WP_Stream_Extension class
- Skeleton class methods to handle displaying, activating, downloading, authorizing premium extensions
- Should update routine #400 be initiated here?
@fjarrett
Copy link
Contributor Author

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

@c3mdigital
Copy link

@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.

c3mdigital pushed a commit that referenced this issue Apr 10, 2014
- Update branch with code from extensions branch
- Organize page output into separate methods to each perform specific tasks
- Added singleton get_instance method for initializing the class
@c3mdigital
Copy link

@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

@fjarrett
Copy link
Contributor Author

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

@shadyvb
Copy link
Contributor

shadyvb commented Apr 12, 2014

@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.

@shadyvb
Copy link
Contributor

shadyvb commented Apr 12, 2014

@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 ?

@c3mdigital
Copy link

@shadyvb yes for sure.

@fjarrett
Copy link
Contributor Author

@c3mdigital I just added another requirement for Multisite support.

@lukecarbis
Copy link
Contributor

@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).

@shadyvb
Copy link
Contributor

shadyvb commented Apr 24, 2014

@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.

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

5 participants