wplib / wplib-box

The Best Local Dev Server for WordPress Developers
https://wplib.github.io/box-docs/
MIT License
209 stars 24 forks source link

Implement an Admin Console for Managing a Running WPLib Box #115

Open mikeschinkel opened 8 years ago

mikeschinkel commented 8 years ago

WPLib Box needs an admin console. It should:

  1. Run inside a running WPLIb Box (aka inside the guest machine.)
  2. Be included in the WPLIb Box Image on Atlas; when someone runs vagrant box update they will get the most recent changes in their updated WPLib Box, if any.
  3. Not have its directory mounted for direct access on the developer's machine (aka host machine.)
  4. Have it's web root be located at /console inside WPLib Box (aka guest machine.)
  5. Be separately updatable from the WPLib Box image using git pull from WPLib's public GitHub account at github.com/wplib after running vagrant ssh and cd /console.
  6. Load from the developer's browser (from the host machine) using these URLs:
    • console.wplib.box when a WPLib Box is running in multi-site mode.
    • console.{hostname} when a WPLib Box is running in single-site mode.
    • Although these should be configurable
  7. Only use the WPLib Box API to implement functionality to ensure that the API always has functional parity with the admin console
  8. Be implemented using Laravel.
  9. Not have a login or require a user account.
  10. Provide features including (but not limited to) although not all features will be includes on first release:
    • A "user profile"
    • Restart all services: nginx, etc.
    • Change the hostname of the box per nginx
    • Switch PHP versions
    • Switch between PHP & HHVM (future)
    • Run PHPUnit on Demand
    • Add a WordPress User Directly from Console
    • Import WordPress Users
      • From config file in .wplib directory (for your regular team)
      • From another file (for project specific users.
    • Select Preferred Editor and Install Support, if needed
      • PhpStorm
      • Visual Studio Code
      • Other?
    • Import any random site in .ZIP format and configure WPLib Box to correctly run it
      • Obviously there will be edge cases where we will fail but we can catch most cases.
    • Git Watchers
      • Run PHPUnit on Commit
    • Configure FileWatchers
      • Gulp/Grunt
      • Builtin File Watcher
    • Database
      • Add a database
      • Rename a database
      • Add a database user
      • Import a database
      • Export a database
      • Link to Adminer for more advanced work
    • Redis
      • Clear Cache
      • See Cached Items
    • Varnish
      • Enable Cache
      • Disable Cache
    • MailHog
      • Link to MailHog Admin
      • Later incorporate MailHog Admin functionality
    • Gearman
      • Link to Gearman Admin
      • Later incorporate Gearman Admin functionality
    • Features related to
    • In Multisite Mode Only
      • Add a new website
      • Change the hostname of a website
      • Delete a website

If this interests you and you have suggestions or comments, please we are very interested in hearing your opinions.

mikeschinkel commented 8 years ago

@clubdeuce Here are the admin console resources for Laravel that I found