Activities of "alper"

Answer

you are free to download the source-code and modify it. But as I mention, this is not supported by Suite. Also if you modify the source-code you will also not be able to update from NuGet packages. You can also say this is a bug. Also Suite doesn't generate code if you have 2 different front-end UI (like Blazor and MVC), it's also not bug. It just doesn't support now and it's not a blocking case. You can write your entities manually as you do. I'll create an issue to cover your case.


Issue no: #4377

I was able to fix this myself by replacing the OrganizationUnitManagerservice and override the MoveAsync method so that it calledOrganizationUnitRepository.UpdateAsync after making any changes to properties of any OrganizationUnit.

That means MongoDb repository doesn't update it. I'll open an issue for this problem and try to reproduce it. We'll fix this in the next version if there's a bug.


Issue no: #4357

Answer

because Suite cannot determine project UI and it's trying to create AutoMapper class for MVC. But you are using Angular. This is because you are using module source-code in the application. can you just try to create the entity without modules source-code included.

The following commit shows how to add your own logo

And result is

Further information https://docs.abp.io/en/abp/latest/UI/Blazor/Customization-Overriding-Components#example-replacing-the-branding-area

Answer

sorry but this is not supported. you can only generate code in your application or in the module solution itself. you cannot generate code across modules and application.

Each module can define its database table prefix. For example Blog module sets its database table as Blg. This is done in the module. See BloggingDbProperties.cs . If you want to overwrite this prefix you can do it in your Domain Module class as below.

Volo.Blogging.BloggingDbProperties.DbTablePrefix  = "Xyz"

For Identity Server module you can set it as below

Volo.Abp.IdentityServer.AbpIdentityServerDbProperties.DbTablePrefix = "Ids";

This behavour is same for other modules as well.

The essential framework modules have Abp prefix. Check out the documentation https://docs.abp.io/en/abp/latest/Entity-Framework-Core-Migrations#table-prefixes


In your application, your table prefix is App by default. You can change this in the following file: Acme.BookStore\src\Acme.BookStore.Domain\BookStoreConsts.cs

namespace Acme.BookStore
{
    public static class BookStoreConsts
    {
        public const string DbTablePrefix = "Xyz"; //<----- this is the variable to set your table prefix

        public const string DbSchema = null;
    }
}

This change requires the re-creation of migrations. To do this; delete your existing migrations in the Migrations folder Acme.BookStore.EntityFrameworkCore.DbMigrations\Migrations\ and then add migrations using add-migration Initial

Publish your Angular application and copy the output to wwwroot of your Host. Then a middleware like this in the Host side


app.Use(async (context, next) =>
            {
                await next();
                if (context.Response.StatusCode == 404 && !Path.HasExtension(context.Request.Path.Value))
                {
                    context.Request.Path = "/index.html";
                    await next();
                }
            });

You can use SetSubItemOrder method to set an order in YourProjectMenuContributor.cs class.

 private static async Task ConfigureMainMenuAsync(MenuConfigurationContext context)
        {
            var l = context.GetLocalizer<SAMResource>();

            context.Menu.AddItem(new ApplicationMenuItem(
                SAMMenus.Home,
                l["Menu:Home"],
                "/",
                icon: "fas fa-home",
                order: 1
            ));

            //Administration
            var administration = context.Menu.GetAdministration();
            administration.Order = 2;

            //Administration->Saas
            administration.SetSubItemOrder(SaasHostMenus.GroupName, 1);

            //Administration->Identity
            administration.SetSubItemOrder(IdentityProMenus.GroupName, 2);

            //Administration->Language Management
            administration.SetSubItemOrder(LanguageManagementMenus.GroupName, 3);

            //Administration->Text Template Management
            administration.SetSubItemOrder(TextTemplateManagementMenus.GroupName, 4);

            //Administration->Audit Logs
            administration.SetSubItemOrder(AbpAuditLoggingMenus.GroupName, 5);

            //Administration->Settings
            administration.SetSubItemOrder(SettingManagementMenus.GroupName, 6);
            
   }

this component is a typeahead component. it's used for large data. if you want to load all data you can use Dropdown

on the other hand you can also increase the max limit of the Autocomplete result. Open ApplicationContractsModule and write LimitedResultRequestDto.DefaultMaxResultCount = 50;

Answer

In the microservice structure, we add Application.Contracts packages of all modules to the gateway. Thus, all permissions can be available and we can get them from the gateway.

For example, In the microservice demo application, the BackendAdminAppGateway.Host project has references

https://github.com/abpframework/abp-samples/blob/master/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj

In this project you can see Application.Contracts of Blogging and ProductManagement module are added.

  <PackageReference Include="Volo.Blogging.Application.Contracts" Version="3.2.1" />
  <ProjectReference Include="..\..\modules\product\src\ProductManagement.HttpApi\ProductManagement.HttpApi.csproj" />
 

Also essential references of the other cross-cutting featured projects are added. Eg: PermissionManagement, FeatureManagement, and SettingManagement

<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="3.2.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.IdentityServer" Version="3.2.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="3.2.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi" Version="3.2.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" Version="3.2.1" />

So the gateway does not route the permission request but sends its own.

Check out Microservice Demo document.

You can also set up a seperate microservice for only Permission Management but it will be unncessary as it's not a part of the business logic.

Showing 1251 to 1260 of 1868 entries
Made with ❤️ on ABP v9.1.0-preview. Updated on November 11, 2024, 11:11