xatkit-bot-platform / xatkit-eclipse Goto Github PK
View Code? Open in Web Editor NEWEclipse-based editors to create bots
Eclipse-based editors to create bots
Related to xatkit-bot-platform/xatkit-runtime#267
Import and test ELK algorithms to improve the layout of the execution diagram
The goal would be to have a syntax like on intent X,Y,Z do [...]
, meaning that either X, Y, or Z can be matched to trigger the rule.
Bots may have the same response/set of actions computed from various events, and right now it is tedious and not maintenable to copy the rule's body multiple times.
See xatkit-bot-platform/xatkit-runtime#105.
The idea is to add conditions on the execution of a rule, in order to finely tune the bot behavior.
The test method attempts to load the resource classpath:/com/xatkit/language/[Intent|Platform|Execution].xmi that does not exist, and fails.
Changing the URI of the resource to use does not seem to have any impact on the issue, the code is commented to avoid build failures.
See xatkit-bot-platform/xatkit-runtime#46.
This change need to be reflected in the metamodel first. At the language level we need to provide additional constructs to specify want actions are performed if a parameter is missing.
This feature is in contradiction with the idea of having reusable intents that are not bound to specific bot actions.
See #7
We were relying on the integration between Sirius and Xtext to design the editor. We need to move back to the classical ecore and xmi integration.
See xatkit-bot-platform/xatkit-runtime#133.
This change needs to be reflected in the metamodel first. We can support it at the language level with a new path
keyword in the ActionDefinition
rule.
This issue is related to xatkit-bot-platform/xatkit#11, the error in the editor should contain the path used to load the platforms/libraries.
See xatkit-bot-platform/xatkit-runtime#249.
This implies to reuse the platform-loading behavior for libraries.
We need to use a small back circle to display the Init state to be consistant with state machines syntax
See xatkit-bot-platform/xatkit-runtime#241
We first need to update the metamodels, then the languages, and finally the interpreters.
The "entity" keyword is shorter, but not self explanatory for newcomers. Using "extract entity" follows the guidelines of our "sentence-like" language.
Xtext generates the *.ide project to host the platform (Eclipse) independent stuff - To support Language server protocol, Xtext on the web. Since xatkit has no plans to support these features, the generation of the project should be ignored.
See xatkit-bot-platform/xatkit-runtime#213
At the language level this probably requires a new keyword for fallback intents. This change should be reflected in the metamodels.
The current implementation of the content assist matches the Platform
name qualifying the action (see xatkit-bot-platform/xatkit-runtime#118). This could be improved by matching both the Platform
name and the name of the Action
, that is typically entered by the user.
Matching only Platform
name does not provide a very useful content assist: all the actions from the Platform
are matched, and the user needs to enter the full name of the Platform
plus the beginning of the Action
name to have a real match.
Hide Default_Fallback from the state machine diagram
When a state referenced in a Transition does not exist, the editor suggests you to create it but it creates a completely empty state. It could be better to create it with empty Body and next components as they are mandatory anyway
This is tricky to implement because we need to provide auto-completion within user defined strings.
See xatkit-bot-platform/xatkit-runtime#203.
The main issue at the language level is to allow the definition of actions with arbitrary number of parameters. This can be done by adding arrays and list constructs to the language.
The semantic of creates context
is more a get or create context, this should be reflected in the language, e.g. by allowing updates context
at the language level, even if it doesn't have any difference in the generated model.
Right now language debug information is printed through System.out.println
, which obviously not the best way to log things. We should reuse the Commons Log
used in XatkitCore for the languages plugins.
This would require to add a dependency to the language projects, and check that it is re-exported in the manifest file.
To solve #34 we used the Java service mechanism provided by Sirius and reused our utils Java methods to get the intent name. However, after adding the ELK extension and integrating an ELK algorithm to improve the layout the diagram, we noticed that labels are not displayed after initializing the diagram. We need to click on refresh to display them then auto layout to arrange the diagram.
I think it's a bug in the Sirius ELK implementation.
Quick fix: We need to write the expression in AQL rather than Java (which might be complicated)
See xatkit-bot-platform/xatkit-runtime#204
This change should be reflected in the metamodel. We can support it at the language level with new keywords within the IntentDefinition
rule.
We should add a label to the transitions showing the intent tat should be matched.
See xatkit-bot-platform/xatkit-runtime#208
At the language level this can be done with an error
keyword that can be chained with method calls. This change needs to be reflected in the metamodel first.
It would be nice to have a quick way to launch the bot from Eclipse. For instance, we could add a contextual menu to run the bot by clicking on the properties file.
This would be helpful to test the bot while designing it.
This dependency allows to load the core_platforms
models through the Bundle
interface, but there are other ways to load it that do not require the dependency (e.g. http://blog.vogella.com/2010/07/06/reading-resources-from-plugin/). It would be better to use one of these techniques.
We cannot raise an error because designers may not want to use all the intents imported from generic libraries like CoreLibrary.
Reported by @jcabot
Include the Sirius plugin in the Tycho build and add to the update site in a separate feature.
This is because Event and EventProviders are defined with the same keyword.
Xtext cannot determine if a context belongs to an event or to the provider, the rule that seems to be applied is: the first one is in the event, the second one is in the provider.
We should find another keyword for event providers.
At least if it is defined in one intent/provider
See xatkit-bot-platform/xatkit-runtime#110.
This change needs to be reflected in the metamodels first. We can handle it with a new keyword in the intent or execution language.
For a better visibility, transitions to new states should be using a color different than the ones going to the Init state
Hello xatkit-eclipse team,
The Xtext team would like to update the Xtext community website listing all the cool projects people are building around Xtext/Xtend.
See also the corresponding GitHub issue and Bugzilla ticket
If you are interested that the xatkit-eclipse project is listed there, please provide the following information as a comment to this issue:
<tr>
<td><a href="project_link">project_name</a></td>
<td>project_description_max_2_sentences</td>
<td>license</td>
<td>category</td>
<td>author(s)</td>
</tr>
We will then update the Xtext community website and get it online as soon as possible.
Thanks!
Tamás
Make the colors in the diagram match the highlighted syntax in Xtext
We need to provide a Travis script to make sure that the project build correctly after each commit.
If a platform is installed while eclipse is running the loader will not find it.
The quick fix for now is to restart eclipse, this will empty the loader's cache.
This is already possible using inline entities, but it should be doable with regular intent definition too.
These placeholders could be replaced by a value when generating the xmi, although it's probably not optimal since xmi generation will be removed in the near future. Another approach is to handle them at the DialogFlow connector level and replace them with one of their value when deploying them on DialogFlow.
If we go this way we need to open an issue on xatkit-runtime.
Submitted by @jcabot
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.