Create documents

When creating a document, you must perform the following:

  1. Check whether the document already exists.
    Before you create the document, you must check whether a document with the same ID already exists.

  2. Create the document.
    If the document does not exist, you can create a new document with the specified ID.

  3. Specify the parent document library of the document.
    Specify the library where the document belongs to.

  4. Set the required properties.
    When creating a new document, set the following properties:

      • Title
      • LastModified
      • DateCreated
      • UrlName
      • MediaFileUrlName
        You can also set any other properties in this step.
    • Upload the document data.
      Upload the document data to the database.

    • Save the document.
      Save all changes that you have made to the document.

    • Publish the document.
      You publish the document using the workflow manager.

    The example below shows you how to create a document with predefined ID.

    NOTE: The ID argument is assigned to the master version of the document. For more information about the different versions of a document, see For developers: Content lifecycle.

    EXAMPLE: Creating a document with predefined ID.
    The following code creates a document with the specified IDTitle and document data.

    Native API

    First, you get an instance of the LibrariesManager class. You check whether a document with the same ID already exists. Then, to create the document, you must call the CreateDocument method of the LibrariesManager class. You can create a document with either predefined or auto-generated ID depending which overload of the method you use. The method returns the master version of the document. Then, you get an instance of the specified parent document library. To associate the document with the document library, you set the document library to the Parent property of the document object. Then, you set the properties of the master version. We recommend to set at least the following properties: TitleUrlNameLastModifiedPublicationDateDateCreated, MediaFileUrlName. Then, to upload the document data, you call the Upload method of the LibrariesManager class and pass the stream of the selected file as parameter. To save the changes, you call the SaveChanges method of the manager. Finally, to publish the document, you call the MessageWorkflow method of the WorkflowManager class and pass the required parameters.

    Fluent API

    First, you check whether a document with the same ID already exists. Then, you check whether the specified parent document library exists. If it exists you get the singular document library facade of the parent document library. To create the document, you call the CreateDocument method of the facade. The ID argument is assigned to the ID property of the master version of the item. You check out the item. Then, you set the properties of the document by calling the Do method of the facade. To upload the document data, you call the UploadContent method of the facade and pass the document, the stream of the selected file, and its extension as arguments. To check in the document, you call the CheckIn method of the facade. Then, you save the changes. Finally, to publish the document, you call the MessageWorkflow method of the WorkflowManager class and pass the required parameters.

    Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

    Web Security for Sitefinity Administrators

    The free standalone Web Security lesson teaches administrators how to protect your websites and Sitefinity instance from external threats. Learn to configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

    Foundations of Sitefinity ASP.NET Core Development

    The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

    Was this article helpful?

    Next article

    Query documents