Expand my Community achievements bar.

Enhance your AEM Assets & Boost Your Development: [AEM Gems | June 19, 2024] Improving the Developer Experience with New APIs and Events

User selection by XPath?

Avatar

Former Community Member
Hello Forum!



Many LC ES Components have a user input field such as
Assign Task --> Initial User Selection (e.g.). The hint text of this field tells me: "Assign an initial user to the task. Select either a User, Process Creator, Group or an xpath expression."



Ok. So far, so good. But what if I want to select the user or the group by an
xpath expression. What do I have to select? User id? Uid String? User commonname? User login? User's hair color?



... there are too many options.

Can anyone help me?



Would be great!

Nico
18 Replies

Avatar

Level 10
You need xPath variable that points to the users's common name.



Jasmin

Avatar

Former Community Member
Hi Jasmin!



Thanks for your help and (furthermore) your commited work around this forum! Just great.



In this case your answer didn't work for me (exceptional). I've tried it with the common name of the group which resulted in the following exception:




com.adobe.idp.taskmanager.dsc.client.task.ActivePrincipalNotFoundException: No active group found with GroupPrincipalId: Default Group



In return this exception brought me to the solution: The XPath variable has to point to the user's respectively group's
principal id (e.g. "D8C5B93A-C0BF-F47E-FAA6-FDEAA9D8ABDB").



By the way: This is also reasonable because the principalId is unique, contrary to the common name.



Regards,

Nico

Avatar

Level 10
Nico,

You are right. I made a mistake when I read the sql stmt I'm using to get the guid, which is something like SELECT ID FROM EDCPRINCIPALENTITY WHERE COMMONNAME = "username".



Sorry about that.



I'm glad it's working for you now.



Jasmin

Avatar

Level 9
Hi Nico

As I think you're already aware, we have a component that will look up a group by common name, and return the principal-id.

http://avoka.dnsalias.com/confluence/display/Public/Lookup+DSC

You can also do low level SQL queries...

Howard

Avatar

Former Community Member
Also, we have a component which can return the members in a group,search for either users or group

Avatar

Level 3
Hi



I'm fairly new to LCES and have the same problem with assigning a task to a group using XPath.



Is there a way to use the above SQL example to look up the GUID without buying 3rd party components ?



If so where can I find the JDBC and DB schema for LCES so I can build the SQL query similar to example given above ?



Thanks - Stuart

Avatar

Level 3
Hi



Please kill this question I've solved it with "SELECT ID FROM EDCPRINCIPALENTITY where Commonname = '{$ /process_data/formVaribleUser/object/data/xdp/datasets/data/form1/textField1 $}'" as the SQL Statement in a 'Query Single Row' LCES JDBC object where textField1 = the Group Common Name.



What phased me was figuring out the Datasource Name for the JDBC component but it *seems* this is an optional paramenter ...



Still not quite sure why the SQL query works with out defining a datasource - but it does - so problem solved.



Stuart

Avatar

Level 8
Level 8
Hi again,



I want to do something like Nico - but I am not sure how I can get the principalID of the group. Can you help?



Thanks in advance



Kim

Avatar

Level 3
Hi Kim



Please see my post on this thread d/d Dec 26th - you need to use a JDBC component and use that to look-up the principalID from the LC ES EDCPRINCIPALENTITY table feeding in the Group Common Name.



Stuart

Avatar

Level 8
Level 8
Ohhh, I wrote it wrong then, I need to get some specific user - not a group. However this might be the same with users - just feeding the common name of the user?



Thanks i advance



Kim

Avatar

Level 8
Level 8
Yes, It worked - I just needed to figure out how to save the result in a variable. When that was solved everything worked perfectly.



Thank you for your help



Kim

Avatar

Level 9
Relating to JDBC and datasource.

There is a datasouce at the operation level, and also one defined at the component level. If you don't define the operation level one, it will default to the component level, which in turn defaults to java:/ADOBE_DS, which is the standard Adobe data source.

Howard

http://www.avoka.com

Avatar

Level 10
The standard Adobe datasource is java:/IDP_DS.



Jasmin

Avatar

Level 3
Hi Howard / Jasmin



Thanks for the input - do you know if there is a difference between the ADOBE_DS and IDP_DS ?



Also, and I've seen this asked else where but have not seen an answer, is there a Schema for the Adobe LCES database - specifically regarding details of Users, Groups and Process which are what I need to look-up quite often ?



Stuart

Avatar

Level 9
Oops, sorry, there is not such thing as ADOBE_DS - it's IDP_DS.

There's no schema that I'm aware of.

That's why we use our LookupUuser and LookupGroup components, which make it all easy. (We've done the hard work of working out how all the tables fit together.)

Howard

http://www.avoka.com

Avatar

Level 2
Hi All,

I am new to this froum and completely new to the Adobe tool.. I wanted to know something about database connections ionadobe process management. In other process management tools which I worked on ...when I publish my procedure or the workflow it generates a database by itself and I can also connect to exteral databases from my forms and other sources.

-Does Adobe have any datasebase generated by itself?

- How do we connect to a database in adobe process management(workbench)

- Waht is java:/IDP_DS??? is it a standard database or something?

Please help me out with these questions. I am new to this tool and i will have to start an application with this tool.



Thankx in advance.

Avatar

Former Community Member
hi

IDP_DS is the datasource connection the livecycle database.This is defined in the adobe-ds.xml which can be found in the deploy directory of your jboss installation.

let me know if you have any more questions

girish

mergeandfuse@gmail.com