[Defender] How to automate "getting-started" routine?

Hi,

since becoming a member of WPMUDEV I always enjoyed to use their plugins, plus their support-team is beyond awesome!
Today I'd like to know about how to automate the repeating and time-consuming routine of getting-started:

Every time I install Defender, Hummingbird, UB and in the future maybe SnapShot as soon as "incremental" backups are deployed I'm going through the same setup-process again and again, always checking or adding similar parameters.

This probably wouldn't be a problem for new sites, because for this purpose I'd clone from a pre-defined WP where these parameters would be preset already (haven't checked out this option yet).

However, for existing sites I need to install your plugins one-by-one, going through the setup-wizard step-by-step, making the whole onboarding for site from new clients who bring in existing sites become a long process.

I wonder if this can be streamlined and how?

Any advice is welcome :slight_smile:

Thank you and kind regards,
Sascha

  • Dimitris

    Hey there all! :slight_smile:

    Really appreciate the request here @sliem.
    ?his has actually been requested before, still not in our roadmap page though.
    Exact request was about having Defender's settings stored in Hub, then applying them to newly added sites.
    I've already brought that up again to our developers, will keep you posted here about any development on this.

    Warm regards,
    Dimitris

  • Zen

    Hey - Well.... I now do it in about 60 seconds but only as I have a hard copy of the total setup as a model and use that every time. So in short. Create wordpress site with all preferred settings and keep as a master file. When required - clone and boom life becomes easy.

    On the WPMUDEV front - Cloner is a good way to think if there is a need and maybe something on those lines would be helpful.

    Ta daa...

    Have a great day

  • sushling

    Hey guys,

    @Zen, this is exactly how I'd do it when creating new sites. But in my case the majority of my new clients already have existing sites. How do you setup your WPMUDEV stack with those kind of clients?

    In my case I do most of the stuff manually, setup and configure a "standard stack" containing Updraftplus*, Defender, Smush, Hummingbird, Litespeed Cache** and depending on my clients requirements I add some kind of "marketing stack" containing Hustle, SmartCrawl, Google Analytics+.

    It's no problem to setup and configure both stacks. When onboarding new clients and their existing sites I spend most of the time with pre-evaluating their previous setup, identify issues with their configurations regarding security and load-time, problematic plugins, recommending better plugin-alternatives, convert previous configurations of previous plugins to the alternative ones, sometimes even convert layouts from their previous (bloated) theme to an alternative (lightweight )theme.

    All this takes its time and it's my job to take care of all this. Sometimes I bill my clients by hour, sometimes by long-term-contracting, depending on their demand. When billing per hour it would be nice to automate as much as possible to provide better price to new clients onboarding, so this is where I'm coming from :wink:

    Thanks to Baldrafican I'm glad to hear that other members have brought this up already and although WPMUDEV is already helping a lot with management-services provided by The Hub (especially Automate & Reports) I really hope that in any of the upcoming versions of The Hub they can help us automate even more of our repeating tasks.

    Listening to Dimitris it seems we are not too far from this, at least I hope so :slight_smile:

    Thank you,
    Sascha

    * UpdraftPlus is my current choise to provide managed backups, use it instead of SnapShot, but may switch to WP-Time-Capsule soon
    ** I use Litespeed Webserver instead of Apache or NginX to host my clients sites

      • sushling

        Well, both plugins have few overlapping features regarding caching, minification and many more. LiteSpeed is even providing image optimisation similar to Smush. When I replaced our Apache with LiteSpeed Webserver a few months ago, I have left most tasks to HB (minification, compression etc.) and all caching tasks to LS.
        In the meantime the LS developers have added more and more features to their LS Cache Plugin, thus, last springtime I've started to switch off HB features gradually and activated their equivalents in LS instead - site by site, so it will take me some more time to get rid of HB completely. I may keep HB for generating reports, but in the near future I'd prefer to have more enhancement features managed by LS Cache and maybe even get rid of HB completely, cause having less plugins on clients sites is what I generally prefer.

        The reason why the LS caching plugin seems to be better than others lies in its deep integration with the LiteSpeed Webserver caching system and server-based memory, meaning that time-consuming overhead is significantly reduced and caching can be performed more efficiently than with other PHP-based cache memories.

        However, this doesn't mean that you need to use LiteSpeed Webservers in order to use the Plugin. It will also work on any standard Apache server (for NginX I cannot say). It's feature set can be used on most other servers.

        If you're interested to compare both HB and LS on your system I recommend to clone a site on the same server and use HB on the original site and LS on the cloned version and tweaking around with both a bit …

        If you're interested to replace your current webserver with LiteSpeed Webserver, it's quite easy to do this, since it can be installed as a drop-in replacement. On shared-hosting environments it depends on your hosting-provider of course. If you're interested in testing LSWS in advance, I could provide you with a free testing account on our server, just let me know :slight_smile:

        • Baldafrican

          I only asked as I started using the LS plugin on my litespeed server at the advice of amused in another discussion and I was impressed enough with the ease of use and performance it returned that I stopped using hummingbird on that server. I may still use it for uptime but other then that I am more than happy with the LS plugin to do the job on it's own.

          Thanks for the offer of testing it out. I am sure you will get someone read your response and take you up on it :slight_smile: Another reason to love the wpmudev community!

  • Tony G

    I think this thread is more of an open discussion than a feedback request for Defender, and hope staff will break it up into multiple appropriate threads.

    I don't think there is a magic bullet for this "getting started" concept. Settings for each plugin are saved in different places. Many plugins do include simple buttons to Export and Import their own settings. And yes, I agree that it would be great for all WPMU Dev plugins to have this ability.

    That would still require an admin to export settings from each plugin and then to re-import them for each plugin in each new site. That's painful.

    There has already been a suggestion (mine and others) to export settings from all WPMU DEV plugins in a single site, for import into other sites. This central repository of settings is ideally suited to the Hub concept. So this entire thread really should just be a "+1" on some other thread here.

    It would be nice if the upcoming Shipper plugin did this. But if history is any guide, I'm guessing Shipper initially will be focused on cloning entire sites, and plugin-specific settings will not be added as a feature until much later. As indicated by Sascha, the idea on the table here is about importing settings for specific plugins into existing sites that have a lot of other stuff already there, so I'm not seeing a great fit for this functionality in Shipper yet.

    :bulb: :one: Hmm, I think an enterprising developer could actually make a good business, creating a plugin that's focused on this very concept: Providing Export and Import abiity for a variety of plugins, with addons to support new ones, and a business model to automating the process for a number of sites. Dang, I wish I had time for that one.

    :bulb: :two: It would be cool if WPMU DEV monetized the Hub infrastructure to allow multi-site integrations like this to be used by third parties. For example, someone could create the above plugin to export settings. On request from the Hub the settings would be uploaded to the Hub (consuming normal Snapshot backup storage space). The same plugin would have an import function. On request, the Hub can download the settings to all/selected sites that have that plugin, and then remotely execute the import function. There's no need for a developer of this functionality to create the entire delivery infrastructure - it's already there in the Hub.

    :bulb: :three: Hmm, now if only the Hub had an API for doing this kind of stuff. Oh yeah, I think that suggestion has already been posted...

    • Dimitris

      I think this thread is more of an open discussion than a feedback request for Defender, and hope staff will break it up into multiple appropriate threads.

      We generally avoid to edit any thread, unless there're any sensitive information posted by mistake.
      If you wish though, you can create separate threads in Members forums to initiate separate conversations and engage more people in them.

      About the :bulb:s now, that kind of generic import/export plugin would have been handy for sure, even though you would have to review each plugin's code separately and this may lead to extended time cost. Definitely more easy for us to apply something relevant with our products, at least for start, as our devs could provide the proper scripts faster and more reliable.

      I've already pinged our devs about your ideas here, in case they want to comment on this. :slight_smile:

      Warm regards,
      Dimitris

      • Tony G

        Here is one of the ways in which that can be implemented:

        A single Settings Export/Import Plugin (SEIP) provides a filter which can be called from elsewhere. The filter accepts parameters for "what to export", or "what to import". Based on that it does its own apply_filters to get other code in addons to provide details for other specific plugins. Those filter/functions can be written by anyone, not just the plugin authors. So I could write a function that will export settings from Defender, and wrap that in an addon for SEIP. You can put that addon into your system, and when the Hub or some other client requests Defender settings, SEIP would invoke my addon code, return the settings to SEIP, and those settings would be returned to the Hub. Import would work via the exact same mechanisms.

        In that case the burden is on individual developers to ensure they are current with changes to whatever plugin for which they offer support.

        In another architecture, the plugin itself would provide hooks to make it responsible for its own export and import. Who knows more about where the plugin stores its settings than the author? In this case the plugin author hooks filters like seip_export and seip_import. The SEIP does exactly what it did before, accepting requests, invoking hooks to obtain or save the settings, and then returning the detail to the caller. This eliminates the need for addons.

        I like the addon concept better though, because a plugin author can write his own addon without changing his/her code at all. Whereas a model that relies on import/export in a plugin itself is dependent on plugin authors, and many of them are already burned out trying to provide features requested by their users. The idea is to do this with as little burden as possible on plugin developers.

        So um, if WPMU DEV does decide to implement that ... you're welcome. :wink: I don't have time, otherwise this is something I'd be happy to add to my own list of projects for potential revenue generation.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.