How to clear a Lotus Notes local cache (cache.ndk) with LotusScript

Hi,

I’ve recently posted a script on searchdomino.com.

Embed this LotusScript in a button or in the postopen sub of a database script. With it, users can clear their local caches without deleting their cache.ndk files.

http://searchdomino.techtarget.com/tip/0,289483,sid4_gci1340011,00.html

Here is the code :


Dim WorkSpace As New NotesUIWorkspace

    Dim DbCache As NotesDatabase

    Dim AllDocs As NotesDocumentCollection

    Dim Doc, nextDoc As NotesDocument

    Dim i As Integer



    On erreur Goto ErrorHandling



    Set DbCache = New NotesDatabase ("", "cache.ndk")

    Set AllDocs = DbCache.AllDocuments

    If AllDocs.Count > 0 Then

            Print "deleting documents from cache.ndk ..."

            Set Doc = AllDocs.GetFirstDocument

            While Not ( Doc Is Nothing )

                    i = i + 1

                    Set NextDoc = AllDocs.GetNextDocument ( Doc )

                    Print "deleting documents from cache (" & Cstr (i) & "/" & Cstr ( AllDocs.Count ) & ")"

                    Call Doc.RemovePermanently ( True )

                    Set Doc = NextDoc

            Wend

    End If

    Print "Compacting cache.ndk"

    Call DbCache.Compact



    Call WorkSpace.Prompt (1, "Cache.ndk Optimization", "Optimization ended with success. Ypu should restart Lotus Notes." )



    Exit Sub

ErrorHandling :

    Resume

    Call WorkSpace.Prompt (1, "Cache.ndk Optimization", "An error has occured." )

Pascal LUCAS

http://www.upteamind.fr

Subject: Thank you!

This is cool.