Blog

Blog » What Is Happening To The jQuery Plugins Site?

Posted December 8th, 2011 by Adam J. Sontag

For about a week, instead of hosting several hundred jQuery plugins and several thousand advertisements for laptop batteries, our plugins repository has been serving up a pretty pathetic message about spam and an allusion to some “new submission process.” This happened very suddenly, and we’re sorry to everyone who’s been inconvenienced. Please allow me a few minutes to explain what happened, where we’re headed, and how it impacts you. If you’re in a rush, here’s the short version.

The Backstory

A White Elephant Though the plugins site you’ve known and loved was a valuable tool when it was first set up, it gradually became something of a white elephant for the project. While powerful distribution tools like GitHub and npm have come to the fore, we’ve been stuck in an aging, CMS-oriented paradigm that frustrated developers and consumers of plugins alike. Many people moved onto alternative sources for finding and vetting plugins. Furthermore, the sites’s original implementors and maintainers had since moved on from active involvement within the jQuery project. While the team faced a steady stream of complaints about usability and a general lack of features, the site itself faced a veritable barrage of (several flavors of) spam. There was your standard, keyword-rich SEO garbage, but there was also something slightly more insidious: the batch posting of under-documented, demo-free plugins with links to paid download sites by third parties trawling for affiliate cash. While this wasn’t explcitly disallowed, it led to a terrible, confusing experience for users and gave the site the distinct sense that all was not on the up and up.

The Best Laid Plans…

Sensitive to all these problems, the team began drawing up requirements for a complete overhaul. We knew we wanted to get out of the business of accepting uploads, serving downloads, and generally legislating the plugin “release” process on our own servers. With our official projects already on GitHub, we knew we wanted to leverage the many wheels they’d already invented for distribution, versioning, and facilitating open, collaborative development. Another requirement was to create a standard schema for authors to clearly delineate dependencies, like which version(s) of jQuery a plugin supports, as well as other plugins and CSS assets it requires to be functional. We also wanted to introduce some quality control, with both passive mechanisms like requiring GitHub and a manifest file for distribution, as well as active ones like user ratings. Finally, we wanted a clean slate; with stricter requirements for submission, there could be no mass import of all the old plugins. We made a lot of progress preparing specifications, but hampered by a lack of resources and a number of other projects, we never were able to get too deep into the implementation phase. After all, the old site “worked!”

…Often Go Awry

Throwing the baby out with the bathwater

As the glut of spam grew worse and multiple reports started showing up on the jQuery Core bug tracker, I wanted to at least take some steps to wipe a bit of the spam and egg off our face. With newly provisioned access to the administrative tools on the site, I teamed up with the Drupal Views Bulk Operations module and set out to identify and delete spammers and their posts. Within a day or two, nearly 90% of the alleged “content” was gone from the site. I continued to monitor the situation over the ensuing days, and deleted spam as it came in. Unfortunately, I likely cast too wide of a net, and threw out several perfectly good babies with the bathwater. Even more unfortunately, I didn’t back up the database before I began this process. At this point, you can probably see where this story is headed. Later in the week, while I was attempting to delete four spam items, I was left completely horrified when the results of the operation reported that the remaining 10% — every single plugin remaining in the database — had been purged. All that remained was a year-old backup. Of course, I realize that this is a dreadful outcome, and I take full responsibility for it. If it helps, I am very receptive to hate mail and tweets reprimanding me for being irresponsible, unprofessional, or just stupid.

At this juncture, we were left with two choices.

  • Keep on kicking the can down the road: Restore from the old backup, losing a lot of data anyway, and have authors go through the painstaking process of re-uploading their plugins, even though the site was slated to be deprecated entirely anyway.
  • Use this glaring mistake as the impetus to hunker down, cleave from the past, and finally implement the site we’ve talked about for so long.

We’ve chosen the latter.

Nuts And Bolts

Over the past few days, we’ve started converting our plans into action, building out an infrastructure that’s backed by GitHub. There are two requirements for listing a plugin on the new site:
Success Kid is helping out as well

  • A valid package.json file
    We’ve followed the lead of CommonJS and npm and created a schema for specifying dependencies, delivery, and other metadata of jQuery plugins. While the format is largely similar to those other projects, we’ve had to make some minor tweaks to account for some plugin-specific details.
  • At least one versioned release
    This means having tagged your release point(s) with a valid semantic version number (semver) string.

We’ve pared down the submission and maintenance process to a single, one-time step: adding a post-receive hook to your plugin’s GitHub repository. Assuming your plugin meets the guidelines, a page will be created on the plugins site to present your usage and download information. We’ll keep track of new releases as you push them.

In The Interim

We recognize that the old site was still serving as an regular resource for a lot of people, especially newer jQuery users, who simply valued the existence of a central browsing location, despite its flaws. Though many experienced users had moved on to other sites, or relied on relationships with trusted authors and word of mouth, these can take time to develop. Until we’re able to launch the new system, we’re happy to direct you to several other directories and people who can help pick up the slack:

If, in the process of searching these or any other directories, you are directed back to the current site at plugins.jquery.com, typically a quick search for the author’s name and the plugin name will yield an alternative site where it was hosted. In addition, DailyJS just did a useful roundup of alternatives that goes into more detail.

Next Steps For Plugin Authors

If you’re a plugin developer who wants to make sure your plugins will be ready to go on day one (or even beforehand), you’ll want to make sure your plugins are up on GitHub, and then you’ll want to get started on creating your package.json files and making sure your versions are appropriately tagged. If you aren’t already familiar with Git and GitHub, then this is probably a very good time for you to take the plunge and get started. If you prefer another SCM system, you can look into setting up a mirror to git from svn or hg, or other project hosting sites, like bitbucket or gitorious. If you don’t develop your plugins as open source, or you don’t use any source control at all, we will not be able to accomodate you at this time.

How Can I Help?

Though the site is still a work in progress, you can track progress and even set up your own local development right now at github.com/jquery/plugins.jquery.com/. We’re still working on getting a public staging environment together.

Though the site is essentially “powered by” GitHub, there are obviously a number of moving parts in play. The site will actually be served from inside of WordPress, which is populated with the contents of the indexed plugins using a node.js tool. There are still many kinks to be ironed out, so if that sounds like a stack you want to jump on, please join us over at the repo. We’ll be using GitHub Issues for all feature requests, bugs, and discussion.

While we’ve put a great deal of thought into putting together our package.json schema, it’s still a living document, and if you have questions or comments on why it is the way that it is, head on over to this issue.

Errata

In an ideal world, this certainly wouldn’t have happened exactly as it did. Sadly, it did. We hope you’ll accept our apologies for the many ways this transition might make your job harder, give you some extra work you weren’t expecting, or just plain leave a bad taste in your mouth. If you are able to forgive us, bear with us, and maybe even lend a hand, we’re confident we’ll be able to deliver the modern, useful plugins site the community deserves.

TL;DR

So that was a lot of words, here’s the takeaway.

  • We’d been planning on replacing the original, spam-ridden plugin site for quite some time
  • In the process of deleting on the spam, all the plugins were deleted and we didn’t have a recent backup
  • Instead of burning cycles keeping the old site on life support, we decided to make a clean break and kick development on the new site into high gear.
  • The new site is powered by GitHub and a package manifest for plugins
  • Plugins from the old site were never going to be automatically imported into the new one.
  • The repo is at github.com/jquery/plugins.jquery.com
  • We are very sorry, but also very excited!

165 Responses to “What Is Happening To The jQuery Plugins Site?”

  1. Raymond Camden Says:

    Thanks for the honest explanation there. I know it was hard to admit. I think the plans for the new site sound great. Again – thank you!

  2. Tane Piper Says:

    Ender.js is much more suited to client side libs I think, and is compatible with package.json! http://ender.no.de/

    Great plans though!

  3. Adam J. Sontag Says:

    It would definitely be nice to figure out if we can do Ender support instead of having to reinvent the CLI wheel, for people who want it.

  4. redsquare Says:

    We have all done the same type of thing at least once! A blessing in disguise.

  5. Rodney Rehm Says:

    Having put a couple of plugins on the old plugins page and actually searched for some stuff in that same thing – I can only congratulate you (and us). From what I’ve read so far, I’m already in love with the upcoming plugins system. (yeah, maybe Ender compatible might be a thing?!)

    Another fine side-effect of this »I accidentally … the DB«: All those non-maintained plugins are gone. finally. I’d rather read spam than sift through age old code authors have already forgotten about.

    So yes, thank you!

  6. Dave DeSandro Says:

    This sounds like a tremendous and ambitious undertaking and I have to commend Mr. Sontag and the rest of the team for tackling this. Building it right into GitHub was an awesome move, well done. I’ll be happy to add my plugins once it ships.

  7. Andrew Ellis Says:

    You guys should change the “.local” to “.dev” in your instructions. ;)

  8. Hery Says:

    Whatever you planned to do, just hurry up. I missed jquery plugins collection so bad :D

  9. Sam Says:

    Hi guys,

    I would like to offer my share of grouping plugins into lists!

    http://www.jquery4u.com/plugins/

    If you need any help with the new site, I may be able to offer some time.

    Cheers,
    Sam

  10. dfl Says:

    “Even more unfortunately, I didn’t back up the database before I began this process.”

    In all frankness, this is the type of mistake that really shouldn’t be tolerated. I’m not talking about misconfiguring Drupal system or anything like that; I’m talking about the utter negligence of not even making a backup of an important system before performing bulk operations. While it’s a pretty funny story I guess in sort of a quirky way, it’s also pretty sad and pathetic. He should have taken responsibility and stepped away from the project.

  11. Tom Says:

    As someone who just recently saw another increase in Spam activity and script kiddies I totally agree. Things have gotten so bad, that I (as many others) have had to tighten up security so much, real people find it difficult to get past the checks.

    And things are getting even worse. Meanwhile bots went on to the strategy of posting non-ad (yet junky nonsense) entries to confuse spam-blockers. More sophisticated SEO buggers started to show up, who would post normal looking stuff, but hide the real links they wish to push in ICQ-Ids, Image-URLs and signatures, knowing it will show up under each newly posted material and bypass security, because signatures, user profiles and Messenger-Ids are not checked by spam-filters.

    Not to mention the kids, that “play” with the spam-filters and make it a game to try to sneak past these. And unfortunately these kids got far more time to play than devs have time to clean up after them.

    So: it all combined, fighting ~150 junk posts and more per day you eventually end up with no other choice but to either tighten up the checks beyond the level you usually consider to be fair (or sane), or take down the site entirely. Just to claim back your precious development time from fighting the spam.

    Creating something new will keep the bots out for a while. I renamed, changed and updated scripts time and again – yet eventually in vein. The sad part of the story is: they will come back. Because there is money to be made. Plus unfortunately the bots have an easier way of getting their junk back online then real developers have.

    As a funny side note: Newest (made by hand) spam of the week is a company advertising for a mass-posting spam-software. Most amusing part of the story is: at least THEIR software did never get past the spam checks. So I would truly recommend their product to any spammers out there.
    Cheers!

  12. Tim Branyen Says:

    True dfl, any time a backwards breaking bug enters into the codebase that coder should step aside.

    Mistakes happen and luckily this project isn’t so ridiculous that its not tolerated.

  13. Dan Heberden Says:

    dfl, I will be seeing Adam next week and will be sure to give him a stern talking to :p

  14. Eddie Monge Says:

    Maintaining all the jQuery properties is hard work. There are a lot of servers and a lot of effort goes into it. A lot of *unpaid* effort with no thanks from most people ever. While steps are taken to ensure that things like this normally dont happen, sometimes stuff happens. I for one, thank Adam for all the hard work he does.

  15. Dan Heberden Says:

    Though I should point out, as infra lead, that’s my responsibility – so if it’s anyone’s fault for not having a backup, that’d be mine.

  16. Rick Says:

    @dfl I would’ve done it on purpose.

    *shrugs*

  17. Craig Says:

    What a wonderful *ahem* “accident”! I can’t count the number of times I’ve had a messy situation that I’ve been tempted to “accidentally” wipe out… Good for you! ;-)

  18. len Says:

    good to know I’m not the only one who makes mistakes. Makes me feel way better about my recent trip to India (without a visa).

  19. remote Says:

    Kinda odd to go out and say “we’ve taken the repo offline because of spam” when it was in fact accidentally deleted…

    That there has not been a backup of the db for at least a year on a site this prominent, dealing with a massive amount of user generated content, is shocking.

    It might be true that the old system sucked and was spamfested and god knows what… but a good share of plugin maintainers have links pointing here as the primary source for their code contributions that were perfectly fine and not touched by the problems you mentioned.
    Thus I find it slightly off to point at the shortcomings of the old repo in an attempt to downplay the major administration fubar.

    Anyway – thank you for explaining the sudden and rather extreme “spam protection”… now I can stop scratching my head.

  20. John McLear Says:

    Done and done. Thanks for the update!

  21. John McLear Says:

    Helps if I paste the correct URL

  22. VanillaSkins Says:

    Very saddened by all this guys, plugins was my daily haunt. :(

    Perhaps repliers on here take heed and dont spam the blog ffs.

    Not sure how github will ork, in comparison to the old system, but good luck.

  23. Raynos Says:

    > Ender.js is much more suited to client side libs I think, and is compatible with package.json! http://ender.no.de/

    If your using package.json for these plugins there’s no good reason not to promote Ender.

    Rather then writing your own package.json instructions just say it has to be ender compliant.

  24. Jake McGraw Says:

    Not to beat a dead horse, but 5 years of plugins gone in an instant, not good. Like epically bad. Could you make the old backup available for posterity? I’m sure the new Github hotness will rock, but you can’t just write off a terrible mistake as an opportunity.

  25. Jose Torres Says:

    I understand why you’d want to use GitHub as a VCS and distribution system. However, even though you’ve apparently had a bad experience recently with Drupal, switching to WordPress seems like you’re moving one step forward and two steps back.

  26. Russ S. Says:

    Not sure if you already thought of this, but thanks to the Internet Archive you can still access old versions of the plugins.jquery.com site from as recent as July 17th, 2011: http://web.archive.org/web/20110717030551/http://plugins.jquery.com/
    The left-hand menu doesn’t work, but the links in the main content area do.

    Anyways, maybe that could be useful for someone?

    I’m excited for the new plugin site!

  27. Russ S. Says:

    Oh wait, the links on the left-hand column do work after all, they just show a redirect page first.

  28. Beat Says:

    jQuery team: Good idea: Contact the archive.org team and get the missing “backup” from them: http://web.archive.org/web/20110717030551/http://plugins.jquery.com/

    I wouldn’t put the fault on a single person on the fact that the whole project has a site without any automatic daily or weekly backups !!!!

    Does jQuery team use a hosting without daily backups and archiving of daily backups for at least a week ? Seriously ? It’s a pretty bad advertisement for your hoster too !

    Raise money, donations, and use that to pay for or ask a hoster to sponsor you BACKED-UP hosting.

    This is a serious issue that should be handled and answered by the jQuery board in charge. It’s a matter of trust into a seriously managed project.

    - End of rant -

    Well, happened, can’t blame an unpaid volunteer, but hey, jQuery team: take a lesson out of it, and now can you please confirm that all your sites are daily backed-up with weekly archives (including SaS hosted third party sites content) ?

  29. santo Says:

    This is possibly THE BEST thing that could of happen. All unmaintained plugins are gone, spam is gone, why complain?

    Also, Github will serve as an additional filter for people who should not be writing plugins in the first place (it’s more difficult to set up git than to upload shite in a zip file).

    This is a great news guys!!

  30. seutje Says:

    oh adam… only a few people would be able to get away with this, and even fewer of them would do it in such a way :’)

  31. Carlos Says:

    Please.
    Do not move your site to the GitHub
    The site as it was, helped me find many useful plugins.
    The site was fantastic, much better than GitHub.
    It is easier to find jQuery plugins on Google than on GitHub.
    If you start an empty database.
    In less than three months you will have more than 1,000 plug-ins and will have removed all plugins without updates.

    Think about it …

  32. Paul Says:

    This is horrible… Github is nice for the really technical pple, but I dont understand how to download plugins anymore :((((((((((((((((((((((((

  33. Marcos Says:

    Guys, guys! Wait.. He is just telling that a NEW plugins website in under development and the source code is available at GitHub. The new website will be launching soon. It’s not like you are going to have to find plugins on github or whatsoever.

  34. tongwing Says:

    Try this: http://wayback.archive.org/web/*/http://plugins.jquery.com/

  35. Maurizio Says:

    BEGIN;

    DELETE FROM jquery_plugins WHERE 1=1;

    COMMIT;

  36. User Says:

    Happens to the best of us.

  37. DBozhinovski Says:

    Amen. A fresh start is always good, especially after the mess Plugins have become.

  38. Roman2K Says:

    Thanks for your honesty. A clean slate was painfully needed anyway.

  39. Mp3up Says:

    I wouldn’t want to be in your shoes. Keep smiling!

  40. Trulla Says:

    what about:

    http://web.archive.org/web/20110717030551/http://plugins.jquery.com/ maybe some data can be recovered.

  41. Trulla Says:

    well i saw Russ and Beat sorry for repost

  42. Jon Roig Says:

    … what an awful moment, right? In yo face, plugins database! The old plugins site had long since stopped being useful — I’m not sorry to see it go. Connecting it into github makes a lot more sense, given that it’ll ensure easy tracking of updates and that everything featured on the plugins site will be easily downloadable and available. Thanks for your hard work!

  43. Jay Says:

    Will you provide the same experience and support for users that are not using Git(Hub)?

    I’ve already a paid account on BitBucket and actually prefer Mercurial over Git since it has superior workflows, client and OS/IDE integration (at least on Windows). So I’m sure you understand that I’m not going to create a GitHub account (pay for it) and have a pretty bad user experience.

    I would really want to see some repor sites as equitable solutions for developers, let devs choose which provider is best for their specific needs and preferences. Pushing us in the arms of an overhype company will (at least for me) not work.

  44. Flak Says:

    Was your personal site hacked, Adam? I’m getting a redirect through a sweepstakes site, then a malicious software warning. Or is that another Adam J. Sontag, who programs in Boston?

  45. Cory Wright Says:

    Thanks for the honesty guys, good luck with the new site, can’t wait!

  46. Schrijver Says:

    In your packaging format, you might want to make linking to a preview image required.

    In my experience with the previous website, having no visual feedback whatsoever when browsing the plugins made it harder to search.

    (Of course I understand that many plugins can not have their behaviour adequately explained in a static image.)

  47. Joss Crowcroft Says:

    Very nice and honest. This is exactly how people should handle screwups! And this cloud has a pretty big silver lining.

  48. Sandro Says:

    I think this might be a blessing in disguise. I never used the old plugin site. I frequently came across spam and a lot old and unmaintained plugins (My own included). I hope this new Github system works out well.

  49. Antony Says:

    I think it would be awesome if the next jQuery plugin site actually achieves the same level of usefulness as NodeJS’ NPM Repository search. It is instantaneous, clean, and fun.

  50. JustinKramp Says:

    “I say we take off and nuke the site from orbit. It’s the only way to be sure.”

    Appreciate the honesty and have made a similar mistake myself. It’s the type of mistake you make only once. I’ll echo the sentiment of many here and agree that blowing the whole thing away isn’t the catastrophic event it may seem to be. A fresh start with a planned approach will be helpful for all.

    Archive.org has saved me before and it might help here. I do think that it might be wise to resurrect the old, busted site if for no other reason than to help newcomers to jQuery.

  51. Devonc Says:

    Drupal? Why on earth would you bother with it in the first place. Good luck with the new site!

  52. DarkXTC Says:

    Shit happenz buddy ;)
    We all make mistakes. But you could try to get some recent source from various developers. I could imagine that they could have some copys of the source ^^

  53. Andres Hermosilla Says:

    I handpick some of the best and usable jQuery plugins and list them on http://bestofjquery.com/

    I go through and check each plugin submitted and make sure they are solid and fit users needs.

  54. Kevin Says:

    Way to be transparent and take ownership of your mistakes. If only some of the “leaders” in our world followed this mantra.

  55. sibudi Says:

    yeah it’s happen sometimes.

    very appreciate your honest

  56. Ben Says:

    You’re excited about moving from an “aging CMS-oriented paradigm” to WORDPRESS?

    Does. Not. Compute. Seems like a juvenile mistake and solution, through and through.

  57. Matteo Bicochi Says:

    Fortunatly it happens!
    It’s not a mistake, it’s an opportunity.
    Can’t wait for the new one.
    Have a good work on the new site.

  58. Brandon McCaig Says:

    Approved. The old system sucked. I can totally understand not wanting to back it up. Any code worth keeping should already be tracked in a VCS on the developer’s machine(s) (i.e., no actual good plugin code should be lost), and there was really no other data of any value. :P I look forward to seeing the new system come to fruition.

  59. Skyborne Says:

    My prior process for using plugins was essentially: boss says “We can use X (link to author site)” => downloads X. I don’t think _any_ downloading happened through plugins.jquery.com, even the few times I was there.

    Still, mass deletions with no backups (nor, apparently, previews)? Ouch.

  60. Jono Says:

    A blessing in disguise…the previous site was a pain to try find plugins.

  61. Jena West - Enigmas Says:

    If I also I have trouble finding the plugins. But I think that you can better as people make their complaints of defects.

  62. Mottie Says:

    How do you include a list of optional files or dependencies, like the easing plugin? I’m only guessing the “files” should be essential, or should we just include everything?

  63. Mike Says:

    I’m sure we’ve all made this type of mistake, no ‘stepping aside’ needed!

    I agree about the archive.org idea, can’t hurt to look into it as a temporary fix. For that matter, I’m sure google has everything on their servers too (maybe even MSN).

  64. Kevin Says:

    Thank you jesus, is what I say. The old plugin site was not particularly usable, in my (honestly) humble opinion. I’m looking forward to a new site, and github integration would be great IMO.

  65. me Says:

    I hope very much that you don’t go down the npm path (or use it’s code for your package manager), because it’s absolutely full of holes, and their submission process is WORSE than your old one.

  66. Alex Says:

    To those advocating compatibility between jQuery plugins and Ender.js packages:

    Compare the details of the proposed package.json spec to Ender’s package.json spec and you’ll see that they’re nearly equivalent. Of course, this shouldn’t come as a surprise because they’re both just using subsets of NPM‘s package.json spec, which is in turn based on (but not quite the same as) CommonJS‘s package.json spec.

    So if you take the time to add an “ender” keyword and publish your jQuery plugin using NPM, it should show up in Ender. Couldn’t be easier, right? The problem is that it’ll still have a dependency on jQuery, which makes the entire exercise moot. There are a few different ways to address the issue.

    The simplest would be to use CommonJS’s hash group dependency syntax, which unfortunately was not carried across into NPM. It provides the ability to specify alternate dependencies based on functionality, like so:

    “dependencies”: {
    “selector_engine”: {
    “qwery”: “3.0.0″,
    “jquery”: “1.6.0″
    },
    “dom_utility”: {
    “bonzo”: “0.7.0″,
    “jquery”: “1.6.0″
    }
    }

    Note that the ordering of the group would be significant, with earlier entries having higher priority. In the example above, you would fall back to depending on jQuery if either of the Ender packages Qwery and Bonzo were missing.

    The other way, which doesn’t require any modifications to NPM, is just to take advantage of forking. Since all jQuery plugins are moving to Github, it will become trivially simple to fork a given plugin and switch out the jQuery dependency for something else.

    I personally would prefer the first approach because widespread adoption of standards tends to make the web a better place. That said, the second method is just fine. Either way, the move to Github can only help Ender and the overall JS ecosystem.

  67. jQuery Rocks Says:

    The old plugins section was less than amazing… now, I understand, when you accidentally delete/clear out an entire database on a major website and have no recent backup, you kind of have to apologize (after you swear and freak out for a bit); but seriously, I think it’s for the best. Many of the plugins were so hopelessly out of date and/or abandoned, that Google was a more effective way for me to find a jQuery plugin.
    As someone else in the comments mentioned (or maybe a few people), most serious plugin developers will have their code sitting locally or online in some flavor of source control.
    Being a light user of the plugins section, my personal priority would be for the jQuery UI team to release jQuery UI 1.9… that project has been moving quite slow. I am assuming that’s a mostly different group of people however, and certainly for the jQuery community as a whole, replacing the plugins site absolutely takes priority (especially since there isn’t a site at all right now, except on the archive site mentioned above perhaps).

  68. Bob2k Says:

    rm -rf *
    D:

  69. Jon Mifsud Says:

    Great to hear of the new system; already had my plugin on github so no major working points; was just wondering when will the call back system start working so I post my update with the new json file. In addition to that; in the file itself where it says list of files does this have to include any example code bundled within the repository?

  70. Subfader Says:

    No backup before batch cleanup => EPIC FAIL.

    Sounds like NO BACKUPS AT ALL exist.

    Conspiracy!

  71. Abner Says:

    While the takedown of the jQuery plugins site was a complete management FAIL, since the old site could have been easily kept available, frozen, until the new one was available, I do respect the honest explanation.

  72. Abner Says:

    Oops… didn’t read all of it.

  73. Crusher Says:

    Thanks for your honesty.

  74. dan leci Says:

    ????? ???? ?? ?? ????? ??? ??????? ,???? ????? ???? ???? ??? ??? ?????? ,??? ?????? ???? ???? ??? ?? ????? ??? ??? ???? ????? ?????? ??? ??????? ?????? ??????? ??

  75. dan leci Says:

    ????? ???? ?? ?? ????? ??? ??????? ,???? ????? ???? ???? ??? ??? ?????? ,??? ?????? ???? ???? ??? ?? ????? ??? ??? ???? ????? ?????? ??? ??????? ?????? ??????? ??

  76. River Says:

    As long as “Powered by” GitHub doesn’t mean GitHub becomes a requirement this sounds pretty good. Would be nice if GitHub was just optional for versioning and bugtracking.

  77. Nicolás López Zerpa Says:

    $(“#plugins”).remove();

    Thanks for your honesty, Adam, and good luck with the new plugins site.

  78. Greg Says:

    Please post a read-only archive of your year old plugins. There is lots of content in there that can be used as a template for new plugins.

  79. Saeed Neamati Says:

    Great job guys. I’m with you and don’t worry about inconveniences, because I think that people always tolerate it, if they know that a better future is awaiting. I’m also glad that you use GitHub. I’m gonna watch you there.

  80. KD Says:

    Writing code is like writing poem, everytime you come up with something new. can’t wait to see new stuff….

  81. liz Says:

    Thank you for the update, but most all thank you, all of you maintainers, coders and faithful users for all you do. I benefit so much from the site and plugins for the sites I work on. Looking forward to the spam free site.

  82. Michael Mikowski Says:

    One of the best attributes about the plugin page is it provided a way to “register” a plugin name to avoid namespace collisions.

    How do we register our plugin names these days while awaiting the new site to come up?

  83. Sven Schoppe Says:

    I’m glad that I am not the only one who makes bad mistakes.

    Here are so many good coders, we will help to fill the repository with new plugins.
    I’ve collected all plugins, that I’ve downloaded in the last to month.

    Wish you all a great new year
    Sven

  84. Niklas Says:

    @Paul

    “Github is nice for the really technical pple, but I dont understand how to download plugins anymore :((((((((((((((((((((((((”

    If you’re not a technical person, you should not be developing JavaScript.

    @The Team

    The only reason one creates a backup before some non-standard operation is because you don’t want to go all the way back to the last daily backup in case of an accident… :/ Anyway, now you know how not to do things.

  85. Aw Guo Says:

    I am waiting :)

  86. RJ Says:

    Adam, every dev worth his salt has forgotten a where clause at least once and blasted an entire table instead of a record or two. OK, maybe not so often on a production database without a recent backup… but we’ve all had those “Oh s#@t.” moments…

    The jQuery plugins site has not been the place to download the finest plugins for a long time anyway – for well over a year.

    I look forward to the new site!

  87. zoras Says:

    insane.. i’m like.. is this real?

  88. Sam Says:

    Although this is regrettable, I am so thankful for the so many people who work to benefit us — without being paid.

    This is actually a great reminder for me to do a backup of my development laptop TODAY!

  89. Albert Says:

    Is there any other place where we can get the plugins? I’m looking for the jFlick plugin to be more specific. Does anyone have it? That would be much appreciated if someone could post it somewhere or send it to me.

    Thanks so much in advance!

  90. Blaze Says:

    Hello
    Some plugins you can find on flcomponents.net. You can also submit plugins there or download for free.

    Blaze

  91. Santosh Subba Says:

    I am new to web development, but I have realized that without jQuery, web development cannot be imagine (at least I can’t).
    Thank you very much guys, you rock!!!

  92. Raptor Says:

    Apparently an old database has been restored and is available under http://archive.plugins.jquery.com

  93. Garvin Says:

    This sounds like a pretty typical snafu, and I think you’ve probably gained some credibility for your honest and forthright explanation of the state of things and plans for a fix. Looking forward to see what this becomes!

  94. Sirius Says:

    We’re engineers, my friend. I don’t care what people say, but deleting data without taking a backup is NOT a crime. Please take it easy. And thank you for all the hard work you’re putting in. :)
    Cheers!

  95. Harry Says:

    Here is another start for the post:

    “Hi! My name is Adam Sontag. I am responsible for deleting all the previous plugins on plugins.jquery.com. Here is why this is a good thing:”

    :D :D

  96. Jean-Philippe Lambert Says:

    I think i should thank you for the error, I think that its a good thing that the whole or most of it plugin bank has been wiped , its gonna make some place for better new ones

  97. ipwa Says:

    To the people blaiming Drupal for this in the comments: please get informed. The problem had nothing to do with Drupal and was a human error. Read the post before commenting.

  98. Jose Says:

    somebody has display-tag-ajax-1.2.js ? not found

  99. mehdi Says:

    old plugins search engine is very exposed.
    please fix that.
    thanks

  100. Alex Weber Says:

    Sounds great, awesome idea!

    Any idea on what the URL for the GitHub hook will be?

  101. KDA Says:

    You have a backup here it is http://web.archive.org/web/20110717030551/http://plugins.jquery.com/

  102. Jose Says:

    This is a great site and I’m very sorry such thing happened. That being said, not having backups of the database was very, very stupid (I hope that never happens to me, karma’s a bitch). Anyway, what’s done is done. Good luck, I’m looking forward to the launch of the new site.

  103. Nikos Yeemis Says:

    Could have happened to anybody.
    I forgive you.

  104. Greg Says:

    >>You have a backup here it is http://web.archive.org/web/20110717030551/http://plugins.jquery.com/

    This backup only shows the plugin summaries.

  105. Alvaro Prieto Says:

    Does anybody know when it is planed to release the new plugins website?

  106. Jane Says:

    “To the people blaiming Drupal for this in the comments: please get informed. The problem had nothing to do with Drupal and was a human error. Read the post before commenting.”
    -well put

  107. George Says:

    does anybody know when this new plugins website will be up and running? any projected date or anything?

    thanks,
    George

  108. Alvaro Prieto Says:

    I have exactly the same question

  109. Umut Says:

    Love jquery! I avoided learning javascript like the plague until I discovered it.

    Great to get an honest explanation as to what’s going on here, and as another user commented, we’ve all been there and it is more often than not a blessing in disguise.

    Keep up the awesome work guys!

  110. jQuery Rocks Says:

    I’m going to echo some of the recent comments – do you have a timeline for the new plugins site? I’m excited to see it, or at least a rough version of it. Given the holidays this time of year, no big rush, but just wondering about the schedule.

    Happy holidays, and thanks for all of your hard work!

  111. Andrew Says:

    I am glad you deleted all of them. The good ones will come back right away, and the dated/not-so-great plugins will be where they belong :)

    Excited to see the new system. Thanks for all you do!

  112. Rahul Says:

    i m exicted to see new plugin….wen r u going to launch…

  113. Joris Says:

    okguys no pannic.. use googlecache to find the files you need, just search for the txt file by adding cache: in front of the url

    example:
    cache:http://plugins.jquery.com/files/jquery.autoanchors-0.3.js.txt

    Works perfectly!

  114. Joris Says:

    search cache via google:

    cache:URL or Cached link

    Estimate from yesterday to 3 months old. Crawl date given. Text only cache as well.

  115. Ralf Says:

    The JqTransform (http://www.dfc-e.com/metiers/multimedia/opensource/jqtransform/) don’t work if i’m using anywhere slider. Help!

  116. daniel Says:

    I tried to add http://www.phunkei.de/blog/2-autostorage-js but listing new plugins is not available yet.

  117. Tijs Says:

    Very well done,

    9 of 10 people would have kept the old crap. I guess you accidentally deleted all of it, but eventually JQuery will grow just because of this renaissance.

    100 points for preventing us to use shitplugins!

  118. Dinu Says:

    It could NOT have happened to anyone :) That aside, hope to see it revived soon!

  119. FMalina Says:

    I once “accidentally” overridden clients old site with a new one without backup as a first demo. Boss chewed me out for a bit, but the client was happy with the new site and didn’t mind. Similar situation here as I understand it ;)

    I’d go on and say it was a good turn whether accidental or not, but I’d make sense to see the new plugins site up and running.

  120. jas Says:

    So about this post-receive hook… I am assuming I just add a URL to your plug-ins hook? I didn’t see a published URL for this.

  121. EricB Says:

    The fact that you’re so open and honest about what happened says a lot. You could have so easily spun that and made it NOT your fault but you took it full brunt. You’re human, we do make mistakes. I love what you guys have done here. jQuery, the plugins, the UI components all of it is just killer and I thank you for it. Don’t fret too much about it, as the end result will be much better! I so understand how much it sucks to lose a database that is extremely important, I’ve been there myself. I bet if nothing else you ALWAYS backup you DB first! :)

  122. rlipe2 Says:

    No todas las cosas son malas, podriamos juzgar pero ustedes hicieron lo correcto al pedir disculpas, yo creo que query puede dar mucho mas que solamente esto, espero mas y muy bien por su actitud

  123. Mike Otgaar Says:

    I recently deleted a site ‘accidentally’ Being lazy and using C-Panel I selected the wrong site – should have been a temp site setup for testing…
    At least there was a current backup database and files – only had to upload the files, restore the database, and replace a few images.

    Good luck with the new site – it’s looking great

  124. Sunil M Says:

    Good! The plugins search was horrible on the old site. I had to go through google to find anything relevant. Don’t hate on Drupal it is what you want it to be, but you have to use the correct tool for the job.

  125. Bill Says:

    The old site wasn’t perfect but it did give developers a central point to show off their creations and for users to see what new features have been produced. The Battery ads were a pain but not as frustrating as the search feature BUT it was still the only way to sift through all these to find the gem you needed.

    Any idea when something similar (the listing not the Battery Ads) will be back on-line again?

  126. River Says:

    Having no plugin archive is hurting jQuery. Any ETA?

  127. Kees C. Bakker Says:

    I would have loved it if the new system was build / implemented beside the old one. Many plugins are only published in the old system. This is really starting to hurt…

  128. Alvaro Prieto Says:

    Yes, we are waiting for too long, jQuery community is getting impatient…

  129. River Says:

    Instead of presenting the old site as a dead archive, why not put it up as the real thing while creating something new?

    Linking to a spare-time Github project and a blog post explaining a screwup isn’t helping anyone.

  130. Sadi Says:

    dfl, I really hope, for your company’s good, that you’re a programmer and not a team manager.

  131. Hamidreza Says:

    We are really looking forward to the jQuery plugins website !!

  132. Ahmed Says:

    Hey Adam and whole team, thanks for the explanation. Crisis are global and there is no one to claim being perfect! after all we all are human.

    Keep up the good work!

  133. Bill Says:

    The plugins are the life-blood of jQuery presenting the latest developments in the product. They keep user interest at a high level and allow developers to implement often complex procedures much more easily.

    While the new site may be wonderful, something is needed now so that us web-site developers can continue to provide our organisations with product. If jQuery is continue to be taken seriously in a professional world it can’t just say “No product for the time being” with no interim arrangements or target date for completion.

    I’m sure you are all working hard and will come up with something that is much better than before – but – we do need something in the meantime (ie now) – please – please – please !

  134. seo Says:

    Does your blog have a contact page? I’m having trouble locating it but, I’d like to shoot you an email. I’ve got some ideas for your blog you might be interested in hearing. Either way, great website and I look forward to seeing it expand over time.

  135. YouShouldBeFired Says:

    I just hope that you will be removed from the jQuery team!! A fuckup like this on any company would get the guy who did it FIRED!!!

  136. Ryan Gurnick Says:

    When the hell will the plugin site be back up.

  137. Ryan Gurnick Says:

    this is really upsetting.

  138. santo Says:

    @YouShouldBeFired – this is why no one ever heard about your little shitty company if it represents attitude like yours.

    Mistakes happen. Those who are serious about jQuery are happy about the changes.

  139. Alvaro Prieto Says:

    @santo Im serious about jQuery, and I am not happy to keep on waiting for several months until the new website is ready. I understand that it was a mistake, and I really hope that no one will get fired, but it is being too long, dont you think so?

    jQuery is such an important resource nowadays, that two months wainting for the plugins repository I think can hurt jQuery itself. Maybe more resources should be used in order to speed up the website development.

    Im sure the new website will rock and will be much better, but I really hope to see it soon!! :-)

  140. Sunil M Says:

    This is really bad. All over the web links are broken for jQuery plugins. I can’t wait any longer. This really sucks for project development.

  141. Eric Says:

    Better yet, make the link to http://archive.plugins.jquery.com/ more prominent.

  142. River Says:

    Has this project been abandoned?

  143. Hiral Says:

    Your honest answer sound interesting, it proves everyone makes mistake and it is good to accept it instead of giving bunch of explanation.

    Best of luck for your new site, will always love jquery.

  144. Kieran Says:

    Just wondering how far off this new plugins site is? I might be able to give some time to help get it up and running.

  145. Alexander Ewering Says:

    While this is an entertaining story, it shows the general lack of professionalism encountered in every aspect of the “Open Source World”.

    Why should I use a framework whose maintainers are too inexperienced to even have rotating backups for their servers?

  146. Maxime Says:

    That last comment made me sick. This is not about “Open Source World”, this is about being human.

    Every human being makes mistakes. As great as jQuery is, you cannot build perfect solutions. The most important is to keep improving to make it as good as possible.

    And more important, keep us informed, so the community can grow up as well !

  147. Bill Says:

    jQuery is an excellent product and is well supported by a dedicated group of individuals. Someone made a mistake – not nice but we have to live with it and move on.

    The plugins are what makes this product great – If they didn’t exist it would be a less useful product. It is amazing to have a wealth of powerful, compact and tested appliactions. Except that at the moment we don’t have access to that set of applications. What’s more we don’t have a date for when we might have them…

    If someone is working on this can we have a probable end-date, please?

  148. Lau Says:

    I’m totally agree with last comment !!! jQuery is great and has helped a LOT of developers in building a LOT great web pages !

    As for this particular plugin page issue, it really stopped a lot of us to further explore the ability of jQuery. Months has passed and yet there’s no news/updates for how long more to wait.

    Lastly, personally I really appreciate the efforts of creators to create jQuery.

  149. Bruno Cassol Says:

    Come on people,
    do you pay these guys to develop jQuery for you? I guess not so stop complaining.

    Given how bad was the plugin site (outdated junk, script kiddies junk and spam spam spam) I think it was a blessing that someone came and rm -rf’d it. Seriously.

    jQuery is ubb3r and deserves a l33t plugin archive.

    And stop pressing for the new site! Those guys have a life you know? If you want to speedup the result go a fund them.

  150. Bill Says:

    It sounds as if you didn’t value the Plugins site that much Bruno! The rest of us did (even if there were spam items and out-of-date items one could with little trouble skip over them) and used it extensively. The attitude that `its not there, so what?` must be very demotivating for the developers, although not as obnoxious as the `sack them all` brigade!

    My feelings are:
    (1) It is are that it is an integral part of jQuery. Not having a plugin site lessens the value of jQuery itself.
    (2) I’d like it back on-line ASAP
    (3) But above all keep us informed of what’s happening and when a new one will be available.

  151. jQuery Rocks Says:

    While I do use the vast majority of features in jQuery, I’ve never really used plugins much. I understand some users’ frustration in the glacial pace of the new plugin site’s development. Personally I wish that jQuery UI 1.9 would finally be finished, and I do find it frustrating to see how slowly it’s progressing. I also think an occasional update on the status of the plugins site would be nice.

    However, it is crucial to maintain a respectful, level-headed jQuery community. Some of these comments are very rude and unnecessary. jQuery has expanded to include jQuery, plugins, UI, and Mobile as central projects.

    If you’re unhappy with the pace of jQuery releases, I’m sure they’d appreciate having more developers to contribute towards the various projects’ development. While having more developers does not always speed up a project, I think in this case, it might be helpful – and it’s certainly more constructive than bashing the jQuery team.

  152. Bill Says:

    Reply to jQuery Rocks:
    I certainly didn’t mean to come across in anyway critical to the jquery teams! We are lucky to have a dedicated and talented teaming working for the user community. It is just that it is frustrating to have no way (for a considerable period) for the users to contribute their applications, based on jQuery, and for the rest of us to be made aware of the options out there. Otherwise we are re-inventing wheels the whole time.

    I think if we know what was happening and when the plans were to deliver an alternative (or just reinstate the old system for a while) then we would all feel better. As you say a date for UI 1.9 would be of interest too!

  153. jQuery Rocks Says:

    I wasn’t really referring to your posts, Bill – I was mostly talking about others’ comments that the jQuery team should be fired, and where people were swearing, calling the author of the article various things, etc.

  154. Jeremotas Says:

    Hey! We really miss the Plugin site. Can you mail us about the progress?

  155. Bill Says:

    Reply to jQuery Rocks
    That’s a relief – Though I’d caused offence – I am a jQuery fan too.

    I do rely a lot on jQuery plugins (and some of my own coding) to make my websites memorable. Without the PlugIns site I’m struggling to reInvent the wheel and my productivity has fallen off a cliff.

    I do agree that abuse and calling people names is never the right solution, and also counter-productive as I’m sure it will demotivate the talented group who provide this excellent resource.

  156. DipRach Says:

    I am using Jquery Idle timeout plugin it’s working fine for aspx pages but it’s not working for fancybox modalpopup. when i clickon OK to continue from fancybox modalpopup then my session is expiring and going to logoff page. Does anybody has idea about this?

  157. Martyn Says:

    In the past I have found JQuery plugin site extremely useful. The only time the excuse regarding ‘several thousand advertisements for laptop batteries’ came up was following the discovery that no one had actually backed up irreplaceable data. All concerned should have a career rethink and leave this kind of stuff to experts.

    P.S. Just how long is this going to take to clear up? First post appeared on 8th December 2011.

  158. Anna Says:

    Oh I miss the old plugin site!

    Through this experience you’ll never forgot to make a backup, I think.

    Good luck for the new site! Could you crate an email reminder for people who want to use this site as fast as one can?

  159. vic Says:

    I think that’s the kind of thing you only learn the hard way. Most engineers out there will probably relate to this :-)

    Anyways, the important thing is when will the new site be up ? The old site probably had its problems, but having nothing to work with is worse.

  160. bahadir colak Says:

    I belive you’ve missed one important point while moving to github…Simplicity… Old repository was really simple, not perfect but more usable for most users…

  161. David Grahm Says:

    No activity on this project and no updates? jQuery core is starting to look like a ******* unprofessional mess.

  162. Falconer Says:

    Love jquery, starting to REALLY resent the website, more specifically the plugins pages. Can’t ever seem to download anything, the damn “we’re fixing this” box at the top has been there seemingly forever and github as an alternative is a mess. Bad judgement call there.

  163. JJ Says:

    Please guys, it’s going on three months since you took down the plugins. Even as messy as you thougtht the old plugin pages were, it was far superior to no plugin pages at all. You could have left things “as is” until you launched the new plugins section. Three months is just unacceptable any way you spin this.

  164. giorgio Says:

    Should have used this as well http://drupal.org/project/backup_migrate

  165. Paulo Says:

    Excelent Ideia. Go on! If you need some help I can help to put this on.