Perhaps our setup is a little unusual but I thought it would be worth making the wider community aware of a confict between JSPWiki and CVS.

We run a large number of web apps under tomcat including a jspwiki wiki. Our policy is that all webapps are placed under CVS control. As such when a jspwiki was commissioned it was also placed under CVS control.

CVS places a directory called 'CVS' into every directory under its control. Unfortunately JSPWiki assumes that every directory under the pageDir directory (as specified by jspwiki.fileSystemProvider.pageDir) is a wiki directory. As a result the BasicAttachmentProvider fails with the following exception:

2004-06-25 13:52:02,534 HttpProcessor[8080[4]] INFO com.ecyrd.jspwiki.WikiEngine - Starting cross reference scan of WikiPages 2004-06-25 13:52:02,659 HttpProcessor[8080[4]] ERROR com.ecyrd.jspwiki.providers.BasicAttachmentProvider - Can't read page properties java.io.FileNotFoundException: No such file: c:\inetpub\tomcat4\webapps\wiki\storage\attachments\Eclipse-att\CVS\0.bin exists. at com.ecyrd.jspwiki.providers.BasicAttachmentProvider.findFile(BasicAttachmentProvider.java:363) at com.ecyrd.jspwiki.providers.BasicAttachmentProvider.getAttachmentInfo(BasicAttachmentProvider.java:497) at com.ecyrd.jspwiki.providers.BasicAttachmentProvider.listAttachments(BasicAttachmentProvider.java:407) at com.ecyrd.jspwiki.providers.BasicAttachmentProvider.listAllChanged(BasicAttachmentProvider.java:452) at com.ecyrd.jspwiki.providers.CachingAttachmentProvider.listAllChanged(CachingAttachmentProvider.java:186) at com.ecyrd.jspwiki.attachment.AttachmentManager.getAllAttachments(AttachmentManager.java:312) at com.ecyrd.jspwiki.WikiEngine.initReferenceManager(WikiEngine.java:393) at com.ecyrd.jspwiki.WikiEngine.initialize(WikiEngine.java:343) at com.ecyrd.jspwiki.WikiEngine.<init>(WikiEngine.java:259) at com.ecyrd.jspwiki.WikiEngine.getInstance(WikiEngine.java:190) at org.apache.jsp.Wiki_jsp.jspInit(Wiki_jsp.java:16) ....

Christian Buchegger: I would say on one hand the content of directories managed by a provider is under control of that provider and the provider is not required to know about the presence of CVS directories. However it also makes sense to version content in a webapp.

I can imagine two solutions there:

  • place the content outside of the versioned webapp; since content generally survives the software which generates them, you will appreciate this setup when you upgrade JSPWiki next.
  • JSPWiki should be more tolerant against unexpected content and simply ignore when it encounters such a situation.

Add new attachment

Only authorized users are allowed to upload new attachments.
« This page (revision-4) was last changed on 31-Dec-2004 11:55 by AlainRavet