Introduction
I am working as HSEQ System Analyst, and one of my task includes creating an Information architecture for an Information Management system.
One of the most important features of IMS is Document Management, which includes publishing controlled documents (Policies, procedures, statements etc), advance search for users to access documents, and implementing review and retention policies.
Publishing a document needs consolation with many stakeholders including document owners, approvers, and users who access these documents. Consultation can be done outside the system via emails, Teams, or by sharing a document from a SharePoint or OneDrive.
Once the consultation is complete, the requestor can share the document with the document controller (one who maintains publishing of controlled documents) and the document controller publishes the document; it is available to all users via search.
My purpose is to create a simple and robust system to publish documents and make documents accessible to users in a user-friendly way.
Although, my focus is a document management system, below is the diagram illustration of what I am trying to achieve as a whole system. I want to create a system using out of the box features as maximum as possible.
Note
IMS stands for Information Management System.
Requirements
Type
|
Description
|
BR.1
|
Enable SharePoint for all relevant users.
|
BR.3
|
Library to upload Draft documents before publishing. user should be able to publish documents from the draft library, the user should be able to retract files if there is a need.
The type of documents that we can upload is restricted to office documents.
|
BR.4
|
Published documents Library.
|
BR.5
|
Metadata to classify documents according to Division, Project, status, etc.
|
BR.6 |
Flow to get automatic document reference number based on pre-defined document naming convention. |
BR.7
|
Flow to automate the publishing process.
|
We have to create a draft library where Document Controller can upload files and can add/update metadata to the file, below is the view of the draft library.
Automation flow buttons are created using column formatting, reference link
here.
Components
Metadata
Metadata to classify documents according to document type, Division, Status etc. and Document Controller will be responsible for Metadata.
Content types
Content types are reusable components that we are going to use to update metadata for documents and content.
Draft Library
A library where the document controller will upload draft policies, standards, procedures, statements, alerts, and advice related to different divisions.
Publish Flow
Flow to publish documents from Draft library to IMS Publish Document Library; Flow will also send a notification to confirm document publishing.
IMS Published Documents
This library contains documents, which are visible to all employees within the organization.
Archival Library
The library will have all the documents deleted from IMS Publish Document Library or Physical Records.
Reminders/Notifications
Reminders to Document Controller to review documents or consult with respective stakeholders or owners for review.
Metadata
I have used the Term store for Taxonomy. Below is the table that I have used to create Taxonomy.
IMS Element
|
Abbreviation
|
Auditing
|
HSE
|
Business Development
|
BUD
|
Communication and Consultation
|
COM
|
Contracts and Projects
|
CPJ
|
Customer Management
|
HSE
|
Design
|
DSG
|
Document and Records Management
|
DRM
|
Emergency and Crisis Management
|
ECM
|
Environmental
|
ENV
|
Financial Management
|
FIN
|
Policy and Governance
|
POL
|
Hazard and Risk Management
|
HRM
|
Health Safety & Environment
|
HSE
|
Health Management System Description
|
HSE
|
Incident and Injury Management
|
INC
|
Inspection & Testing
|
HSE
|
Information Technology and Security Management
|
ITS
|
Knowledge Management & Continual Improvement
|
HSE
|
Lines of Defence
|
DEF
|
Management of Change
|
MOC
|
Management of Preventive and Corrective Actions
|
PCA
|
Project Management
|
PRM
|
Quality Assurance
|
QUA
|
People Management
|
PEO
|
Legal and Other Requirements
|
LEG
|
Leadership, Responsibility, and Accountability
|
LED
|
Procurement and Assets
|
PRO
|
Training and Competency
|
TRN
|
Operational Management
|
OPS
|
Performance Monitoring
|
PER
|
Management Review
|
REV
|
Action Management
|
ACT
|
Divison
|
Group
|
Division2
|
Division3
|
Platform
|
Platform1
|
Platform2
|
Platform3
|
Platform4
|
Platform5
|
Document type
|
Abbreviation
|
Advice
|
SAD
|
Alert
|
SAL
|
Checklist
|
FM
|
Form
|
FM
|
Guidance Note
|
GN
|
Guide
|
GD
|
Handbook
|
HB
|
Matrix
|
MX
|
Plan
|
PN
|
Plant
|
PL
|
Policy
|
PL
|
Procedure
|
PR
|
Process Flowchart
|
PF
|
Register
|
RG
|
Report
|
RT
|
Safe Work Instruction
|
SWI
|
Safe Work Method Statement
|
SWM
|
Standard
|
SD
|
Statement
|
ST
|
Strategy
|
SG
|
Template
|
TE
|
Diagram
|
DG
|
Taxonomy is used so that the above metadata is made available to users for tagging.
Content Type
I have used content type hub to create content types.
IMS Document – this content type is used for adding metadata to IMS documents like policies, procedures, statements, etc.
Column table for IMS document
Name
|
Type
|
Status
|
Name
|
File
|
Required
|
Title
|
Single line of text
|
Required
|
Division
|
Managed Metadata
|
Required
|
Document type
|
Managed Metadata
|
Required
|
IMS Element
|
Managed Metadata
|
Required
|
Document Ref no
|
Single line of text
|
Required
|
Platform
|
Managed Metadata
|
Optional
|
Version number
|
Single line of text
|
Required
|
Issue date
|
Date and Time
|
Optional
|
Document Owner
|
Person or Group
|
Optional
|
Document Owner Designation
|
Single line of text
|
Optional
|
Document Approver
|
Person or Group
|
Optional
|
Document Approver Designation
|
Single line of text
|
Optional
|
Review date
|
Date and Time
|
Optional
|
Business Process Framework Discipline
|
Managed Metadata
|
Hidden
|
Consultation comments
|
Multiple lines of text
|
Hidden
|
Is Pdf
|
Yes/No
|
Optional
|
Draft document Id
|
Single line of text
|
Hidden
|
Element no
|
Number
|
Hidden
|
Document status
|
Choice
|
Optional
|
IMS Alert and Advice
This content type is used for adding metadata to IMS records such as alerts & advice.
Column table for IMS Alert and Advice
Name
|
Type
|
Status
|
Name
|
File
|
Required
|
Title
|
Single line of text
|
Required
|
Division
|
Managed Metadata
|
Required
|
Communication type
|
Choice
|
Required
|
Version number
|
Single line of text
|
Required
|
Platform
|
Managed Metadata
|
Optional
|
Issue date
|
Date and Time
|
Required
|
Review date
|
Date and Time
|
Optional
|
Document Ref no
|
Single line of text
|
Optional
|
Document Owner
|
Person or Group
|
Optional
|
Document Owner Designation
|
Single line of text
|
Required
|
Document Approver
|
Person or Group
|
Optional
|
Document Approver Designation
|
Single line of text
|
Optional
|
Document status
|
Choice
|
Optional
|
make sure you create site columns and content type(s) in the content type hub and you can use power shell to create content type(s).
Master lists
Document type Abbreviation
We are using this list to store document type abbreviations that we are going to use while creating a custom document reference number.
IMS Element Abbreviation
We are using this list to store the IMS element abbreviation that we are going to use while creating a custom document reference number.
Power Automation
I am using power automation to generate document numbers and publish documents from the draft library to the Published library, which is accessible by the organization.
I have also created a flow to re-tract documents from the Published library.
Get doc reference number
I have created a flow to generate a document reference number based on a document naming convention that we will use within our organization for controlled documents.
Document naming convention that we are using for controlled documents is <Organization name>-<Business unit>-<Element type Abbreviation>-<Document type Abbreviation>-<Document Id>-<Title>-<Version>
it also means that whenever we are updating the version we are changing the name of the document, for example, if the document name is Org-Group-HRM-PL-Privacy policy 1.0 and we update the version to 2.0, then the document name becomes Org-Group-HRM-PL-Privacy policy 2.0, which is a new document.
Before we publish a document, we have to generate a doc number based on the document naming convention mentioned above, below is the “Get doc reference number flow”.
Get doc reference number flow.
Once the document reference number is generated, the modifier of the file will receive a confirmation email that the doc reference number has been generated.
Publish document Flow.
Publish document flow will publish documents from draft library to Published document library, I am using a service account to convert the file to pdf and then publishing the pdf into the Published documents library.
Once the document is published, the user will receive an email and the status in the draft library will change to Published.
Retract document Automation Flow
We also have created a retract flow to delete published documents from Published controlled documents library. I am using the Document ID of the draft document to identify the published version of the document.
Once the document is retracted, the document status changes to Retract, and the user will receive a confirmation email.
The next step is to create an intuitive search for users, for this, I have deployed and configured an Open search PnP webpart to a site collection, below are the pre-requisites before we can configure the Open search web part.
Pre-requisites
Create Metadata properties that we want to use in filters - since I am using SharePoint Online, we have to use pre-existing metadata properties for mapping.
Click search schema under site collection administration to map crawled properties to metadata properties
We can edit pre-existing metadata properties to mapped crawled properties.
For taxonomy, choice, and text columns I have used Text type property.
For date columns, I have used the Date and Time type property.
After creating metadata properties, we will create a search result source.
Click on Result sources under Site Collection Administration.
Use the below query for the in result source and test query
{SearchBoxQuery} - takes the search keyword(s) from search box.
Path - path of the published document library
contentclass:STS_List_* - used to omit views from search results
Configure Open search webpart
I am using an open search web part from
Github.
Although the Open search web part consists of many components, I am using a search box, search refiner, and search result web part.
First, we are going to configure the search refiner web part, below are the metadata properties that I have used as refiners.
Next, we are going to configure the search box, I am not using any dynamic data source, I am only using Placeholder search text for default text.
The final step is to configure the Search result webpart
Page 1 - Configuration search result webpart
Connect to the Search box, in the default search query, type *, it will bring all results from result source
Page 2 - Configuration search result webpart
specify result source identifier, select properties, which will serve as options in display.
Page 3 - Configuration search result webpart - select the relevant properties according to your requirements
Choose result layout
Select columns that you want to display.
Once the configuration is done, this is how open search webpart and show results.
Archival and retention policies
We can implement archival and retention policies by creating labels and policies at the tenant level; here is the
article to create labels.