Community Tip - Have a PTC product question you need answered fast? Chances are someone has asked it before. Learn about the community search. X
Hi,
I am new in Thing Worx I have just completed thing Worx help center module and tried to create 100 user in Thing Worx using services like I created a Thing Template and a Thing the I tried to write script code in services section of Thing Worx Template for creating 100 user and my code is like this way:
var params = {
name: "UserTemplate", // Replace with the name of your template
description: "",
thingShape: "GenericThing", // Replace with the name of your thing shape
tags: ["UserTemplate"],
aspects: {}
};
var template = Resources["EntityServices"].CreateEntityTemplate(params);
var result = "";
for (var i = 1; i <= numberUsers; i++) {
var name = baseName + i;
params = {
name: name,
description: "",
template: template,
persistUserData: true
};
Resources["EntityServices"].CreateEntity(params);
result += "User " + name + " created.\n";
}
me.result = result;
but after executing this service I am getting error like:
TypeError: Cannot find function CreateEntityTemplate in object com.thingworx.resources.entities
please help me and also give some brief advice on creating users using services like what entities we need to create this
Thanks
Solved! Go to Solution.
it is saying that it cannot find a variable 'user1' as you are referencing it in the 'name:'. For your test you would need to put quotes around the name, so it is a string, not a variable. Like you did for description e.g.
Resources["EntityServices"].CreateUser({
name: "User1"/* STRING */,
description: ""/* STRING */,
tags: undefined /* TAGS */,
projectName: "PTCDefaultProject"/* PROJECTNAME */,
password: undefined /* STRING */
});
Welcome to ThingWorx
You need to create users with a different service
Resources["EntityServices"].CreateUser({
name: undefined /* STRING */,
description: undefined /* STRING */,
tags: undefined /* TAGS */,
projectName: undefined /* PROJECTNAME */,
password: undefined /* STRING */
});
Thanks for answering I have created new service and given user name as user1 but again getting error like:
ReferenceError: "user1" is not defined.
Resources["EntityServices"].CreateUser({
name: user1 /* STRING */,
description: "" /* STRING */,
projectName: PTCDefaultProject /* PROJECTNAME */,
});
it is saying that it cannot find a variable 'user1' as you are referencing it in the 'name:'. For your test you would need to put quotes around the name, so it is a string, not a variable. Like you did for description e.g.
Resources["EntityServices"].CreateUser({
name: "User1"/* STRING */,
description: ""/* STRING */,
tags: undefined /* TAGS */,
projectName: "PTCDefaultProject"/* PROJECTNAME */,
password: undefined /* STRING */
});
Great it's creating user thanks for your reply.
Now,
From this code I can create user by changing name like user1 ,user2 and so on till any number of user now suppose if I have to create 400 user and whose name like user1, user2 and so on.. then how can I proceed so for that do I need Infotable as well or only services
please tell me
Thanks
You can just use the service you had in your first post, using the for-loop to create the users. But using the CreateUser-service and its parameters instead of the CreateEntity service.
are you saying like this way :
var template = Resources["EntityServices"].GetEntityTemplate({
name: "UserTemplate" // Replace "UserTemplate" with the name of your user template
});
var result = "";
for (var i = 1; i <= numberUsers; i++) {
var name = baseName + i;
var params = {
name: name,
description: "",
template: template,
persistUserData: true
};
Resources["EntityServices"].CreateUser({
name: "user" /* STRING */,
description: "" /* STRING */,
projectName: "PTCDefaultProject" /* PROJECTNAME */,
});
}
me.result = result;
like this way I have to write but it is showing error like can't find function CreateEntityTempalte in object com.thingworx.resources.entities.entityServices@bc1afe
not sure what you did exactly. But from your initial code the service would look something like:
result = "";
for (var i = 1; i <= numberUsers; i++) {
var name = baseName + i;
var params = {
name: name /* STRING */ ,
description: "" /* STRING */ ,
tags: undefined /* TAGS */ ,
projectName: "PTCDefaultProject" /* PROJECTNAME */ ,
password: undefined /* STRING */
};
Resources["EntityServices"].CreateUser(params);
result += "User " + name + " created.\n";
}
it's missing checks like if the user already exists and other items. But in general I think it should work like this
Kudos to you I am so glad It worked
You make me smile thanks a lot
and also thanks for replying me on time so that I couldn't loose my motivation.
Now I am excited to learn more and more .
Sure thing