diff --git a/apps/devhub/cron.py b/apps/devhub/cron.py
new file mode 100644
index 00000000000..539dfd0ec3e
--- /dev/null
+++ b/apps/devhub/cron.py
@@ -0,0 +1,31 @@
+from django.conf import settings
+
+import commonware.log
+from dateutil import parser
+import feedparser
+
+import cronjobs
+from devhub.models import BlogPost
+
+log = commonware.log.getLogger('z.cron')
+
+
+@cronjobs.register
+def update_blog_posts():
+ """Update the blog post cache."""
+
+ items = feedparser.parse(settings.DEVELOPER_BLOG_URL)['items']
+ if not items:
+ return
+
+ BlogPost.objects.all().delete()
+
+ for item in items[:5]:
+ post = {}
+ post['title'] = item.title
+ post['date_posted'] = parser.parse(item.date)
+ post['permalink'] = item.link
+ BlogPost.objects.create(**post)
+
+ log.info('Adding %d blog posts.' % BlogPost.objects.count())
+
diff --git a/apps/devhub/tests/rss_feeds/blog.xml b/apps/devhub/tests/rss_feeds/blog.xml
new file mode 100644
index 00000000000..050d9f8dd98
--- /dev/null
+++ b/apps/devhub/tests/rss_feeds/blog.xml
@@ -0,0 +1,371 @@
+
+
With the Thunderbird 5 Beta release, we’ve enabled the 5.* maximum version in the AMO Developer tools. Thunderbird 5 Beta is now API frozen, so if you haven’t already done so, please make sure your add-on is compatible. We expect it to be released near the end of the month.
+For add-ons, the most significant change in Thunderbird 5 is the new Add-on Manager that was incorporated into Firefox 4. There is documentation and further information on developer.mozilla.org.
+If you have any further questions or concerns, please post in the forums, or join #extdev on irc.mozilla.org for real-time assistance.
+]]> +I just posted a thorough look at breaking changes in Firefox 5 and 6. If there’s anything missing there, please let us know.
+On the add-on performance front, the Talos team has been doing a lot of progress fixing bugs in the automated testing framework. Our Performance page is now much more accurate because of this. For a more detailed view of the test results, Wladimir Palant (the creator of AdBlock Plus) has an excellent overview dashboard that points out failed tests as well as abnormal results.
+One of the bugs filed for the this initiative requested documentation for add-on developers on how to set up a similar testing system as the one we are currently using. I’ve completed this document and you can find it here: Measuring Add-on Startup Performance. I encourage you to give it a try and let me know if there’s anything missing or incorrect in the document.
+]]>The new rapid release schedule for Firefox is in effect, and you can already get preview versions of Firefox 5 and Firefox 6 in the Beta and Aurora channels, respectively. Firefox 5 will most likely be released in a couple of weeks, and Firefox 6 should follow 6 weeks later.
+Because of the fast-paced schedule, these new releases are less problematic for add-on developers given that they include very few compatibility-breaking changes. This post covers all known add-on compatibility issues with Firefox 5 and 6. If you have run into other issues and don’t see them mentioned here or documented anywhere else, please let us know.
+We have already done an automatic compatibility upgrade to Firefox 5 for all add-ons that qualified for it, and we will do a similar upgrade for 6 sometime this week, maybe later today.
+How do we select which add-ons to upgrade? They need to be compatible with the previous Firefox version, they must not have binary components (since they usually need to be rebuilt) and they need to pass special compatibility tests that we create based on the known breaking changes, which are listed below.
+WRONG
+var comp = Components.classes[...].getService(...); +var MyObject = { + init: function() {}, + ... +} +window.addEventListener("load", function() { MyObject.init(); }, false);+
WRONG
+var MyObject = { + comp : Components.classes[...].getService(...), + init: function() {}, + ... +} +window.addEventListener("load", function() { MyObject.init(); }, false);+
RIGHT
+var MyObject = { + comp : null, + init: function() { + this.comp = Components.classes[...].getService(...); + }, + ... +} +window.addEventListener("load", function() { MyObject.init(); }, false);+
Just don’t instantiate any components before the load event. Better yet, follow our performance best practices and don’t instantiate anything until it’s needed.
+Once again, if there’s anything missing in these lists, please let us know. Thank you!
+]]>Firefox 5 is already on beta. The development cycle for future versions of Firefox will be very fast, moving changes between 4 different update channels, as explained here. There will be a new major Firefox release roughly every 6 weeks.
+We have already upgraded most Firefox 4-compatible add-ons on our site to support Firefox 5, automatically. We scanned all changes checked in, identified the ones that could affect existing add-ons, and integrated them into our automatic upgrade script. You should have received an email indicating if your add-on was upgraded, with indications of why not if that was the case.
+For more info, check out Firefox 5 for developers.
+The code that will become Firefox 6 is also on track to be moved to the Aurora channel. Actually, according to plan this should happen today.
+We will perform the automatic Firefox 6 upgrade very soon, so again we’re looking at breaking changes. I will be blogging about this soon because there are a few possibly-breaking changes coming up in 6.
+You can start digging into the docs in Firefox 6 for developers.
+On the add-on performance front, the Talos team has been doing a lot of progress fixing bugs in the automated testing framework. Our Performance page is now much more accurate because of this. For a more detailed view of the test results, Wladimir Palant (the creator of AdBlock Plus) has an excellent overview dashboard that points out failed tests as well as abnormal results.
+One of the bugs filed for the this initiative requested documentation for add-on developers on how to set up a similar testing system as the one we are currently using. I’ve completed this document and you can find it here: Measuring Add-on Startup Performance. I encourage you to give it a try and let me know if there’s anything missing or incorrect in the document.
+]]>We were able to mark 3,890 add-ons as compatible with Firefox 5. There were 256 that failed our automatic scanners either due to including binary components or using navigator.language
, which was changed in Firefox 5. All affected add-on authors received an email about the compatibility update and instructions depending on whether they passed or failed.
This was our first time doing a mass compatibility bump, so please let us know your feedback on it, especially if you think something didn’t work properly.
+One noteworthy issue is that some developers will receive emails saying that a previous version of their add-on has had its compatibility bumped if the latest version is already compatible. We only intended to bump the latest reviewed version of a Firefox 4 compatible add-on, along with any newer versions that haven’t been reviewed yet. This unnecessary change should be corrected for future updates.
+Developers will see this process take place again in the next two weeks for the imminent Aurora 6 promotion, and then things will be on their normal track every 6 weeks.
+]]>We’ve also created a new mailing list for add-on compatibility announcements that we encourage all add-on developers to subscribe to. This is a moderated list that we’ll occasionally email with information on breaking compatibility changes and upcoming Firefox release summaries. We especially encourage developers who do not host their add-ons on AMO to subscribe, as this will be the best way to keep up with compatibility in absence of the automatic detection and bumps of other add-ons.
+ +]]>Since the beginning of AMO, we’ve had a set of featured add-ons that are displayed prominently on the homepage and an ever-expanding list of other areas. Being featured guarantees downloads and notoriety, and many add-ons, especially start-ups, see it as crucial in order for their add-on to succeed.
+End users see this list as a safe place to start with add-ons and trust Mozilla to feature great add-ons that work perfectly. However the selection process until now has been a pretty objective one, handled randomly by a small number of people, and the list has not been updated as frequently as we would have hoped.
+We would therefore like to reach out to the Mozilla community to be part of an Advisory board to review new add-ons, and maintain a set of featured add-ons that are updated each month. We think this is a fair, and novel way to overcome some of the hurdles involved outlined above, and a chance to hand the responsibility over to the community that actually use and develop add-ons on a daily basis.
+Every 6 months, a call will go out via the Add-ons Blog for volunteers to participate in choosing featured add-ons. Volunteers must commit to trying the add-ons that apply to be featured and attending a monthly conference call to discuss suitability.
+Each Board’s term is 6 months and will be comprised of 5 community members and 2-3 members of the Mozilla Add-ons team.
+Members must abstain from voting on add-ons that they have any business or personal affiliations with, as well as direct competitors of any such add-ons. Members must be picked from the add-ons community: power users, developers, and evangelists of add-ons
+If you would like to be considered for a position on the add-ons advisory board, please email amo-featured@mozilla.org with your name and contact details, no later than May 19th 23:59 PDT.
+You can find our more about the new featured add-on selection process on the wiki.
+]]>Firefox 4 is out! If your add-on is already compatible, you should update your maxVersion to 4.0.* to cover all future 4.0 releases. Most of the necessary documentation to upgrade your add-on for Firefox 4 is readily available:
+Yeah, it’s time to begin thinking about Firefox 5. The development cycle for future versions of Firefox will be very fast, moving changes between 4 different update channels, as explained here. There will be a new major Firefox release roughly every 6 weeks.
+On our side, we will automatically upgrade the compatibility of your add-on to Firefox 5 unless we have reasons to believe the add-on is incompatible. Since major releases are produced faster, it also means they’re milder in terms of breaking changes. The discussion about this new add-on compatibility process is happening in this newsgroup. If you want to get more details or have any feedback, please dive in.
+The Firefox repo has already branched into the Aurora track, meaning that no major changes will happen until final release. Here are the documents you should follow to know what’s going on:
+To get started building add-ons with the Add-on SDK, download it and then check out the
+documentation and the Release Notes for more details about this release.
As always we’d love to hear from you about your experiences with this release! You can contact us in a variety of ways:
+post to our discussion group
+chat with us on irc.mozilla.org #jetpack
+report a bug
+check out the source and contribute bug fixes, enhancements, or documentation