Fantastic! Thanks very much... I think my setup is a bit odd, as I have checked and double checked my Domain.xml file. It's attached, if anyone wants to take a look! Those things appear in the children table because I put them there manually; I am working thru each table and adding the tuples that are supposed to be there, once I know what they are...
Heres the big one at the moment - on server startup, it throws a NullPointerException when it tries to execute this query: SELECT * FROM links WHERE linkto='/actions'; Presumably Slide is trying to determine what is linked to /actions... but I have no idea what that means! What should be in that table?! Cheers Stu -----Original Message----- From: David Leahy [mailto:[EMAIL PROTECTED] Sent: 14 August 2003 17:46 To: Slide Users Mailing List Subject: Re: JDBCDescriptorsStore setup Hi Stuart, For some reason you are missing the /actions/read, /actions/write, and /actions/manage ActionNodes from your objects table. They should be created by the default Domain.xml -- and weirdly enough, these nodes appear in the children table (which describes the hierarchy), but not in the objects table! I bet you could fix this by grabbing an original Domain.xml and seeing how those sub-nodes should be created; it must have been deleted or commented out or something in your Domain.xml file. Also, you have no user nodes. Examples of these (root, john) appear in the out-of-the-box Domain.xml. You'll need a user node to be able to authenticate and to be authorized to see content. Once these nodes are created in your persistent store by Domain.xml, then you don't need them in Domain.xml anymore, unless you want to start over. OTOH, it doesn't do any harm if Slide tries to re-create these nodes on subsequent start ups. Your 500 errors are coming from the missing action nodes, though, methinks. Dave Leahy Sandia National Labs 925-294-2678 [EMAIL PROTECTED] Stuart MacPherson wrote: > Here is the lowdown on my DB schema contents - I presume there is more wrong > with it that I know about - please advise! It looks very empty to me... > what else needs to go in there? Anyone have any ideas why it's not updated > automatically? Also, does anyone know which table JDBCContentStore puts the > documents in to? > > > > Branches - empty > > Children - uri childuri > / /users > / /tempaction > / /actions > /actions /read > /actions /write > /actions /manage > > label - empty > > links - empty > > locks - empty (I presume this is ok at the mo) > > objects - uri classname > / > org.apache.slide.structure.SubjectNode > /tempaction > org.apache.slide.structure.ActionNode > /users org.apache.slide.structure.SubjectNode > /actions > org.apache.slide.structure.ActionNode > > permissions - lots of stuff in this one - looks ok! > > Property - empty > > Revision - empty > > Revisioncontent - empty > > Revisions - empty > > Workingrevision - empty > > > > Thanks again in advance > stu > > > > -----Original Message----- > From: Stuart MacPherson [mailto:[EMAIL PROTECTED] > Sent: 14 August 2003 15:44 > To: 'Slide Users Mailing List' > Subject: JDBCDescriptorsStore setup > > Hi everybody > > I am having bother setting up JDBCDescriptorsStore... > > I have had a flash of inspiration, and have ripped JDBCDescriptorsStore > source to shreds trying to find out what makes it tick. I have added in > loads of debug code, and I have found that it is throwing a > NullPointerException because it is trying to retrieve stuff from the > database that isn't there... I know I went the roundabout route to figure > that out when it should have been obvious, but at least now I know! > > More specifically, it is trying to do the following statement: > > SELECT * FROM links WHERE linkto='/actions'; > > I have had a look at the links table, and it's empty... This is definitely > what is causing me grief! > > Now, I am know that the 'linkto' column should have uri's in it like > '/actions', but what others?! Also, I am guessing that there should also be > uri's in the 'link' column, and this is how Slide determines what uri's are > linked to each other ;o) > > As my links table is empty... what are the basics that need to go in there? > If I knew what '/actions' is linked to, I could do it myself! I presume > there is other stuff to go in there aswell tho... > > I am working through all the things that need to be added to the DB (so far > I have sorted stuff relating to /actions in both the objects and children > tables) and I am creating a patch SQL script, for anyone that experiences > the same problems (I have seen a couple of similar queries on the forum, but > no solutions). > > > > Many thanks > Stuart > > > > > -----Original Message----- > From: Oliver Zeigermann [mailto:[EMAIL PROTECTED] > Sent: 14 August 2003 11:09 > To: [EMAIL PROTECTED] > Subject: Re: weird error on file PUT > > Hi Stuart, > > I just compiled 1.0.16 slide-stores.jar including XMLDescriptorsStore > and additionally necessary files. Maybe this gets it working. Maybe you > will need a up to date copy of JDOM, just try. > > Of course I can not guaranty for anything. If this does not work, don't > blame me ;) > > Oliver > > Stuart MacPherson wrote: > > >>Hi Oliver >> >>Do you think it would be possible to pull XMLDescriptorsStore.java out of >>the CVS, compile it, and then slot the class into the slide-stores.jar > > file? > >>I suppose that would just be a case of playing it by ear ;o) > > > > > > --------------------------------------------------------------------- > 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] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
<?xml version="1.0"?> <slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="7" default="slide"> <!-- logger ~~~~~~ org.apache.slide.util.logger.SimpleLogger default logger with 1 log level log4j.Log4jLogger logger with fine granularity see http://jakarta.apache.org/log4j/ logger-level ~~~~~~~~~~~~ 0 EMERGENCY 1 CRITICAL 2 ERROR 4 WARNING 6 INFO 7 DEBUG --> <namespace name="slide"> <!-- ### Memory Configuration ### The following memory configuration uses the MemoryDescriptorsStore for node,security,locks and revisions. For content the FileContentStore is used. Content is reset before start. --> <!-- <definition> <store name="memory"> <nodestore classname="slidestore.reference.MemoryDescriptorsStore"> </nodestore> <securitystore> <reference store="nodestore" /> </securitystore> <lockstore> <reference store="nodestore" /> </lockstore> <revisiondescriptorsstore> <reference store="nodestore" /> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore" /> </revisiondescriptorstore> <contentstore classname="slidestore.reference.FileContentStore"> <parameter name="rootpath">filestore/contentstore</parameter> <parameter name="version">false</parameter> <parameter name="resetBeforeStarting">false</parameter> </contentstore> </store> <scope match="/" store="memory" /> </definition> --> <!-- XMLDescriptorsStore as found with help from Slide-Users list --> <!-- <definition> <store name="file"> <nodestore classname="slidestore.file.FileDescriptorsStoreNoVersioning"> <parameter name="rootpath">nodestore</parameter> --> <!-- </nodestore> <securitystore> <reference store="nodestore" /> </securitystore> <lockstore> <reference store="nodestore" /> </lockstore> <revisiondescriptorsstore> <reference store="nodestore" /> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore" /> </revisiondescriptorstore> <contentstore classname="slidestore.reference.FileContentStore"> <parameter name="rootpath">contentstore</parameter> <parameter name="version">false</parameter> <parameter name="resetBeforeStarting">false</parameter> </contentstore> </store> <scope match="/" store="file" /> </definition> --> <definition> <store name="jdbc"> <nodestore classname="slidestore.mysql.MySQLDescriptorsStore"> <parameter name="driver">org.gjt.mm.mysql.Driver</parameter> <parameter name="url">mysql://localhost:3306/slide</parameter> <parameter name="user">slideuser</parameter> <parameter name="password">slidepass</parameter> <parameter name="jdbcversion">2</parameter> </nodestore> <securitystore> <reference store="nodestore"/> </securitystore> <lockstore> <reference store="nodestore"/> </lockstore> <revisiondescriptorsstore> <reference store="nodestore"/> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore"/> </revisiondescriptorstore> <contentstore classname="slidestore.mysql.MySQLContentStore"> <parameter name="driver">org.gjt.mm.mysql.Driver</parameter> <parameter name="url">mysql://localhost:3306/slide</parameter> <parameter name="user">slideuser</parameter> <parameter name="password">slidepass</parameter> <parameter name="jdbcversion">2</parameter> </contentstore> <!-- <contentstore classname="slidestore.reference.FileContentStore"> <parameter name="rootpath">files</parameter> </contentstore> --> </store> <scope match="/" store="jdbc"/> </definition> <!-- ### JDBC Configuration ### The following jdbc sample configuration uses the hsql Database Engine a relational database engine written in Java, for more info: http://hsqldb.sourceforge.net/ --> <!-- <definition> <store name="jdbc"> <nodestore classname="slidestore.reference.JDBCDescriptorsStore"> <parameter name="driver">org.hsqldb.jdbcDriver</parameter> <parameter name="url">jdbc:hsqldb:slidestructure</parameter> <parameter name="user">sa</parameter> <parameter name="password"></parameter> </nodestore> <securitystore> <reference store="nodestore" /> </securitystore> <lockstore> <reference store="nodestore" /> </lockstore> <revisiondescriptorsstore> <reference store="nodestore" /> </revisiondescriptorsstore> <revisiondescriptorstore> <reference store="nodestore" /> </revisiondescriptorstore> <contentstore classname="slidestore.reference.JDBCContentStore"> <parameter name="driver">org.hsqldb.jdbcDriver</parameter> <parameter name="url">jdbc:hsqldb:slidecontent</parameter> <parameter name="user">sa</parameter> <parameter name="password"></parameter> </contentstore> </store> <scope match="/" store="jdbc" /> </definition> --> <!-- ### Mixed JDBC - Filesystem ### stores: slidestore.reference.JDBCDescriptorsStore slidestore.reference.FileContentStore !!! set resetBeforeStarting parameter for FileContentStore to false !!! --> <!-- ### Cloudscape configuration (embedded database) ### stores: slidestore.cloudscape.CloudscapeDescriptorsStore slidestore.cloudscape.CloudscapeContentStore driver: COM.cloudscape.core.JDBCDriver url: jdbc:cloudscape:slidestructure;create=true jdbc:cloudscape:slidecontent;create=true --> <!-- ### Oracle configuration (thin driver) ### stores: slidestore.reference.JDBCDescriptorsStore slidestore.oracle.OracleContentStore driver: oracle.jdbc.OracleDriver url: jdbc:oracle:thin:@localhost:1521:slide --> <configuration> <content-interceptor class="docEdge.CustomContentInterceptor"/> <!-- Actions mapping --> <default-action>/actions</default-action> <read-object>/actions/read</read-object> <create-object>/actions/write</create-object> <remove-object>/actions/write</remove-object> <grant-permission>/actions/manage</grant-permission> <revoke-permission>/actions/manage</revoke-permission> <read-permissions>/actions/manage</read-permissions> <lock-object>/actions/write</lock-object> <kill-lock>/actions/manage</kill-lock> <read-locks>/actions/read</read-locks> <read-revision-metadata>/actions/read</read-revision-metadata> <create-revision-metadata>/actions/write</create-revision-metadata> <modify-revision-metadata>/actions/write</modify-revision-metadata> <remove-revision-metadata>/actions/write</remove-revision-metadata> <read-revision-content>/actions/read</read-revision-content> <create-revision-content>/actions/write</create-revision-content> <modify-revision-content>/actions/write</modify-revision-content> <remove-revision-content>/actions/write</remove-revision-content> <!-- Paths configuration --> <userspath>/users</userspath> <guestpath>guest</guestpath> <filespath>/files</filespath> <parameter name="dav">true</parameter> <parameter name="standalone">true</parameter> <!-- Roles definition --> <role name="root">slideroles.basic.RootRole</role> <role name="user">slideroles.basic.UserRole</role> <role name="guest">slideroles.basic.GuestRole</role> <!-- Users management --> <auto-create-users>true</auto-create-users> <!-- Default properties mapping --> <default-property name="foo" namespace="nsfoo/" value="bar" role="user"/> <default-property name="password" namespace="slide/" value="" role="user"/> </configuration> <data> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/"> <!-- Subject can be: self "~" all "nobody" user "/users/john" group "+/users/groupA" role "root" --> <!-- Uncomment the following line to give all permissions to principals have the root role --> <!-- <permission action="/actions" subject="root"/> --> <permission action="/actions" subject="/users/root"/> <permission action="/actions/read" subject="/users" inheritable="false"/> <permission action="/actions/read" subject="nobody" inheritable="false"/> <!-- /users --> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users"> <permission action="/actions" subject="~"/> <permission action="/actions" subject="/users/guest" inheritable="true" negative="true"/> <permission action="/actions/read" subject="/users" inheritable="false"/> <!-- Permission group example --> <objectnode classname="org.apache.slide.structure.GroupNode" uri="/users/groupA"> <objectnode classname="org.apache.slide.structure.LinkNode" uri="/users/groupA/john" linkedUri="/users/john" /> <objectnode classname="org.apache.slide.structure.LinkNode" uri="/users/groupA/root" linkedUri="/users/root" /> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users/groupA/singleGroupMember" /> </objectnode> <!-- /users/root represents the administrator --> <objectnode classname="slideroles.basic.RootRoleImpl" uri="/users/root"> <revision> <property name="password">root</property> </revision> </objectnode> <!-- /users/john represents an authenticated user --> <objectnode classname="slideroles.basic.UserRoleImpl" uri="/users/john"> <revision> <property name="password">john</property> </revision> </objectnode> <!-- /users/guest represents an authenticated or unauthenticated guest user --> <objectnode classname="slideroles.basic.GuestRoleImpl" uri="/users/guest"> <revision> <property name="password"></property> </revision> </objectnode> </objectnode> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions"> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read"/> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write"/> <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/manage"/> </objectnode> <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/files"> <!-- ### Give read/write/manage permission to guest ### Uncomment the following line to give permission to do all actions on /files to guest (unauthenticated users) --> <!-- <permission action="/actions" subject="/users/guest"/> --> <permission action="/actions/manage" subject="/users/john"/> <permission action="/actions/write" subject="+/users/groupA"/> <permission action="/actions/read" subject="nobody"/> </objectnode> </objectnode> </data> </namespace> </slide>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
