POST
|
Hi, for what i can see and testing are pixels, this height and width are the resolution of the output image, check the field DPI too for img quality This fields only applies when the output format is MAP_ONLY. Regards.
... View more
08-08-2019
11:57 AM
|
1
|
0
|
334
|
POST
|
It sounds like you don't have anymore the map in portal used for your app in wab, can you please check the config.json and see if the param "itemId"(something like "1f20ce74437449f5b0d50913a8c53dd8") correspond to a map in Portal? Regards.
... View more
04-23-2019
08:05 AM
|
0
|
0
|
248
|
POST
|
Why do you want to share WebAppBuilder 2.11 Stand alone? you can add custom widgets in portal since version 10.5.1 remenber that ArcGIS Web appbuilder stand alone is for developers (always installing on developer clients), if you want to deploy an app created with web appbuilder you must download it and make the deploy on some web server (By example IIS): https://doc.arcgis.com/es/web-appbuilder/manage-apps/deploy-app.htm Or in the case of a widget, download it and share it to portal ussing the custom widget option, you can't expose your web appbuilder stand alone version trough portal because is a internal link (is not hosted and exposed to the public by a web server). I hope this can be usefull for you. Regards.
... View more
04-12-2019
12:18 PM
|
0
|
0
|
622
|
POST
|
Kafil, what you mean is that you have a server with ArcGIS Server - ArcGIS Web adaptor and Portal for ArcGIS but you have a stand-alone versión of Web appbuilder hosted there too? i'm asking because Portal for ArcGIS Comes with a versión of Web appbuilder inside that is used to make hosted apps in portal.
... View more
04-11-2019
01:15 PM
|
0
|
2
|
622
|
POST
|
Hi Gary, i found it by myself, is ArcGIS Server bug, the solution is first make a back up of dsconnection.lst, delete the original file and then go to arcgis server manager > data stores > Select ArcGIS_Data_Store (relational database) and click on check, that action will make the file dsconnection.lst again with correct configuration and all will work. I hope this solution works for everybody. Regards.
... View more
03-27-2019
06:17 AM
|
4
|
0
|
3709
|
POST
|
They say that because is a regular problem, but in my case i check that with a wrong configuration with the federated server got that result (not removed in both sides), and with a correct configuration when i remove layers from arcgis server manager then are automatically removed from portal, even if the user logged in arcgis server manager is not the user of portal that upload or share the layer, what i don't know if that change in other versions i'm using ArcGIS 10.5. Regards.
... View more
03-21-2019
07:13 AM
|
1
|
1
|
2744
|
POST
|
First check if the item is a hosted layer or a item which is hosted with ArcGIS Data Store, if is a hosted item then you need to put your federated server as hosting server and then try to delete the item, one important thing when you federate a server and try to remove a item from arcgis server manager is that it should be removed from portal too, if that doest not happen then you have a problem with your federate process, check that the dns used in your web adaptor config and the federation config is correct.
... View more
03-21-2019
06:47 AM
|
2
|
3
|
2787
|
POST
|
Hi Stephen, a couple of months ago i had the same questions, and testing got this: - First, when you use anonymous acces in your portal the users can go and use the map tool and access to layers in groups that are public and with public content (in other words shared with "All" and "my organization"), if is not public content and public groups they cant access to that content, they can't add new layers to the map. - Anonymous access for users it does not have to do with ArcGIS web adaptor, what the option in web adaptor config means is a anonymous administration for ArcGIS Server. -Anonymous access does not have to affect your licenses, one license spent only when you register a user, with anonymous access the users do not require to login, i recommend you disable the default page to register users, then they can't be registered by they self. I hope this can help you. Regards.
... View more
03-21-2019
06:22 AM
|
0
|
0
|
2171
|
POST
|
Thanks for your response Laskhmanan, already tried what you said, the ID=85D.. does not exist inside the dsconnection.lst file but following the guide: Error: The specified ArcGIS Server already has a managed data store Says that id could be found inside the Arcgis_dataStore_ds_ID > dataitem.json, then i remove the line with this id inside of my dsconnection file and restart the arcgis Data store service, but portal keeps showing the same message. there is something else what can i try? Thanks
... View more
03-01-2019
10:40 AM
|
0
|
0
|
3709
|
POST
|
Hi, i have a problem when i try to put my federated server as hosting server on portal 10.5, this server is a arcgis server 10.5 with Data store, this error start to happen reinstalling ArcgIS Data store following the esri guide: Uninstall ArcGIS Data Store—ArcGIS Data Store (Windows) Installation Guide | ArcGIS Enterprise and got this error: "The specified ArcGIS Server already has a managed data store" fixed with this guide: Error: The specified ArcGIS Server already has a managed data store After applied this guide, i could configurate the data store without any error, then when i tried to configure the server as hosting server got this one: "Failed to update the data store connections file site", seems like is a problem with the file dsconnection.lst, in data store logs i can't find any info and in the arcgis server log i got this: <Msg time="2019-02-28T15:46:44,119" type="SEVERE" code="7415" source="Admin" process="37328" thread="14" methodName="" machine="xxxxxxxx" user="" elapsed="">Error al actualizar el archivo de conexiones al data store. Error al guardar el espacio de datos al archivo.</Msg> i'll be gratefull if anyone can help me. Thanks.
... View more
03-01-2019
07:15 AM
|
0
|
4
|
5134
|
POST
|
Hi, i need to prevent Users upload some type of files in ArcGIS Portal 10.5, i can see in portal help doc that users can upload .zip files and other type of files with a max size of 1GB which is a lot of size for my organization. There is any way to prevent this? could be even via code. i'll be gratefull if anyone can help me. Thanks.
... View more
01-16-2019
05:19 AM
|
0
|
0
|
481
|
POST
|
It Works!. BTW: i found that if i try to delete a user via POST with this service and the user does not exist, the message that return is wrong: {"error":{"code":403,"messageCode":"GWM_0003","message":"You do not have permissions to access this resource or perform this operation.","details":[]}} Thanks for your help Jeff.
... View more
12-28-2018
11:01 AM
|
1
|
0
|
519
|
POST
|
Thanks for your response Jeff, i have already tried replacing the provider from "webadaptor" to "enterprise" and i got the same error: "Error 500, Failed to register member xxxxxx (xxxxxx @domain.com). The number of registered portal members is equal to or greater than the number of licensed members" Tried with the built-in option too and i got the same error, so it seems like is something else.
... View more
12-28-2018
07:24 AM
|
0
|
0
|
642
|
POST
|
Hi, I need delete users from portal (previously added with LDAP) via code, i can see there is a way to remove users using the web service https://domain.com/arcgis/sharing/rest/portals/xxx789ABCDEF/removeUsers but only works to remove built-in users, not for enterprise users added with LDAP. There is a way to remove this kind of users via code? i'll be gratefull if anyone can help me. Thanks.
... View more
12-26-2018
08:35 AM
|
0
|
2
|
658
|
POST
|
Hi, i have some problems adding users to my organization in portal 10.5.1, i found this python code to add users using the portal web service /portaladmin/security/users/createUser: #!/usr/bin/env python
# Requires Python 2.7+
# Demonstrates how to add users to Portal for ArcGIS in bulk
# For Http calls
import httplib, urllib2, urllib, json
# For system tools
import sys, os
# For reading passwords without echoing
import getpass
# Other utilities
import Queue
# Defines the entry point into the script
def main(argv):
print "This script adds users in bulk into a portal. \n"
#Get parameters
parameters = getParametersFromUser ()
portalURL = parameters['portalURL']
provider = parameters['provider']
userName = parameters['userName']
password = parameters['password']
inUserFile = parameters['inUserFile']
#Get user data from file
usersData = getUserDataFromFile(inUserFile,provider)
#Create users
createUsers (userName,password, portalURL,provider, usersData)
raw_input('Press ENTER to close the script.')
return
# This function loads all the user data in the input text file into a Python Queue.
# This usersQueue can be later passed to the createUsers function
def getUserDataFromFile(inUserFile,provider):
usersQ = Queue.Queue()
keyParams = ['username', 'password', 'email', 'fullname','role','description']
inFileHandle = open(inUserFile, 'r')
userCount = 0
print '...Processing input users file at: ' + inUserFile
entryCount = 1;
for line in inFileHandle.readlines():
userParams = line.split('|')
userParamDict = {}
if provider=="webadaptor":
if len(userParams) == 5:
for i in range (0,5):
userParamDict[keyParams[0]] = userParams[0] # login
userParamDict[keyParams[1]] = ""
userParamDict[keyParams[2]] = userParams[1] # email address
userParamDict[keyParams[3]] = userParams[2] # name
userParamDict[keyParams[4]] = userParams[3] # role
userParamDict[keyParams[5]] = userParams[4].replace('\n','') # description
usersQ.put (userParamDict)
userCount = userCount + 1
else:
print ' The format for entry %s is invalid. The format for enterprise accounts should be <login>|<email address>|<name>|<role>|<description>. \n '% (entryCount)
raise SystemExit( 'When registering enterprise accounts, the format for each entry is as follows: <login>|<email address>|<name>|<role>|<description>')
elif provider=="arcgis":
if len(userParams) == 6:
for i in range (0,6):
userParamDict[keyParams[0]] = userParams[0] # account
userParamDict[keyParams[1]] = userParams[1] # password
userParamDict[keyParams[2]] = userParams[2] # email address
userParamDict[keyParams[3]] = userParams[3] # name
userParamDict[keyParams[4]] = userParams[4] # role
userParamDict[keyParams[5]] = userParams[5].replace('\n','') # description
usersQ.put (userParamDict)
userCount = userCount + 1
else:
print ' The format for entry %s is invalid. The format for built-in portal accounts should be <account>|<password>|<email address>|<name>|<role>|<description>. \n '% (entryCount)
raise SystemExit( 'When registering built-in portal accounts, the format for each entry is as follows: <account>|<password>|<email address>|<name>|<role>|<description>')
else:
print ' The provider is incorrect. Script ended. \n'
raise SystemExit( 'The value for the user type is invalid. ')
entryCount = entryCount +1
if not ((userParamDict[keyParams[4]].lower()== "user") or (userParamDict[keyParams[4]].lower()=="publisher") or (userParamDict[keyParams[4]].lower()== "admin")):
raise SystemExit( 'The value for the user role %s in users text file is invalid. Accepted values are user or publisher or admin. ' % (userParamDict[keyParams[4]]))
inFileHandle.close()
# Create users and report results
print '...Total members to be added: ' + str(userCount)
return usersQ
# This function connects to the portal and adds members to it from a collection
def createUsers(username,password, portalUrl, provider,userParamsQ):
print '...Connecting to ' + portalUrl
token = generateToken(username,password, portalUrl)
print '...Adding users '
usersLeftInQueue = True
while usersLeftInQueue:
try:
userDict = userParamsQ.get(False)
userDict['f'] = 'json'
userDict['token'] = token
userDict['provider'] = provider
params = urllib.urlencode(userDict)
request = urllib2.Request(portalUrl + '/portaladmin/security/users/createUser?',params, { 'Referer' : portalUrl })
# POST the create request
response = urllib2.urlopen(request).read()
responseJSON = json.loads(response)
# Log results
if responseJSON.has_key('error'):
errDict = responseJSON['error']
if int(errDict['code'])==498:
message = 'Token Expired. Getting new token... Username: ' + userDict['username'] + ' will be added later'
token = generateToken(username,password, portalUrl)
userParamsQ.put(userDict)
else:
message = 'Error Code: %s \n Message: %s' % (errDict['code'],
errDict['message'])
print '\n' + message
else:
# Success
if responseJSON.has_key('status'):
resultStatus = responseJSON['status']
print '\n' + 'User: %s account created' % (userDict['username'])
print 'User: %s account created' % (userDict['username'])
except Queue.Empty:
usersLeftInQueue = False
# This function gets a token from the portal
def generateToken(username, password, portalUrl):
'''Retrieves a token to be used with API requests.'''
parameters = urllib.urlencode({'username' : username,
'password' : password,
'client' : 'referer',
'referer': 'https://domain.com',
'expiration': 60,
'f' : 'json'})
try:
response = urllib.urlopen('https://domain.com/arcgis/sharing/rest/generateToken?',
parameters).read()
except Exception as e:
print( 'Unable to open the url %s/sharing/rest/generateToken' % (portalUrl))
responseJSON = json.loads(response.strip(' \t\n\r'))
# Log results
if responseJSON.has_key('error'):
errDict = responseJSON['error']
if int(errDict['code'])==498:
message = 'Token Expired. Getting new token... '
token = generateToken(username,password, portalUrl)
else:
message = 'Error Code: %s \n Message: %s' % (errDict['code'],
errDict['message'])
raise SystemExit(message)
token = responseJSON.get('token')
return token
# This function gets gets parameters from the user in interactive mode
def getParametersFromUser():
parameters = {}
# Get Location of users file
inUserFile = raw_input ("Enter path to users text file: ")
if not os.path.exists(inUserFile):
print ' File does not exist. Script ended. \n'
raise SystemExit( 'Input file: %s does not exist' % (inUserFile))
parameters['inUserFile'] = inUserFile
# Enteprise logins or built-in accounts?
userInput = raw_input ("What type of users do you want to add to the portal? Accepted values are built-in or enterprise: ")
if userInput.lower()=="built-in":
parameters['provider'] = 'arcgis'
print ' Built-in accounts will be added to the portal. \n'
elif userInput.lower()=="enterprise":
parameters['provider'] = 'webadaptor'
print ' Enterprise accounts will be added to the portal. \n'
else:
print ' The type of users is incorrect. Script ended. \n'
raise SystemExit( 'The value entered for the user type %s is invalid. Accepted values are built-in or enterprise. ' % (userInput))
# Get Portal URL
hostname = raw_input("Enter the fully qualified portal hostname (for example myportal.acme.com): ")
parameters['portalURL'] = 'https://' + hostname + '/arcgis'
print ' Users will be added to portal at: ' + parameters['portalURL'] + '\n'
# Get a username and password with portal administrative privileges
parameters['userName'] = raw_input("Enter a built-in user name with portal administrative privileges:")
parameters['password'] = raw_input("Enter password: ")
print '\n'
return parameters
# Script start
if __name__ == "__main__":
sys.exit(main(sys.argv[1:]))
The code work's fine but at the moment of add users the web service return the next message: "Error 500, Failed to register member xxxxxx (xxxxxx @domain.com). The number of registered portal members is equal to or greater than the number of licensed members" But all i have is one built-in user (the native portal admin) and one more admin added from LDAP and i have enough licences to add new lvl 2 users, in fact in the organization tab i can see that i have 2 / 5 lvl 2 licences used, so i have 3 to add new users, what i'm attempting to add is a regular lvl 2 "user" role: xxx2682|xxxx2682@domain.com|xxx2682|user|test i have already tried add users directly from the organization tab and i can do it. Can anyone help me with this? there is any solution? Thanks.
... View more
12-26-2018
05:59 AM
|
0
|
2
|
870
|
Title | Kudos | Posted |
---|---|---|
1 | 03-21-2019 07:13 AM | |
1 | 12-28-2018 11:01 AM | |
1 | 08-08-2019 11:57 AM | |
4 | 03-27-2019 06:17 AM | |
2 | 03-21-2019 06:47 AM |
Online Status |
Offline
|
Date Last Visited |
11-11-2020
02:23 AM
|