Comments (3)
Answers to each
-
Differentiate user vs system services (Wikipedia vs REST)?
KS - What would be the purpose of the differentiation ? -
Manage service "connection" status (during init or if service becomes available / unavailable later)
KS - The service class should maintain its own connection status and provide appropriate retry options, plus default response if down. -
Could the user query what services are "available" / connected?
KS - Certainly possible, would need its own grammar and probably an extension to list the services in configuration.
KS - In terms of available/connected, could extend the service interface with a ping() or health() method that could be called to get current status from a grammar -
Common authorisation model for services?
KS - Not sure as there is no common authorisation model. Some might use OAuth, others userid/password, others HTTP headers. However this may require a way to store better configuration information in the service definition - More work required here and I would be interested to see how your implementation pushes this forward -
Common service name / description that can be included in the response when the user asks "What services are available"
KS - Probably the same as ping()/health(), implement an info() method which returns a well defined information object -
Common help response if the user asks "HELP Servicename"
KS - I would push this into the grammar as thats the best place to store answers to questions. I would just create a servicename.aiml file with pattern HELP servicename -
Should there just be one interface (ask_question) from the AIML side, or allow multiple so that there might be several AIML<>service interface points per "class"
KS - Tough one as that would require a level of modification to the sraix tag implementation and some identification of the method to call.
from program-y.
User vs system services - I think I misunderstood the REST service as the REST client. Now I understand there are two REST oriented parts. One is the REST Client and another the Generic REST Service. Now makes sense.
By authorisation model, I meant more within ProgramY itself. At the moment Program Y assumes that if you can reach it, you can use it. In a SkypeForBusiness enterprise context, I need to check that the user connecting -
- Is a known user and is allowed to use the bot
- Is permitted to use all or only some services
- Is a super-user who can ask questions like who is connected to the bot right now, service online/offline commands, send a message to all connected users, or even tell the bot to quit gracefully.
Will post another topic on this, but I wonder if this is more a "discussion" topic vs an issue topic? Not sure what the best forum in Github for these :-)
from program-y.
Rest all makes sense.
from program-y.
Related Issues (20)
- Programy on PythonAnywhere HOT 1
- Program-Y is alive.... again HOT 2
- <system> tag in aiml doesn't work HOT 1
- scheduling extension doesn't print message
- Error when trying to save data from 'learnf' elements to MongoDB HOT 2
- Wikipedia doesn't seam to work HOT 1
- <learn> and <star> don't work together HOT 1
- How to get a variable value outside of aiml files inside python code?
- Setting SentenceSplitter on an embedded bot HOT 4
- Whenever I install program y, cryptography fails to install and the whole installation stops.
- Bug in pattern parser where the star index of the words will change
- WARNING:root:[Console] [bot] [brain] [testuser] - System command node disabled in config
- ModuleNotFoundError: No module named 'sqlalchemy'
- Pattern matching not work in a right way
- image not displaying in telegram
- GUI for my bot (Not a feature request I was just unsure where to ask) HOT 1
- Change Default Response
- AttributeError: module 'collections' has no attribute 'MutableSet' HOT 3
- module apscheduler not found
- Thoughts about ChatGPT service for ProgramY
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from program-y.