|
POST
|
I'm having this problem with a survey that only has 9 records, but hundreds of questions (attributes). I'm trying to use the REST/Replica work-around, but I'm having various problems getting it to work depending on the options I choose. For all my test runs, I'm entering: Name=TEST Layers=0 Data Format=FILEGDB Sync Model=none without this, I get the error: Create replica to FILEGDB data format is supported for "none" sync model type only. Attachments Sync Direction=bidirectional without this, I get the error: CreateReplica with returnAttachments=(True) and attachmentsSyncDireciton=(none) is not supported. I just get the error "Exporting data for layer 0 failed". This occurs whether I have Return attachments "true" or "false". Can anybody provide more information in how to use this Create Replica form in the case of downloading Survey123 data? Any other form items I need to change to get this to work? Has anybody got it to work with attachments? Even without attachments, It fails with some unexplained error. Any ideas?
... View more
04-07-2020
04:12 PM
|
0
|
2
|
1945
|
|
POST
|
Since posting this question, I have become more and more aggravated by how this works (or sometimes does not work) between ArcGIS Online and Active Directory. I have found that in some cases, entering the full email address works for the Enterprise ID, but not in others. And in some cases, entering only the name part (before the "@") works, but not for others. So it's a matter of trial-and-error an a case-by-case basis. Which makes it impossible to create a file of new users to invite. It's unclear if this is due to ArcGIS Online inconsistencies, or due to Active Directory inconsistencies. But without a clearly defined way to interrogate active directory to get what AGOL calls the "Enterprise ID", then I have no way of knowing which to use for any particular user. At least now I know that if one form doesn't work, just switch to the other form and try again, and it should work.
... View more
02-13-2020
08:53 PM
|
0
|
1
|
2461
|
|
POST
|
Thank you. If I ever get another staff member with a hyphenated email address and I'm not in a hurry to get them into AGOL, I might try it the same way again, and log a support request if the same problem occurs.
... View more
12-18-2019
02:05 PM
|
1
|
0
|
2461
|
|
POST
|
Thanks. I've replied in that other topic, as I've now got the Enterprise ID issue sorted out. Since I can now add this user with their hyphenated email address, (using the manual method), it's worth noting that the automatically generated username for this user is: Fred.Bloggs-Smith@workplace.com_WorkPlace Ie, WITH the hyphen and NOT the underscore! It is also capitalised as shown, despite the email address having been originally entered in all lower case in the AGOL form (and still all lowercase in the AGOL profile). Therefore I'm convinced that AD is sending back the information with hyphen, not underscore. I reckon AGOL has some procedure which cannot handle the hyphen as replaced it with an underscore.
... View more
12-12-2019
04:42 PM
|
1
|
1
|
1598
|
|
POST
|
So I've got this working now. Note that the username (visible in the user's profile) is completely different to the Enterprise ID (which is not visible in the user profile at all)! In our case the Enterprise ID turns out to be of the format: email.name Our usernames that it automatically creates for enterprise users are of the format: Email.Name@domain.com_OrgName I had tried this previously but it failed then (on multiple occasions). It's unclear whether I'd done something else wrong or whether it was actually an issue with the Enterprise IDs that I'd entered. I had logged a job with ESRI about how to get the Enterprise ID from our AD system, but they were unable to provide any clear directions apart from "ask your IT people". 😞 It would be handy if ESRI would document how to determine the Enterprise ID from LDAP and AD systems. There must be some simple instructions that could be applied to figure this out, either on the command line or via GUI.
... View more
12-12-2019
04:18 PM
|
1
|
3
|
2461
|
|
POST
|
When "inviting" users to join our ArcGIS Online organisation with the option "Add members using their enterprise ID", it works for most of the users. They receive and email, click on the link in the email, and the account gets created. They can then log in using their Active Directory credentials. However, one of the users has a hyphenated surname, and the hyphen is included in their email address. When this user clicks on the link in their invitation email, they get the following error: Notification Error in accepting invitation for user 'fred.bloggs_smith@worplace.com._WorkPlace', Invitation Id '15a11bf4Ae7bfaaa8bc29422cb7d28de9' Cannot accept invitation. User email must match invitation email. Note that the username (which is the concatenated email address, underscore, and organisation name) has the hyphen replaced with an underscore. It has the correct email address, as the user received the email, and it is still listed correctly with the hyphen in the list of "Pending Members". So it is only in this username that it has been changed to an underscore. I understand that hyphens are not permitted in the username. That's fine. But are they also not permitted in the email address? Surely it should accept any valid email address? How can I get this user registered with their enterprise login on our ArcGIS Online organisation without creating a new email alias for the user? (Note that I'm aware of the option to "Add members using their enterprise ID without sending invitations". I do not know if this would resolve the issue or not, but I have been unable to use this option due to a separate problem which is still unanswered at: ArcGIS Online “Add members using their enterprise ID” - what value to use for “Enterprise ID”? )
... View more
12-01-2019
04:36 PM
|
0
|
4
|
1714
|
|
POST
|
We have ArcGIS Online configured for "enterprise" logins to authenticate against our MS Active Directory. I can add users from AD by sending them invitations in ArcGIS Online. They must respond to these emailed invitations for their account to be created in ArcGIS Online. I would like to add AD users using the option, "Add members using their enterprise ID without sending invitations". This gets their account set up immediately, and then I can add them to groups, etc, without waiting for them to respond to an invitation. However, to use this option, I have to include the user's "Enterprise ID". What is this Enterprise ID, and how do I find out what a particular user's Enterprise ID is? Is it something I have to get from Active Directory? If so, how do I find it for various users? (I have tried various combinations of username, email address, and organisation name and underscores, but with no luck.) UPDATE As per comments, I have now tried populating the "Enterprise ID" field using the format, DOMAIN\user.name (and DOMAIN/user.name ), but it will not accept anything with either a \ or a / in it (no error, but the "Next" button does nothing). As soon as I remove the (back)slash, the "Next" button works as expected (but the account does not work because I don't know what I'm supposed to put in the "Enterprise ID" field. I note that the examples in ESRI's documentation do not use this format. The examples there are "jonc1111" and "sati3554". See: https://doc.arcgis.com/en/arcgis-online/administer/invite-users.htm#ESRI_SECTION1_D4222EB63EF14C96BF37F1A098F37AFA I feel like there's something very simple/obvious that I'm missing, like I'm looking at the problem through the wrong lens or something. I just can't figure out what I'm sure is supposed to be straightforward.
... View more
12-01-2019
04:34 PM
|
0
|
8
|
2724
|
|
IDEA
|
At all the organisations I've worked for where they use ArcGIS, they all use Python Add-Ins. Only ONE of them uses VS/.NET add-ins, and they are transitioning away and replacing those add-ins with Python add-ins. Why? Because getting the VS/.NET add-ins maintained/updated requires hiring contractors, extensive periods of time for tiny changes, etc. Python add-ins can be maintained by anybody with good knowledge of ArcGIS. It baffles me that ESRI have to ask what functionality people would use Python Add-Ins for. My answer would be the same functionality that people use VS/.NET add-ins for. But just easier to build and maintain. Yes, there are some things that can be done in .NET that cannot be done in Python (advanced GUI's in particular), but these limitations are simply a matter of where ESRI chooses to draw the line (although the GUI's issue is an architectural problem with how Python within ArcMap cannot run a separate GUI without high risk of crashing). But since they asked, I will tick that box... The Python Add-In here is for a toolbar that includes the following functionality (amongst others): Select from a list of pre-defined and user-friendly-named query definitions which will then be applied to all layers currently in the map that include the field(s) used by that definition query AND applying that definition query to all such layers that get added to the map afterwards. Adding predefined sets of layers to the map (basically just adding layer files, without the user having to trawl through the Catalog or Add Layers interfaces to find them) OR individual layers from within to sets without having to add the entire layer group first Searching for layers that match a search string and adding them to the map Running any of a set of common GP tools (the entire contents of a toolbox is automatically available in a combo-box menu). Again, it avoids the need for the users to trawl through catalog or system tools. Manage layout properties and elements. Add company-standard fields to new feature classes. I would like to switch our users to ArcGIS Pro some time. But that's not going to happen without Python Add-Ins - at least not until something else forces our hand. Our users are 100% reliant on the Python Add-In here. Many of them use ArcGIS irregularly and are not expert users. The Python Add-In consolidates and simplifies many of their day-to-day ArcMap tasks that would otherwise be much more difficult for them.
... View more
06-30-2019
10:12 PM
|
5
|
2
|
2325
|
|
POST
|
I have been experiencing this problem with only one of our surveys. Removing the spaces from the thumbnail image name appears to have fixed it for that survey. Thanks for this advice! Note that other surveys appear to be OK with spaces in their thumbnail image names. Weird.
... View more
05-22-2019
07:54 PM
|
0
|
7
|
1281
|
|
POST
|
I have done this successfully using 'external selects'. Instead of using the 'Choices' tab in your spreadsheet, create a copy of that tab called 'external_choices'. Then in your survey, instead of using 'select_one' question type, use the 'select_one_external' question type. This uses selection lists form your new 'external_choices' instead of from the usual 'Choices'.* The purpose of the external selects is for performance reasons. One of the ways it increases performance is that it saves this 'external_choices' to a separate 'itemsets.csv' file in the survey's media folder automatically for you. Of course, once it is in the survey's media folder, it is available for pulldata() 🙂 For more information on external selects, see: https://doc.arcgis.com/en/survey123/desktop/create-surveys/xlsformcascadingselects.htm *The caveat of this method is in the note of the page linked to above. That is, external selects are designed for use with cascading selects, and therefore the itemsets.csv file will only include lists which are specified with a filter in the survey. Ie, this method will only work if your select is a cascading select.
... View more
05-21-2019
09:24 PM
|
1
|
0
|
6719
|
|
POST
|
In Model Builder just add a 'Calculate Value' item to the model ( Insert -> Model Only Tools -> Calculate Value ). Make sure this runs after all the parts of the model that affect map layers have completed by making one or more of them a precondition of the 'Calculate Value' item. Open the 'Calculate Value' item and enter the Expression: `arcpy.RefreshActiveView()` The result of this calculate value item will actually be meaningless, but it will refresh the map. General Note The 'Calculate Value' tool in Model Builder is designed for using a script (or single line of code) to calculate some value to be used elsewhere in the model. But you can ignore its output, and it turns out that it's really handy for simply running snippets of Python code to do anything in a model that you can do with Python that can't be easily done with other tools.
... View more
05-12-2019
04:16 PM
|
1
|
1
|
1920
|
|
POST
|
You can use a script tool as others have mentioned. But the piece of the puzzle that was missing for me until now, was how to pass the user input from the script tool back to the Add-In. I have just found a method of doing this at https://gis.stackexchange.com/questions/75691/accessing-the-output-of-a-python-script-tool-dialog-arcgis-10-1 . In brief, you can call your AddIn python module and any of its classes/variables functions from your script tool. I have tested this and it works fine for me. In brief, in your script tool you can do it simply like this: import arcpy, MyCustomTools_addin
MyCustomTools_addin.findLayersButton.findLayers(arcpy.GetParameterAsText(0))
In this case my AddIn module is 'MyCustomTools_addin' and it has a button with the id 'findLayersButton' (note that this is the instantiated object, or id, not just the class name). This class has a function called 'findLayers()'. I simply pass the only parameter from the tool to this AddIn class function (which then adds the layers to the map in a new layer group called "Search Results"). This is still not ideal, as the script tool dialogue stays on screen when it completes (which is good in most cases). I would prefer the script tool to disappear as soon as it has run (the user can configure this to happen, but then that would happen for all script tools, not just for this one). I also like to display/log more useful information in my script tools. So in my tool I actually do it more like what is below. For my AddIn, the output of the function is simply a list of layers that match the string entered by the user. So the tool then displays the output in it's log window with AddMessage(). import arcpy, MyCustomTools_addin
results = MyCustomTools_addin.findLayersButton.findLayers(arcpy.GetParameterAsText(0))
arcpy.AddMessage("\n\n\nRESULTS:\n\n{}\n\n".format("\n".join(results)))
... View more
05-05-2019
08:00 PM
|
0
|
1
|
1734
|
|
POST
|
But be cautious. As per my other post about Tkinter, wxPython GUI's in Python add-ins can randomly cause ArcMap to crash. A very simply GUI may not experience the problem, but I would not trust it. My experience with wxPython and several other Python GUIs in a Python add-in all had the same problem (by my GUI was somewhat more complicated). I then found that other people had concluded that non-ArcMap GUIs in Python addins are incompatible with ArcMap and likely to cause it to crash.
... View more
05-05-2019
05:49 PM
|
0
|
0
|
446
|
|
POST
|
ArcMap does not play nicely with any Python modules that have a non-ArcMap GUI. I've tried Tkinter and others, before finding that it just randomly crashes ArcMap. Subsequent Googling found that other people have concluded that non-ArcMap GUI's in Python add-ins clash with ArcMap and cause it to crash.
... View more
05-05-2019
05:46 PM
|
0
|
0
|
2118
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 11-30-2021 01:30 PM | |
| 2 | 02-05-2023 07:08 PM | |
| 1 | 11-19-2023 04:55 PM | |
| 1 | 09-28-2023 05:00 PM | |
| 1 | 09-28-2023 04:23 PM |
| Online Status |
Offline
|
| Date Last Visited |
3 weeks ago
|