Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

INTRODUCTION:

Makes chatbot menu options configurable so it can easy to maintain without a dev engineer. So we can add/edit existing menu options. It has the following advantages:

  • It will help with a faster deployment process.

  • Quick change based on the requirement and easy to deploy.

  • Any time/ anyone / any flow/menu text can change quickly.

  • Add/Edit change the text for Menu options.

As a solution owner, I would want to deploy menu options faster without having to depend on a release on both portal and WhatsApp with the following details -

  1. Able to change the text

  2. Able to change the menu options (Add/edit/remove)

  3. Able to create new flows/structure such as introducing new menu options which are not there

  4. Able to change answers to queries

  5. Able to add/edit/remove hyperlinks

  6. Able to analyze the data after changes

Using AWS container

Enable load and execute config from aws container for a chatbot.

  • Make literals and chart flow configurable.

  • Keep files in blob storage public accessible.

  • While doing a build for chatbot/router run the below commands in the docker file

    FROM node:10.19.0 as builder
    WORKDIR /app
    COPY . /app
    
    ADD http://source.file/config/literals  /config/literals.js 
    ADD http://source.file/config/chatflow  /config/chatflow.js
    RUN npm install
    
    FROM node:10.19-slim
    COPY --from=builder /app .
    EXPOSE 4000 8443
    CMD [ "node", "appRest.js" ]
  • For every build, it will download it from the blob and add it /router/config/* files.

  • So now we can change only those required files and do build and deploy

(plus) Easy to maintain, add, and modify any time Menu options and query answers.

(plus) Now it's configurable from outside chatbot so it's easier to deploy.

(plus) We can keep/maintaining all versions of files.

(plus) It will help to revert back to the old version of files if something went wrong with the new version of files.

(minus) Only authorized users can upload and edit the config.

(minus) Only a tech person can do it over, Jenkins

Using API (DB)

Store config in Database to fetch and update config. It all using APIs to create and update config using a JSON object as the request body.

Create
{{host}}/chatbot/config/create
Update
{{host}}/chatbot/config/update

This will take place in Jenkins job, Any owner can update config.

(plus) Easy to create and update using API’s

(plus) Jenkins job to read and update config using API.

(plus) non-tech guys can easily update using API

(minus) Can't revert back to the old version config.

(minus) Difficult to maintain versioning of files.

  • No labels