cancel
Showing results for 
Search instead for 
Did you mean: 

How can I enable user account at the time of creation using JAVA Webscript?

mehtaneha747
Champ on-the-rise
Champ on-the-rise

Hi All,

I want to create users from the csv file which will be available on alfresco repository. I created a JAVA Webscript for that but I am not able to set its account enabled through java. Like in javascript 

var testUser = people.createPerson("spm", "Joe", "User", "joe.user@alfresco.com", "spm", true, true);

the second last argument refers to the setAccountEnabled param but in java we need to create Map instead of passing the value in params like 

Map userMap = new HashMap();
userMap.put(ContentModel.PROP_USERNAME, user.getUserName());
userMap.put(ContentModel.PROP_FIRSTNAME, user.getFirstName());
userMap.put(ContentModel.PROP_LASTNAME, user.getLastName());
userMap.put(ContentModel.PROP_EMAIL, user.getEmailAddress());
userMap.put(ContentModel.PROP_PASSWORD, user.getPassword());

So here I am not able to find the QName for the setAcountEnabled property and because of that users are created in alfresco but I am not able to login through their id.

Is there any possible way to do that?

Thanks and Regards,

Neha

1 REPLY 1

jpotts
World-Class Innovator
World-Class Innovator

I don't see anything in the JavaDoc or the source that would indicate that setting the enabled flag to true is required. I suspect it defaults to that.

In addition to creating the person object, are you also making a call to the authentication service? Take a look at: https://docs.alfresco.com/5.2/references/dev-services-person.html

Also, did you know that the Share admin console includes a CSV import? If you can find that implementation in the source it might have some helpful tidbits.

By the way, you can always create a QName if you know the namespace and the property name. If you knew the property you wanted is "enabled" and the namespace is Alfresco's User namespace, you could create the QName like:

QName PROP_ENABLED = QName.createQName("http://www.alfresco.org/model/user/1.0", "enabled");

But, if that's the property you are looking for, you don't have to create the QName yourself--it is already defined on the org.alfresco.model.ContentModel interface. Just import it.

Getting started

Explore our Alfresco products with the links below. Use labels to filter content by product module.