I’ve installed moin on my Windows XP box running ISS 5.1. The front page shows up correctly and all seems well. The editing button brings up the edit window, but when I hit the “Save Changes” button I get the following error:


c:\moin\Lib\site-packages\MoinMoin\request.py in run(self=<MoinMoin.request.RequestCGI instance at 0x00650D00>)

  454             else:

  455                 try:

  456                     cgitb.Hook(file=self).handle(saved_exc)

  457                     # was: cgitb.handler()

  458                 except:

cgitb = <module 'MoinMoin.support.cgitb' from 'c:\Moin\Lib\site-packages\MoinMoin\support\cgitb.pyc'>, cgitb.Hook = <class MoinMoin.support.cgitb.Hook at 0x00895C30>, file undefined, self = <MoinMoin.request.RequestCGI instance at 0x00650D00>, ).handle undefined, saved_exc = (<class exceptions.OSError at 0x005E4750>, <exceptions.OSError instance at 0x00890648>, <traceback object at 0x00890530>)


 c:\moin\Lib\site-packages\MoinMoin\wikiaction.py in do_savepage(pagename='FrontPage', request=<MoinMoin.request.RequestCGI instance at 0x00650D00>)

  699                 savemsg = msg

  700         except pg.SaveError, msg:

  701             savemsg = msg

  702         request.reset()

  703         backto = request.form.get('backto', [None])[0]

savemsg undefined, msg undefined


 c:\moin\Lib\site-packages\MoinMoin\PageEditor.py in saveText(self=<MoinMoin.PageEditor.PageEditor instance at 0x00877F80>, newtext='##language:en\n#pragma section-numbers off\n\n= Tes...the database in various ways\n * SyntaxReference\n', datestamp='1086505096', **kw={'comment': '', 'notify': 0, 'stripspaces': 0})


  763             # write the page file

  764             mtime = self._write_file(newtext)

  765             if self._acl_cache.has_key(self.page_name):

  766                 del self._acl_cache[self.page_name]

mtime undefined, self = <MoinMoin.PageEditor.PageEditor instance at 0x00877F80>, self._write_file = <bound method PageEditor._write_file of <MoinMoin.PageEditor.PageEditor instance at 0x00877F80>>, newtext = '##language:en\n#pragma section-numbers off\n\n= Tes...the database in various ways\n * SyntaxReference\n'


 c:\moin\Lib\site-packages\MoinMoin\PageEditor.py in _write_file(self=<MoinMoin.PageEditor.PageEditor instance at 0x00877F80>, text='##language:en\n#pragma section-numbers off\n\n= Tes...the database in various ways\n * SyntaxReference\n')

  679         if os.path.isfile(page_filename) and not is_deprecated and self.do_revision_backup:

  680             filesys.rename(page_filename, os.path.join(config.backup_dir,

  681                 wikiutil.quoteFilename(self.page_name) + '.' + str(os.path.getmtime(page_filename))))


  683         # set in-memory content

global wikiutil = <module 'MoinMoin.wikiutil' from 'c:\Moin\Lib\site-packages\MoinMoin\wikiutil.pyc'>, wikiutil.quoteFilename = <function quoteFilename at 0x00700B70>, self = <MoinMoin.PageEditor.PageEditor instance at 0x00877F80>, self.page_name = 'FrontPage', str undefined, global os = <module 'os' from 'C:\Python23\lib\os.pyc'>, os.path = <module 'ntpath' from 'C:\Python23\lib\ntpath.pyc'>, os.path.getmtime = <function getmtime at 0x006169F0>, page_filename = r'data\text\FrontPage'


 c:\moin\Lib\site-packages\MoinMoin\util\filesys.py in rename(oldname=r'data\text\FrontPage', newname=r'data\backup\FrontPage.1086505096')

   41             except OSError, er:

   42                 pass # let os.rename give us the error (if any)

   43     return os.rename(oldname, newname)



global os = <module 'os' from 'C:\Python23\lib\os.pyc'>, os.rename = <built-in function rename>, oldname = r'data\text\FrontPage', newname = r'data\backup\FrontPage.1086505096'

OSError: [Errno 13] Permission denied
      __doc__ = 'OS system call failed.'
      __getitem__ = <bound method OSError.__getitem__ of <exceptions.OSError instance at 0x00890648>>
      __init__ = <bound method OSError.__init__ of <exceptions.OSError instance at 0x00890648>>
      __module__ = 'exceptions'
      __str__ = <bound method OSError.__str__ of <exceptions.OSError instance at 0x00890648>>
      args = (13, 'Permission denied')
      errno = 13
      filename = None
      strerror = 'Permission denied'


I have checked all the file permissions and they seem ok. The directory permissions cannot be changed from read-only though; but I don’t know if this is innocuous windows-annoyance or the problem. I changed the wiki virtual directory settings in ISS to enable both Read and Write, but no change.

Any help greatly appreciated. Thanks!



Jeff Kotula


August Technology