TODO: Fetch updated module/issue content from drupal.org

This site has links to Drupal modules and issues.

Use the API to periodically fetch updates.

For example, set module release version or issue status.

Modules

Show recently active issues.

Show notifications for releases.

Changelog

Show a changelog screen with a batch of updates since your last check.

Issues

Check for updates on issues.

Show a notice when issues are updated, with any changes in status.

Update issue status in drupal automatically.

Syncing

It can take a while to fetch the full list of items from the API.

The REST API has over 1000 pages with 50 modules each, and each page took about 10 seconds to load.

The initial sync is going to take a while, but what about getting updates?

One way is to use a cron job to re-run the import and update all items.

But the order of items in the list may change, so if one cron job syncs page 5, and the next syncs page 6, there may be an overlap or gap in items.

A better way to re-sync all items is to sort the list by an auto increasing value like nid, or a time series, like created timestamp.

Each fetch uses the highest nid/created from the previous sync to filter items equal or below that value. This ensures that the syncing picks up where it left off.