nextcloud / nextcloud/contacts

Use the regional settings of a users preferences to alter the mapping order of Address Fields.

Open
#2,127 3 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

1. to develop enhancement
Dominant language
JavaScript
Stars
642
Forks
220
Avg merge
14h 39m
Merged PRs (30d)
51

Description

My feature request is related to a problem.
Because I have address data in calendar events and in my contacts list, I notice that I often have trouble on a mobile device getting the mapping app available on the device to understand the address I want to navigate to. Because my Nextcloud calendar location field no longer auto-populates from a search of the contacts, I always put the address in using the USA standard, and I never get a failure from the toss to the mapping app.

The pattern of non-compliance stems from the way Nextcloud sourced contacts are populated in the various contacts apps I use/used on Android devices.
The standard for the USA is <building/house number> <street name>, <city>, <state> <zipcode>
Google seems to only need <building/house number> <street name> <zipcode> but we can't assume google will be the users favorite mapping app. However, if that is a primary key for mapping in the USA, then maybe all mapping apps can get there with just that.

The problem is all contacts apps seem to send to the mapping app,
<building/house number> <street name> <zipcode> <city> <state>
if the contact was synched from Nextcloud. That order of fields only works sometimes, not all the time.

Describe the solution you'd like
Perhaps if an Address block in Nextcloud has the Country filled in as {us, US, usa, USA, united states, United States, united states of america, United States of America, ...} or if the persons account has the USA regional settings, and the country isn't specified, the fields could be sent to a CardDAV request in a slightly different order? I know absolutely nothing about how they get transferred over, so I can't help past just complaining about it. I assumed things were mapped, but it seems more like they are tossed across by a JSON-type format. On a Nextcloud Contact page, the Postal code field appears between Extended address and City, which is exactly how it transfers, but for the USA addresses (and probably all of Canada & Mexico), it should come between the State or province and Country fields.

Describe alternatives you've considered
I have no alternative ideas.

Additional context
Somewhat related to this problem but out of the scope of Nextcloud's domain is the extended address portion. Mapping software misunderstands an address if the {Suite #, Apt #, Building #, ...} information is passed to it. That seems more of the job of the Contacts app on the mobile device to omit tossing the Extended address to the Mapping app.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how address fields are transferred in CardDAV requests and how the Contacts page represents the Postal code, City, State or province, Country, and Extended address fields. Clarify which regional settings and country values should control ordering, then define tests covering USA and unspecified-country addresses; done means mapping applications receive a consistent, region-appropriate order.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.