[daisy] error on savinig a document
Karel Vervaeke
karel at outerthought.org
Wed May 7 16:18:44 CEST 2008
That looks fine. Can you confirm that
- The partition is not full
- The java process is actually running under the 'daisy' user (and/or
someone in the 'daisy' group)
- The blobstore has not moved (i.e. the reference in myconfig.xml is
still good).
(sorry, trivial questions, but I'm a bit at loss here)
Regards,
Karel
On Wed, 2008-05-07 at 10:15 -0400, Bob Ellison wrote:
> The protections are
>
> drwxrwx--- 146 daisy daisy 352256 Apr 16 15:25 blobstore
> The nested directories all have 755 and the files are 644.
>
> Bob
>
>
>
>
> On Wed, May 7, 2008 at 4:17 AM, Karel Vervaeke <karel at outerthought.org> wrote:
> > It seems the repository is unable to create a new file.
> > Is it possible that the user running the repository java process does
> > not have write access to the blobstore directory or to some of the
> > underlying directories? (In that case, chmod is your friend (or
> > whatever the Windows equivalent is)
> >
> > (note to self: the stacktrace should contain more info about what went
> > wrong / which file
> >
> > Regards,
> > Karel
> >
> >
> >
> > On Tue, 2008-05-06 at 11:22 -0400, Bob Ellison wrote:
> > > Error
> > > Sitemap: error calling continuation
> > > Received exception from repository server.
> > > Problem storing document.
> > > Error storing part data to blobstore.
> > > Error storing blob.
> > > No such file or directory
> > >
> > >
> > > Show Details
> > > Hide Details
> > > Cocoon Stack Trace
> > > Message: Sitemap: error calling continuation
> > > context:/daisy/sitemap.xmap - 923:39 <map:call>
> > >
> > > Java Stack Trace
> > > Message: Sitemap: error calling continuation
> > > Class: org.apache.cocoon.ProcessingException
> > > Stacktrace:
> > > org.apache.cocoon.ProcessingException.throwLocated
> > > (ProcessingException.java:113)
> > > org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke
> > > (CallFunctionNode.java:126)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:47)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke
> > > (PreparableMatchNode.java:131)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:47)
> > > org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke
> > > (MatchNode.java:108)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
> > > (PipelineNode.java:143)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke
> > > (PipelinesNode.java:93)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:235)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:177)
> > > org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> > > (TreeProcessor.java:253)
> > > org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
> > > (MountNode.java:118)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
> > > (PipelineNode.java:143)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke
> > > (PipelinesNode.java:93)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:235)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:177)
> > > org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> > > (TreeProcessor.java:253)
> > > org.apache.cocoon.Cocoon.process (Cocoon.java:699)
> > > org.apache.cocoon.servlet.CocoonServlet.service (CocoonServlet.java:1154)
> > > javax.servlet.http.HttpServlet.service (HttpServlet.java:820)
> > > org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487)
> > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > (ServletHandler.java:1098)
> > > org.outerj.daisy.frontend.util.CharacterEncodingFilter.doFilter
> > > (CharacterEncodingFilter.java:35)
> > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > (ServletHandler.java:1089)
> > > org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:365)
> > > org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216)
> > > org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181)
> > > org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712)
> > > org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:405)
> > > org.mortbay.jetty.handler.HandlerCollection.handle (HandlerCollection.java:114)
> > > org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139)
> > > org.mortbay.jetty.Server.handle (Server.java:285)
> > > org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:502)
> > > org.mortbay.jetty.ajp.Ajp13Connection.access$2700 (Ajp13Connection.java:35)
> > > org.mortbay.jetty.ajp.Ajp13Connection$RequestHandler.content
> > > (Ajp13Connection.java:210)
> > > org.mortbay.jetty.ajp.Ajp13Parser.parseNext (Ajp13Parser.java:574)
> > > org.mortbay.jetty.ajp.Ajp13Parser.parseAvailable (Ajp13Parser.java:142)
> > > org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:378)
> > > org.mortbay.jetty.bio.SocketConnector$Connection.run (SocketConnector.java:226)
> > > org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442)
> > > Message: Received exception from repository server.
> > > Class: org.outerj.daisy.repository.RepositoryException
> > > Stacktrace:
> > > org.outerj.daisy.repository.clientimpl.infrastructure.DaisyHttpClient.handleNotOkResponse
> > > (DaisyHttpClient.java:175)
> > > org.outerj.daisy.repository.clientimpl.infrastructure.DaisyHttpClient.executeMethod
> > > (DaisyHttpClient.java:111)
> > > org.outerj.daisy.repository.clientimpl.RemoteDocumentStrategy.store
> > > (RemoteDocumentStrategy.java:225)
> > > org.outerj.daisy.repository.commonimpl.DocumentImpl.save (DocumentImpl.java:474)
> > > org.outerj.daisy.frontend.editor.DocumentEditorApple.saveAndCloseEditor
> > > (DocumentEditorApple.java:340)
> > > org.outerj.daisy.frontend.editor.DocumentEditorApple.processRequest
> > > (DocumentEditorApple.java:316)
> > > org.outerj.daisy.frontend.util.AbstractDaisyApple.process
> > > (AbstractDaisyApple.java:61)
> > > org.apache.cocoon.components.flow.apples.ApplesProcessor.processApple
> > > (ApplesProcessor.java:139)
> > > org.apache.cocoon.components.flow.apples.ApplesProcessor.handleContinuation
> > > (ApplesProcessor.java:108)
> > > org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke
> > > (CallFunctionNode.java:124)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:47)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke
> > > (PreparableMatchNode.java:131)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:47)
> > > org.apache.cocoon.components.treeprocessor.sitemap.MatchNode.invoke
> > > (MatchNode.java:108)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
> > > (PipelineNode.java:143)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke
> > > (PipelinesNode.java:93)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:235)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:177)
> > > org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> > > (TreeProcessor.java:253)
> > > org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
> > > (MountNode.java:118)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
> > > (PipelineNode.java:143)
> > > org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes
> > > (AbstractParentProcessingNode.java:69)
> > > org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke
> > > (PipelinesNode.java:93)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:235)
> > > org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
> > > (ConcreteTreeProcessor.java:177)
> > > org.apache.cocoon.components.treeprocessor.TreeProcessor.process
> > > (TreeProcessor.java:253)
> > > org.apache.cocoon.Cocoon.process (Cocoon.java:699)
> > > org.apache.cocoon.servlet.CocoonServlet.service (CocoonServlet.java:1154)
> > > javax.servlet.http.HttpServlet.service (HttpServlet.java:820)
> > > org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487)
> > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > (ServletHandler.java:1098)
> > > org.outerj.daisy.frontend.util.CharacterEncodingFilter.doFilter
> > > (CharacterEncodingFilter.java:35)
> > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter
> > > (ServletHandler.java:1089)
> > > org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:365)
> > > org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216)
> > > org.mortbay.jetty.servlet.SessionHandler.handle (SessionHandler.java:181)
> > > org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712)
> > > org.mortbay.jetty.webapp.WebAppContext.handle (WebAppContext.java:405)
> > > org.mortbay.jetty.handler.HandlerCollection.handle (HandlerCollection.java:114)
> > > org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139)
> > > org.mortbay.jetty.Server.handle (Server.java:285)
> > > org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:502)
> > > org.mortbay.jetty.ajp.Ajp13Connection.access$2700 (Ajp13Connection.java:35)
> > > org.mortbay.jetty.ajp.Ajp13Connection$RequestHandler.content
> > > (Ajp13Connection.java:210)
> > > org.mortbay.jetty.ajp.Ajp13Parser.parseNext (Ajp13Parser.java:574)
> > > org.mortbay.jetty.ajp.Ajp13Parser.parseAvailable (Ajp13Parser.java:142)
> > > org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:378)
> > > org.mortbay.jetty.bio.SocketConnector$Connection.run (SocketConnector.java:226)
> > > org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442)
> > > Message: Problem storing document.
> > > Class: org.outerj.daisy.repository.RepositoryException
> > > Stacktrace:
> > > ATTENTION: this is the stacktrace of an exception that happened on the
> > > repository server.
> > > org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.store
> > > (LocalDocumentStrategy.java:792)
> > > org.outerj.daisy.repository.commonimpl.DocumentImpl.save (DocumentImpl.java:474)
> > > org.outerj.daisy.httpconnector.handlers.DocumentsHandler.handleRequest
> > > (DocumentsHandler.java:65)
> > > org.outerj.daisy.httpconnector.HttpConnector$PathHandler.handle
> > > (HttpConnector.java:339)
> > > org.outerj.daisy.httpconnector.HttpConnector$DaisyServlet.service
> > > (HttpConnector.java:282)
> > > javax.servlet.http.HttpServlet.service (HttpServlet.java:802)
> > > org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487)
> > > org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:367)
> > > org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216)
> > > org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712)
> > > org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139)
> > > org.mortbay.jetty.Server.handle (Server.java:285)
> > > org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:502)
> > > org.mortbay.jetty.HttpConnection$RequestHandler.content
> > > (HttpConnection.java:835)
> > > org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:641)
> > > org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:208)
> > > org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:378)
> > > org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:368)
> > > org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442)
> > > Message: Error storing part data to blobstore.
> > > Class: org.outerj.daisy.repository.RepositoryException
> > > Stacktrace:
> > > ATTENTION: this is the stacktrace of an exception that happened on the
> > > repository server.
> > > org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.storeParts
> > > (LocalDocumentStrategy.java:1089)
> > > org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.store
> > > (LocalDocumentStrategy.java:709)
> > > org.outerj.daisy.repository.commonimpl.DocumentImpl.save (DocumentImpl.java:474)
> > > org.outerj.daisy.httpconnector.handlers.DocumentsHandler.handleRequest
> > > (DocumentsHandler.java:65)
> > > org.outerj.daisy.httpconnector.HttpConnector$PathHandler.handle
> > > (HttpConnector.java:339)
> > > org.outerj.daisy.httpconnector.HttpConnector$DaisyServlet.service
> > > (HttpConnector.java:282)
> > > javax.servlet.http.HttpServlet.service (HttpServlet.java:802)
> > > org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487)
> > > org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:367)
> > > org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216)
> > > org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712)
> > > org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139)
> > > org.mortbay.jetty.Server.handle (Server.java:285)
> > > org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:502)
> > > org.mortbay.jetty.HttpConnection$RequestHandler.content
> > > (HttpConnection.java:835)
> > > org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:641)
> > > org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:208)
> > > org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:378)
> > > org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:368)
> > > org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442)
> > > Message: Error storing blob.
> > > Class: org.outerj.daisy.blobstore.BlobIOException
> > > Stacktrace:
> > > ATTENTION: this is the stacktrace of an exception that happened on the
> > > repository server.
> > > org.outerj.daisy.blobstore.impl.FSBlobStore.store (FSBlobStore.java:153)
> > > org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.storeParts
> > > (LocalDocumentStrategy.java:1087)
> > > org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.store
> > > (LocalDocumentStrategy.java:709)
> > > org.outerj.daisy.repository.commonimpl.DocumentImpl.save (DocumentImpl.java:474)
> > > org.outerj.daisy.httpconnector.handlers.DocumentsHandler.handleRequest
> > > (DocumentsHandler.java:65)
> > > org.outerj.daisy.httpconnector.HttpConnector$PathHandler.handle
> > > (HttpConnector.java:339)
> > > org.outerj.daisy.httpconnector.HttpConnector$DaisyServlet.service
> > > (HttpConnector.java:282)
> > > javax.servlet.http.HttpServlet.service (HttpServlet.java:802)
> > > org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487)
> > > org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:367)
> > > org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216)
> > > org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712)
> > > org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139)
> > > org.mortbay.jetty.Server.handle (Server.java:285)
> > > org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:502)
> > > org.mortbay.jetty.HttpConnection$RequestHandler.content
> > > (HttpConnection.java:835)
> > > org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:641)
> > > org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:208)
> > > org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:378)
> > > org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:368)
> > > org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442)
> > > Message: No such file or directory
> > > Class: java.io.IOException
> > > Stacktrace:
> > > ATTENTION: this is the stacktrace of an exception that happened on the
> > > repository server.
> > > java.io.UnixFileSystem.createFileExclusively [native method]
> > > (UnixFileSystem.java:-2)
> > > java.io.File.createNewFile (File.java:850)
> > > org.outerj.daisy.blobstore.impl.FSBlobStore.createFile (FSBlobStore.java:201)
> > > org.outerj.daisy.blobstore.impl.FSBlobStore.store (FSBlobStore.java:139)
> > > org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.storeParts
> > > (LocalDocumentStrategy.java:1087)
> > > org.outerj.daisy.repository.serverimpl.LocalDocumentStrategy.store
> > > (LocalDocumentStrategy.java:709)
> > > org.outerj.daisy.repository.commonimpl.DocumentImpl.save (DocumentImpl.java:474)
> > > org.outerj.daisy.httpconnector.handlers.DocumentsHandler.handleRequest
> > > (DocumentsHandler.java:65)
> > > org.outerj.daisy.httpconnector.HttpConnector$PathHandler.handle
> > > (HttpConnector.java:339)
> > > org.outerj.daisy.httpconnector.HttpConnector$DaisyServlet.service
> > > (HttpConnector.java:282)
> > > javax.servlet.http.HttpServlet.service (HttpServlet.java:802)
> > > org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:487)
> > > org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:367)
> > > org.mortbay.jetty.security.SecurityHandler.handle (SecurityHandler.java:216)
> > > org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:712)
> > > org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:139)
> > > org.mortbay.jetty.Server.handle (Server.java:285)
> > > org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:502)
> > > org.mortbay.jetty.HttpConnection$RequestHandler.content
> > > (HttpConnection.java:835)
> > > org.mortbay.jetty.HttpParser.parseNext (HttpParser.java:641)
> > > org.mortbay.jetty.HttpParser.parseAvailable (HttpParser.java:208)
> > > org.mortbay.jetty.HttpConnection.handle (HttpConnection.java:378)
> > > org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:368)
> > > org.mortbay.thread.BoundedThreadPool$PoolThread.run (BoundedThreadPool.java:442)
> > >
> > >
> > > On Tue, May 6, 2008 at 3:30 AM, Karel Vervaeke <karel at outerthought.org> wrote:
> > > > Can you provide the entire stacktrace information?
> > > >
> > > > (sidenote: Since viewing the documents works, I assume the docid
> > > > convertor step was successful.)
> > > >
> > > > Regards,
> > > > Karel
> > > >
> > > >
> > > >
> > > > On Mon, 2008-05-05 at 21:12 -0400, Bob Ellison wrote:
> > > > > We have done a major upgrade from 1.4 to 2.2. There are no problems
> > > > > viewing documents. but I get the following error when I saved a
> > > > > document after an edit
> > > > >
> > > > > Error
> > > > > Sitemap: error calling continuation
> > > > > Received exception from repository server.
> > > > > Problem storing document.
> > > > > Error storing part data to blobstore.
> > > > > Error storing blob.
> > > > > No such file or directory
> > > > >
> > > > >
> > > > > Show Details
> > > > > Hide Details
> > > > > Cocoon Stack Trace
> > > > > Message: Sitemap: error calling continuation
> > > > > context:/daisy/sitemap.xmap - 923:39 <map:call>
> > > > >
> > > > > Any suggestions for how to approach this problem?
> > > > >
> > > > > Bob
> > > > > _______________________________________________
> > > > > daisy community mailing list
> > > > > Professional Daisy support: http://outerthought.org/en/services/daisy/support.html
> > > > > mail to: daisy at lists.cocoondev.org
> > > > > list information: http://lists.cocoondev.org/mailman/listinfo/daisy
> > > > _______________________________________________
> > > > daisy community mailing list
> > > > Professional Daisy support: http://outerthought.org/en/services/daisy/support.html
> > > > mail to: daisy at lists.cocoondev.org
> > > > list information: http://lists.cocoondev.org/mailman/listinfo/daisy
> > > >
> > > _______________________________________________
> > > daisy community mailing list
> > > Professional Daisy support: http://outerthought.org/en/services/daisy/support.html
> > > mail to: daisy at lists.cocoondev.org
> > > list information: http://lists.cocoondev.org/mailman/listinfo/daisy
> > _______________________________________________
> > daisy community mailing list
> > Professional Daisy support: http://outerthought.org/en/services/daisy/support.html
> > mail to: daisy at lists.cocoondev.org
> > list information: http://lists.cocoondev.org/mailman/listinfo/daisy
> >
> _______________________________________________
> daisy community mailing list
> Professional Daisy support: http://outerthought.org/en/services/daisy/support.html
> mail to: daisy at lists.cocoondev.org
> list information: http://lists.cocoondev.org/mailman/listinfo/daisy
More information about the daisy
mailing list