About Setting up a custom content management system secured by Oracle Blockchain Platform

You can create a custom content management system (CMS) enriched with a verification of non-tampering of the documents by using Oracle Blockchain Platform as a certifier of the document integrity.

As a preassembled PaaS, Oracle Blockchain Platform includes all the dependencies required to provision and manage a blockchain network: compute, storage, containers, identity services, event services, and management services. Oracle Blockchain Platform also includes a service console to manage and monitor each of the blockchain nodes which composes the blockchain network, and also the smart contracts deployed into the network. This helps you start developing applications within minutes.

Architecture

This solution playbook describes how you can leverage Oracle Cloud Infrastructure (OCI) to implement a CMS where you can create folders which are assigned to specific users.

In those folders, you can add documents which will be stored in OCI Object Storage, and all the document metadata required to identify, qualify and certify the immutability of the document will be stored in a Blockchain network. Users accessing the system can be owners or reviewers:
  • A user who is the owner of a folder will be able to update documents.
  • The remaining users (non-owners) will only be allowed to review or download the documents and not make any changes.
  • Folders in Blockchain are represented as non-fungible tokens (NFT), so we can leverage the features to manage ownership of the folders, and its complete lifecycle (creation, mint action, transfer among participants, and so on).
  • AnOracle Visual Builder Cloud Service (VBCS) web application can be created to execute all the relevant actions as owner or reviewer.

The following diagram illustrates this architecture.



oracle-blockchain-cms-arch-oracle.zip

We are using two different persistence solutions:

  1. Oracle Blockchain Platform is the core piece of the solution, where the metadata of the documents are stored, like name, file type, URL to locate the document, together with a hash generated based on the binary content of the document.
  2. OCI Object Storage, where the actual documents are stored. This is probably the best choice for those who need the cheapest and most reliable storage solution. OCI Object Storage allows you to store thousands of documents at a negligible cost.

Oracle Integration, has integration capabilities and has Oracle Visual Builder embedded which enables easy and fast development of a web or mobile interface.

Oracle Visual Builder does not need to be instantiated. We have used Oracle Visual Builder to develop the web application, but once developed, you can just deploy the self-contained web application in any compute instance which can execute Node.js.

Oracle Identity Cloud Service, where all users who need access to the solution, have been created, and granted access with the proper privileges depending on their role.



oracle-blockchain-document-workflow-oracle.zip

Note:

Among the information stored in blockchain for each document, there is a hash generated based on the binary content of the document, here we can see how this hash is included among the metadata information of each document to be stored into the blockchain ledger.
  • If someone modifies the document from its external location, in our case a bucket in OCI Object Storage, next time someone tries to retrieve the document, the verification based on validity of the hash will fail, so the user will be notified for the tampering of the document.
  • For the functional use case, the assets we are going to develop simulates a content management solution for a financial institution, in which each folder represents a financial operation for a customer, and the folder is acting as an archive where a sort of documents related with the operation are managed as a whole.
  • The folder is represented into blockchain as a NFT, because this kind of token fits really well in situations where one key aspect is the ownership of the asset. It means we can define the different kind of actions which can be executed against it depending on the role of the user accessing the folder, and the documents themselves are stored into a child array of the archive NFT entity.

Before You Begin

Before you begin setting up a custom content management system secured by Oracle Blockchain Platform, ensure you are familiar with the following technologies

About Required Products and Roles

This solution requires the following products.

  • Oracle Blockchain Platform
  • Oracle Blockchain AppBuilder
  • Oracle Visual Builder Studio
  • OCI Object Storage

These are the roles needed for the Oracle Blockchain Platform.

Role Details
Folder Manager If the user who accesses the folder is its current owner (or custodian), the user will be able to update the documents in the folder, and also will be granted permissions to transfer the folder to a different user or department.
Document Reviewer If the user who accesses the folder is not its current owner or custodian, the user will only be able to review the existing documentation in the folder.