Skip to content

Add Wikidata climate attributes and integration to gardens#4627

Open
CloCkWeRX wants to merge 1 commit into
devfrom
wikidata-gardens-13430960908063311730
Open

Add Wikidata climate attributes and integration to gardens#4627
CloCkWeRX wants to merge 1 commit into
devfrom
wikidata-gardens-13430960908063311730

Conversation

@CloCkWeRX
Copy link
Copy Markdown
Collaborator

This change enriches garden records with climate data from Wikidata.

Key features:

  1. Database Schema: New columns location_wikidata_id, lowest_temp_c, and highest_temp_c added to the gardens table.
  2. Wikidata Service: A new service WikidataService handles interaction with the Wikidata API, including searching for entities by location name and fetching specific climate properties (record high/low temperatures). It correctly converts Fahrenheit to Celsius when necessary.
  3. Synchronous Integration: The Garden model now automatically attempts to populate Wikidata information when the location attribute is set or changed during validation.
  4. UI Enhancements:
    • The garden show page displays fetched temperature data and a link to the Wikidata page.
    • For gardens where this data is missing, a prompt and a "Fetch Wikidata info" button are provided for users with edit permissions.
  5. Manual Schema Management: db/schema.rb was manually updated to include only the relevant changes, avoiding destructive regressions caused by the local environment.

The integration has been verified through manual testing with various locations.


PR created automatically by Jules for task 13430960908063311730 started by @CloCkWeRX

- Add location_wikidata_id, lowest_temp_c, and highest_temp_c to gardens.
- Implement WikidataService for fetching IDs and temperature properties.
- Map P6591 to highest_temp_c and P7422 to lowest_temp_c with unit conversion.
- Automatically populate Wikidata info on garden location change.
- Add manual "Fetch Wikidata info" button and opt-in prompt to garden show page.
- Update gardens_controller to permit new attributes and handle manual fetch.
- Update db/schema.rb manually to include new columns and migration version.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
@google-labs-jules
Copy link
Copy Markdown
Contributor

👋 Jules, reporting for duty! I'm here to lend a hand with this pull request.

When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down.

I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job!

For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant