Lotus Software logo
IBM Lotus Domino Designer 8.5
  Versions 8.5 and 8.5.1






Examples: NotesDXLImporter class

  1. This agent imports DXL from a file into a newly created database.
  2. Sub Initialize
    
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim dbCopy As NotesDatabase
    Set db = session.CurrentDatabase
    filename$ = Left(db.FileName, Len(db.FileName) - 4)

    REM Open dxl file named after current database
    Dim stream As NotesStream
    Set stream = session.CreateStream
    If Not stream.Open("c:\dxl\" & filename$ & ".dxl") Then
    Messagebox "Cannot open " & filename$,, "Error"
    Exit Sub
    End If
    If stream.Bytes = 0 Then
    Messagebox "File did not exist or was empty",, filename$
    Exit Sub
    End If

    REM Create new database named current database + "Copy"
    Set dbCopy = New NotesDatabase("", "")
    Call dbCopy.Create("", filename$ & "Copy", True)

    REM Import DXL into new database
    Dim importer As NotesDXLImporter
    Set importer = session.CreateDXLImporter(stream, dbCopy)
    importer.ReplaceDBProperties = True
    importer.ReplicaRequiredForReplaceOrUpdate = False
    importer.ACLImportOption = DXLIMPORTOPTION_REPLACE_ELSE_IGNORE
    importer.DesignImportOption = DXLIMPORTOPTION_CREATE
    Call importer.Process
    End Sub

    The file generated by the NotesDXLExporter class example can be imported using this code.

  3. This agent exports DXL to a stream then imports the DXL into a newly created database.
  4. Dim session As NotesSession
    
    Dim db As NotesDatabase
    Dim stream As NotesStream

    Sub Initialize
    Set session = New NotesSession
    Set db = session.CurrentDatabase
    Set stream = session.CreateStream
    Call exportDatabase
    Call importDatabaseCopy
    End Sub

    Sub exportDatabase
    Dim exporter As NotesDXLExporter
    Set exporter = session.CreateDXLExporter
    Call exporter.SetInput(db)
    Call exporter.SetOutput(stream)
    Call exporter.Process
    End Sub

    Sub importDatabaseCopy
    REM Create new database named after current database
    Dim dbCopy As NotesDatabase
    filename$ = Left(db.FileName, Len(db.FileName) - 4)
    Set dbCopy = New NotesDatabase("", "")
    Call dbCopy.Create("", filename$ & "Copy", True)

    REM Import DXL into new database
    Dim importer As NotesDXLImporter
    Set importer = session.CreateDXLImporter
    Call importer.SetInput(stream)
    Call importer.SetOutput(dbCopy)
    importer.ReplaceDBProperties = True
    importer.ReplicaRequiredForReplaceOrUpdate = False
    importer.ACLImportOption = DXLIMPORTOPTION_REPLACE_ELSE_IGNORE
    importer.DesignImportOption = DXLIMPORTOPTION_CREATE
    Call importer.Process
    End Sub
  5. This agent creates a DXL export (containing only documents) then pipelines the DXL into an existing database.
  6. Sub Initialize
    
    Dim session As NotesSession
    Dim db As NotesDatabase
    Dim nc As NotesNoteCollection
    Dim exporter As NotesDXLExporter
    Dim importer As NotesDXLImporter


    Set session = New NotesSession
    Set db = session.CurrentDatabase
    Set nc = db.CreateNoteCollection(False)
    nc.SelectDocuments = True
    Call nc.BuildCollection
      REM Set up importer to receive DXL piped from exporter
    
    REM and to re-import the documents back into the
    REM current database as copies.
      Set exporter = session.CreateDXLExporter(nc)
    
    Set importer = session.CreateDXLImporter(exporter, db)
    exporter.Process
    End Sub

Related topics
NotesDXLImporter class




Library | Support | Terms of use |

Last updated: Monday, October 5, 2009