Documentation

{{docApp.title}}

{{docApp.description}}

INDEX

Documentation Library

Search for information on Hornbill Documentation.

{{docApp.searchError}}

{{docApp.searchResultFilteredItems.length}} results for "{{docApp.currentResultsSearchText}}" in {{docApp.searchFilterBySpecificBookTitle}}

Have questions about this site?


What is this site?

  • This website is Hornbill's new product documentation website and is currently under development.
  • It is intended that all existing and future public-facing documentation we produce will be available to search, browse and share.
  • Hornbill's current documentation is available at Hornbill Wiki but over time this content will be migrated to this documentation site.
  • Please feel free to have a look around at any time.

Why has Hornbill created this site?

  • Hornbill's products have moved on considerably since we introduced it almost 10 years ago. At the time, the MediaWiki tool was sufficient, but we have outgrown it.
  • Our customers are more enterprise focused and more self-sufficient than ever before, so for 2023 and beyond we have established a new documentation platform and team to drive our documentation initiative forwards.
  • We are aiming to deprecate the use of Hornbill Wiki for most Hornbill related documentation.
  • We want to enable our growing partner network with product resources and information, documentation beyond our Wiki approach is required.
  • We could definitely do with some help, and may even pay for some! If you have domain knowledge and would like to help, please check out our Hornbill Docs Contributor Guide and contact the Hornbill docs team at docs@hornbill.com.

What will this site be good for?

  • Community contribution will be facilitated, encouraged, and most welcome.
  • High quality documentation, will be kept up to date as rapidly as our products evolve.
  • Real-time content search and discovery.
  • Articles organized into books, books into libraries, creating a more natural and logical structure to our documentation.
  • Legacy API documentation and various other documentation sources will all be consolidated into a single unified documentation system.
  • Documentation available in browser as well as printable/viewable as PDF on demand.
  • Personalized documentation experience, allowing dark/light mode, article subscriptions, social media sharing and other useful features.
  • Almost all publicly available documentation on docs.hornbill.com will be open-source and available to fork on GitHub, allowing customers to derive their own custom documentation around Hornbill products should they wish to.

What is the timeline for this site?

  • We have taken the decision to publish and make available early, there is very little content at this time.
  • As and when we have completed/usable documentation, it will be published here.
  • We have a host of additional features we wish to add over time, so please watch this space.
  • We expect most of our existing documentation should be reviewed/migrated to docs.hornbill.com over the coming months.
  • The documentation project will be ongoing, will continue to expand, evolve and improve day-by-day.

{{docApp.libraryHomeViewProduct.title || docApp.libraryHomeViewProduct.id}}

{{docApp.libraryHomeViewProduct.description}}

  1. {{book.title}}

{{group.title || group.id}}

{{group.description}}

  1. {{book.title}}

{{group.title}}

Authentication

The User Import - Azure utility uses API Keys to authenticate all API calls into Hornbill instances, and KeySafe to securely store Entra ID credentials.

API Keys

For the utility to read, create and update records via the Hornbill API, it requires an API Key to be securely stored alongside the client.

User

Every action within Hornbill must be performed in the context of a user account. As well as the chosen user account possessing the User Import role (see below) which facilitates the creation of the user accounts into the Hornbill platform, and the updating of user properties, the user account must possess roles for the applications that you are granting access to via the import utility. The above comment about roles refers to the Hornbill Security Model when associating roles with user accounts. This security measure prevents you from inflating your session rights, or granting a user more rights than you have yourself.

Important

We strongly recommend that you create a Service Account in your Hornbill instance, and API Keys against that account which can then be used to perform the required API calls back into Hornbill.

Please read the API Key documentation and best practice guide before creating API keys against your user records.

The service account that you create must be of type User (not Basic), and be granted the following roles:

  • User Import - Allows the utility to create and update users, and associated records, in the Hornbill Platform.
  • Basic User Role - Allows the utility to assign Core basic user roles.
  • Self Service User - Allows the utility to assign Service Manager roles.
  • Board BPM Access - Allows the utility to assign Board Manager roles.
  • Docmanager Portal - Allows the utility to assign Document Manager roles.

API Key Rules

The User Imports require access to the following Hornbill Platform APIs, and your API Key rules should reflect those, plus additional security hardening in the form of IP rules:

activity:profileImageSet 
admin:keysafeGetKey 
admin:sysOptionGet 
admin:userAddGroup 
admin:userAddRole 
admin:userCreate 
admin:userDeleteGroup 
admin:userProfileSet 
admin:userSetAccountStatus 
admin:userUpdate 
data:entityAddRecord 
data:entityGetRecord 
data:entityUpdateRecord 
data:queryExec 
session:getSystemLicenseInfo 

KeySafe

For the import utility to access Entra ID data, authentication credentials are required to be stored in KeySafe.

Note

We recommend that you read the KeySafe documentation before storing credentials in KeySafe.

Entra ID App Registration

Before creating a KeySafe Key, you will first need details of an appropriate App Registration from your Entra ID tenant. Your Entra ID administrator will be able to help you with this, but the basic steps to create this are as follows:

  • Log into your Azure portal
  • Navigate to Azure Active Directory
  • In the App registrations menu item, click the New Registration button
  • Provide a name for the application, select the appropriate account type, and click the Register button
  • Once created, several API permissions need to be applied to the app. We have found that the following permissions need to be granted within Azure, though these could differ for your tenant so please rely on your internal Azure expertise:
    • Application Permissions:
      • Group.Read.All
      • GroupMember.Read.All
      • Team.ReadBasic.All
      • TeamMember.Read.All
      • User.Read.All
    • Delegated Permission:
      • User.Read
  • The permission settings need confirming by clicking Grant admin consent
  • The Client ID and Tenant ID can be found and copied from within the Overview section (as Application (client) ID and Directory (tenant) ID respectively)
  • Next, you will need to generate a Client Secret, by navigating to Certificates & Secrets in the menu, clicking New Client Secret, and providing a description and expiry date, before clicking the Add button
  • Copy the Value of the Client Secret before continuing

Key Creation

Now you have a Client ID, Tenant ID and Client Secret for your Entra ID app registration, you can create a KeySafe key as so:

  • In Hornbill, navigate to Configuration > Platform Configuration > KeySafe;
  • Click + Create New Key
  • Choose a key type of Azure Imports
  • Give the KeySafe key a Title
  • Optionally add a Description
  • Populate the Tenant ID, Client ID and Client Secret inputs with the values copied above
  • Click Create Key

Once the key has been created, you can then lock access to it down to the API Key created against your service account. See the KeySafe documentation for more information regarding this.

In This Document