Giter Club home page Giter Club logo

Comments (13)

gdlcf88 avatar gdlcf88 commented on September 24, 2024 1

Maybe SettingUI could provide extra permission and page to manage the global setting values. (the permission is tenant-only, of course).

After some consideration, I think the global setting management feature is not reasonable to exist. If an app admin wants to manage a global setting value, he can change the default value or implement the global values management feature himself. All in all, we should not provide an unreasonable design.

from abp.settingui.

gdlcf88 avatar gdlcf88 commented on September 24, 2024

Did you mean a host-side admin controlling tenant's setting values? If so, you should not do that, the host is not the master of tenants, please think of it as a tenant without TenantId.

from abp.settingui.

Znow avatar Znow commented on September 24, 2024

No, what I mean is tenants themself controlling the setting ontop of users. So the tenant "admins" can control the settings, which will be inherited by the users.

So tenant-settings.

Example:

Tenant A needs background color: #000000 from setting
tenant B needs background color: #efefef from setting

Both which will be applied for all users which are either on Tenant A or Tenant B

from abp.settingui.

gdlcf88 avatar gdlcf88 commented on September 24, 2024

Got it. I think you found a bug.

Hi @wakuflair, I try to grant the setting UI's permission to a tenant-side user, when he changes a setting value, his behavior affects the global setting value:
image

The expected result is that a tenant-side setting data is created, is that so?

from abp.settingui.

Znow avatar Znow commented on September 24, 2024

As far as I have seen like the comment above from @gdlcf88, the settings are also global for all users, so is this intended, or actual missing stuff or a bug? :D

from abp.settingui.

wakuflair avatar wakuflair commented on September 24, 2024

Hi guys
Yes the settings value are set by using "global", for now.
Other scopes(Tenant, User, eg.) are on the roadmap.

from abp.settingui.

gdlcf88 avatar gdlcf88 commented on September 24, 2024

For now, an admin user (from the host or one of the tenants) can grant the setting management permission himself and control the global values. It is dangerous!

Tenants and the host should only control the setting values in their own scope. Even a host admin should not be allowed to change the global values since generally the host is not the master of all the tenants. Maybe SettingUI could provide extra permission and page to manage the global setting values. (the permission is tenant-only, of course).

But it seems ABP has no way to control the setting values for only the host: abpframework/abp#4368

from abp.settingui.

gdlcf88 avatar gdlcf88 commented on September 24, 2024

About the user-side setting values management, I have these ideas:

  • Provide a dedicated page and permission for users to control the setting values for themself.
  • Show only the setting items with IsVisibleToClients == true.

from abp.settingui.

wakuflair avatar wakuflair commented on September 24, 2024

he can change the default value or implement the global values management feature himself

Of course he can. But SettingUI is supposed to provide an easy way to set settings value.

For example: An admin wants to set the theme of the entire website through UI.

from abp.settingui.

gdlcf88 avatar gdlcf88 commented on September 24, 2024

For example: An admin wants to set the theme of the entire website through UI.

He can only change the setting value of the current tenant (for the host-side, the TenantId == null), instead of the global setting value. Because nobody has permission to change a global setting value in ABP multi-tenant design.

from abp.settingui.

wakuflair avatar wakuflair commented on September 24, 2024

Is this way available for single tenant applications?

from abp.settingui.

gdlcf88 avatar gdlcf88 commented on September 24, 2024

I think so, since setting values of single-tenant apps (or we call it host-only apps) will be affected by the setting ProviderName == T with ProviderKey == null.

from abp.settingui.

wakuflair avatar wakuflair commented on September 24, 2024

OK. I'll change SetGlobalAsync to SetForCurrentTenantAsync

from abp.settingui.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.