Source changes

POM

In the root pom.xml:

  • change parent/version from 3.0.2 to 3.0.3
  • change properties/syncope.version from 3.0.2 to 3.0.3

Files

console.properties

Remove

console.reconciliationReportKey=c3520ad9-179f-49e7-b315-d684d216dd97

Add

console.realms-full-tree-threshold=20

wa.properties

Remove

cas.authn.syncope.url=${cas.server.name}/syncope
cas.authn.syncope.name=DefaultSyncopeAuthModule

MasterContent.xml

The changes described below are only needed when starting with an empty Internal Storage.

  • Re-generate the following elements:
    • AttrReleasePolicy
    • AuthModule
    • AttrRepo
  • Realm: add fullPath attribute
  • ConnInstance
    • net.tirasa.connid.bundles.db.tablenet.tirasa.connid.bundles.db
    • net.tirasa.connid.bundles.db.scriptedsqlnet.tirasa.connid.bundles.db
    • connid.database.versionconnid.db.version
  • Add Implementation as follows:

    <Implementation id="GenerateRandomPasswordPropagationActions" type="PROPAGATION_ACTIONS" engine="JAVA"
                    body="org.apache.syncope.core.provisioning.java.propagation.GenerateRandomPasswordPropagationActions"/>
  • ExternalResource
    • remove randomPwdIfNotProvided attribute
    • add ExternalResourcePropAction element with implementation_id="GenerateRandomPasswordPropagationActions"
  • Remove the following elements and re-generate after defining Report(s) in the new format:
    • ReportTemplate
    • Report
    • ReportReportlet
    • Implementation[@type='REPORTLET']
  • Change any occurrence of REALM_LIST with REALM_SEARCH

Internal Storage

Update

ALTER TABLE Realm ADD fullPath VARCHAR(255);

For each row in the Realm table, provide a sensible value for the fullPath column, with the following logic:

  1. /
    for the root realm, e.g. the only row where the parent column has NULL value
  2. {parent row's fullPath value}/{current row's name value}
    for any other row

For example:

idnameparentfullPath

8915e471-9683-4356-8c92-d2a6e1993de5

/NULL/

345f0a30-5a32-442c-bd7f-c1bbcdedf293

child18915e471-9683-4356-8c92-d2a6e1993de5/child1

d419af73-fe15-4774-95be-131b6b1f1044

child28915e471-9683-4356-8c92-d2a6e1993de5/child2

28807a32-1314-4a85-8fe2-0d59a1a05479

nephew18915e471-9683-4356-8c92-d2a6e1993de5/child1/nephew1

Cleanup

DROP TABLE ReportReportlet;
-- this statement might be needed and adjusted to the effective constraint name
ALTER TABLE Report DROP CONSTRAINT Report_ibfk_1;
ALTER TABLE Report DROP COLUMN template_id;
DROP TABLE ReportTemplate;

Indexes

New indexes shall be created to improve overall performance.

PostgreSQL

CREATE INDEX Realm_parent_id ON Realm(parent_id);
CREATE INDEX Realm_fullPath ON Realm(fullPath);
CREATE INDEX Realm_fullPath_startsWith ON Realm USING GIN (to_tsvector('english', fullPath));


Oracle |
MySQL | MariaDB

CREATE INDEX Realm_parent_id ON Realm(parent_id);
CREATE INDEX Realm_fullPath ON Realm(fullPath);
  • No labels