Closed rhwy closed 6 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.
all previous data structures are located on subfolders inside /data
folder, bots
(with an s) should be within.
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
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
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
Here is the main change I would introduce: instead of creating an artifacts folder, I think we can take a shortcut
/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
Now in implementation with some changes. Main folder for chatbot sequence is now: https://github.com/GhostWording/gw-config-apis/tree/master/data/bot
Static configuration
proposal for gw-config-apis reorganisation.