Problem/Motivation

Project browser is limited by the capabilities of https://www.drupal.org/api-d7/node.json

Most of what we need changed in that endpoint would be easy to accomplish were the same data stored in the DB.

Steps to reproduce

Proposed resolution

On install, create a a DB table to store a streamlined version of the API data, populated with a fixture. In state, document the most recently updated timestamp in the fixture

When a user visits the browser UI, there will be an API request that sorts by changed and adds/updates projects until it hits the "most recently changed" timestamp. This should result in less API overhead, and makes sorting/filtering much easier.

It's not the most elegant solution, but one that removes the dependency on the D.O. API providing additional functionality.

Remaining tasks

  • ✅ File an issue about this project
  • ☐ Addition/Change/Update/Fix to this project
  • ☐ Testing to ensure no regression
  • ☐ Automated unit/functional testing coverage
  • ☐ Developer Documentation support on feature change/addition
  • ☐ User Guide Documentation support on feature change/addition
  • ☐ Code review from 1 Drupal core team member
  • ☐ Full testing and approval
  • ☐ Credit contributors
  • ☐ Review with the product owner
  • ☐ Release

User interface changes

API changes

Data model changes

Release notes snippet

Command icon Show commands

Start within a Git clone of the project using the version control instructions.

Or, if you do not have SSH keys set up on git.drupalcode.org:

Comments

bnjmnm created an issue. See original summary.

bnjmnm’s picture

Creating the mirrored DB on install is complete. Still need to add dynamically updating the db.

bnjmnm’s picture

Status: Active » Needs review
tim.plunkett’s picture

Status: Needs review » Reviewed & tested by the community

Looks great, love the approach Ben.
Marking RTBC for now, will merge shortly if I don't hear otherwise.

  • tim.plunkett committed 45177a1 on 1.0.x authored by bnjmnm
    Issue #3249958 by bnjmnm: Mirror API in database to make sorting and...
tim.plunkett’s picture

Assigned: bnjmnm » Unassigned
Status: Reviewed & tested by the community » Fixed

Merged! Thanks Ben

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.