[ 
https://issues.apache.org/jira/browse/SLING-10192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eric Norman updated SLING-10192:
--------------------------------
    Description: 
Use Case: repoinit should be able to set properties on users and groups that 
were just created

The solution here could be similar to how SLING-8757 added the syntax to set 
ACL on the user home folder but for the "set properties" action.

I'm thinking of a path syntax of authorizable(id) instead of home(id) to 
maintain the abstraction between the Authorizable apis and where those are 
stored. 

The syntax would look something like this:

 
{code:java}
# set properties on user or group profile
set properties on authorizable(alice),authorizable(grpA)
  set pathArray to /d/e/f/*, m/n/*
  default someInteger{Long} to 42
  set someFlag{Boolean} to true
  default someDate{Date} to "2020-03-19T11:39:33.437+05:30"
  set customSingleValueStringProp to test
  set customSingleValueQuotedStringProp to "hello, you!"
  set stringArray to test1, test2
  default someInteger{Long} to 65
  set quotedA to "Here's a \"double quoted string\" with suffix"
  set quotedMix to "quoted", non-quoted, "the last \" one"
  set nested/someInteger{Long} to 42
end

# set properties on a subtree of the user or group profile
set properties on authorizable(bob)/nested,authorizable(grpB)/nested
  set pathArray to /d/e/f/*, m/n/*
  default someInteger{Long} to 42
  set someFlag{Boolean} to true
  default someDate{Date} to "2020-03-19T11:39:33.437+05:30"
  set customSingleValueStringProp to test
  set customSingleValueQuotedStringProp to "hello, you!"
  set stringArray to test1, test2
  default someInteger{Long} to 65
  set quotedA to "Here's a \"double quoted string\" with suffix"
  set quotedMix to "quoted", non-quoted, "the last \" one"
  set nested/someInteger{Long} to 42
end
{code}

  was:
Use Case: repoinit should be able to set properties on users and groups that 
were just created

The solution here could be similar to how SLING-8757 added the syntax to set 
ACL on the user home folder but for the "set properties" action.

I'm thinking of a path syntax of authorizable(id) instead of home(id) to 
maintain the abstraction between the Authorizable apis and the where those are 
stored. 

The syntax would look something like this:

 
{code:java}
# set properties on user or group profile
set properties on authorizable(alice),authorizable(grpA)
  set pathArray to /d/e/f/*, m/n/*
  default someInteger{Long} to 42
  set someFlag{Boolean} to true
  default someDate{Date} to "2020-03-19T11:39:33.437+05:30"
  set customSingleValueStringProp to test
  set customSingleValueQuotedStringProp to "hello, you!"
  set stringArray to test1, test2
  default someInteger{Long} to 65
  set quotedA to "Here's a \"double quoted string\" with suffix"
  set quotedMix to "quoted", non-quoted, "the last \" one"
  set nested/someInteger{Long} to 42
end

# set properties on a subtree of the user or group profile
set properties on authorizable(bob)/nested,authorizable(grpB)/nested
  set pathArray to /d/e/f/*, m/n/*
  default someInteger{Long} to 42
  set someFlag{Boolean} to true
  default someDate{Date} to "2020-03-19T11:39:33.437+05:30"
  set customSingleValueStringProp to test
  set customSingleValueQuotedStringProp to "hello, you!"
  set stringArray to test1, test2
  default someInteger{Long} to 65
  set quotedA to "Here's a \"double quoted string\" with suffix"
  set quotedMix to "quoted", non-quoted, "the last \" one"
  set nested/someInteger{Long} to 42
end
{code}


> Add option to set/edit properties on users and groups
> -----------------------------------------------------
>
>                 Key: SLING-10192
>                 URL: https://issues.apache.org/jira/browse/SLING-10192
>             Project: Sling
>          Issue Type: Improvement
>            Reporter: Eric Norman
>            Assignee: Eric Norman
>            Priority: Major
>             Fix For: Repoinit JCR 1.1.36
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Use Case: repoinit should be able to set properties on users and groups that 
> were just created
> The solution here could be similar to how SLING-8757 added the syntax to set 
> ACL on the user home folder but for the "set properties" action.
> I'm thinking of a path syntax of authorizable(id) instead of home(id) to 
> maintain the abstraction between the Authorizable apis and where those are 
> stored. 
> The syntax would look something like this:
>  
> {code:java}
> # set properties on user or group profile
> set properties on authorizable(alice),authorizable(grpA)
>   set pathArray to /d/e/f/*, m/n/*
>   default someInteger{Long} to 42
>   set someFlag{Boolean} to true
>   default someDate{Date} to "2020-03-19T11:39:33.437+05:30"
>   set customSingleValueStringProp to test
>   set customSingleValueQuotedStringProp to "hello, you!"
>   set stringArray to test1, test2
>   default someInteger{Long} to 65
>   set quotedA to "Here's a \"double quoted string\" with suffix"
>   set quotedMix to "quoted", non-quoted, "the last \" one"
>   set nested/someInteger{Long} to 42
> end
> # set properties on a subtree of the user or group profile
> set properties on authorizable(bob)/nested,authorizable(grpB)/nested
>   set pathArray to /d/e/f/*, m/n/*
>   default someInteger{Long} to 42
>   set someFlag{Boolean} to true
>   default someDate{Date} to "2020-03-19T11:39:33.437+05:30"
>   set customSingleValueStringProp to test
>   set customSingleValueQuotedStringProp to "hello, you!"
>   set stringArray to test1, test2
>   default someInteger{Long} to 65
>   set quotedA to "Here's a \"double quoted string\" with suffix"
>   set quotedMix to "quoted", non-quoted, "the last \" one"
>   set nested/someInteger{Long} to 42
> end
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to