
ALTER TABLE T_EditVersion ADD ReplaceDocumentId INT NULL
GO

UPDATE T_EditVersion SET ReplaceDocumentId = 0 WHERE ReplaceDocumentId IS NULL
GO

ALTER TABLE T_Document ADD DocumentType NVARCHAR(8) NULL
GO

UPDATE T_Document SET DocumentType='RD' WHERE DocumentType IS NULL
GO

ALTER TABLE T_Document ALTER COLUMN DocumentType NVARCHAR(8) NOT NULL
GO

ALTER TABLE T_Document ADD AlwaysCreateReview INT NULL
GO

ALTER TABLE T_Document ADD Deleted INT NULL
GO

ALTER TABLE T_Document ADD PublishStatus NVARCHAR(128) NULL
GO

ALTER TABLE T_PermissionSet ADD Product NVARCHAR(128) NULL
GO

ALTER TABLE T_WorkgroupMember ADD AuthorRole NVARCHAR(128) NULL
GO

Create Table T_GenDocAudit (
	ObjectId				INT			NOT NULL,
	SubjectId				INT			NOT NULL,
	WorkgroupId				INT			NOT NULL,
	GenerateDate			DATETIME	NOT NULL,
	GenDocTitle				NVARCHAR(128) NOT NULL,
	TemplateDocumentId		INT			NOT NULL,
	TemplateDocumentTitle	NVARCHAR(128)
);
CREATE UNIQUE CLUSTERED INDEX IX_GenDocAudit ON T_GenDocAudit (ObjectId);
CREATE INDEX IX_GenDocAudit2 ON T_GenDocAudit (SubjectId);
CREATE INDEX IX_GenDocAudit3 ON T_GenDocAudit (WorkgroupId);

GO

Create Table T_GenDocFragmentAudit (
	ObjectId				INT			NOT NULL,
	GenDocAuditId			INT			NOT NULL,
	FragmentDocumentId		INT			NOT NULL,
	FragmentDocumentTitle	NVARCHAR(128)
);
CREATE UNIQUE CLUSTERED INDEX IX_GenDocFragmentAudit ON T_GenDocFragmentAudit (ObjectId);
CREATE INDEX IX_GenDocFragmentAudit2 ON T_GenDocFragmentAudit (GenDocAuditId, FragmentDocumentId);

GO

ALTER TABLE T_Document ADD Tags NVARCHAR(1024) NULL

GO

ALTER TABLE T_Workgroup ADD IsPublic INT NULL

GO

ALTER TABLE T_Edit ADD ReadOnly INT NULL
GO

INSERT INTO T_PermissionSet (ObjectId,	PermissionType, Title, 		PermissionFlags, Product)
VALUES (33,'Workgroup','Document Initiator',
';GENERATEDOCUMENT;','PleaseAuthor');

GO

INSERT INTO T_PermissionSet (ObjectId,	PermissionType, Title, 		PermissionFlags, Product)
VALUES (34,'Workgroup','Content Administrator',
';GENERATEDOCUMENT;MANAGECONTENT;MANAGEFOLDER;MANAGETEMPLATE;','PleaseAuthor');

GO

UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 1 AND PermissionType = 'Review';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 2 AND PermissionType = 'Review';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 3 AND PermissionType = 'Review';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 4 AND PermissionType = 'Review';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 5 AND PermissionType = 'Review';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 6 AND PermissionType = 'Review';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 7 AND PermissionType = 'Review';

UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 8 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 9 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 10 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 11 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 12 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 13 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 14 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 15 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 16 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 17 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 18 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 19 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 20 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 21 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 22 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 23 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 24 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 25 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 26 AND PermissionType = 'Workgroup';

UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 28 AND PermissionType = 'ReviewZone';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 29 AND PermissionType = 'ReviewZone';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 30 AND PermissionType = 'ReviewZone';
UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 31 AND PermissionType = 'ReviewZone';

UPDATE T_PermissionSet SET Product = 'PleaseReview' WHERE ObjectId = 32 AND PermissionType = 'Review';
 
UPDATE T_PermissionSet SET Product = 'PleaseAuthor' WHERE ObjectId = 33 AND PermissionType = 'Workgroup';
UPDATE T_PermissionSet SET Product = 'PleaseAuthor' WHERE ObjectId = 34 AND PermissionType = 'Workgroup';

UPDATE T_PermissionSet SET PermissionFlags = ';GENERATEDOCUMENT;' WHERE ObjectId = 33 AND PermissionType = 'Workgroup';

UPDATE T_SystemPolicy SET PolicyAction = '2' WHERE ObjectId = 13 AND Permission = 'DEFAULTWATCH' AND PolicyAction = '4';

INSERT INTO T_SystemPolicy(ObjectId,Principal,Permission,PolicyAction,PolicyObject)
VALUES (62, 'SYSTEM', 'RECYCLEPURGEDAYSAUTHOR', '30', 'SYSTEM');
GO