<p></p>
<h3 dir="auto">Problem</h3>
<p dir="auto">Do you have some key-value meta-data you would like to store with map notes? Would you like to do it like with tags in nodes / ways / relations / changesets / .. instead of writing in description / comments? Note tags have already been mentioned / requested several times in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="17314854" data-permission-text="Title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/385" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/openstreetmap-website/issues/385/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/issues/385">#385</a> , <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="39791661" data-permission-text="Title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/801" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/openstreetmap-website/issues/801/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/issues/801">#801</a> , <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1582450823" data-permission-text="Title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/3932" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/openstreetmap-website/issues/3932/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/issues/3932">#3932</a> and similar. Here we expose our plan about how we could add them.</p>
<h3 dir="auto">Description</h3>
<p dir="auto">Here is a list of PRs (steps) we would like to work on with rough description of what they will do. We would highly appreciate your feedback and suggestions on how we could improve the plan:</p>
<ol dir="auto">
<li>Create migration script for creating note-tags table:
<ul dir="auto">
<li>create new table <strong>note_tags</strong> with note_id (bigint(8)), k (string, default “”, not-null) and v (string, default(“”), not-null) attributes</li>
<li><strong>(note_id, k)</strong> will be set as private key and <strong>note_id</strong> will be foreign key referring id attribute from <strong>notes</strong> table</li>
</ul>
</li>
<li>Add loading and displaying note tags using <strong>browse/tag_details</strong> partial
<ul dir="auto">
<li>Add displaying of note tags using <strong>browse/tag_details</strong> partial between Description (currently "special first comment") and Comments (remaining comments)</li>
<li>Add / improve new / existing unit tests for testing new functionalities</li>
</ul>
</li>
<li>Update Notes API to include retrieving note tags
<ul dir="auto">
<li>Update <strong>(j)builder</strong> / <strong>API::NotesController</strong> / <strong>Note model</strong> files to include note tags in generated files<br>
It will insert <strong></strong> pairs between <strong>ID</strong> and <strong>URL</strong> like in <a href="https://wiki.openstreetmap.org/wiki/API_v0.6#:~:text=api/0.6/notes-,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF%2D8%22%3F%3E%0A%3Cosm%20version%3D%220.6,html%3E%0A%09%09%09%3C/comment%3E%0A%09%09%09...%0A%09%09%3C/comments%3E%0A%09%3C/note%3E%0A%09...%0A%3C/osm%3E,-Response%20JSON" rel="nofollow">this example</a></li>
<li>Add / improve new / existing unit tests for testing new functionalities</li>
</ul>
</li>
<li>Update Notes API to include creating Note instances with tags
<ul dir="auto">
<li>Update <strong>API::NoteController</strong> to create Note instances with tags</li>
<li>Add / improve new / existing unit tests for testing new functionalities</li>
</ul>
</li>
<li>Improve existing and add new unit tests for testing new features
<ul dir="auto">
<li>Add more stressful unit tests for testing new features</li>
</ul>
</li>
<li>Update Wiki documentation about OSM API v0.6 section Map Notes (this will be more of a side task than a PR)</li>
</ol>
<h3 dir="auto">Screenshots</h3>
<p dir="auto"><a href="https://github.com/user-attachments/assets/6d3b9928-ac69-43f5-b3a4-f875cdb53c6a">image.png (view on web)</a></p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/issues/5294">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLN7FVO26A5ANYENF63Z56XSPAVCNFSM6AAAAABQ2HD3MWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGYZDCNZTGA2DGMI">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLJKZDVFVZHP4VFLUVDZ56XSPA5CNFSM6AAAAABQ2HD3MWWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHJYRDOP4.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/issues/5294</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/issues/5294",
"url": "https://github.com/openstreetmap/openstreetmap-website/issues/5294",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>