-
Notifications
You must be signed in to change notification settings - Fork 64
Page template site menu in multi-tenant site #576
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
Comments
Considerations (from a quick chat) 1- should this be a dynamic template that populates the menu list from a query of all other non-root tenants? I could possibly see a role also for a non-dynamic one that is more hand-curated like the LHLP one... 2 - should the use of this template be restricted to root site page editors only? (do we actually have a mechanism for limiting access to page templates by tenant, when the 'root' tenant we want to limit it to could either be dynamically inferred or else taken from the MultiTenantOptions RootSiteId Guid in the Json? ) |
As Mark correctly pointed out, cs.SimpleContent is not 'allowed' to have any knowledge of the cs core data architecture and multitenancy models - there is no dependency chain there. (in theory simplecontent could be used over the top of a different website back-end - though it does depend on cloudscribe.Web.Common) It's therefore not possible to build the 'dynamic' version of the above in a straightforward way, directly talking to the cs core architecture, without breaking the much-prized independence between different CS modules. Would need some architectural thought about how to build this dynamically so that the simplecontent template could consume a generic DI pipeline service that would deliver a List of tenant site settings potentially from any back-end, and then implement that service specifically from cs core. |
When watching a demo of an application that uses cloudscribe folder-name multi-tenancy, I got to thinking again about how a user finds their way into their own ‘tenant’.
Note that many users will not actually bookmark their tenant address, but they will know they are using “Insights” or “FlyMapper” (or whatever) which they will be able to google.
So the root landing page of the site really has to make it easy for a user to get to their area.
In one such site we made the root site landing page a kind of ‘menu’ with a tile for each customer, for a user to click on to get to their tenant. See https://local-heritage-list.org.uk/
This is completely hand-carved 'content' – which is fine for smallish numbers and low rate of change.
This could be made much easier. with a simple page template component for this: a ‘Tenant site menu page template’.
This could have top content, bottom content, and in the middle it would render the ‘list’ of tenants, making use of the tenant site settings to provide: name, URL, logo image, and potentially other properties such as 'Header Content'.
The actual rendering could then be tiles, like on LHLP, or a simple list, or whatever. There could be some choices in the template.
The text was updated successfully, but these errors were encountered: