Hi,

Thanks for the schema However,. I think I may have found a mistake in the documentation for the J2EEstores, and possibly a regression problem in the binary release.

The docs (at http://jakarta.apache.org/slide/howto-j2eestore.html) says to use the following config for the content store

<contentstore classname="slidestore.j2ee.J2EEContentStore">
  <parameter name="datasource">jdbc/CookieslideDS</parameter>
</contentstore>

But this class doesn't exist in the slide-stores2.0b.jar. Instead, I have tried to replace this with:

<contentstore>
 <reference store="nodestore"/>
</contentstore>

However, I am having trouble to get this to work. This is what happens when I try to access content.

20 Feb 2004 14:48:47 - WARNING - WARNING: No active transaction
Thread-6, 20-Feb-2004 14:48:47, patrick, GET, 500 "Internal Server Error", 50 ms, /files


It may be because I am using Tyrex to manage transactions and manage my datasource. However, this exact configuration worked with the CVS version I downloaded in October/November 2003.

It is a regression problem? I seem to recall that the J2EE stores were patched mid-last year because of transaction management problems.

Patrick

Oliver Zeigermann wrote:

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]



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



Reply via email to