-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Geolocations on Updates #646
Comments
As was said during the stand-up earlier today, it's not obvious what we want to model by adding locations to updates. Capturing the location of the image seems the clearer, a general location of an update is fuzzier in nature. Depending on what we want to represent I see two ways to extend the data model. We can add a location object like the ones for projects and orgs to updates, or we move the image out of the update object and into its own model, adding fields for meta data about the image, like time stamp and location. Moving the image into its own model opens the way for updates with multiple images (although location data for an update then becomes a cluster of points!). |
I've been in touch with Amit who has been speaking with several partners about this and got a list of priority order for reasons why users want to have locations on updates. It's within the functional spec here: https://github.com/akvo/akvo-product-design/blob/master/RSR/Features/40-Update-Locations/FunctionalDesign/40-Update-Locations.md I think using the location from the image makes the most sense and provides the kind of information we need to present for our partners. I like the idea of having an updatelocation table, this fits in line with the project and organisation, it allows maps to easily be configured to take this into account (as the model is the same layout) and as mentioned it does pave the way for multiple images (and therefore locations) to be included within a single update. |
Note that the updatelocation table only allows us to have multiple locations for one update. In order to have multiple images for updates, we would need to create a separate table for images, as @zzgvh mentioned, such as updateimage (and projectimage if we also want multiple images per project). |
You're right i did manage to get mixed up here. I like the direction this is going in, but I would be wary about creating tightly coupled location and image models as they should not be dependent completely on each other - while the business logic for posting an update may intially ensure that locations on updates are derived from images, I think it would be a mistake to have underlying system logic that means a location cannot exist without an image. |
True. OTOH it seems logical, if we have a separate image model, to add relevant meta data for the image, such as location and timestamp. Then we can choose to use that as the basis for the location of an update, but it may be only one way among many to position an update. |
Having a separate image model does make sense in many aspects, and I think can also be expanded to the project model as well - this is going to be in more demand. One option might be to allow a location to be linked to a project or an image - this adds a layer of complication though... Along with the discussions here: akvo/akvo-rsr-up#22 I am beginning to think that adding a "Add my current location" button to the Update form would be a hugely more simplified solution that also doesn't close any doors or add huge amounts of complexity. I will check this out further on use cases. |
Add ProjectUpdate.primary_location field Add ProjectUpdateLocationInline
Merged in #711 |
Tested on UAT and works as intended through the admin - presumably there's still work to be done to incorporate this on adding location through the project listing? |
We will be working on adding Geolocations to project updates within RSR Up in the upcoming release:
akvo/akvo-rsr-up#22
This has several impact points on RSR itself:
Potenitally other items to consider?
The text was updated successfully, but these errors were encountered: