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.
- 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:
- 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.
- 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. |