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
Issue fork project_browser-3249958
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
Comment #3
bnjmnmCreating the mirrored DB on install is complete. Still need to add dynamically updating the db.
Comment #4
bnjmnmComment #5
tim.plunkettLooks great, love the approach Ben.
Marking RTBC for now, will merge shortly if I don't hear otherwise.
Comment #7
tim.plunkettMerged! Thanks Ben