|
POST
|
Hi @Alvis_D, it will be best to log a tech support case so they can officially submit this bug. The development team will then be notified to implement a fix.
... View more
11-12-2024
06:03 AM
|
0
|
0
|
10911
|
|
POST
|
Hi @TeresaBartolomei,
Replace print with arcpy.AddMessage. Ex:
arcpy.AddMessage("Nessuna riga selezionata")
... View more
11-12-2024
05:55 AM
|
1
|
2
|
1303
|
|
POST
|
Hi @Yogesh_Chavan, is your geodatabase administrator a user named sde or a login that is mapped to the dbo user in the database that contains the geodatabase? The user must also be added to the processadmin server role to disconnect users.
... View more
11-12-2024
05:51 AM
|
3
|
1
|
2845
|
|
DOC
|
@Henry the layerIndex parameter is a bit confusing. This number will correspond to the order of the layer/table. For example, if I publish a service with a single layer, but say I manually specify the layer index to be 6. The layerIndex in this script will still be 0.
... View more
11-11-2024
04:48 AM
|
0
|
0
|
17744
|
|
POST
|
@LonerockAdmin you verified the user is in an edit session?
... View more
11-07-2024
01:49 PM
|
0
|
1
|
3058
|
|
POST
|
Hi @LonerockAdmin,
Do they have the following enabled for Pro:
JakeSkinner_0-1731012503307.png
If they do, they will need to start editing before Adding Attachments is available.
... View more
11-07-2024
12:48 PM
|
0
|
1
|
3076
|
|
POST
|
Hi @JVig, when you initially joined the additional ArcGIS Server machine, did you have the standby ArcGIS Data Store configured before or after? If it was after, it sounds like ArcGIS Server may be validating connections to both primary and standby data stores. To test further, could temporarily remove the standby data store and try joining the the additional ArcGIS Server machine.
... View more
11-07-2024
12:41 PM
|
0
|
2
|
1833
|
|
DOC
|
@NickMiller2 if you search for item 7e34b118159246ec95be1a2b97350c08 in Portal, are you able to successfully export this hosted feature service to a File Geodatabase?
... View more
11-07-2024
04:04 AM
|
0
|
0
|
36872
|
|
POST
|
@JeffK there are a lot of steps involved. I would recommend assistance from Esri, or a possibly a business partner. At a high level the steps are:
Backup databases
Restore databases to new SQL instance
Re-sync database users
Update existing Pro projects to reference new instance (recommend python script)
Update ArcGIS Server Data Store connections
Optionally, update the ArcGIS Server service's metadata
... View more
11-06-2024
11:52 AM
|
1
|
0
|
1476
|
|
POST
|
@TimoT I don't know the specific reasons why there are limitations (i.e. character limit, no special characters other than period), but this password is used to as the admin password for Portal's internal PostgreSQL database:
JakeSkinner_0-1730918450546.png
I'd have to check the later releases, but in earlier versions of Enterprise, when you attempt to migrate a Enterprise to a new set of servers using the webgisdr utility, the new Enterprise environment must have the same password for this internal database for the webgisdr to import successfully.
... View more
11-06-2024
10:43 AM
|
0
|
3
|
1760
|
|
POST
|
Hi @JeffK,
Are you moving SQL Server to a new server as well? If so, I'm assuming the server name is new, and therefore the SQL instance name is different. In ArcGIS Pro, you'll need to update the database connections to use the new instance. In Enterprise, you'll need to update the Data Store connections with a database connection file that is referencing the new SQL instance.
... View more
11-06-2024
10:26 AM
|
2
|
2
|
1493
|
|
DOC
|
@VigneshGopalakrishnan it looks like Enterprise 10.8.1 handles the config.json slightly different. To fix the error you're receiving, perform the following steps:
1. Right-click on the Copy Experience Builder App script tool > Properties
2. Select the Validation tab
3. Delete everything and paste in the below:
import arcpy, json
from arcgis.gis import GIS
from arcgis.gis import User
class ToolValidator:
# Class to add custom behavior and properties to the tool and tool parameters.
def __init__(self):
# set self.params for use in other function
self.params = arcpy.GetParameterInfo()
def initializeParameters(self):
# Customize parameter properties.
# This gets called when the tool is opened.
return
def disableIWA(self, paramIndex1, paramIndex2):
'''Disable IWA option if connecting to AGOL'''
if 'arcgis.com' in self.params[paramIndex1].value:
self.params[paramIndex2].enabled = False
else:
self.params[paramIndex2].enabled = True
def disableUsernamePassword(self, paramIndex1, paramIndex2, paramIndex3):
'''Disable username/password if using Windows Authentication'''
if self.params[paramIndex1].value == True:
self.params[paramIndex2].enabled = False
self.params[paramIndex3].enabled = False
if self.params[paramIndex1].value == False:
self.params[paramIndex2].enabled = True
self.params[paramIndex3].enabled = True
def usersDropDown(self, source, paramIndex1, paramIndex2):
'''Populate User Dropdown'''
sourceUserList = []
source_users = source.users.search(max_users=100000)
for user in source_users:
if user.user_types()['name'] not in ('Viewer', 'Editor', 'Field Worker'):
sourceUserList.append(user.username)
sourceUserFilter = self.params[paramIndex2].filter
sourceUserFilter.list = sourceUserList
def getUserContent(self, source, paramIndex1, paramIndex2):
'''Get User Content'''
contentList = []
username = str(self.params[paramIndex1].value)
username = username.replace("'", '')
user = User(source, username)
user_content = user.items(max_items=100000)
for item in user_content:
if item.type == 'Web Experience':
contentList.append(
str(item.title) + ' - ' + str(item.type) + ' - ' + str(item.id))
folders = user.folders
for folder in folders:
user_content = user.items(folder=folder['title'], max_items=100000)
for item in user_content:
if item.type == 'Web Experience':
contentList.append(
str(item.title) + ' - ' + str(item.type) + ' - ' + str(item.id))
contentList.sort()
contentFilter = self.params[paramIndex2].filter
contentFilter.list = contentList
def getTargetUserFolder(self, target, paramIndex1, paramIndex2):
'''Get Target User Folder'''
targetUserFolderList = ['ROOT']
user = User(target, self.params[paramIndex1].value)
for folder in user.folders:
targetUserFolderList.append(folder['title'])
targetUserFolderListFilter = self.params[paramIndex2].filter
targetUserFolderListFilter.list = targetUserFolderList
def updateParameters(self):
# Modify parameter values and properties.
# This gets called each time a parameter is modified, before
# standard validation.
# Remove Windows Authentication option for source if arcgis.com in URL
if not self.params[0].hasBeenValidated:
self.disableIWA(0, 1)
# Disable username/password for source if Windows Authentication option is True
for i in range(0, 2):
if not self.params[i].hasBeenValidated:
self.disableUsernamePassword(1, 2, 3)
# Connect to portal using username/password to populate dropdown for source users
if self.params[1].value == False:
for i in (0, 2, 3):
if not self.params[i].hasBeenValidated:
if self.params[0].value and self.params[2].value and self.params[3].value:
source = GIS(self.params[0].value, self.params[2].value, self.params[3].value,
verify_cert=False)
self.usersDropDown(source, 0, 4)
# Connect to portal using Windows Authentication to populate dropdown for source users
elif self.params[1].value == True:
if not self.params[1].hasBeenValidated:
if self.params[0].value:
source = GIS(self.params[0].value, verify_cert=False)
self.usersDropDown(source, 0, 4)
# Dropdown for source user's content
if self.params[1].value == False:
for i in (0, 2, 3, 4):
if not self.params[i].hasBeenValidated:
if self.params[0].value and self.params[4].value:
source = GIS(self.params[0].value, self.params[2].value, self.params[3].value,
verify_cert=False)
self.getUserContent(source, 4, 5)
elif self.params[1].value == True:
for i in (0, 1, 4):
if not self.params[i].hasBeenValidated:
if self.params[0].value and self.params[4].value:
source = GIS(self.params[0].value, verify_cert=False)
self.getUserContent(source, 4, 5)
# Get Web Map IDs in Experience Builder App
webMapVtab = self.params[6]
embedVtab = self.params[7]
if self.params[5].altered and not self.params[5].hasBeenValidated:
if self.params[1].value == False:
source = GIS(self.params[0].value, self.params[2].value, self.params[3].value, verify_cert=False)
elif self.params[1].value == True:
source = GIS(self.params[0].value, verify_cert=False)
webMapIdList = []
embededURLList = []
expAppID = self.params[5].value.split(' - ')[-1]
expApp = source.content.get(expAppID)
expAppJSON = expApp.get_data(try_json=True)
jsonFile = expApp.resources.get(file='config/config.json', try_json=True)
with open(jsonFile, 'r') as file:
resourceJSON = json.load(file)
# Create list to store data sources from Config.JSON file
for val in resourceJSON['dataSources']:
webmaps = []
if resourceJSON['dataSources'][val]['type'] == 'WEB_MAP':
webMapID = (resourceJSON['dataSources'][val]['itemId'])
webmaps.append(webMapID)
webmaps.append('')
if len(webmaps) > 0:
webMapIdList.append(webmaps)
for widget in expAppJSON['widgets']:
embededURLs = []
try:
embedURL = expAppJSON['widgets'][widget]['config']['expression']
embedURL = embedURL.split('>')[1]
embedURL = embedURL.split('<')[0]
embededURLs.append(embedURL)
embededURLs.append('')
except:
pass
if len(embededURLs) > 0:
embededURLList.append(embededURLs)
for val in resourceJSON['dataSources']:
otherDataSources = []
try:
serviceURL = resourceJSON['dataSources'][val]['url']
if serviceURL not in otherDataSources:
otherDataSources.append(serviceURL)
otherDataSources.append('')
except:
pass
if len(otherDataSources) > 0:
embededURLList.append(otherDataSources)
# Remove empty lists
for webmap in webMapIdList:
if len(webmap) == 0:
webMapIdList.remove(webmap)
for embed in embededURLList:
if len(embed) == 0:
embededURLList.remove(embed)
# Remove duplicates from list
embededURLList = [i for n, i in enumerate(embededURLList) if i not in embededURLList[:n]]
webMapVtab.values = webMapIdList
embedVtab.values = embededURLList
# Remove Windows Authentication option for target if arcgis.com in URL
if not self.params[8].hasBeenValidated:
self.disableIWA(8, 9)
# Disable username/password for target if Windows Authentication option is True
for i in range(8, 10):
if not self.params[i].hasBeenValidated:
self.disableUsernamePassword(9, 10, 11)
# Connect to portal using username/password to populate dropdown for target users
if self.params[9].value == False:
for i in (8, 10, 11):
if not self.params[i].hasBeenValidated:
if self.params[8].value and self.params[10].value and self.params[11].value:
target = GIS(self.params[8].value, self.params[10].value, self.params[11].value,
verify_cert=False)
self.usersDropDown(target, 8, 12)
# Connect to portal using Windows Authentication to populate dropdown for target users
elif self.params[9].value == True:
if not self.params[9].hasBeenValidated:
if self.params[8].value:
target = GIS(self.params[8].value, verify_cert=False)
self.usersDropDown(target, 8, 12)
# Connect to portal using username/password to populate dropdown for Target User's folder
if self.params[9].value == False:
for i in (8, 10, 11, 12):
if not self.params[i].hasBeenValidated:
if self.params[12].value:
target = GIS(self.params[8].value, self.params[10].value, self.params[11].value,
verify_cert=False)
self.getTargetUserFolder(target, 12, 13)
# Connect to portal using Windows Authentication to populate dropdown for Target User's folder
elif self.params[9].value == True:
for i in (8, 9, 12):
if not self.params[i].hasBeenValidated:
if self.params[12].value:
target = GIS(self.params[8].value, verify_cert=False)
self.getTargetUserFolder(target, 12, 13)
return
def updateMessages(self):
# Customize messages for the parameters.
# This gets called after standard validation.
return
# def isLicensed(self):
# # set tool isLicensed.
# return True
# def postExecute(self):
# # This method takes place after outputs are processed and
# # added to the display.
# return
... View more
11-03-2024
07:02 AM
|
0
|
0
|
37014
|
|
POST
|
Hi @PanGIS,
1. What type of collaboration are you creating (i.e. Enterprise --> AGOL, AGOL --> Enterprise, or bi-directional)?
2. When you set up the collaboration, did you specify to share the items as referenced or copies?
3. What version of ArcGIS Enterprise are you running?
... View more
10-31-2024
11:54 AM
|
0
|
2
|
1053
|
|
DOC
|
@VigneshGopalakrishnan the tools may not work for migrating Experience Builder applications between different environments. This should work for hosted feature services, and web maps, but there could be significant changes in applications that are not supported between different versions.
Make sure you click the arrow to download the zip file:
JakeSkinner_0-1730380884637.png
... View more
10-31-2024
06:21 AM
|
0
|
0
|
37119
|
|
DOC
|
@OliviaE thanks for the new data. I downloaded the FGD and published the feature class as a new service. I was then able to successfully run the truncate/append script. Can you try publishing the data as a new service, and test updating the new service using the script?
... View more
10-31-2024
06:15 AM
|
0
|
0
|
17848
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 07-08-2026 12:27 PM | |
| 4 | 05-07-2020 05:14 PM | |
| 1 | 03-25-2026 04:16 AM | |
| 1 | 03-16-2026 01:00 PM | |
| 1 | 12-22-2025 10:39 AM |
| Online Status |
Offline
|
| Date Last Visited |
Tuesday
|