[{"data":1,"prerenderedAt":1211},["ShallowReactive",2],{"guide:en:field-operations/version-management":3},{"id":4,"title":5,"body":6,"description":1203,"extension":1204,"meta":1205,"navigation":1206,"path":1207,"seo":1208,"stem":1209,"__hash__":1210},"guide_en/en/user/field-operations/version-management.md","Version Management — Collaborative Offline Editing and Conflict Resolution",{"type":7,"value":8,"toc":1157},"minimark",[9,14,18,23,31,38,43,71,76,87,91,97,102,113,117,120,125,142,147,158,163,180,184,188,193,207,212,232,238,243,249,255,259,282,286,289,294,310,314,319,330,335,346,351,362,366,370,381,385,391,395,398,405,409,412,417,421,426,440,445,456,461,469,473,476,480,485,499,504,510,515,526,530,534,548,552,558,562,576,581,601,604,608,613,624,629,640,644,649,666,670,676,680,685,696,701,712,717,728,732,739,744,755,758,762,766,771,788,793,804,808,813,819,824,830,835,841,845,850,861,866,872,876,880,883,897,901,906,912,917,928,932,937,952,957,968,973,987,991,995,1000,1011,1016,1027,1031,1036,1047,1052,1063,1067,1072,1089,1093,1097,1108,1113,1124,1128],[10,11,13],"h1",{"id":12},"version-management","Version Management",[15,16,17],"p",{},"Aptli's version management system lets you edit maps and schematics offline — in subway tunnels, remote sites, or areas with poor connectivity — and submit your changes when you're ready. The system detects conflicts when two users have edited the same area, preserves permanent version history for every commit, and gives admins a review queue before field edits go live. This page covers how to use the version controls and resolve conflicts.",[19,20,22],"h2",{"id":21},"version-controls-interface","Version Controls Interface",[15,24,25,26,30],{},"Version controls appear in the map toolbar itself – on desktop they sit in the first row of icons next to the mode selector and data‑transfer button, while on mobile they form the first line of the bottom navigation bar.  The accompanying image shows the desktop layout; if you look at the map toolbar you’ll also notice the ",[27,28,29],"strong",{},"Data Transfer"," button beside the controls (used for import/export).",[15,32,33],{},[34,35],"img",{"alt":36,"src":37},"Version Toolbar","/guide/field-operations/version-toolbar.png",[15,39,40],{},[27,41,42],{},"Primary Controls:",[44,45,46,53,59,65],"ul",{},[47,48,49,52],"li",{},[27,50,51],{},"Undo"," - Revert the last change in current session",[47,54,55,58],{},[27,56,57],{},"Redo"," - Reapply a change that was undone",[47,60,61,64],{},[27,62,63],{},"Resync"," - Reload data from server, discard uncommitted local changes",[47,66,67,70],{},[27,68,69],{},"Submit"," - Push all uncommitted changes to server",[15,72,73],{},[27,74,75],{},"Uncommitted Changes Badge:",[44,77,78,81,84],{},[47,79,80],{},"Orange badge on SelectedFeatures button shows count of uncommitted changes",[47,82,83],{},"Updates reactively as you create/edit/delete features",[47,85,86],{},"Helps track pending work before Submit",[19,88,90],{"id":89},"how-versioning-works","How Versioning Works",[15,92,93],{},[94,95,96],"em",{},"(Server imports: background jobs such as automated data feeds create and commit their own versions.  End users do not need to load these manually – imported features simply appear in the map once the job finishes.)",[98,99,101],"h3",{"id":100},"the-versioncommit-flow","The Version/Commit Flow",[103,104,109],"pre",{"className":105,"code":107,"language":108},[106],"language-text","1. Draft Created       → Change exists in browser storage\n   ↓                     Feature has _uncommitted flag\n   \n2. Edit Offline        → Modify properties, geometry, relationships\n   ↓                     All changes tracked locally\n   \n3. Submit              → Push changes to server\n   ↓                     Server creates version record\n   \n4. Conflict Check      → Server detects spatial/ID conflicts\n   ↓                     Option to view others' drafts\n   \n5. Merge or Rollback   → Accept changes or undo\n   ↓\n   \n6. Version Compressed  → Historical state preserved forever\n                         Change becomes permanent record\n","text",[110,111,107],"code",{"__ignoreMap":112},"",[98,114,116],{"id":115},"three-change-tracking-systems","Three Change Tracking Systems",[15,118,119],{},"Aptli uses different patterns based on workflow needs:",[15,121,122],{},[27,123,124],{},"1. Versioned Models (Map Features, Layers, Schematics):",[44,126,127,130,136,139],{},[47,128,129],{},"Changes stored in browser storage until Submit",[47,131,132,135],{},[110,133,134],{},"_uncommitted"," flag tracks draft state",[47,137,138],{},"Conflicts detected via spatial analysis",[47,140,141],{},"Permanent version history (never deleted)",[15,143,144],{},[27,145,146],{},"2. Real-Time Models (Assignments, Reports, Transactions):",[44,148,149,152,155],{},[47,150,151],{},"Changes saved immediately to server",[47,153,154],{},"No offline drafting (execution requires confirmation)",[47,156,157],{},"No version history (operational data)",[15,159,160],{},[27,161,162],{},"3. Tasks (Hybrid):",[44,164,165,168,171],{},[47,166,167],{},"Versioned for planning phase (offline design)",[47,169,170],{},"Real-time for execution (assignments bypass versions)",[47,172,173,174,179],{},"See ",[175,176,178],"a",{"href":177},"/guide/work-fulfillment","Work Fulfillment Guide"," for details",[19,181,183],{"id":182},"using-version-controls","Using Version Controls",[98,185,187],{"id":186},"submit-push-changes-to-server","Submit - Push Changes to Server",[15,189,190],{},[27,191,192],{},"When to Submit:",[44,194,195,198,201,204],{},[47,196,197],{},"End of work session (save progress)",[47,199,200],{},"Before switching projects (persist changes)",[47,202,203],{},"After major edits (create checkpoint)",[47,205,206],{},"Before going completely offline (sync latest)",[15,208,209],{},[27,210,211],{},"What Gets Submitted:",[44,213,214,220,223,226,229],{},[47,215,216,217,219],{},"All features with ",[110,218,134],{}," flag",[47,221,222],{},"Layer modifications",[47,224,225],{},"Schematic diagram changes",[47,227,228],{},"Property updates, geometry edits, new features",[47,230,231],{},"Any files attached to those records (photos, documents)",[15,233,234,237],{},[94,235,236],{},"Note:"," server‑side import jobs (e.g. nightly GeoJSON imports) also create versions automatically; these appear on the Admin → Versions page and their features become visible to users as soon as the job completes, just like normal commits.",[15,239,240],{},[27,241,242],{},"Workflow:",[103,244,247],{"className":245,"code":246,"language":108},[106],"1. Make changes (draw, edit, import features)\n2. Monitor uncommitted badge count\n3. Click Submit when ready\n4. Check for conflicts (if any)\n5. Resolve conflicts or accept submission\n",[110,248,246],{"__ignoreMap":112},[15,250,251],{},[34,252],{"alt":253,"src":254},"Data Transfer Export Tab","/guide/field-operations/export-tab.png",[98,256,258],{"id":257},"request-commit-admin-review","Request Commit & Admin Review",[15,260,261,262,265,266,269,270,273,274,277,278,281],{},"For non‑administrators the Submit button initially acts as a ",[94,263,264],{},"request for review"," rather than an immediate publish. When you choose ",[27,267,268],{},"Request Commit"," the version is flagged ",[110,271,272],{},"submittedForReview"," and saved to the server; it does ",[27,275,276],{},"not"," become visible to other users until an admin approves it. Administrators open the new ",[27,279,280],{},"Admin → Versions"," page (see the Administration guide) to see a queue of pending versions; they can either commit the version (making it live) or delete it. This workflow ensures that field edits are checked before being applied to the shared dataset.",[98,283,285],{"id":284},"file-attachments","File Attachments",[15,287,288],{},"Any files you attach to a record (photos, documents, etc.) are staged locally as part of your current version. They are uploaded automatically when the version is submitted and included in the commit process;  if you undo or discard changes the staged files are removed. See the Development documentation for technical details on file staging.",[15,290,291],{},[27,292,293],{},"Result:",[44,295,296,299,302,307],{},[47,297,298],{},"Changes visible to all users",[47,300,301],{},"Version record created on server",[47,303,304,306],{},[110,305,134],{}," flag removed",[47,308,309],{},"Badge count resets to 0",[98,311,313],{"id":312},"undo-revert-last-change","Undo - Revert Last Change",[15,315,316],{},[27,317,318],{},"What It Does:",[44,320,321,324,327],{},[47,322,323],{},"Steps backward through change history",[47,325,326],{},"Works on uncommitted local changes",[47,328,329],{},"Maintains redo stack (can redo after undo)",[15,331,332],{},[27,333,334],{},"Limitations:",[44,336,337,340,343],{},[47,338,339],{},"Only affects current session changes",[47,341,342],{},"Cannot undo submitted/committed changes (use Resync instead)",[47,344,345],{},"History cleared on page reload",[15,347,348],{},[27,349,350],{},"Use Cases:",[44,352,353,356,359],{},[47,354,355],{},"\"Oops, deleted wrong feature\"",[47,357,358],{},"\"Need to try different approach\"",[47,360,361],{},"\"Accidentally moved feature\"",[98,363,365],{"id":364},"redo-reapply-undone-change","Redo - Reapply Undone Change",[15,367,368],{},[27,369,318],{},[44,371,372,375,378],{},[47,373,374],{},"Steps forward through change history",[47,376,377],{},"Only available after Undo",[47,379,380],{},"Cleared when new change made",[15,382,383],{},[27,384,242],{},[103,386,389],{"className":387,"code":388,"language":108},[106],"1. Undo removes change\n2. Redo restores it\n3. Continue undoing/redoing as needed\n4. Make new change → clears redo stack\n",[110,390,388],{"__ignoreMap":112},[98,392,394],{"id":393},"conflict-resolution","Conflict Resolution",[15,396,397],{},"When two users edit the same feature/version concurrently, a conflict warning appears at the top of the map.",[15,399,400,401,404],{},"Click ",[27,402,403],{},"View conflict details"," to open a comparison view where you can accept or reject individual changes.  The history panel highlights which versions contributed each modification.",[98,406,408],{"id":407},"offline-queue-viewer","Offline Queue Viewer",[15,410,411],{},"When working offline, changes are queued locally; the Offline Queue Viewer shows pending operations, sync status and allows manual retry.",[15,413,414],{},[94,415,416],{},"(network indicator screenshots: offline and online)",[98,418,420],{"id":419},"resync-reload-from-server","Resync - Reload from Server",[15,422,423],{},[27,424,425],{},"When to Use:",[44,427,428,431,434,437],{},[47,429,430],{},"Discard all uncommitted changes",[47,432,433],{},"Reload latest from server (others' work)",[47,435,436],{},"\"Undo everything\" nuclear option",[47,438,439],{},"Resolve corrupted local state",[15,441,442],{},[27,443,444],{},"⚠️ Warning:",[44,446,447,450,453],{},[47,448,449],{},"All uncommitted changes lost",[47,451,452],{},"Cannot be undone",[47,454,455],{},"Confirms before proceeding",[15,457,458],{},[27,459,460],{},"Safe Alternative:",[44,462,463,466],{},[47,464,465],{},"Submit first to preserve work",[47,467,468],{},"Then Resync to get latest",[19,470,472],{"id":471},"parallel-workflows-direct-vs-staging","Parallel Workflows: Direct vs Staging",[15,474,475],{},"Aptli supports two workflows for feature manipulation:",[98,477,479],{"id":478},"direct-manipulation-simple-edits","Direct Manipulation (Simple Edits)",[15,481,482],{},[27,483,484],{},"Best For:",[44,486,487,490,493,496],{},[47,488,489],{},"Moving single features",[47,491,492],{},"Quick property updates",[47,494,495],{},"Deleting features",[47,497,498],{},"Simple geometry adjustments",[15,500,501],{},[27,502,503],{},"How It Works:",[103,505,508],{"className":506,"code":507,"language":108},[106],"1. Select feature on map or in table\n2. Edit directly (drag, properties form)\n3. Change tracked automatically\n4. Submit when ready\n",[110,509,507],{"__ignoreMap":112},[15,511,512],{},[27,513,514],{},"Advantages:",[44,516,517,520,523],{},[47,518,519],{},"Fast, no intermediate steps",[47,521,522],{},"Familiar pattern (edit in place)",[47,524,525],{},"Minimal UI overhead",[98,527,529],{"id":528},"draw-staging-complex-operations","Draw Staging (Complex Operations)",[15,531,532],{},[27,533,484],{},[44,535,536,539,542,545],{},[47,537,538],{},"Importing external data (GeoJSON, ESRI files)",[47,540,541],{},"Complex geometry editing (reshape polygons)",[47,543,544],{},"Batch operations (create many features)",[47,546,547],{},"Reviewing before committing",[15,549,550],{},[27,551,503],{},[103,553,556],{"className":554,"code":555,"language":108},[106],"1. Load features to Draw (imports, Load to Draw button)\n2. Edit in Draw mode (reshape, split, merge)\n3. Select target layer\n4. Commit to features (tracked as uncommitted)\n5. Submit when ready\n",[110,557,555],{"__ignoreMap":112},[15,559,560],{},[27,561,514],{},[44,563,564,567,570,573],{},[47,565,566],{},"Staging area for review",[47,568,569],{},"Advanced geometry tools",[47,571,572],{},"Separate imports from real features",[47,574,575],{},"Undo at Draw level (before commit)",[15,577,578],{},[27,579,580],{},"Color Coding:",[44,582,583,589,595],{},[47,584,585,588],{},[27,586,587],{},"Blue"," - Your selected features loaded to Draw",[47,590,591,594],{},[27,592,593],{},"Orange"," - Conflicts from other users (read-only)",[47,596,597,600],{},[27,598,599],{},"Default"," - Imports and manually drawn features",[19,602,394],{"id":603},"conflict-resolution-1",[98,605,607],{"id":606},"how-conflicts-occur","How Conflicts Occur",[15,609,610],{},[27,611,612],{},"Spatial Conflicts:",[44,614,615,618,621],{},[47,616,617],{},"Two users add features in same location",[47,619,620],{},"Overlapping infrastructure placement",[47,622,623],{},"Competing network designs",[15,625,626],{},[27,627,628],{},"ID Conflicts:",[44,630,631,634,637],{},[47,632,633],{},"Same feature edited by multiple users",[47,635,636],{},"Different property changes",[47,638,639],{},"Geometry modifications",[98,641,643],{"id":642},"viewing-conflicts","Viewing Conflicts",[15,645,646],{},[27,647,648],{},"Load Conflicts Button (DrawToolbar):",[44,650,651,654,657,663],{},[47,652,653],{},"Fetches other users' uncommitted changes",[47,655,656],{},"Displays as orange features in Draw",[47,658,659,662],{},[27,660,661],{},"Read-only"," - cannot commit others' drafts",[47,664,665],{},"Helps coordinate before submission",[15,667,668],{},[27,669,242],{},[103,671,674],{"className":672,"code":673,"language":108},[106],"1. Click \"Load Conflicts\" in DrawToolbar\n2. Orange features appear (others' drafts)\n3. Review spatial overlap\n4. Adjust your features if needed\n5. Submit your changes (conflicts flagged)\n",[110,675,673],{"__ignoreMap":112},[98,677,679],{"id":678},"resolving-conflicts","Resolving Conflicts",[15,681,682],{},[27,683,684],{},"Option 1: Coordinate with Team",[44,686,687,690,693],{},[47,688,689],{},"See who's editing (conflict shows user email)",[47,691,692],{},"Discuss via chat/phone",[47,694,695],{},"Decide who submits first",[15,697,698],{},[27,699,700],{},"Option 2: Sequential Submission",[44,702,703,706,709],{},[47,704,705],{},"One user submits",[47,707,708],{},"Other user resyncs",[47,710,711],{},"Second user adjusts and submits",[15,713,714],{},[27,715,716],{},"Option 3: Manual Merge",[44,718,719,722,725],{},[47,720,721],{},"Load conflicts to see both versions",[47,723,724],{},"Create merged feature manually",[47,726,727],{},"Both users resync and accept merge",[19,729,731],{"id":730},"uncommitted-change-tracking","Uncommitted Change Tracking",[15,733,734,735,738],{},"Features you have created, edited, or imported — but not yet submitted — are tracked as ",[27,736,737],{},"uncommitted",". An orange badge on the Selected Features button shows the count of uncommitted changes in your current session.",[15,740,741],{},[27,742,743],{},"The badge updates in real time:",[44,745,746,749,752],{},[47,747,748],{},"Increases when you commit features from the Draw staging area",[47,750,751],{},"Resets to zero when you Submit",[47,753,754],{},"Resets to zero when you Resync (discarding all uncommitted changes)",[15,756,757],{},"Use the badge count as your reminder to Submit regularly. A high count means a lot of work could be lost if your browser closes before you submit.",[19,759,761],{"id":760},"best-practices","Best Practices",[98,763,765],{"id":764},"when-to-submit","When to Submit",[15,767,768],{},[27,769,770],{},"Recommended Times:",[44,772,773,776,779,782,785],{},[47,774,775],{},"End of each work session",[47,777,778],{},"After completing logical unit of work",[47,780,781],{},"Before switching between projects",[47,783,784],{},"When badge count feels \"too high\"",[47,786,787],{},"Before going offline (preserves as checkpoint)",[15,789,790],{},[27,791,792],{},"Avoid:",[44,794,795,798,801],{},[47,796,797],{},"Submitting incomplete work (confuses team)",[47,799,800],{},"Never submitting (risk of data loss)",[47,802,803],{},"Submitting constantly (creates version noise)",[98,805,807],{"id":806},"offline-editing-strategy","Offline Editing Strategy",[15,809,810],{},[27,811,812],{},"1. Sync Before Going Offline:",[103,814,817],{"className":815,"code":816,"language":108},[106],"1. Resync to get latest\n2. Make offline changes\n3. Submit when back online\n",[110,818,816],{"__ignoreMap":112},[15,820,821],{},[27,822,823],{},"2. Check for Conflicts:",[103,825,828],{"className":826,"code":827,"language":108},[106],"1. Load Conflicts before major edits\n2. Coordinate with visible users\n3. Submit non-overlapping work first\n",[110,829,827],{"__ignoreMap":112},[15,831,832],{},[27,833,834],{},"3. Regular Checkpoints:",[103,836,839],{"className":837,"code":838,"language":108},[106],"1. Submit every 30-60 minutes\n2. Creates recovery points\n3. Shares progress with team\n",[110,840,838],{"__ignoreMap":112},[98,842,844],{"id":843},"version-history-review","Version History Review",[15,846,847],{},[27,848,849],{},"Check Who Changed What:",[44,851,852,855,858],{},[47,853,854],{},"Version records show user, timestamp, operation",[47,856,857],{},"Compressed versions still reconstructible",[47,859,860],{},"Audit trail for compliance",[15,862,863],{},[27,864,865],{},"Rollback Process:",[103,867,870],{"className":868,"code":869,"language":108},[106],"1. Identify problem version\n2. Resync to before problem commit\n3. Redo changes correctly\n4. Submit new version\n",[110,871,869],{"__ignoreMap":112},[19,873,875],{"id":874},"load-to-draw-feature","Load to Draw Feature",[98,877,879],{"id":878},"purpose","Purpose",[15,881,882],{},"Enables complex geometry manipulation beyond simple drag-and-drop:",[44,884,885,888,891,894],{},[47,886,887],{},"Reshape polygon boundaries",[47,889,890],{},"Split lines into segments",[47,892,893],{},"Merge adjacent areas",[47,895,896],{},"Advanced geometry operations",[98,898,900],{"id":899},"how-to-use","How to Use",[15,902,903],{},[27,904,905],{},"From SelectedFeatures Table:",[103,907,910],{"className":908,"code":909,"language":108},[106],"1. Select rows in table (checkbox)\n2. Click \"Load to Draw\" button (pencil icon)\n3. Features appear in Draw (blue)\n4. Edit using Draw tools\n5. Select target layer\n6. Click commit button\n7. Features get _uncommitted flag\n8. Submit when ready\n",[110,911,909],{"__ignoreMap":112},[15,913,914],{},[27,915,916],{},"Styling:",[44,918,919,922,925],{},[47,920,921],{},"User selections: Blue (#3b82f6)",[47,923,924],{},"Conflicts: Orange (#f97316, read-only)",[47,926,927],{},"Imports: Default Draw colors",[98,929,931],{"id":930},"advanced-operations","Advanced Operations",[15,933,934],{},[27,935,936],{},"Reshape Polygons:",[938,939,940,943,946,949],"ol",{},[47,941,942],{},"Load polygon to Draw",[47,944,945],{},"Click vertices to move",[47,947,948],{},"Add/remove points",[47,950,951],{},"Commit back to features",[15,953,954],{},[27,955,956],{},"Split Features:",[938,958,959,962,965],{},[47,960,961],{},"Load line/polygon to Draw",[47,963,964],{},"Use Draw tools to create split",[47,966,967],{},"Commit as separate features",[15,969,970],{},[27,971,972],{},"Merge Areas:",[938,974,975,978,981,984],{},[47,976,977],{},"Load multiple polygons to Draw",[47,979,980],{},"Delete boundaries between them",[47,982,983],{},"Create single merged polygon",[47,985,986],{},"Commit result",[19,988,990],{"id":989},"troubleshooting","Troubleshooting",[98,992,994],{"id":993},"changes-not-saving","\"Changes Not Saving\"",[15,996,997],{},[27,998,999],{},"Check:",[44,1001,1002,1005,1008],{},[47,1003,1004],{},"Uncommitted badge count increasing?",[47,1006,1007],{},"Submit button active?",[47,1009,1010],{},"Browser console for errors?",[15,1012,1013],{},[27,1014,1015],{},"Solution:",[44,1017,1018,1021,1024],{},[47,1019,1020],{},"Verify network connectivity",[47,1022,1023],{},"Check browser storage not full",[47,1025,1026],{},"Submit to persist changes",[98,1028,1030],{"id":1029},"lost-my-changes-after-reload","\"Lost My Changes After Reload\"",[15,1032,1033],{},[27,1034,1035],{},"Cause:",[44,1037,1038,1041,1044],{},[47,1039,1040],{},"Uncommitted changes stored in browser storage",[47,1042,1043],{},"Resync cleared local changes",[47,1045,1046],{},"Browser storage cleared",[15,1048,1049],{},[27,1050,1051],{},"Prevention:",[44,1053,1054,1057,1060],{},[47,1055,1056],{},"Submit before closing browser",[47,1058,1059],{},"Regular Submit checkpoints",[47,1061,1062],{},"Don't rely on browser cache",[98,1064,1066],{"id":1065},"conflict-wont-resolve","\"Conflict Won't Resolve\"",[15,1068,1069],{},[27,1070,1071],{},"Steps:",[938,1073,1074,1077,1080,1083,1086],{},[47,1075,1076],{},"Load Conflicts to see other version",[47,1078,1079],{},"Contact other user",[47,1081,1082],{},"One user Resyncs",[47,1084,1085],{},"Modify and Submit again",[47,1087,1088],{},"Second user Resyncs and continues",[98,1090,1092],{"id":1091},"undoredo-not-working","\"Undo/Redo Not Working\"",[15,1094,1095],{},[27,1096,334],{},[44,1098,1099,1102,1105],{},[47,1100,1101],{},"Only in-session changes",[47,1103,1104],{},"Cleared on page reload",[47,1106,1107],{},"Cannot undo submitted changes",[15,1109,1110],{},[27,1111,1112],{},"Workaround:",[44,1114,1115,1118,1121],{},[47,1116,1117],{},"Resync to before problem commit",[47,1119,1120],{},"Redo changes correctly",[47,1122,1123],{},"Submit new version",[19,1125,1127],{"id":1126},"related-guides","Related Guides",[44,1129,1130,1137,1144,1150],{},[47,1131,1132,1136],{},[175,1133,1135],{"href":1134},"/guide/field-operations","Field Operations Overview"," - GIS features and workflows",[47,1138,1139,1143],{},[175,1140,1142],{"href":1141},"/guide/field-operations/schematics","Schematics"," - Relationship diagram version management",[47,1145,1146,1149],{},[175,1147,1148],{"href":177},"Work Fulfillment"," - Tasks vs work orders versioning",[47,1151,1152,1156],{},[175,1153,1155],{"href":1154},"/guide/field-operations/mobile-pwa","Offline Mode"," - Mobile offline workflows",{"title":112,"searchDepth":1158,"depth":1158,"links":1159},2,[1160,1161,1166,1176,1180,1185,1186,1191,1196,1202],{"id":21,"depth":1158,"text":22},{"id":89,"depth":1158,"text":90,"children":1162},[1163,1165],{"id":100,"depth":1164,"text":101},3,{"id":115,"depth":1164,"text":116},{"id":182,"depth":1158,"text":183,"children":1167},[1168,1169,1170,1171,1172,1173,1174,1175],{"id":186,"depth":1164,"text":187},{"id":257,"depth":1164,"text":258},{"id":284,"depth":1164,"text":285},{"id":312,"depth":1164,"text":313},{"id":364,"depth":1164,"text":365},{"id":393,"depth":1164,"text":394},{"id":407,"depth":1164,"text":408},{"id":419,"depth":1164,"text":420},{"id":471,"depth":1158,"text":472,"children":1177},[1178,1179],{"id":478,"depth":1164,"text":479},{"id":528,"depth":1164,"text":529},{"id":603,"depth":1158,"text":394,"children":1181},[1182,1183,1184],{"id":606,"depth":1164,"text":607},{"id":642,"depth":1164,"text":643},{"id":678,"depth":1164,"text":679},{"id":730,"depth":1158,"text":731},{"id":760,"depth":1158,"text":761,"children":1187},[1188,1189,1190],{"id":764,"depth":1164,"text":765},{"id":806,"depth":1164,"text":807},{"id":843,"depth":1164,"text":844},{"id":874,"depth":1158,"text":875,"children":1192},[1193,1194,1195],{"id":878,"depth":1164,"text":879},{"id":899,"depth":1164,"text":900},{"id":930,"depth":1164,"text":931},{"id":989,"depth":1158,"text":990,"children":1197},[1198,1199,1200,1201],{"id":993,"depth":1164,"text":994},{"id":1029,"depth":1164,"text":1030},{"id":1065,"depth":1164,"text":1066},{"id":1091,"depth":1164,"text":1092},{"id":1126,"depth":1158,"text":1127},"Edit GIS features, layers, and schematics offline without interrupting your team. Changes are staged locally, submitted for review, and conflict-checked before going live — with permanent version history for every commit.","md",{},true,"/en/user/field-operations/version-management",{"title":5,"description":1203},"en/user/field-operations/version-management","XD8xpvKqpt1AYF3Ia4YotEPKv21L_iuFu3ZkWLT-2Es",1776295547312]