For the Web.Public MVC Project, we require certain menu items are available/unavailable based on the state of the user. I think the right approach is to use DI to inject the interface for the application service I want to use to get the data.
However, I can't add the interface to the constructor of the MenuContributor class because it would be required in the module class itself:
I've read the dependency injection section of the guide and think that I should be using property injection but it's not clear to me how I can get an instance of the interface: https://docs.abp.io/en/abp/5.2/Dependency-Injection#property-injection
Can you please provide some guidance on how to achieve this?
Thanks
If you're creating a bug/problem report, please include followings:
I want the user to be able to update this field too and available in the Account personal info tab.
On the separate Identity server project, I attempted to override the AccountProfilePersonalInfoManagementGroupViewComponent by:
When I do all this I get the error above.
Can you please let me know the correct approach for extending the PersonalInfo model and UI and ensuring the user can update this property?
Thanks
Hi
I understand LeptonX will first be available for Angular and then versions for Blazor and MVC.
We have a requirement for a mobile web public app and are currently using MVC for the web public app website.
Are you considering how the theme will work with the public website and will it be possible to use the theme when it's generally available for MVC?
Do you have an ETA?
Thanks
v5.1.3 / MVC / Separate Identity server
We are trying to use the extension manager to add extra properties to CmsBlogPosts, but CmsKit does not appear in the list of modules:
The documentation indicates the feature is supported for all official modules wherever possible:
https://docs.abp.io/en/abp/latest/Module-Entity-Extensions
Does the CmsKit modules support extensions?
Is the list above the exhaustive list of modules that do support the feature?
Thanks
I am having issues with version 5.1 of the framework and these issues are causing delays in our project. Consequently, I am trying to revert to 5.0.0 and I am experiencing difficulties in doing that.
I need to baseline the generated project using v5.0.0 to manually compare the code with our v5.1.2 version and revert the code.
I uninstalled abp cli and suite: dotnet tool uninstall --global Volo.Abp.Suite dotnet tool uninstall --global Volo.Abp.Cli
I then reinstalled v5.0.0: dotnet tool install -g volo.abp.cli --version 5.0.0 dotnet tool install -g Volo.Abp.Suite --add-source https://nuget.abp.io/XXXXXXXXXXX/v3/index.json --version 5.0.0 abp login XXXXX --organization XXXXXX -p XXXXXX
When I start abp suite, it indicates 5.0.0:
When I create a new solution, abp suite creates it as 5.1.2:
Package references are all 5.1.2:
I am under the impression that installing specific versions of the cli & suite will generate based on that version template?
Can you please help get me back to 5.0.0?
Thanks Jamie
Check the samples, to seea the basic tasks: https://docs.abp.io/en/commercial/latest/samples/index The exact solution to yoaur question may have been answered before, please use the search on the homepage.
If you're creating a bug/problem report, please include followings:
Create a new application using ABP suite, add docker support and try to build the image from the command line (docker build -f ./src/TestDocker.Web/Dockerfile . -t testdocker512:latest)
The NuGet.Config has an entry for ABP Commercial with the API key.
This was working for me prior to updating to 5.1.1 and 5.1.2.
jquery.js?_v=637774598147390000:4059 Uncaught TypeError: Cannot read properties of undefined (reading 'users') at HTMLDocument. (chatMessageReceiving…2743500000000:12:31) at mightThrow (jquery.js?_v=637774598147390000:3766:29) at process (jquery.js?_v=637774598147390000:3834:12)
Please help me to understand the Dynamic JavaScript API Client Proxies, the architecture a little better and that I am taking the correct steps for accessing the proxies from the Web application.
In order to access module proxy scripts from the Web project, I did the following:
I notice though that all of these proxy scripts are available from the HttpApi (https://localhost:44308/Abp/ServiceProxyScript) project and wonder why the Web project doesn't utilize the HttpApi scripts directly?
I also noticed that some of the framework modules are available already in the HttpApi.Client (abp, cms-kit and cms-kit-pro module), while some of the other ones I am using are not.
Thanks - appreciate the help.
Hi
I'm trying to get my solution running locally in docker and having an issue with the authorization.
When I try to authorize:
I think this is likely an issue with configuration in the appsettings.json or docker-compose.yml files but I need some help.
appsettings.json { "App": { "SelfUrl": "https://localhost:44360", "AngularUrl": "http://localhost:4200", "CorsOrigins": "https://.Portal.com,http://localhost:4200", "RedirectAllowedUrls": "http://localhost:4200,https://localhost:44307,http://localhost:8080" }, "Redis": { "Configuration": "127.0.0.1" }, "ConnectionStrings": { "Default": "Server=host.docker.internal; Database=CTSDb; User=docker; Password=dockertime; Max Pool Size=400;" }, "AuthServer": { "Authority": "https://localhost:44360", "RequireHttpsMetadata": "false", "SwaggerClientId": "Portal_Swagger", "SwaggerClientSecret": "1q2w3e" }, "StringEncryption": { "DefaultPassPhrase": "6MynJDJ1sxdTgSZD" }, "Settings": { "Volo.Abp.LeptonTheme.Style": "Style6", "Volo.Abp.LeptonTheme.Layout.MenuPlacement": "Left", "Volo.Abp.LeptonTheme.Layout.MenuStatus": "AlwaysOpened", "Volo.Abp.LeptonTheme.Layout.Boxed": "False" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "HealthChecksUI": { "HealthChecks": [ { "Name": "Portal Health Status AppSettings Config", "Uri": "http://localhost:80/health-status" } ], "EvaluationTimeOnSeconds": 10, "MinimumSecondsBetweenFailureNotifications": 60 } }
docker-compose.yml:
version: '3.8'
services:
portal_web_svr:
container_name: portal_web_dev
image: aldercovempn.azurecr.io/acs/portal_web_dev
networks:
- cts_portal_network
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf:z
ports:
- "4200:4200"
depends_on:
- portal_api_svr
portal_api_svr: container_name: portal_api_dev image: aldercovempn.azurecr.io/acs/portal_api_dev networks: - cts_portal_network environment: - ASPNETCORE_ENVIRONMENT=Production - ConnectionStrings__Default=Server=host.docker.internal;Database=Acs_Portal;User id=docker; Password=dockertime; volumes: - ./Host-Logs:/app/Logs - ./App_Data:/app/App_Data:z - ./appsettings.json:/app/appsettings.json:z ports: - "44360:44360" - "44307:44307" - "8080:80" - "44345:443"
links:
- redis
redis: container_name: portal_redis # Container name image: redis networks: - cts_portal_network
networks: cts_portal_network:
Thanks
2021-12-06 19:15:19.798 +00:00 [INF] Start processing HTTP request GET "http://[::]/health-status" 2021-12-06 19:15:19.798 +00:00 [INF] Sending HTTP request GET "http://[::]/health-status" 2021-12-06 19:15:19.809 +00:00 [ERR] GetHealthReport threw an exception when trying to get report from /health-status configured with name Portal Health Status. System.Net.Http.HttpRequestException: IPv4 address 0.0.0.0 and IPv6 address ::0 are unspecified addresses that cannot be used as a target address. (Parameter 'hostName') ([::]:80) ---> System.ArgumentException: IPv4 address 0.0.0.0 and IPv6 address ::0 are unspecified addresses that cannot be used as a target address. (Parameter 'hostName') at System.Net.Dns.GetHostEntryOrAddressesCoreAsync(String hostName, Boolean justReturnParsedIp, Boolean throwOnIIPAny, Boolean justAddresses) at System.Net.Dns.BeginGetHostAddresses(String hostNameOrAddress, AsyncCallback requestCallback, Object state) at System.Net.Sockets.MultipleConnectAsync.StartConnectAsync(SocketAsyncEventArgs args, DnsEndPoint endPoint) at System.Net.Sockets.Socket.ConnectAsync(SocketAsyncEventArgs e, Boolean userSocket) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ConnectAsync(Socket socket) at System.Net.Sockets.Socket.ConnectAsync(EndPoint remoteEP, CancellationToken cancellationToken) at System.Net.Sockets.SocketTaskExtensions.ConnectAsync(Socket socket, EndPoint remoteEP, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.DefaultConnectAsync(SocketsHttpConnectionContext context, CancellationToken cancellationToken) at System.Net.Http.ConnectHelper.ConnectAsync(Func3 callback, DnsEndPoint endPoint, HttpRequestMessage requestMessage, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.ConnectHelper.ConnectAsync(Func3 callback, DnsEndPoint endPoint, HttpRequestMessage requestMessage, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at Microsoft.Extensions.Http.Logging.LoggingHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at Microsoft.Extensions.Http.Logging.LoggingScopeHttpMessageHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken) at HealthChecks.UI.Core.HostedService.HealthCheckReportCollector.GetHealthReport(HealthCheckConfiguration configuration) i
The health checks UI shows this status:
I can configure another health check in the appconfig, which works OK:
appconfig.json settings:
"HealthChecksUI": { "HealthChecks": [ { "Name": "Portal Health Status AppSettings Config", "Uri": "http://localhost:80/health-status" } ], "EvaluationTimeOnSeconds": 10, "MinimumSecondsBetweenFailureNotifications": 60 }
application Log:
2021-12-06 20:36:17.126 +00:00 [INF] Executing endpoint 'HealthChecks UI Api' 2021-12-06 20:36:17.128 +00:00 [INF] Executed endpoint 'HealthChecks UI Api' 2021-12-06 20:36:17.128 +00:00 [INF] Request finished HTTP/1.1 GET http://localhost:8080/health-api - - - 200 - application/json 10.1569ms 2021-12-06 20:36:20.024 +00:00 [INF] Start processing HTTP request GET "http://localhost/health-status" 2021-12-06 20:36:20.024 +00:00 [INF] Sending HTTP request GET "http://localhost/health-status" 2021-12-06 20:36:20.025 +00:00 [INF] Request starting HTTP/1.1 GET http://localhost/health-status - - 2021-12-06 20:36:20.028 +00:00 [INF] Executing endpoint 'Health checks' 2021-12-06 20:36:20.030 +00:00 [INF] Executed endpoint 'Health checks' 2021-12-06 20:36:20.031 +00:00 [INF] Received HTTP response headers after 7.0253ms - 200 2021-12-06 20:36:20.031 +00:00 [INF] End processing HTTP request after 7.1096ms - 200
I use docker compose to deploy the app locally to docker
`version: '3.8'
services:
portal_web_svr:
container_name: portal_web_dev
image: aldercovempn.azurecr.io/acs/portal_web_dev
networks:
- cts_portal_network
volumes:
- ./default.conf:/etc/nginx/conf.d/default.conf:z
ports:
- "4200:4200"
depends_on:
- portal_api_svr
portal_api_svr: container_name: portal_api_dev image: aldercovempn.azurecr.io/acs/portal_api_dev networks: - cts_portal_network environment: - ASPNETCORE_ENVIRONMENT=Production - ConnectionStrings__Default=Server=host.docker.internal;Database=Acs_Portal;User id=docker; Password=dockertime; volumes: - ./Host-Logs:/app/Logs - ./App_Data:/app/App_Data:z - ./appsettings.json:/app/appsettings.json:z ports: - "44360:44360" - "44307:44307" - "8080:80" links: - redis
redis: container_name: portal_redis # Container name image: redis networks: - cts_portal_network
networks: cts_portal_network: `