GhostWording / gw-config-apis

this repo contains static json that can live through apis with github management only
0 stars 7 forks source link

Repository reorganisation #3

Closed rhwy closed 6 years ago

rhwy commented 7 years ago

Static configuration

proposal for gw-config-apis reorganisation.

rhwy commented 7 years ago

The first important thing to note is to clearly separate data (sequence files, etc...) from configuration files. Data files are generic, they can be centralised and shared and should have a different time to live. Config files are mostly related specifically to apps/bots.

/data/bots

all previous data structures are located on subfolders inside /data folder, bots (with an s) should be within.

/data/bots/artifacts

this data is value type (it is versioned by their content)

all generic data (not related to a specific bot) should be place on a named subfolder of artifacts From the actual content, the restructuration should be like this:

  /data
     /bots 
        /artifacts
            /sequences
                 /allpurpose
                 /surveys
            /stories

/data/bots/configuration

these configuration files are related specifically to apps & bots and can be versioned.

 /data
     /bots
         /apps
             /Quoteo
                  /v1
             /Telly
                  /v1
             /Shared
                 /v1

a /Shared folder also exists for config files that shouldn't be related to a specific app

additional stuff

if one would like to work on a new version of a file and test it, the best way is to keep the same name and add a suffix -{name}. ex: i'm working on a new version of sequences wouldyouliketofeelzen.json i'll do my work on wouldyouliKetofeelzen-rui.json

andreasdieryck commented 7 years ago

Here is the main change I would introduce: instead of creating an artifacts folder, I think we can take a shortcut

/data/bots/sequences

  /data
     /bots 
        /sequences
            /allpurpose
            /personality
            /surveys
            /stories

The difference between each of the end-folder is the type of interaction they serve : the survey folder contains survey questions; the personality folder contains the personality questions. The allpurpose will therefore gather all the sequences that have been developed (a) for testing, (b) to keep the user busy or (c) as temporary experiments


As for the rest (additional stuff and data/bots/configuration), I very much agree with your structure

andreasdieryck commented 6 years ago

Now in implementation with some changes. Main folder for chatbot sequence is now: https://github.com/GhostWording/gw-config-apis/tree/master/data/bot