Currently ProgramAB has 3 bots (Alice, Dr. Who and Ency)
Ency was a bit of a mess. It needed its aiml in an aiml directory. All responses had "Briefly, " prepended to them ... (100K x Briefly) a bunch of useless info ... if Briefly is desired in the response it should be expressed in an ask/response aiml not in the data. Same goes for * means ..., but can only clean so much...
I supplied a _questions.aiml to because it could not be asked anything.
Now it seems fairly useable ...
Kwatters and I have been working on improving ProgramAB. One thing which needed to be resolved is the difference between Properties and Manifest information. Properties should always be tied to Aiml tags. Meaning, if there is a property is should be defined in some aiml tag to set or get. Manifest information is outside of that, and exists before the Aiml is loaded. It has information about the bot in the form of a description, image, and locale. We are now looking into designs of how best to save changed aiml.
As a user experience:
- I start the ProgramAB for the first time
- It comes with a set of "pure" aiml files - the files are loaded from "immutable" resource directory
- When I use the UI and edit/save the file its saved in the data directory
As I write this out, its "pretty much" the same as doing a full copy, its only doing it when the user modifies stuff.
This is the same strategy as the Arduino IDE and their "examples"
(I thought trying to get this straight deserved more than just shouts)
If something like predicates is meant as runtime variables, it shouldn't probably be in the resource (immutable) directory.
BTW - I just named myself GroG, but the robot did a FAIL .. why?