|
IDEA
|
Our team has a project that requires all attachments have a very specific name based on a field in the parent feature. We currently "solve" this using a Python cursor to ensure all attachments are named correctly. Not only does this take several hours to chew through the table but every renamed attachment creates a new record in the archive table, effectively doubling the size of every attachment. Enforcing the proper name via Arcade at the database level would solve all of these issues.
... View more
04-25-2024
08:59 AM
|
0
|
0
|
3164
|
|
POST
|
I haven't found a way to do this in Survey123 alone, but if your survey data is backed by an Enterprise Geodatabase you can use Attribute Rules to flip the read-only switch on submission
... View more
04-18-2024
05:26 PM
|
1
|
0
|
1306
|
|
POST
|
It looks like the "modified" property on each service item aligns with when it was last updated. You'll get some false positives for items that were edited after the service was overwritten but this should be good enough for most purposes. Take another look at Carsten's code for tips on getting the date out in a readable format.
... View more
04-15-2024
01:23 PM
|
0
|
0
|
2932
|
|
POST
|
I ran into a similar issue in the past and unfortunately there wasn't a workaround. To my understanding FeatureSetByName must take name of the table as a string literal or it'll create an error. I have to assume there's some hacky pre-processor nonsense that goes on with this function, either way you'll just have to type out the right name for every rule. If you're writing the rule multiple times you might want a script tool that uses Add Attribute Rule to save some time. As an aside, that method of getting the max ID isn't optimal for large datasets, even with an index on the ID field. You may want to look into combining a database sequence with NextSequenceValue to get a new ID in constant time.
... View more
04-08-2024
08:45 AM
|
0
|
1
|
1286
|
|
IDEA
|
This is symptomatic of a bigger problem, which is that everything in Field Maps works off the Smart Form definitions and the APIv4 popup definitions except for Edit Multiple which reads the APIv3 popup definitions (i.e. the "fieldInfos" object at the root of the "popupInfo"). I have a sneaking suspicion this is related to the lack of standardized multi-feature editing in the new API somehow, but either way updating Edit Multiple to use the Smart Form definition is a must, there's no reason for the editing workflows to be disjoint.
... View more
03-22-2024
08:41 AM
|
0
|
0
|
5192
|
|
IDEA
|
Tweaking a layer based on the current datetime relative to a field in the layer is a common request in my org. Usually it's a symbol that we set using Arcade but filtering comes up too and jumping into AGOL Assistant is less than ideal.
... View more
03-20-2024
11:42 AM
|
0
|
0
|
8209
|
|
POST
|
Is your data in an EGDB? You can write a database view that UNIONs every layer into 1 big table with a "score" field, something like: SELECT ROW_NUMBER() [OBJECTID], tbl.[LayerName], tbl.[Score], tbl.[Shape]
FROM (
SELECT 'Layer1' [LayerName], 1 [Score], Shape
FROM A.B.Layer1
UNION
SELECT 'Layer2' [LayerName], 1 [Score], Shape
FROM A.B.Layer2
) tbl You'll have to find the appropriate function to get a unique row number for your database, here's some info for SQL Server. Once the view works you can register it to the EGDB, publish it as a layer and drop that in your app for use with widgets.
... View more
02-01-2024
01:51 PM
|
0
|
0
|
979
|
|
POST
|
Will the changes actually remove records or just some fields? If the row count remains the same across the board, you can download the old data, make the changes, join the old data to the new data on the common key field and then field calculate the old data over to the new format. Whipping up a dummy survey to test the workflow is a good idea, you can never tell what Survey123 might do on schema changes!
... View more
02-01-2024
01:40 PM
|
0
|
1
|
1632
|
|
POST
|
You could maybe get jagged arrays working with a ValueTable but you might run into ergonomics issues. My preferred solution is a multivalue string parameter where each value is delimited with a known character. As long as you validate each value in the updateParameters validation step you should be good to go.
... View more
01-25-2024
10:48 AM
|
0
|
0
|
1358
|
|
POST
|
Does subclassing the tool and overriding the category work? You'd have to duplicate things like metadata between both tools but this seems like the lowest cost solution.
... View more
01-25-2024
10:33 AM
|
0
|
0
|
649
|
|
POST
|
If all the info you need is in the same record, the Field Calculator is the usual solution, here's an overview. If you need to work other records into each record's results, you might find something appropriate in the Analysis toolbox. If that fails, you may need to dig into arcpy and use the cursor objects to implement a custom solution.
... View more
01-11-2024
01:35 PM
|
0
|
0
|
691
|
|
POST
|
As a one-line function: def sub_to_zero(a, b): return a - b if a > b else 0
... View more
01-11-2024
12:50 PM
|
1
|
0
|
4132
|
|
POST
|
Just create a new project in each user's share folder, this includes a gdb and toolbox along with all the other project items. That said, treating Pro like ArcMap is going to lead to endless friction. If you structure your work around what you're doing vs. who's doing it then you can create projects for each discrete task. Client wants a new set of maps? Make a project! Need to process a big folder of soil samples or road network updates? Make a project! Projects also work for long running jobs, like keeping all your web service sources in one place.
... View more
12-22-2023
08:39 AM
|
0
|
1
|
3738
|
|
IDEA
|
This would be a massive boon for our org, our #1 source of user issues is failing to login correctly. The two biggest features we'd like to see are: A customizable header that includes our logo and instructions. The ability to make one of the login options much less prominent (in our case, the ArcGIS Login section). The current login layout treats both methods as equally valid which is unsuitable for 99% of our users and leads to confusion, an option to make that section harder to interact with would be great.
... View more
12-19-2023
09:24 AM
|
0
|
0
|
2406
|
|
POST
|
You can do this by: Looking for a text file with config options in a known location and populating those values in the tool's validation section if they exist, and Writing the user's chosen values to said config file if no default value exists. For the location of the file, the best practice for Windows is to use a folder with your team's name in the %APPDATA% folder, which is set per user. You can get the config file like so: import os
from os import path
folder = path.expandvars("%APPDATA%\\AlfredSoft")
if not path.exists(folder):
os.mkdir(folder)
config_path = path.join(folder, "tool_config.json") # Or whatever format works for you
if path.exists(config_path):
with open(config_path) as config:
pass # Work with the file here! As for creating or editing the config file, you should do that in the tool itself or in the validator's updateParameters method, depending on how you want to lay your code out. If you get reading working then writing shouldn't be much more work.
... View more
12-01-2023
03:15 PM
|
2
|
0
|
1900
|
| Title | Kudos | Posted |
|---|---|---|
| 2 | 04-09-2026 11:36 AM | |
| 1 | 09-08-2023 10:07 AM | |
| 3 | 03-26-2026 08:11 AM | |
| 2 | 03-12-2026 01:41 PM | |
| 1 | 03-06-2026 08:58 AM |
| Online Status |
Offline
|
| Date Last Visited |
Friday
|