Hello,
We've created a WPF application that uses the dynamic C# API client proxies. It consumes the HttpApi.Client module of our project. We basically want to set the tenant name while the request is being sent to do operations according to the tenant and expect it from the users with an input field. How can I set the tenant name while using the dynamic C# API client proxies?
Hello,
I've implemented the ELSA for our workflow requirement according to https://community.abp.io/posts/integrating-elsa-.net-workflows-with-abp-commercial-io32k420 and https://community.abp.io/posts/using-elsa-workflow-with-the-abp-framework-773siqi9. It runs perfectly, but when we want to distinguish the workflows between tenants, I need to get the tenant id from somewhere. They've written the CustomTenantAccessor to access and change the tenant id. Here is the example: https://github.com/elsa-workflows/elsa-core/blob/bc6013aabc7cdbdb8bee336f52f99fb9e341e533/src/samples/aspnet/Elsa.Samples.CustomTenantIdSource/CustomTenantAccessor.cs. I thought that I can use the ICurrentTenant service to get the tenant information. Unfortunately, It is retrieved as null and I couldn't use the multi tenancy option on the ELSA. Here is the steps that I followed:
Domain ->
PackageReference Include="Elsa" Version="2.9.1"
PackageReference Include="Elsa.Activities.Console" Version="2.9.1"
PackageReference Include="Elsa.Activities.Http" Version="2.9.1"
PackageReference Include="Elsa.Activities.Email" Version="2.9.1"
PackageReference Include="Elsa.Activities.Temporal.Quartz" Version="2.9.1"
EntityFrameworkCore ->
PackageReference Include="Elsa.Persistence.EntityFramework.SqlServer" Version="2.9.1"
HttpApi ->
PackageReference Include="Elsa.Server.Api" Version="2.9.1"
Web ->
PackageReference Include="Elsa.Designer.Components.Web" Version="2.9.1"
Configure the ELSA on HttpApi.Host module and add api versioning (ELSA uses).
Add api versioning on Web module as above
Insert Elsa.cshmtl and Elsa.cshtml.cs under Pages folder on Web
Add the HttpApi.Host url into the appsettings.json as CorsOrigins to prevent CORS
Navigate to /elsa on Web and see the CurrentTenant value on CustomTenantAccessor. It is empty.
When I send the request to one of the ELSA endpoints on Swagger, I can see that the tenant information is fulfilled and there are headers regarding cookies, authorization etc.
It seems that there are some missing parts while sending the request. Since there are no information about how to implement the multi tenancy on ELSA, there could be some missing parts on my implementation. How can I get the tenant id for the ELSA endpoints while working on ELSA dashboard?
Hello Abp,
I've tried to run your KeycloakDemo solution and I've successfully logged in by using the web client, but there is no swagger client implementation. I've tried to implement the swagger client on Keycloak by copying the 'myclient' client. I've faced the CORS error while trying to log in by using the swagger client. Here is the steps that I followed:
I haven't found the solution yet and I want to ask you about what could be caused this problem. Besides that, It would be very helpful, If you implemented it in the example solution. In the near future, we may use the keycloak as an identity provider. Adding the keycloak completely working in the sample solution would provide a perfect way for the users whom want to change the IdentityServer to Keycloak.
Hello ABP,
I've been trying to set the text of one of the action button programmatically. I've tried the method that we have on action or visible properties.
But I've got meaningless information as you can see on image below.
How can I set the text according to some properties returned by the API?
Thanks. BR, Baturalp
Hello,
We have a modal called FetchDocumentsModal which fetches the documents from a source. We open the modal by using the action button and 'open' method which you described into the documentation for the modal. In the OnGetAsync method inside the FetchDocumentsModal.cshtml.cs, we call some application services to realize the functionality. Whenever the application service throws the exception because there is an error regarding some parameters, the modal cannot be created and I couldn't see anything about the exception on the UI, but I can see the exception message which is returned from the backend-side on developer tools.
How can I show the exception on the MVC UI when the error occurs in OnGetAsync method while using the modal?
Thanks.
Hello,
We want to publish the event to both Kafka and RabbitMQ at the same time. Are there any examples or suggestions about that?
Hello Abp,
We are currently using the module template with UI. We want to use the module template, when the multitenancy is true or false. Our module should be runnable according to the multitenancy option. We want to integrate the both way.
In PermissionDefinitionProvider, we set our permissions like in the documentation. We have the permissions that are only for the tenant and also for the both side. While we are running the module with multitenancy = false, tenant side permissions is not granted. But we want to use these permissions because we don't need the multitenancy. This is the case.
Here is my question: Does the Abp handle this situation or should we put our logic into the PermissionDefinitionProvider (like if the multitenancy is false, we define new permission groups which are only MultiTenancySides.Host. But in this way, we need to duplicate the permissions.)
Thanks.
public class TestUserHandler : IDistributedEventHandler<EntityCreatedEto<UserEto>>, ITransientDependency
{
private readonly ICurrentTenant _currentTenant;
private readonly ILogger<TestUserHandler> _logger;
public TestUserHandler( ICurrentTenant currentTenant, ILogger<TestUserHandler> logger)
{
_currentTenant = currentTenant;
_logger = logger;
}
public virtual async Task HandleEventAsync(EntityCreatedEto<UserEto> eventData)
{
}
}
ABP Framework version: v5.1.1 UI type: MVC DB provider: EF Core Module Template: yes Steps to reproduce the issue:"
How can I resolve this?
Hello ABP,
I have created a new solution with version of 4.4.3 like described in your documentation.
abp new Acme.IssueManagement -t module-pro -v 4.4.3
I have used CurrentUser.UserName on SampleAppService which comes from default template for taking the username. I saw the username was null. Other values were fine.
If I try on developer tools by using "abp.currentUser", I can see the username.
I have faced this issue on my application and I wanted to be sure whether the cause of the problem was related with me or not. Is that kind a bug or am I missing somethings?
Thanks.