JetBrains Plugin Repository: Summer Updates

The JetBrains Plugin Repository is an aptly named web service for hosting and finding plugins for IntelliJ-based IDEs and TeamCity, extending the functionality of the products with new features, such as new language, framework or integrations. It’s both a web site and a web service, with a rich front end for searching for new plugins, and an API, used from the IDEs to find and install plugins, and by plugin authors to upload new versions.

As various teams are working on many improvements to the extensibility and plugins at JetBrains, today we’d like to start publishing regular updates on changes introduced on the side of the plugin repository.

New Look-and-Feel

The web pages of the plugin repository got its first rework of the look-and-feel about a year ago, and this summer we’ve built up on it, introducing a new index page and a header to make sure that your way through the repository is as easy and straightforward as possible:

blog_summer_plugins_1

Search

With close to 3000 plugins available in the plugin repository today, it’s very important for us to make a huge focus on the search in the web version. With so many goodies, it would be really hard to navigate the categories to find the very plugin you are looking for right now.

Elasticsearch-Logo-Color-VWe’ve tremendously improved the quality of the plugins.jetbrains.com search engine, and that was quite a long journey.

We have moved away from the simple search in the database (1st iteration many years ago) to Google Site Search (2nd iteration about half a year ago), which (unfortunately for us) has been discontinued in April 2017. As we couldn’t use it anymore, we have made a further shift towards ElasticSearch and our own indexes to build the best possible experience for plugins search (3rd iteration released a couple of months ago).

S3 & Content Delivery Network (CDN)

Plugin Repository is responsible for serving more than 20 Terabytes of plugin packages traffic a month, in addition to a large amount of meta information requested by products (e.g. plugin update check, plugin list, plugin recommendations, etc).

In order to ensure higher plugin delivery rates all around the world (even during major JetBrains products releases!), and increase a download speed, we have moved all the plugin packages to be stored on Amazon S3 and to be distributed from there via a CloudFront content delivery network (CDN) having the nodes all around the world.

If your IntelliJ IDEA-based IDEs plugins are still distributed from your server, please let us know and we’ll be happy to move them and distribute via our CDN.

Community and Educational Editions (when applicable)

IntelliJ IDEA Community, PyCharm Community, and PyCharm Educational editions are now fully supported in the plugin repository, and plugins can be searched and found in the web interface too, in addition to the already-available directory in the IDE.

blog_summer_plugins_2

Plugins Deprecation

End-of-life is one of the many possible stages for any product at some point in time, and plugins are not an exception – priorities of authors change, technologies evolve, and plugins expire.

To preserve the history and keep older updates online, we’ve introduced a special plugin deprecation process, so that plugin authors don’t need to remove the plugin with all of its updates altogether.

blog_summer_plugins_3

Now plugin repository administrator can set a Deprecated tag for a plugin which means that it wouldn’t be possible to find the plugin in the web version of the repository (it’d be still accessible via a direct link and from a special Deprecated category), and it would not be offered as an available plugin in the product too (IDE deprecation workflow to be available soon), the deprecated plugin can be still installed manually (if compatible, of course).

blog_summer_plugins_4

Please let us know if you want to deprecate any of your plugins, plugin author action will be available soon.

We are going to introduce more tags serving different purposes in the future.

Schema.org & Social Networks Markup

We’ve added a Schema.org markup, which makes it much easier to spot plugins on the search engine results page thanks to inline ratings and other enhancements:

blog_summer_plugins_5

In addition to that, a social networks markup (via Open Data) makes sure that shared links to the plugin pages look much nicer.

Architecture and Infrastructure Updates

Millions of JetBrains products instances around the world rely on the plugin repository every day (for plugin lists, updates, downloads, etc), and we are dedicated to making it even more reliable, bringing more features and improvements to both end-users and plugin developers.

We have almost finished a major plugin repository architecture and infrastructure rework (cheers to all the team for a great work!), which helps us focusing more on the  further developments of the service and product part, which means that many more exciting changes are coming!

We would be very glad to hear your suggestions in the comments below or via email plugins-admin@jetbrains.com, and make sure to subscribe to our JetBrains Platform (@JBPlatform) Twitter account to follow all the news.

JetBrains
The Drive to Develop

This entry was posted in Plugin Repository. Bookmark the permalink.

6 Responses to JetBrains Plugin Repository: Summer Updates

  1. Mallowigi says:

    About deprecation: users should be able to do this for VERY OLD plugins. Sometimes the plugin owner is not here anymore and/or does not care about his plugin for IntelliJ 11.

    • Mikhail Vink says:

      I think we’ll introduce the “flag plugin” from the user side, then it’d be moderated by the admin and the depreciation (or removal in case of e.g. spam) would be applied. Would it work?

  2. Vojtěch Krása says:

    Have you noticed that the Top Rated category is completely broken now?

    • Mikhail Vink says:

      Not really, thanks for pointing out! It seems the ranking formula has gone mad, file a bug to be fixed ASAP.

  3. Lin says:

    How long will it take to make a new release of a plugin downloadable from IDE plugin repository?

    • Mikhail Vink says:

      If you ask about the approval process of the new update uploaded to the plugins repository, it normally takes two business days to approve it on our side. Did I understand the question correctly?

Leave a Reply to Mallowigi Cancel reply

Your email address will not be published. Required fields are marked *