Re: [Suggestions] Looking for a first-time issue or a feature
On 19/05/20 20:37, Supun Wanniarachchi wrote: > Hi All, > > I'm interested in working with Identity management and previously worked > with [SYNCOPE-152]. But I haven't worked with the project during the last > two years. I would like to continue contributing to the Syncope project. It > would be great if you could provide more details about good first-time > issues or any feature I can start contributing. > > Your suggestions would be highly appreciated. Hi Supun, glad to see you back! I'd say you have quite few options available: 1. complete Netbeans IDE support - see https://issues.apache.org/jira/browse/SYNCOPE-1403 2. work on increasing test coverage and code quality - essentially, continue the work started by the following PRs, but on different submodules: https://github.com/apache/syncope/pull/148 https://github.com/apache/syncope/pull/155 https://github.com/apache/syncope/pull/156 https://github.com/apache/syncope/pull/160 3. transform Admin Console IT Cases into Unit Tests - with target of speeding up the overall build time 4. join the effort for Syncope 3.0.0 - see https://cwiki.apache.org/confluence/display/SYNCOPE/%5BDISCUSS%5D+Syncope+3.0 This will require further clarifications and scope seizing. WDYT? If others have more ideas, please bring. Regards. -- Francesco Chicchiriccò Tirasa - Open Source Excellence http://www.tirasa.net/ Member at The Apache Software Foundation Syncope, Cocoon, Olingo, CXF, OpenJPA, PonyMail http://home.apache.org/~ilgrosso/
[jira] [Updated] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Chicchiriccò updated SYNCOPE-1567: Affects Version/s: (was: 2.1.5) 2.0.15 2.1.6 > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.0.15, 2.1.6 >Reporter: Jim Lawhorn >Priority: Major > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used as the > unique identifier for rows in the table.", > "type": "java.lang.String", > "required": true, > "order": 8, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "USERNAME" >
[jira] [Updated] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Chicchiriccò updated SYNCOPE-1567: Component/s: (was: common) (was: client) core > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.1.5 >Reporter: Jim Lawhorn >Priority: Major > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used as the > unique identifier for rows in the table.", > "type": "java.lang.String", > "required": true, > "order": 8, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "USERNAME" > ] > } >
[GitHub] [syncope] ilgrosso commented on a change in pull request #189: SYNCOPE-1562: Manage tokens for WA GoogleAuth MFA
ilgrosso commented on a change in pull request #189: URL: https://github.com/apache/syncope/pull/189#discussion_r427782240 ## File path: common/am/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/wa/GoogleMfaAuthTokenService.java ## @@ -0,0 +1,127 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + *http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.syncope.common.rest.api.service.wa; + +import io.swagger.v3.oas.annotations.headers.Header; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; +import io.swagger.v3.oas.annotations.security.SecurityRequirement; +import io.swagger.v3.oas.annotations.security.SecurityRequirements; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.apache.syncope.common.lib.to.GoogleMfaAuthTokenTO; +import org.apache.syncope.common.rest.api.RESTHeaders; +import org.apache.syncope.common.rest.api.service.JAXRSService; + +import javax.validation.constraints.NotNull; +import javax.ws.rs.Consumes; +import javax.ws.rs.DELETE; +import javax.ws.rs.GET; +import javax.ws.rs.POST; +import javax.ws.rs.Path; +import javax.ws.rs.PathParam; +import javax.ws.rs.Produces; +import javax.ws.rs.QueryParam; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; + +import java.util.Date; +import java.util.List; + +@Tag(name = "Google MFA Tokens") +@SecurityRequirements({ +@SecurityRequirement(name = "BasicAuthentication"), +@SecurityRequirement(name = "Bearer")}) +@Path("wa/gauth") +public interface GoogleMfaAuthTokenService extends JAXRSService { + +@DELETE +@Consumes({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Produces({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Path("tokens") +Response deleteTokensByDate(@NotNull @QueryParam("expirationDate") Date expirationDate); + +@DELETE +@Consumes({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Produces({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Path("tokens/${owner}/${token}") +Response deleteToken(@NotNull @PathParam("owner") String owner, @NotNull @PathParam("token") Integer token); + +@DELETE +@Consumes({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Produces({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Path("tokens/owners/${owner}") +Response deleteTokensFor(@NotNull @PathParam("owner") String owner); + +@DELETE +@Consumes({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Produces({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Path("tokens/${token}") +Response deleteToken(@NotNull @PathParam("token") Integer token); + +@DELETE +@Consumes({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Produces({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Path("tokens") +Response deleteTokens(); + +@ApiResponses({ +@ApiResponse(responseCode = "201", +description = "GoogleMfaAuthTokenTO successfully created", headers = { +@Header(name = RESTHeaders.RESOURCE_KEY, schema = +@Schema(type = "string"), +description = "UUID generated for the entity created")})}) +@POST +@Consumes({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Produces({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Path("tokens") +Response save(@NotNull GoogleMfaAuthTokenTO tokenTO); + +@GET +@Consumes({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Produces({MediaType.APPLICATION_JSON, RESTHeaders.APPLICATION_YAML, MediaType.APPLICATION_XML}) +@Path("tokens/${owner}/${token}") +GoogleMfaAuthTokenTO findTokenFor(@NotNull
[jira] [Updated] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Chicchiriccò updated SYNCOPE-1567: Fix Version/s: 3.0.0 2.1.7 2.0.16 > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.0.15, 2.1.6 >Reporter: Jim Lawhorn >Priority: Major > Fix For: 2.0.16, 2.1.7, 3.0.0 > > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used as the > unique identifier for rows in the table.", > "type": "java.lang.String", > "required": true, > "order": 8, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ >
[jira] [Assigned] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Chicchiriccò reassigned SYNCOPE-1567: --- Assignee: Francesco Chicchiriccò > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.0.15, 2.1.6 >Reporter: Jim Lawhorn >Assignee: Francesco Chicchiriccò >Priority: Major > Fix For: 2.0.16, 2.1.7, 3.0.0 > > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used as the > unique identifier for rows in the table.", > "type": "java.lang.String", > "required": true, > "order": 8, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, >
[jira] [Created] (SYNCOPE-1568) Render custom wizard on user request
Lorenzo Di Cola created SYNCOPE-1568: Summary: Render custom wizard on user request Key: SYNCOPE-1568 URL: https://issues.apache.org/jira/browse/SYNCOPE-1568 Project: Syncope Issue Type: Improvement Affects Versions: 2.1.6 Reporter: Lorenzo Di Cola Based on a user's role display a custom wizard on console dynamically. Improvement steps could be: create a new wizard, set it in the layout of a role. Once the user with this role will access to the user request wizard he/she will see the custom one. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17111931#comment-17111931 ] ASF subversion and git services commented on SYNCOPE-1567: -- Commit ae10e7dfa130af69b1398a0d719d8eb167547274 in syncope's branch refs/heads/2_1_X from Francesco Chicchiriccò [ https://gitbox.apache.org/repos/asf?p=syncope.git;h=ae10e7d ] [SYNCOPE-1567] Do not check for allowed attributes for relationships mapping items > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.0.15, 2.1.6 >Reporter: Jim Lawhorn >Assignee: Francesco Chicchiriccò >Priority: Major > Fix For: 2.0.16, 2.1.7, 3.0.0 > > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used as
[jira] [Commented] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17111932#comment-17111932 ] ASF subversion and git services commented on SYNCOPE-1567: -- Commit 8258b46048e626e1489949fda4ab3241a341413a in syncope's branch refs/heads/2_0_X from Francesco Chicchiriccò [ https://gitbox.apache.org/repos/asf?p=syncope.git;h=8258b46 ] [SYNCOPE-1567] Do not check for allowed attributes for relationships mapping items > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.0.15, 2.1.6 >Reporter: Jim Lawhorn >Assignee: Francesco Chicchiriccò >Priority: Major > Fix For: 2.0.16, 2.1.7, 3.0.0 > > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used as
[jira] [Commented] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17111953#comment-17111953 ] ASF subversion and git services commented on SYNCOPE-1567: -- Commit dbde3de847c52a7d6abfb62fa96ce8358afc2f4c in syncope's branch refs/heads/master from Francesco Chicchiriccò [ https://gitbox.apache.org/repos/asf?p=syncope.git;h=dbde3de ] [SYNCOPE-1567] Do not check for allowed attributes for relationships mapping items > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.0.15, 2.1.6 >Reporter: Jim Lawhorn >Assignee: Francesco Chicchiriccò >Priority: Major > Fix For: 2.0.16, 2.1.7, 3.0.0 > > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used
[jira] [Resolved] (SYNCOPE-1567) Mapping does not allow relationships
[ https://issues.apache.org/jira/browse/SYNCOPE-1567?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Chicchiriccò resolved SYNCOPE-1567. - Resolution: Fixed > Mapping does not allow relationships > > > Key: SYNCOPE-1567 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1567 > Project: Syncope > Issue Type: Bug > Components: core >Affects Versions: 2.0.15, 2.1.6 >Reporter: Jim Lawhorn >Assignee: Francesco Chicchiriccò >Priority: Major > Fix For: 2.0.16, 2.1.7, 3.0.0 > > > Attempting to use a relationship in the internal attribute field of a > resource mapping results in an error of "Invalid mapping not > allowed". > > Steps to reproduce using the standalone demo data: > # Confirm that RelationshipType "neighborhood" exists > # Create table in testdb > {code:sql} > CREATE TABLE PUBLIC.PRINTERS (CREATE TABLE PUBLIC.PRINTERS ( USERNAME > VARCHAR(100), MODEL VARCHAR(100), STATUS VARCHAR(100)); > {code} > # Edit H2 connector to allow for table and key override > # 3. Create new resource for PRINTERS table based on USER object and map > userId to USERNAME and relationship[neighborhood][PRINTER].model to MODEL. > REST details are below. REST call will fail with 400 error > > {code:java} > { > "status": 400, > "type": "InvalidMapping", > "elements": [ > "'relationships[neighborhood][PRINTER].model' not allowed" > ] > } > {code} > > REST payload for [http://localhost:9080/syncope/rest/resources/Printers] > > {code:java} > { > "key": "Printers", > "connector": "5aa5b8be-7521-481a-9651-c557aea078c1", > "connectorDisplayName": "H2", > "orgUnit": null, > "propagationPriority": null, > "randomPwdIfNotProvided": false, > "enforceMandatoryCondition": false, > "createTraceLevel": "ALL", > "updateTraceLevel": "ALL", > "deleteTraceLevel": "ALL", > "provisioningTraceLevel": "ALL", > "passwordPolicy": null, > "accountPolicy": null, > "pullPolicy": null, > "pushPolicy": null, > "overrideCapabilities": false, > "provisions": [ > { > "key": "2c090bbd-41e6-4b23-890b-bd41e6fb2363", > "anyType": "USER", > "objectClass": "__ACCOUNT__", > "syncToken": null, > "ignoreCaseMatch": false, > "uidOnCreate": null, > "mapping": { > "connObjectLink": null, > "connObjectKeyItem": { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > "items": [ > { > "key": "b9ee5e12-ff29-4935-ae5e-12ff294935c7", > "intAttrName": "userId", > "extAttrName": "USERNAME", > "connObjectKey": true, > "password": false, > "mandatoryCondition": "true", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > }, > { > "key": "5c1f2776-af5f-45aa-9f27-76af5f95aa9d", > "intAttrName": "relationships[neighborhood][PRINTER].model", > "extAttrName": "MODEL", > "connObjectKey": false, > "password": false, > "mandatoryCondition": "false", > "purpose": "PROPAGATION", > "propagationJEXLTransformer": null, > "pullJEXLTransformer": null, > "transformers": [] > } > ], > "linkingItems": [] > }, > "auxClasses": [], > "virSchemas": [] > } > ], > "confOverride": [ > { > "schema": { > "name": "table", > "displayName": "Table", > "helpMessage": "Enter the name of the table in the database that > contains the accounts.", > "type": "java.lang.String", > "required": true, > "order": 7, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ > "PRINTERS" > ] > }, > { > "schema": { > "name": "keyColumn", > "displayName": "Key Column", > "helpMessage": "This mandatory column value will be used as the > unique identifier for rows in the table.", > "type": "java.lang.String", > "required": true, > "order": 8, > "confidential": false, > "defaultValues": [ > "" > ] > }, > "overridable": true, > "values": [ >
[jira] [Updated] (SYNCOPE-1568) Render custom wizard on user request
[ https://issues.apache.org/jira/browse/SYNCOPE-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Chicchiriccò updated SYNCOPE-1568: Fix Version/s: 3.0.0 2.1.7 > Render custom wizard on user request > > > Key: SYNCOPE-1568 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1568 > Project: Syncope > Issue Type: Improvement > Components: console >Affects Versions: 2.1.6 >Reporter: Lorenzo Di Cola >Priority: Minor > Fix For: 2.1.7, 3.0.0 > > > Based on a user's role display a custom wizard on console dynamically. > Improvement steps could be: create a new wizard, set it in the layout of a > role. Once the user with this role will access to the user request wizard > he/she will see the custom one. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Updated] (SYNCOPE-1568) Render custom wizard on user request
[ https://issues.apache.org/jira/browse/SYNCOPE-1568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Francesco Chicchiriccò updated SYNCOPE-1568: Component/s: console > Render custom wizard on user request > > > Key: SYNCOPE-1568 > URL: https://issues.apache.org/jira/browse/SYNCOPE-1568 > Project: Syncope > Issue Type: Improvement > Components: console >Affects Versions: 2.1.6 >Reporter: Lorenzo Di Cola >Priority: Minor > > Based on a user's role display a custom wizard on console dynamically. > Improvement steps could be: create a new wizard, set it in the layout of a > role. Once the user with this role will access to the user request wizard > he/she will see the custom one. -- This message was sent by Atlassian Jira (v8.3.4#803005)