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.
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:
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.
We’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.
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.
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).
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:
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 firstname.lastname@example.org, and make sure to subscribe to our JetBrains Platform (@JBPlatform) Twitter account to follow all the news.
The Drive to Develop