Document versioning

I needed versioning for my Wiki. The older versions of each WikiPage are stored in a separate database. The version number of the WikiPage is updated each time the page is saved.

The LotusScript

In the following routine, 'OVERFLOW_DB' is a constant with the path of the database to store all the versions. After copying all the items from the original document, I've added two fields containing the original database path and the original UniqueId of the document. After saving the version document, the version number of the original is updated.

Sub makeVersion(doc As notesdocument)
    On Error Goto catch
    Dim s As New notessession
    Dim db As NotesDatabase
    Dim newDoc As NotesDocument
   
    Set db=s.GetDatabase("", OVERFLOW_DB)
    Set newDoc=db.CreateDocument
    doc.CopyAllItems newDoc
    newDoc.ReplaceItemValue "OrigDb", doc.ParentDatabase.FilePath
    newDoc.ReplaceItemValue "OrigUnid", doc.UniversalID
    newDoc.Save True, False, True
    doc.ReplaceItemValue "version", doc.version(0)+1
   
    Goto finally
catch:
    Print "Error " & Err & " in line " & Erl & ": " & Error$
    Resume finally
finally:
End Sub

转载于:https://www.cnblogs.com/hannover/archive/2012/05/01/2477516.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值