So in my case I'm extending media repository item
1) all new property into your repo item xml:
<table name="cos_adv_search_banner_sites" id-column-names="media_id" type="multi" shared-table-sequence="1">
<property name="siteIds" expert="true" category-resource="categoryGeneral" display-name-resource="sites" data-type="set" column-names="site_id" component-item-type="siteConfiguration" repository="/atg/multisite/SiteRepository" cascade="update" writable="true" hidden="false" required="false" queryable="true">
<attribute name="propertySortPriority" value="15"/>
</property>
</table>
2) then create new tables to hold this property values:
for SWITCHING schemes:
CREATE TABLE cos_adv_search_banner_sites
( MEDIA_ID VARCHAR2(40 BYTE) NOT NULL,
SITE_ID VARCHAR2(40 BYTE) NOT NULL
);
CREATE UNIQUE INDEX adv_search_banner_sites_pk ON cos_adv_search_banner_sites (MEDIA_ID, SITE_ID);
CREATE INDEX adv_search_banner_sites_idx ON cos_adv_search_banner_sites (SITE_ID) ;
ALTER TABLE cos_adv_search_banner_sites ADD CONSTRAINT adv_search_banner_sites_pk PRIMARY KEY (MEDIA_ID, SITE_ID) ENABLE;
ALTER TABLE cos_adv_search_banner_sites ADD CONSTRAINT adv_search_banner_sites_f1 FOREIGN KEY (MEDIA_ID)
REFERENCES dcs_media (MEDIA_ID) ENABLE;
and for PUBLISHING scheme we put additional field - asset_version:
CREATE TABLE cos_adv_search_banner_sites
( ASSET_VERSION NUMBER(19,0) NOT NULL,
MEDIA_ID VARCHAR2(40 BYTE) NOT NULL,
SITE_ID VARCHAR2(40 BYTE) NOT NULL
);
CREATE UNIQUE INDEX adv_search_banner_sites_pk ON cos_adv_search_banner_sites (MEDIA_ID, SITE_ID, ASSET_VERSION);
CREATE INDEX adv_search_banner_sites_idx ON cos_adv_search_banner_sites (SITE_ID) ;
ALTER TABLE cos_adv_search_banner_sites ADD CONSTRAINT adv_search_banner_sites_pk PRIMARY KEY (MEDIA_ID, SITE_ID, ASSET_VERSION) ENABLE;
Thanks for reading
1) all new property into your repo item xml:
<table name="cos_adv_search_banner_sites" id-column-names="media_id" type="multi" shared-table-sequence="1">
<property name="siteIds" expert="true" category-resource="categoryGeneral" display-name-resource="sites" data-type="set" column-names="site_id" component-item-type="siteConfiguration" repository="/atg/multisite/SiteRepository" cascade="update" writable="true" hidden="false" required="false" queryable="true">
<attribute name="propertySortPriority" value="15"/>
</property>
</table>
2) then create new tables to hold this property values:
for SWITCHING schemes:
CREATE TABLE cos_adv_search_banner_sites
( MEDIA_ID VARCHAR2(40 BYTE) NOT NULL,
SITE_ID VARCHAR2(40 BYTE) NOT NULL
);
CREATE UNIQUE INDEX adv_search_banner_sites_pk ON cos_adv_search_banner_sites (MEDIA_ID, SITE_ID);
CREATE INDEX adv_search_banner_sites_idx ON cos_adv_search_banner_sites (SITE_ID) ;
ALTER TABLE cos_adv_search_banner_sites ADD CONSTRAINT adv_search_banner_sites_pk PRIMARY KEY (MEDIA_ID, SITE_ID) ENABLE;
ALTER TABLE cos_adv_search_banner_sites ADD CONSTRAINT adv_search_banner_sites_f1 FOREIGN KEY (MEDIA_ID)
REFERENCES dcs_media (MEDIA_ID) ENABLE;
and for PUBLISHING scheme we put additional field - asset_version:
CREATE TABLE cos_adv_search_banner_sites
( ASSET_VERSION NUMBER(19,0) NOT NULL,
MEDIA_ID VARCHAR2(40 BYTE) NOT NULL,
SITE_ID VARCHAR2(40 BYTE) NOT NULL
);
CREATE UNIQUE INDEX adv_search_banner_sites_pk ON cos_adv_search_banner_sites (MEDIA_ID, SITE_ID, ASSET_VERSION);
CREATE INDEX adv_search_banner_sites_idx ON cos_adv_search_banner_sites (SITE_ID) ;
ALTER TABLE cos_adv_search_banner_sites ADD CONSTRAINT adv_search_banner_sites_pk PRIMARY KEY (MEDIA_ID, SITE_ID, ASSET_VERSION) ENABLE;
Thanks for reading