[Hummingbird Pro] Database Cleanup Deletes Drafts

Hummingbird > Advanced Tools > Database Cleanup : The “Delete All” option deletes drafts. That’s brutal. I recommend moving to Trash.

I just spent a couple hours recovering draft posts from a SQL backup in a new site that has nothing but drafts. OK, mea culpa, there is a count of entries for draft posts, the Delete All button shows the total count. I didn’t realize that this also deletes the drafts that we enter into the dashboard widget. It’s just too easy to wipe out a lot of drafts that might have been created by several people.

I recommend that the Delete function first clears the Trash, and then uses Delete to Trash to remove drafts. This gives the admin an opportunity to recover. Clicking that button a second time will clear the trash.

Personally I’d prefer to see a checkbox on drafts, unchecked by default, to ensure the admin really wants to delete them. When scheduling database cleanup, there is a checkbox for all data types. Cool!

There are different kinds of drafts.
There are drafts of post-type ‘post’ that we write. I don’t think these should be touched at all really. I have drafts in an old site going back years – like projects in the garage that I’ll finish “one of these days when I have time”. Manual recovery of all of those would take a Long time, after an accidental Database Cleanup.
There are also post records of different post-types, some related to user profile changes, some are log entries, some are generated email items. Many of these come from WPMU DEV plugins like Defender and Branda. I don’t understand why these are left as drafts. If the data is of any use, shouldn’t it be moved to published? And if it’s not necessary after first use (admin email notifications), shouldn’t this junk be deleted?

The Database Cleanup deletes our ‘post’ post-types in post-status ‘draft’, but it doesn’t delete other post types in post-status ‘draft’ …. actual trash that’s no longer of use (unless it’s reported in a log somewhere).

I’m suggesting this one feature is a chainsaw, where a scalpel should be used – re-using a metaphor I applied recently to Hummingbird Asset Optimization. I wouldn’t want this feature to blindly delete draft items for any post-type, without knowing what the items are, how old they are, where they might be used, or other context-sensitive facts. That goes especially for ‘post’ types. Where WPMU DEV creates draft items and then leaves them there to collect dust – I’m hoping they’ll use their own tooling here to delete them.

In summary, I appreciate the functionality but I think this first implementation is overly aggressive, and I’m hoping DEV will (to use another metaphor) make this trigger a little more difficult to pull given that it’s so easy to shoot ourselves in the foot with it.

Thanks.

  • Lee
    • Freelance WP Developer

    Thanks for sharing your detailed experiences as usual Tony. Maybe it will save us from a headache someday.

    I read your posts, all posts , everyday. As a member myself who understands the development process and feel that the WPMUDEV team always give 100% effort ( I have never experienced anything less) I have to say the way you express yourself , the way I read it, as overly critical of folks who do great work. As I’ve said before, join the team if you feel you’d make that much of a difference.

    • Tony G
      • Mr. LetsFixTheWorld

      Kind thanks to you as well, wpmudev6361.

      I’m thinking your comment applies more to some of my other recent notes, not really to this one where I did not intend to be critical at all, but simply to explain the situation and my thoughts on the matter. If I missed the mark here, then mea culpa, it didn’t come across as intended.

      As a manager and business owner, I try to measure my words carefully, to convey exactly what I think and how I’m feeling. As a developer, I’m very binary – my brain moves from one subroutine to the next, returns false here and true there, and it doesn’t hold on to data in one unless it’s intentionally passed to the other. I don’t have time or desire to carry baggage around. As we move from one post to the next, where in one I’m harsh and in another it’s overflowing joy, one could think I’m schizophrenic. :slight_smile: I have been hitting a lot of issues lately that make specific features of the WPMU DEV offering unusable. That bothers me, because as we all know, this team is really great, and “something” has gotten in the way of that greatness.

      As a former QA Manager and Product Manager, I know exactly what procedures they’re not following. As a former Support Desk technician, I know exactly what choices they make as they process tickets. “Something” has changed there and some people are sometimes but not consistently on the same page with greatness. Maybe this is related to the global, distributed office model. Whatever it is, it’s not my place or desire to try to diagnose it – and I agree with James that I overstep when sometimes I do. My concern is with the quality of the software and services that I receive. When that falters, I change my tone. It’s as easy as that – cause and effect.

      When the quality is high, even with bugs, I’ll just post a report and move on, as in this ticket. But when blatant issues that are easy to avoid get into production, the tone changes. The reason for this is that without some tangible evidence or simply a voice suggesting that something “seems” wrong, things continue to get worse. I’ve seen it many times, a form of institutional degeneration. It comes from changes in management, changes in policy, agile workflow, making more individuals more responsible for their own areas without adequate oversight, lack of adequate training, financial pressures, and more. I’m not saying I don’t get it and that people are at fault. I’m saying I do get it, I’m very attuned to this specific music, and I’m telling ya that the flat notes once in a while are affecting the band when the casual listener might not notice or care. (Former musician too…:wink:

      DEV is a great company, with great management and staff, otherwise we wouldn’t be here. But there is nothing in DNA that makes people great developers or great support people or great marketing people. These are learned skills, and sometimes they’re not learned. Unfortunately many teams develop a sense of competence as a matter of team pride, regardless of their actual quality – this applies to sports teams, office workers, families, countries, etc. Teams develop an aversion to suggestions from the outside because that would imply that there’s something wrong on the inside, and that makes people uneasy. There’s no shame in introspection and review of the team. It’s healthy. “We’re doing fine. We don’t need any internal review.” That’s confusing pride with pragmatism. DEV has reasons to be proud, but I think some of that stands in the way of verification of the results produced by some people on some projects on some tasks at some times. (Intentionally being vague because there’s nothing specific on the table.)

      All that aside, this forum is not about personality. It’s a business forum where we talk about technical issues. I’m getting frustrated that I need to spend so much of each day here reporting and discussing issues. Do I not report issues and slowly stop using the software? Do I not express my concerns and slowly watch the quality continue (IMO) to degrade ever so imperceptibly? I could just stick to each point, but I know that ultimately that will lead to great frustration and eventually leaving this fine vendor. I don’t want to do that. They’re good people and they deserve our money (perhaps not my grief in the process). So I speak up. That’s what I do. That’s what my clients pay me to do. I try to be “Mr. LetsFixTheWorld” because it’s fun and sometimes profitable, though often annoying to some – I get that. If I shake thing up a bit, you might get better software, less time in these forums, and DEV continues to receive your money – everyone wins.

      As to employment – as you can tell, I’m for hire but not for sale. Thanks for the flattering suggestion!

      Best,
      T