Clean Me Request! ;-)

I know there are existing buggy plugins out there or plugins which are upto date but not multisite ready an with no immediate plans to update it anytime soon.

I know you guys are always looking for amazing ways to keep people subscribing to your service and this would certainly be another incentive!

Every-time a theme or plugin is installed so is more crap to the DB tables, some plugins and themes have nice remove DB buttons or uninstall DB Hooks but the sad fact is that many don’t and most developers don’t seem to care much about it either or that seems to be the general consensus I’ve seen ESPECIALLY IN THE its FREE so stop your bitching market (Same people that complain about GPL and commercial *Sigh….. Yawn*).

So I put it to you that you consider a new plugin which would be smart and help maintain a multisites DB and infrastructure. Learn how to remove unused tables for plugins and themes, one might say “what if a cron runs and removes a theme or plugins options but the user would simply experimenting” have this new plugin register install and uninstall dates, if the plugin or theme has been uninstalled for X (admin defined) days then remove it, even have it send the webmaster an e-mail (or not) X (admin set) days before removal advising them of a DB cleanse and that their plugin or theme DB entries will be removed unless activated again and left or deactivated which would reset it for another X (admin set) days, weeks, months, year thus ensuring user data is not lost without giving the user a chance to save it.

Perhaps when uninstalling a theme or plugin it could give the end user/webmaster an option to remove the data associated with it and warn them that if they take no action now then in X days, weeks, months, year it will be removed by the system, obviously it would be a little more polite and user friendly, terming it as a way to help keep the website efficient and optimised. :slight_smile:

Other great ideas could be borrowed from: (not MU friendly)

Restrict post revisions (can currently be set in wp-config)

Remove the WordPress post revisions (after X days, weeks, months, year of age)

Remove the WordPress auto draft posts (after X days, weeks, months, year of age)

Remove all the comments in the spam queue (after X days, weeks, months, year of age)

Remove all the un-approved comments (after X days, weeks, months, year of age)

Rename one username to another username, it’s designed to rename default “Admin” user to something else

Display Database table statistics. Shows how much space can be optimzied and how much space has been cleared.

Apply mysql optimize commands on your database tables without phpMyAdmin. (pre-set commands or buttons could be included):

– Delete All Pingbacks

– Clean Out Unused Tags

(That list of features is from WP Optimised with my remarks tags on the end)

Other plugins to consider features from:

I find it hard to understand that after years of complaints about issues relating DB bloat that more hasn’t been done to tackle the issue to be honest.

I hope this is something you guys would consider for the near future, it would help so many out and give yet another reason for people to subscribe. :wink:

Thanks for reading!

  • DavidM
    • DEV MAN’s Mascot

    Another incredible idea Tim! And a timely one for myself as I just got a notice from my host on my big, fat databases! The thing is, I know my databases are bloated mostly with tables that aren’t being used, from old plugins. But it’s deadly painful to go through and find them all.

    I’ll be sure to mention this one to the team around here. It may have been brought up before, but this is a good one to rehash, for sure.


  • Timothy
    • Chief Pigeon

    Thanks David! It must have been half decent idea it caught the eye of the boss :slight_smile:

    You know David, I once had a WPMU install bring a server to its knees because it was so bloated with plugins, themes and most importantly SPLOGS (I try not use to many plugins now and make direct code changes most of the time). I’m hoping the forthcoming supporter will allow me to charge for the normal free blog option, something silly like £0.10, thus meaning they have paypal or what ever method is used and thus meaning they are human. 10p for a website is a bargin anyway, its as good as free and a good marketing gimmick!

    At the moment if people want a blog from us they have to contact us and we set it up.

    James, I’d like this to go 10 steps beyond! :slight_smile:

    + Cron support (actual cron as well as WP web cron because surely that is more efficient?)

    + Allow blog by blog access to allow specific setting per website (active supporter options) – this allows people to clean their own blogs sooner than the set in the network admin. Super admin could set a maximum time allowed to ensure the end user doesn’t just try to put dates 50 years in advance or something silly. (Perhaps active supporters can extend the time past the admin max by X weeks, months as another incentive to upgrade)

    + Auto mail users to inform their old theme and plugin data will be removed unless they take action (activate it – they could deactivate it again to save data or a button titled “Save data for another 30 days”:wink: – Reason: They might be testing and getting ready to launch something but haven’t had time recently, this gives them a chance to not loose their data.

    + All mentioned in my first post every X days, weeks, months, years.

    + Deal with inactive blogs (no admin/user) after X days, weeks, months or year(s) – Mail sent to user to allow them to confirm the blog is still active (people still create static websites) – This can be turned off for active “Supporters”.

    + Allow for system removal of theme and all options – Allows admin to delete a site wide theme and switch those blogs to a default theme if required – Auto delete (admin sets date) with auto reminder mails send to end users to inform them of a theme or plugin being discontinued.

    + This is the biggy! Auto backup the DB. Developers can make mistakes, code can conflict, what if something is removed from the DB which should not be? That could kill your network and lose you business, so prior to any changes being made the cron should force a backup which is stored outside of the web root and away from prying eyes. Option could be turned off (for people like me whom backup all their servers daily, although I would still use the option on) but a bold red warning would state “Turning this off means that if content is removed from the database by mistake it cannot be recovered”. These should be incremental backups because changes and mistakes can go unnoticed for a while. Perhaps even allow a cPanel like option of remotely backing it up another server. I run home based systems which log in to my servers and download the contents of a directory, but I use to have it so cPanel would log into my systems and send me the data.

    I realise there is only 7 steps beyond here but I’m sure I will fantasise about some other geeky and cool features as time eludes me……. Ha Ha :slight_smile:

  • James Farmer
    • CEO (of WPMU DEV, honest)

    Heh, this is all good, I’ve asked aaron to take a look at this too.

    Needless to say anything that allows us to offer great ongoing services here at DEV (i.e. ones that give current members extra value, and a reason to stay current) is good by me so let’s see what we can come up with.

  • Shawn
    • The Crimson Coder

    This should also provide a UI to show exactly what data would be affected and what source/dependencies were used to determine this. For example, removing the supporter plugin means the tool *may* remove the wp_supporters, wp_supporter_signup_stats, wp_supporter_daily_stats and wp_supporter_ads tables, and, where possible, offer to preserve certain data (like settings, while purging stats).

  • Timothy
    • Chief Pigeon

    That would be a good option, perhaps even go as far as offering an SQL export so that you can backup the data which the plugin would be about to remove. Thus offering further safeguards to end users even if it was only a local automated backup which would self remove in X amount of days.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.