-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Community support/help chanel? #206
Comments
@al-darmonski, hello! We're glad you found the project interesting. We have a community Slack channel for .NET IDE plugin writers. Please drop me a email to [REDACTED]@jetbrains.com, and I'll send you an invite. Also, we're working on an improved documentation; thanks for raising this issue. |
Hi @ForNeVeR , Thanks for your reply. I sent you an email. Do you have expectations about when the improved documentation will be available? I have some technical questions, that hopefully you or someone else from the RD team can answer:
|
Hello! First, I have sent the invites to the addresses you've sent me by email. Now, about the questions.
I think maybe a week or two. Though I'm not sure the documentation will be very useful from the beginning: right now, I'm listing the main concepts and adding some simple examples for the main Rd features.
Not that I'm aware of. Usually, a separate Rd session is established for every client-server pair.
You better not use
For certain structures (say, Though I should mention that the usual way to design a protocol for most purposes is to not rely on concurrent modifications at all. If there's only one side that has rights to modify a property at any moment of time (and there's a proper synchronization between the sides of the protocol), it will be much easier to reason about the whole interaction. In some cases, this is impossible, and more complex entities like
Currently, Rd offers no embedded security measures. There're internal cases when this is necessary. For such cases, we could recommend implementing your own P.S. As a side note (not directly related to any of the above), I'v found this excellent talk from @maartenba, which includes a more or less detailed explanation of some protocol entities and conventions: https://youtu.be/ujcp2LiPds8. |
Hi @ForNeVeR , I was wondering of you can provide some explanation about the RD primitives (or concepts is the better term) like I've got some intuitive understanding and some insight from the generated codes but it will be useful to have the intended meaning and maybe some examples demonstrating use cases. For instance |
Hope I answered your questions. Feel free to ask more! |
Hi @ForNeVeR , var IMyInterface = interfacedef("IMyInterface") {
method("get", PredefinedType.string.nullable)
} But it generates to: interface IMyInterface
{
fun get() : StringNullable
} I expected |
Another question: what's the intended use case of
If the class C1 is abstract ( So it seems I'm missing the point of having |
I believe this is a bug. Extracted to #232.
In our code, we only use it for marker interfaces with no methods at all, so it's hard to answer this question properly now. I'll ask my colleagues. |
Thanks @ForNeVeR! I'm looking forward to the follow-up on |
I have asked around and got confirmation: you're supposed to register custom serializers for your custom interface implementations. You're passing a Maybe you even could register a serializer for your generated model, so that it always creates your own model inheritor instead of the generated one. |
That seems quite useful for my use case. Can you point me to (public) examples that I can look at? |
Unfortunately, there're no known public examples of this technique. |
Hello @ForNeVeR, Here is what I tried for both
It seems like an inconsistent/undesirable/unintended behavior to me. Or do I miss something? Thank you for providing information and support! |
@al-darmonski, could you please share the sources? It's very hard to understand what's going on without them.
We develop new features and fixes on the basis of necessity for our main use cases (we accept community pull requests, though!). There are no immediate plans for fixing that issue. I'd say that the models should be very simple, and there shouldn't be any need for custom serializers. If you write these, then you're mostly in the uncharted territory, since there's little use of this feature in Rider and other products we develop. |
I work with @al-darmonski at Sioux. We found that it even is even happens with non-custom serializers. I tried to create a simple example with openclass in the RD model, but I got an I used the following RD model
And used the following C# code with that. (this is as well the server as client, based on a command line parameter)
And the log is:
For completion the versions I have used:
|
I'm sorry, but I wasn't able to reproduce the issue. Here's a test project I used (copy-pasted your code and added build/run infrasturcture). Could you please help me with that? |
I'm glad to find out that RD is open source. But there is almost no documentation. Can you give your advice on what is the best way to get some more info and/or help?
Is there some sort of community support to encourage adoption of RD? Is there a means like Slack channel, forum etc?
I want to evaluate JetBrains RD as a potential basis for integrating JetBrains MPS with our in-house created .NET modelling environment. Our use case seems quite similar to Rider, the context n which RD was created.
The text was updated successfully, but these errors were encountered: