Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Makes chatbot menu options configurable so it can easy to maintain without a dev engineer. So we can add/edit existing menu options.

...

Status

...

Status
titleNot started

...

Owner

...

Jagadish Pujari

...

Contributors

...

Vinu Kumar

...

Approved

...

Decision

...

On this page

...

Table of Contents
minLevel2
maxLevel2

...

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(authorized) / 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

It takes place for any owner can change the menu-driven flow for the chatbot and its full flex change any time without doing code change in a git repository.

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

...

Solution 1

...

Solution 2

...

  1. How to upload a local file to blob storage.

  2. Versioning and rollback for files.

  3. Secure (Only authorized users can access)

Using Jenkins job where we can upload a file while build and deploy of the job.

...

Download and upload files from blob through Jenkins with the following process

  • Only the owner/authorized user can log in to Jenkins.

  • Using Jenkins azure plugins we can parameterize the build.

  • We can choose which file from local and upload in specified blob storage.

  • Build a chatbot with a new configuration.

  • Upload artifact and deploy.

(plus) Easy to maintain, add, and modify any time Menu options and query answers just by uploading the JSON object.

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

(plus) It's secure since the only authorized user can upload and download.

Create a separate application for accessing and modifying the file.
User onboard via API(backend)
Share credentials with user

For creating the files in a blob it requires azure services keys.

...

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

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

(plus) For every new update, it will create a new file with a version number.

(plus) Easy to roll back to the older version.

(plus) Since it is a login based app so only an authorized person only can do.

Enable load and execute config from

...

AZURE 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

    Code Block
    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

...

Link

...

https://project-sunbird.atlassian.net/browse/SB-21295

...

Benefits and risks

...

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

(plus) Now its configurable from outside chatbot so its more easier to deploy.

(plus) Below requirements will satisfy.

  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 hyper links

  6. Able to analyse the data after changes

(minus) TBA

...

Criteria

Keep track of the discussion with the following status and steps.

...

Decision

...

Status

...

Next steps

...

https://project-sunbird.atlassian.net/browse/SB-21488

...

Status
colourYellow
titlein review

  •  POC
  •  Discussion with DC
  •  Implementation
  •  Verify