Patrick van Kann wrote:

First of all, it's great to see Slide 2.0 hit the beta phase - well done, and thanks for the time and effort.

Secondly, I have 2 questions that will hopefully be easy to answer:

1) I use the single-sign-on mechanism for Tomcat with slide as a webapp. I don't want to use SlideRealm because my other webapps would also have to use it, so my users/roles are in a standard Tomcat RDBMS realm. I created roles called root, guest and user and assigned these to the users in my RDBMS realm. These users can access /slide/files path and /slide/users/. They can open and save existing files using XP webfolders as the client. However, when I try and create a new file I get a 403 on the PUT - I suspect this is because my users don't have access to the revisions stuff (you get a 403 if you try and read /slide/history, /slide/workspace/ and slide/workresource/. This applies even to users with the root role! What am I doing wrong? It seems to be very close to working. Is it necessary to use the slide realm?

Just guessing, but maybe, for some reason, you do not have write access?!


2) I'm using the J2EE realm, configured as described in the slide-doc web app. However, I am using the pre 2.0 beta schema. It all seems to work as before, but I am wondering where I can get the latest schema from? It doesn't seem to be part of the binary distribution for the beta.

Oooops. You are right, the schema is not part of the binary release. I will think about how to make this public, though. Anyway until this happens I will attach the version from CVS for SQL Server...


Oliver

BTW, I am using SQL Server.

Cheers,

Patrick

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



/**********************************************************************/
/******    DROP SLIDE TABLES                                     ******/
/**********************************************************************/

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[OBJECT]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[OBJECT]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[BINDING]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[BINDING]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = 
OBJECT_ID(N'[dbo].[PARENT_BINDING]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[PARENT_BINDING]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[CHILDREN]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[CHILDREN]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LINKS]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[LINKS]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LOCKS]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[LOCKS]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = 
OBJECT_ID(N'[dbo].[VERSION_CONTENT]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[VERSION_CONTENT]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PROPERTIES]') 
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[PROPERTIES]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[PERMISSIONS]') 
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[PERMISSIONS]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION_PREDS]') 
and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[VERSION_PREDS]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = 
OBJECT_ID(N'[dbo].[VERSION_LABELS]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[VERSION_LABELS]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = 
OBJECT_ID(N'[dbo].[VERSION_HISTORY]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[VERSION_HISTORY]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[VERSION]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[VERSION]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[BRANCH]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[BRANCH]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[LABEL]') and 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[LABEL]
GO

IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[URI]') AND 
OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE [dbo].[URI]
GO

/**********************************************************************/
/******    DROP EXISTING USER DEFINED DATA TYPES                 ******/
/**********************************************************************/

sp_droptype id_type
GO

sp_droptype uri_str_type
GO

sp_droptype revision_no_type
GO

sp_droptype hash_type
GO

sp_droptype literal_str_type
GO

sp_droptype value_str_type
GO


/**********************************************************************/
/******    ADD USER DEFINED DATA TYPES                           ******/
/**********************************************************************/

sp_addtype id_type,           bigint
GO

sp_addtype uri_str_type,     "nvarchar(800)"
GO

sp_addtype revision_no_type, "nvarchar(20)"
GO

sp_addtype hash_type,         bigint
GO

sp_addtype literal_str_type, "nvarchar(3000)"
GO

sp_addtype value_str_type,   "nvarchar(255)"
GO

/**********************************************************************/
/******    CREATE SLIDE TABLES                                   ******/
/**********************************************************************/

CREATE TABLE dbo.URI (
    URI_ID          id_type               IDENTITY  UNIQUE  NOT NULL,
    URI_STRING      uri_str_type          UNIQUE  NOT NULL,
 --   UNIQUE NONCLUSTERED (URI_ID)
)
GO

CREATE INDEX XUID
        ON URI(URI_ID) 
GO

CREATE INDEX XUSTRING
        ON URI(URI_STRING) 
GO

CREATE TABLE dbo.OBJECT (
    URI_ID          id_type               PRIMARY KEY,
    CLASS_NAME      nvarchar(255)          NOT NULL,
    CONSTRAINT      FK_OBJECT_URI_ID
       FOREIGN KEY (URI_ID)
       REFERENCES   URI (URI_ID)
)
GO    

CREATE TABLE dbo.BINDING (
    URI_ID          id_type               NOT NULL
        REFERENCES  URI (URI_ID),
    NAME            uri_str_type          NOT NULL,
    CHILD_UURI_ID    id_type              NOT NULL
        REFERENCES  URI (URI_ID),
    UNIQUE CLUSTERED (URI_ID, NAME, CHILD_UURI_ID)
)
GO

CREATE TABLE dbo.PARENT_BINDING (
    URI_ID          id_type               NOT NULL
        REFERENCES  URI (URI_ID),
    NAME            uri_str_type          NOT NULL,
    PARENT_UURI_ID    id_type             NOT NULL
        REFERENCES  URI (URI_ID),
    UNIQUE CLUSTERED (URI_ID, NAME, PARENT_UURI_ID)
) 
GO

CREATE TABLE dbo.LINKS (
    URI_ID          id_type               NOT NULL  FOREIGN KEY
        REFERENCES  URI (URI_ID),
    LINK_TO_ID      id_type               NOT NULL  FOREIGN KEY
        REFERENCES  URI (URI_ID),
    --UNIQUE CLUSTERED (URI_ID, LINK_TO_ID)
)
GO

CREATE INDEX XURI_ID
        ON LINKS(URI_ID) 
GO


CREATE INDEX XLINK_TO_ID
        ON LINKS(LINK_TO_ID) 
GO

CREATE TABLE dbo.LOCKS (
    LOCK_ID         id_type               PRIMARY KEY,
    OBJECT_ID       id_type               NOT NULL  FOREIGN KEY
       REFERENCES   URI (URI_ID),
    SUBJECT_ID      id_type               NOT NULL  FOREIGN KEY
       REFERENCES   URI (URI_ID),
    TYPE_ID         id_type               NOT NULL  FOREIGN KEY
       REFERENCES   URI (URI_ID),
    EXPIRATION_DATE numeric(14, 0)        NOT NULL,
    IS_INHERITABLE  bit                   NOT NULL, 
    IS_EXCLUSIVE    bit                   NOT NULL,
    OWNER           nvarchar(255),
    CONSTRAINT      FK_LOCKS_LOCK_ID
       FOREIGN KEY (LOCK_ID)
       REFERENCES   URI (URI_ID)
)
GO

CREATE TABLE dbo.BRANCH ( 
    BRANCH_ID       id_type               IDENTITY  UNIQUE NOT NULL,
    BRANCH_STRING   nvarchar(255)          UNIQUE NOT NULL,
    UNIQUE NONCLUSTERED (BRANCH_ID)
)
GO

CREATE TABLE dbo.LABEL (
    LABEL_ID        id_type               IDENTITY  UNIQUE NOT NULL,
    LABEL_STRING    nvarchar(255)          NOT NULL,
    UNIQUE NONCLUSTERED (LABEL_ID)
)
GO

CREATE TABLE dbo.VERSION (
    URI_ID          id_type               PRIMARY KEY,
    IS_VERSIONED    bit                   NOT NULL,    
    CONSTRAINT      FK_VERSION_URI_ID
       FOREIGN KEY (URI_ID)
       REFERENCES   URI (URI_ID)
)
GO

CREATE TABLE dbo.VERSION_HISTORY (
    VERSION_ID      id_type               IDENTITY  UNIQUE NOT NULL,
    URI_ID          id_type               NOT NULL  FOREIGN KEY
       REFERENCES   VERSION (URI_ID),
    BRANCH_ID       id_type               NOT NULL  FOREIGN KEY
       REFERENCES   BRANCH (BRANCH_ID),
    REVISION_NO     nVARCHAR(20)                  NOT NULL,
    --UNIQUE CLUSTERED (URI_ID, BRANCH_ID, REVISION_NO)
)
GO
CREATE INDEX XVERSION_HISTORY1 
        ON VERSION_HISTORY(URI_ID, BRANCH_ID, REVISION_NO) 
GO

CREATE TABLE dbo.VERSION_PREDS (
    VERSION_ID         id_type            NOT NULL  FOREIGN KEY 
        REFERENCES  VERSION_HISTORY (VERSION_ID),
    PREDECESSOR_ID     id_type            NOT NULL  FOREIGN KEY
        REFERENCES  VERSION_HISTORY (VERSION_ID),
    UNIQUE CLUSTERED (VERSION_ID, PREDECESSOR_ID)
)
GO
CREATE INDEX XVERSION_PREDS1 
        ON VERSION_PREDS(VERSION_ID, PREDECESSOR_ID) 
GO

CREATE TABLE dbo.VERSION_LABELS (
    VERSION_ID         id_type            NOT NULL  FOREIGN KEY
        REFERENCES  VERSION_HISTORY (VERSION_ID),
    LABEL_ID           id_type            NOT NULL  FOREIGN KEY
        REFERENCES  LABEL (LABEL_ID), 
    UNIQUE CLUSTERED (VERSION_ID, LABEL_ID)
)
GO

CREATE TABLE dbo.VERSION_CONTENT (
    VERSION_ID         id_type            PRIMARY KEY,
    CONTENT            image              NOT NULL,
    CONSTRAINT FK_VC_VERSION_ID 
        FOREIGN KEY (VERSION_ID)
        REFERENCES  VERSION_HISTORY (VERSION_ID),
)
GO

CREATE TABLE dbo.PROPERTIES (
    VERSION_ID         id_type            NOT NULL  FOREIGN KEY
        REFERENCES  VERSION_HISTORY (VERSION_ID),    
    PROPERTY_NAMESPACE nvarchar(50)        NOT NULL, 
    PROPERTY_NAME      nvarchar(50)        NOT NULL,        
    PROPERTY_VALUE     nvarchar(255)       NOT NULL,
    PROPERTY_TYPE      nvarchar(50)        NOT NULL, 
    IS_PROTECTED       bit                NOT NULL,
    UNIQUE CLUSTERED (VERSION_ID, PROPERTY_NAMESPACE, PROPERTY_NAME)
)
GO

CREATE TABLE dbo.PERMISSIONS (
    OBJECT_ID       id_type               NOT NULL  FOREIGN KEY
       REFERENCES   URI (URI_ID),
    SUBJECT_ID      id_type               NOT NULL  FOREIGN KEY
       REFERENCES   URI (URI_ID),
    ACTION_ID       id_type               NOT NULL  FOREIGN KEY
       REFERENCES   URI (URI_ID),
    VERSION_NO      nVARCHAR(20)           NULL,
    IS_INHERITABLE  bit                   NOT NULL,
    IS_NEGATIVE     bit                   NOT NULL,
    -- Both order and sequence would be more suitable, but can not be used
    SUCCESSION      int                   NOT NULL,
    UNIQUE CLUSTERED (OBJECT_ID, SUBJECT_ID, ACTION_ID),
    UNIQUE (OBJECT_ID, SUCCESSION)
)
GO
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to