Source changes

POM

In the root pom.xml:

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.

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);