The url-encode-path was originally added to enable you to save files using characters not available in your operating system. I did some testing with russian filenames and it only worked when this parameter was set to true.

/jacob

----- Original Message ----- From: "Warwick Burrows" <[EMAIL PROTECTED]>
To: "'Slide Users Mailing List'" <[EMAIL PROTECTED]>
Sent: Tuesday, November 23, 2004 11:03 PM
Subject: RE: Real filenames in slide tx store




Thanks Oliver. Ok, I will remove it, but I thought that I set that parameter
because it is needed for proper use of UTF-8 urls(??) Is that correct or
have I gotten mixed up? Should I be able to use the Japanese char set
without having this parameter set?


Thanks,
Warwick


-----Original Message-----
From: Oliver Zeigermann [mailto:[EMAIL PROTECTED]
Sent: Tuesday, November 23, 2004 3:57 PM
To: Slide Users Mailing List
Subject: Re: Real filenames in slide tx store


You have set

 <parameter name="url-encode-path">true</parameter>

Remove it and it will be the old behavior.

Oliver


On Tue, 23 Nov 2004 13:26:46 -0800, Warwick Burrows
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have a question regarding the way that content is actually
> physically stored in the tx filesystem store. At one time I had
> thought that the Slide content in the physical filesystem
matched the
> hierarchy of the folder structure. Is that not the case anymore or
> have I accidentally vi done something to change this? ie. in my
> content store right now I only see a bunch of files like this under
> store/content:
>
> $ls L2ZpbGVzLzEwMDAwLzEwMDA3LzEwMDE0LzEwMDYyLzEwMDY0XzEuMA%3D%3D
> L2ZpbGVzLzEwMDAwLzEwMDA3LzEwMDE0LzEwMDYyLzEwMDcwLzEwMDcyXzEuMA%3D%3D
> L2ZpbGVzLzEwMDAwLzEwMDA3LzEwMDEwLzEwMDE2LzEwMDI3XzEuMA%3D%3D
> L2ZpbGVzLzEwMDAwLzEwMDA3LzEwMDEwLzEwMDE2LzEwMDIxXzEuMA%3D%3D
> L2hpc3RvcnkvMS9oM18xLjA%3D
> L2hpc3RvcnkvMS9oMF8xLjA%3D
> L2hpc3RvcnkvMS9oMV8xLjA%3D
> L2hpc3RvcnkvMS9oMl8xLjA%3D
> L2hpc3RvcnkvMS9oNF8xLjA%3D
>
> And I see no separate history folder with the history
revisions in it.
> Have I changed the way that the files are physically stored in the
> filesystem by enabling one of the other features? Eg. UTF-8
support? I
> enabled the "history uri hack" to defray the creation of history
> revisions in the filesystem but this seems to be the opposite since
> its now storing all files including history in the one
directory. This
> won't be performant for a large number of files and revisions.
>
> My domain.xml is included below. Sorry its so huge but I
comment out
> what I don't need but leave it in the file so I can diff it against
> the 2.1 release tree. Diff it against the 2.1 release Domain.xml to
> see what's changed.
>
> Thanks,
> Warwick
>
> ------------ domain.xml ----------------
>
> <?xml version="1.0"?>
> <slide logger="log4j.Log4jLogger" logger-level="7">
> <namespace name="slide">
> <definition>
> <store name="tx">
> <parameter name="cache-mode">off</parameter>
> <nodestore
> classname="org.apache.slide.store.impl.rdbms.JDBCStore">
> <parameter
>
name="adapter">org.apache.slide.store.impl.rdbms.DB2RDBMSAdapt
er</parameter>
> <parameter
> name="driver">com.ibm.db2.jcc.DB2Driver</parameter>
> <parameter
> name="url">jdbc:db2://machine:50000/DB</parameter>
> <parameter name="user">user</parameter>
> <parameter name="password">pwd</parameter>
> <parameter name="dbcpPooling">true</parameter>
> <parameter
name="maxPooledConnections">50</parameter>
> <parameter
name="isolation">READ_COMMITTED</parameter>
> <parameter name="compress">false</parameter>
> </nodestore>
> <sequencestore>
> <reference store="nodestore" />
> </sequencestore>
> <securitystore>
> <reference store="nodestore" />
> </securitystore>
> <lockstore>
> <reference store="nodestore" />
> </lockstore>
> <revisiondescriptorsstore>
> <reference store="nodestore" />
> </revisiondescriptorsstore>
> <revisiondescriptorstore>
> <reference store="nodestore" />
> </revisiondescriptorstore>
> <contentstore
> classname="org.apache.slide.store.txfile.TxFileContentStore">
> <parameter
name="rootpath">store/content</parameter>
> <parameter
name="workpath">work/content</parameter>
> <parameter
name="url-encode-path">true</parameter>
> <!-- WB: Slide user list suggested
disabling this
> for filestore to avoid deadlock with high load -->
> <parameter name="defer-saving">false</parameter>
> <parameter name="timeout">120</parameter>
> </contentstore>
> <!-- uncomment if you want to use the
sample Indexer -->
> <!-- be sure to have Lucene in your classpath
> -->
> <!--
> <contentindexer
> classname="org.apache.slide.index.SampleTxtContainsIndexer">
> <parameter name="indexpath">./index</parameter>
> </contentindexer>
> -->
> </store>
> <scope match="/" store="tx"/>
> </definition>
> <configuration>
> <!-- Actions mapping -->
> <read-object>/actions/read</read-object>
> <create-object>/actions/write</create-object>
> <remove-object>/actions/write</remove-object>
> <grant-permission>/actions/write-acl</grant-permission>
>
<revoke-permission>/actions/write-acl</revoke-permission>
> <read-permissions>/actions/read-acl</read-permissions>
>
>
<read-own-permissions>/actions/read-current-user-privilege-set</read-o
> wn-per
> missions>
> <lock-object>/actions/write</lock-object>
> <kill-lock>/actions/unlock</kill-lock>
> <read-locks>/actions/read</read-locks>
>
> <read-revision-metadata>/actions/read</read-revision-metadata>
>
>
<create-revision-metadata>/actions/write-properties</create-revision-m
> etadat
> a>
>
>
<modify-revision-metadata>/actions/write-properties</modify-revision-m
> etadat
> a>
>
>
<remove-revision-metadata>/actions/write-properties</remove-revision-m
> etadat
> a>
>
> <read-revision-content>/actions/read</read-revision-content>
>
>
<create-revision-content>/actions/write-content</create-revision-conte
> nt>
>
>
<modify-revision-content>/actions/write-content</modify-revision-conte
> nt>
>
>
<remove-revision-content>/actions/write-content</remove-revisi
on-content>
> <bind-member>/actions/bind</bind-member>
> <unbind-member>/actions/unbind</unbind-member>
> <!-- Paths configuration -->
> <userspath>/users</userspath>
> <rolespath>/roles</rolespath>
> <actionspath>/actions</actionspath>
> <filespath>/files</filespath>
> <parameter name="dav">true</parameter>
> <parameter name="standalone">true</parameter>
> <parameter name="acl_inheritance_type">path</parameter>
> <!-- Nested roles: 0 means no nesting
(default), 1 means
> one sublevel, etc. -->
> <parameter name="nested_roles_maxdepth">0</parameter>
> <!-- Can be "off", "write" and "full" -->
> <parameter name="sequential-mode">full</parameter>
> <!-- "false" lets all read-only methods be executed
> outside of transactions -->
> <parameter
name="all-methods-in-transactions">true</parameter>
> <!-- Setting this to true will force Slide to
internally
> convert the username a user
> enters at login to lowercase. This is useful for
> users who can't be bothered
> with turning off their capslock key before
logging in. -->
> <parameter
name="force-lowercase-login">false</parameter>
> <!-- Speed up access to /history by making
hierarchy based on
> history id eg.
>
> fileA.doc was /history/8 stays as /history/8
> fileB.doc was /history/18 becomes as /history/1/h8
> fileC.doc was /history/137 becomes /history/1/3/h7
> -->
> <parameter
name="history-collection-hack">true</parameter>
> </configuration>
> <data>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
> uri="/">
> <!-- Subject can be:
> any user "all"
> authenticated user "authenticated"
> unauthenticated user "unauthenticated"
> self "self"
> owner of resource "owner"
> a user "/users/john"
> a role "/roles/admin"
> -->
> <permission action="all" subject="unauthenticated"
> inheritable="true"/>
>
> <!--
> <permission action="/actions/read-acl"
subject="all"
> inheritable="true" negative="true"/>
> <permission action="/actions/write-acl"
subject="all"
> inheritable="true" negative="true"/>
> <permission action="/actions/unlock" subject="all"
> inheritable="true" negative="true"/>
> <permission action="/actions/read" subject="all"
> inheritable="true"/>
> -->
> <!-- /users -->
> <!--
> <objectnode
> classname="org.apache.slide.structure.SubjectNode" uri="/users">
> <permission action="all" subject="self"
> inheritable="true"/>
> <permission action="all"
> subject="/roles/projector" inheritable="true"/>
> <permission action="all"
subject="unauthenticated"
> inheritable="true" negative="true"/>
> -->
> <!-- /users/root represents the
administrator -->
> <!--
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/users/root">
> <revision>
> <property
> namespace="http://jakarta.apache.org/slide/";
> name="password">root</property>
>
> </revision>
> </objectnode>
> -->
> <!-- /users/john and /users/john2 represent
> authenticated users -->
> <!--
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/users/john">
> <revision>
> <property
> namespace="http://jakarta.apache.org/slide/";
> name="password">john</property>
>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/users/john2">
> <revision>
> <property
> namespace="http://jakarta.apache.org/slide/";
> name="password">john2</property>
> </revision>
> </objectnode>
> -->
> <!-- /users/guest represents an
authenticated or
> unauthenticated guest user -->
> <!--
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/users/guest">
> <revision>
> <property
> namespace="http://jakarta.apache.org/slide/";
> name="password">guest</property>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/users/projector">
> <revision>
> <property
> namespace="http://jakarta.apache.org/slide/";
> name="password">projector</property>
> </revision>
> </objectnode>
> </objectnode>
> -->
> <!-- /roles -->
> <!--
> <objectnode
> classname="org.apache.slide.structure.SubjectNode" uri="/roles">
> <permission action="all" subject="self"
> inheritable="true"/>
> <permission action="all"
> subject="/roles/projector" inheritable="true"/>
> <permission action="all"
subject="unauthenticated"
> inheritable="true" negative="true"/>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/roles/root">
> <revision>
> <property
> name="group-member-set"><![CDATA[<D:href
> xmlns:D='DAV:'>/users/root</D:href>]]></property>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/roles/user">
> <revision>
> <property
> name="group-member-set"><![CDATA[<D:href
> xmlns:D='DAV:'>/users/john</D:href><D:href
> xmlns:D='DAV:'>/users/john2</D:href><D:href
> xmlns:D='DAV:'>/users/root</D:href><D:href
> xmlns:D='DAV:'>/users/projector</D:href>]]></property>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/roles/guest">
> <revision>
> <property
> name="group-member-set"><![CDATA[<D:href
> xmlns:D='DAV:'>/users/guest</D:href>]]></property>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/roles/projector">
> <revision>
> <property
> name="group-member-set"><![CDATA[<D:href
> xmlns:D='DAV:'>/users/root</D:href><D:href
> xmlns:D='DAV:'>/users/projector</D:href>]]></property>
> </revision>
> </objectnode>
> </objectnode>
> -->
> <!-- action -->
> <objectnode
> classname="org.apache.slide.structure.ActionNode" uri="/actions">
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
uri="/actions/read">
> <revision>
> <property
> name="privilege-member-set"><![CDATA[<D:href
> xmlns:D='DAV:'>/actions/read-acl</D:href> <D:href
>
xmlns:D='DAV:'>/actions/read-current-user-privilege-set</D:href>]]></p
> ropert
> y>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
uri="/actions/read-acl">
> <revision>
> <property name="privilege-member-set"/>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
> uri="/actions/read-current-user-privilege-set">
> <revision>
> <property name="privilege-member-set"/>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
uri="/actions/write">
> <revision>
> <property
> name="privilege-member-set"><![CDATA[<D:href
> xmlns:D='DAV:'>/actions/write-acl</D:href> <D:href
> xmlns:D='DAV:'>/actions/write-properties</D:href> <D:href
> xmlns:D='DAV:'>/actions/write-content</D:href>]]></property>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
uri="/actions/write-acl">
> <revision>
> <property name="privilege-member-set"/>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
> uri="/actions/write-properties">
> <revision>
> <property name="privilege-member-set"/>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
> uri="/actions/write-content">
> <revision>
> <property
> name="privilege-member-set"><![CDATA[<D:href
> xmlns:D='DAV:'>/actions/bind</D:href> <D:href
> xmlns:D='DAV:'>/actions/unbind</D:href>]]></property>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
uri="/actions/bind">
> <revision>
> <property name="privilege-member-set"/>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
uri="/actions/unbind">
> <revision>
> <property name="privilege-member-set"/>
> </revision>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.ActionNode"
uri="/actions/unlock">
> <revision>
> <property name="privilege-member-set"/>
> </revision>
> </objectnode>
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode" uri="/files">
> <permission action="all"
subject="unauthenticated"
> inheritable="true"/>
> <!--
> <permission action="/actions/write"
> subject="/roles/user" inheritable="true"/>
> <permission action="/actions/read-acl"
> subject="owner" inheritable="true"/>
> -->
> </objectnode>
> <!--
> <objectnode
> classname="org.apache.slide.structure.SubjectNode" uri="/projector">
> <permission action="all"
subject="unauthenticated"
> inheritable="true"/>
> <permission action="/actions/write"
> subject="/roles/projector" inheritable="true"/>
> <permission action="/actions/read-acl"
> subject="owner" inheritable="true"/>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/projector/work">
> </objectnode>
> </objectnode>
> -->
> <!-- DeltaV: default history and workspace paths -->
> <objectnode
> classname="org.apache.slide.structure.SubjectNode" uri="/history">
> <permission action="all"
subject="unauthenticated"
> inheritable="true"/>
> <!--
> <permission action="/actions/write"
> subject="/roles/user" inheritable="true"/>
> <permission action="/actions/read-acl"
> subject="owner" inheritable="true"/>
> -->
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode" uri="/workspace">
> <permission action="all"
subject="unauthenticated"
> inheritable="true"/>
> <!--
> <permission action="/actions/write"
> subject="/roles/user" inheritable="true"/>
> <permission action="/actions/read-acl"
> subject="owner" inheritable="true"/>
> -->
> </objectnode>
> <objectnode
> classname="org.apache.slide.structure.SubjectNode"
uri="/workingresource">
> <permission action="all"
subject="unauthenticated"
> inheritable="true"/>
> <!--
> <permission action="/actions/write"
> subject="/roles/user" inheritable="true"/>
> <permission action="/actions/read-acl"
> subject="owner" inheritable="true"/>
> -->
> </objectnode>
> </objectnode>
> </data>
> </namespace>
> <!--
> DeltaV global parameters
> ========================
> * historypath (mandatory=no, default="/history"):
> Specifies a Slide path which determines the location
where this DeltaV
> server stores history data.
>
> * workspacepath (mandatory=no, default="/workspace"):
> Specifies a Slide path which determines the location
where this DeltaV
> server allows workspaces to reside.
>
> * workingresourcepath (mandatory=no,
default="/workingresource"):
> Specifies a Slide path which determines the location
where this DeltaV
> server stores working resources.
>
> * auto-version (mandatory=no, default="checkout-checkin"):
> Controls the DeltaV auto-version behaviour.
>
> * auto-version-control (mandatory=no, default="false"):
> Indicates if a resource just created by a PUT should be
set under
> version-control.
>
> * versioncontrol-exclude (mandatory=no, default=""):
> Specifies a Slide path which determines resources which are
> excluded from version-control.
> The default value "" makes no path being excluded.
>
> * checkout-fork (mandatory=no, default="forbidden"):
> Controls the DeltaV check-out behaviour when a version
is already
> checked-out or has a successor.
>
> * checkin-fork (mandatory=no, default="forbidden"):
> Controls the DeltaV check-out behaviour when a version
has already a
> successor.
>
> * standardLivePropertiesClass (mandatory=no,
>
>
default="org.apache.slide.webdav.util.resourcekind.AbstractRes
ourceKind"):
> Determines the "agent" knowing about what the standard live
> properties are.
> It should be a loadable class containing the following
static methods:
> - boolean isLiveProperty(String propName)
> - boolean isProtectedProperty(String propName)
> - boolean isComputedProperty(String propName)
> - Set getAllLiveProperties()
> - Set getAllProtectedProperties()
> - Set getAllComputedProperties()
>
> * uriRedirectorClass (mandatory=no,
> default="org.apache.slide.webdav.util.DeltavUriRedirector"):
> Determines the URI redirector class. The DeltaV URI
redirector is in
> charge of the following redirections:
> - version URI to history URI, e.g. /history/2/1.4 to /history/2
> - latest revision number for history resource to 0.0
> - latest revision number for version resource to last URI token,
> e.g. /history/2/1.4 to 1.4
> It should be a loadable class containing the following
static methods:
> - String redirectUri(String uri)
> - NodeRevisionNumber redirectLatestRevisionNumber(String uri)
> -->
> <parameter name="historypath">/history</parameter>
> <parameter name="workspacepath">/workspace</parameter>
> <parameter
name="workingresourcepath">/workingresource</parameter>
> <!-- WB: Slide user list suggests disabling
auto-version control
> to avoid deadlocks -->
> <parameter name="auto-version"/> <!-- empty string -->
> <parameter name="auto-version-control">false</parameter>
> <!-- WB -->
> <parameter name="versioncontrol-exclude"/> <!-- empty string -->
> <parameter name="checkout-fork"/>
> <parameter name="checkin-fork"/>
>
> <!-- Extractor configuration -->
> <!--
> <extractors>
> This extractor requires jaxen-dom.jar and
xml-im-exporter1.1.jar
> to be copied to tomcat common/lib.
>
> <extractor
> classname="org.apache.slide.extractor.SimpleXmlExtractor"
> uri="/files/articles/test.xml">
> <configuration>
> <instruction property="title"
xpath="/article/title/text()"
> />
> <instruction property="summary"
> xpath="/article/summary/text()" />
> </configuration>
> </extractor>
> This extractor requires poi-2.5-final-date.jar and
> xml-im-exporter1.1.jar to be copied to tomcat common/lib.
>
> <extractor
> classname="org.apache.slide.extractor.OfficeExtractor"
> uri="/files/docs/">
> <configuration>
> <instruction property="author"
id="SummaryInformation-0-4"
> />
> <instruction property="application"
> id="SummaryInformation-0-18" />
> </configuration>
> </extractor>
> </extractors>
> -->
>
> <!-- Event configuration -->
> <events>
> <event classname="org.apache.slide.webdav.event.WebdavEvent"
> enable="true" />
> <event classname="org.apache.slide.event.ContentEvent"
> enable="true" />
> <event classname="org.apache.slide.event.ContentEvent"
> method="retrieve" enable="false" />
> <event classname="org.apache.slide.event.EventCollection"
> enable="true" />
> <event classname="org.apache.slide.event.TransactionEvent"
> enable="true" />
>
> <event classname="org.apache.slide.event.MacroEvent"
> enable="true"/>
>
> <!--listener
> classname="org.apache.slide.util.event.EventLogger"
> /-->
> <listener
classname="org.apache.slide.event.VetoableEventCollector"
> />
> <listener
classname="org.apache.slide.event.TransientEventCollector"
> />
> <listener
> classname="org.apache.slide.webdav.event.NotificationTrigger">
> <configuration>
> <notification include-events="false" />
> <persist-subscriptions
filename="subscriptions.xml" />
> </configuration>
> </listener>
> <listener
> classname="org.apache.slide.extractor.PropertyExtractorTrigger" />
> <listener classname="org.apache.slide.search.IndexTrigger">
> <configuration>
> <indexer
classname="org.apache.slide.search.LoggingIndexer"
> synchronous="false" uri="/files/articles" />
> </configuration>
> </listener>
>
> <!-- Uncomment for cluster support. Be sure to
local-host and
> repository-host -->
> <!--
> <listener
> classname="org.apache.slide.cluster.ClusterCacheRefresher">
> <configuration>
> <node local-host="local.host.domain"
> local-port="4444"
> repository-host="remote.host.domain"
> repository-port="8080"
> repository-protocol="http"
> username="root"
> password="root"
> base-uri="/files/"
> />
> </configuration>
> </listener>
> -->
>
> <listener
classname="org.apache.slide.macro.MacroPropertyUpdater">
> <!-- Listener that updates some properties if
resources are
> copied or moved. This requires MacroEvents
enabled (at
> least methods copy and move) -->
> <configuration>
> <update-displayname>false</update-displayname>
> <update-owner-on-move>false</update-owner-on-move>
> <update-owner-on-copy>false</update-owner-on-copy>
> </configuration>
> </listener>
> </events>
> </slide>
>
>
---------------------------------------------------------------------
> 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]



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



Reply via email to