Hi Bryan, thanks for bringing this up. I know nothing about multisite in 7 or 8 so can offer no useful input but will point out that https://github.com/Islandora-CLAW/CLAW/issues/396 covers a lot of this ground already. Multi-tenancy is #2 with a bullet on the proposed technical roadmap document as well.
Mark
I would love to hear the use cases and concerns people have.
Brandon,
Thanks for providing some rough use cases to help us focus on what multisite functionality means. I think it's fair to say that no one in the Islandora community has any substantial experience with Drupal 8's multisite capabilities. As with end-of-life timelines, we need to learn to live within the constraints Drupal forces on Islandora. I propose that a group of us focuses some effort on testing Drupal 8's multisite capabilities, at least on something like the CLAW playbook, in the very short term so we can better understand what the roadblocks will be at the time of the launch of Islandora 8. We should also acknowledge, as Diego points out, that Drupal 8's multisite capabilities are probably still not fully baked. But at least if we keep on top of how they mature, we will be better able to plan for 7->8 migrations and for greenfield 8 installations.
I will also suggest that we focus on Drupal first, understand the challenges there, then look at how Fedora 5 relates to our goals here. Maybe we can rely strictly on Drupal for the kinds of benefits you outline in your use cases and not worry about Fedora, keeping in mind that in Islandora 8, Drupal and Fedora have a different relationship than they do in Islandora 7. Also, Islandora 8's heavy reliance on Contexts may be worth looking at (see my comment at https://github.com/Islandora-CLAW/CLAW/issues/396#issuecomment-449586318 for a start at an implementation that uses a "namespace" in Islandora 8 nodes).
Given the importance of multisite capabilities, and the number of Islandora7 instances that rely heavily on it, I even wonder if it's worth forming a short-lived Multisite Interest Group to take this work on. Just a thought. I also wonder if we should move this discussion from the islandora-dev list to the general islandora list, since this is an issue that we need the broadest possible input on.
Mark
Despite their flaws, D8 multisites are the most supported/least
invasive way point multiple domains at a single Drupal server. If
you're attempting shared hosting, that's still a good deal. They
hit a sweet spot for maximizing what you can get out of a single
Drupal server on the cheap. Do you _need_ them? Absolutely not.
I think there's multiple ways to interpret multi-tenancy in
Islandora, and if you want to go with a Drupal -- and even a
Fedora -- per tenant, that's a solid approach, too. I wouldn't
want Islandora 8 to knowingly exclude either, as there's certain
to be different benefits for different situations. And lets face
it, lots of people use multisites.
But yes, with the state of the software currently, if we want to
wire up multiple Drupal frontends to a single Fedora backend,
there's some legwork to do. Its something we've waited to do
because it depends on Fedora 5's WebAC capabilities. A lot of it
will be figuring out how to lay down very basic restrictions using
WebAC policies to sandbox groups of users to subtrees. Drupal
users/roles/perms will need to get translated roughly into WebAC.
We'll never get the full granularity of Drupal permissions in
Fedora, but we certainly can partition a Fedora good enough to
keep tenants restricted to their own space.
In my opinion, a single kitchen sink install with a Drupal
multisite should be a viable entry into small scale shared
hosting. It certainly would be a good exercise to go through. But
I don't think that's the one or only way to do it, and getting a
better understanding of what everyone is expecting will certainly
inform what work we eventually end up doing.
To view this discussion on the web visit https://groups.google.com/d/msgid/islandora-dev/76f2d70d-ddef-4def-9309-c692c5086470%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Danny, thanks for pointing out there are several ways that multi-tenancy/multisite can be approached.
Mark