James Falkner Il y a 9 années Do you have to think about multi-tenancy when developing a new service using ServiceBuilder? Like, what if you remove the "companyId" column from your entities? Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock James Falkner Il y a 9 années If you remove the companyId from ServiceBuilder entities, these entities will not work with multi-tenancy. They'll be the same over all, yes. As the technical name for "instance" is "company": well observed. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Olaf Kock James Falkner Il y a 9 années If you remove the companyId from ServiceBuilder entities, these entities will not work with multi-tenancy. They'll be the same over all, yes. As the technical name for "instance" is "company": well observed. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Carlo Cavallieri Il y a 9 années Hi Olaf, doesn't the porperty "company-limit" inside liferay-look-and-feel.xml for themes-plugin solve the problem of "themes sharing"?don't know if this xml files could also be used for portlet and hoock plugin ... Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Carlo Cavallieri Il y a 9 années There's something that I didn't stumble upon yet. I'll check it & try it out, then update. Thanks for the pointer Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Olaf Kock Il y a 9 années - Edité @Carlo: Thanks for the pointer. After doing it wrong in the first time (leading to LPS-54387, which is invalid), I have this working. However, that's only for themes, not for any other plugin type. So: To the letter (as I was speaking explicitly about themes) I was wrong. At least the principle holds - just only for every other plugin type but themes. Good catch, and I now know a new feature. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Carlo Cavallieri Olaf Kock Il y a 9 années thanks for your explanation Olaf Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Olaf Kock Carlo Cavallieri Il y a 9 années There's something that I didn't stumble upon yet. I'll check it & try it out, then update. Thanks for the pointer Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Olaf Kock Il y a 9 années - Edité @Carlo: Thanks for the pointer. After doing it wrong in the first time (leading to LPS-54387, which is invalid), I have this working. However, that's only for themes, not for any other plugin type. So: To the letter (as I was speaking explicitly about themes) I was wrong. At least the principle holds - just only for every other plugin type but themes. Good catch, and I now know a new feature. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Carlo Cavallieri Olaf Kock Il y a 9 années thanks for your explanation Olaf Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Olaf Kock Olaf Kock Il y a 9 années - Edité @Carlo: Thanks for the pointer. After doing it wrong in the first time (leading to LPS-54387, which is invalid), I have this working. However, that's only for themes, not for any other plugin type. So: To the letter (as I was speaking explicitly about themes) I was wrong. At least the principle holds - just only for every other plugin type but themes. Good catch, and I now know a new feature. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Carlo Cavallieri Olaf Kock Il y a 9 années thanks for your explanation Olaf Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Carlo Cavallieri Olaf Kock Il y a 9 années thanks for your explanation Olaf Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Vanita Chawla Il y a 9 années Great information on instances! Thanks Olaf. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Patrick Wolf Il y a 9 années Very interesting indeed.What about multiple instances versus sharding? As you suggest you may use Liferay as a multi-tenant portal and create one instance per client (or tenant). Let's say that the services you sell get viral and you come up quickly with thousands of instances.How do you manage your back-up plan by tenant as your tenant's data clutter the database up since you get only one lportal database. In that case wouldn't it be more sensible to think of doing sharding. You would get one database per tenant. Would this be the best design when running Liferay as a multi-tenant platform? Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Patrick Wolf Il y a 9 années Hi Patrick,I don't like to advocate sharding. One reason is that the setup is not really intuitive, and it's not trivial to get a shard out of the collection. IMHO it does not solve the problem that you'd expect it to solve (e.g. ease separation) but just stores different instance's data in different shards. It's quite complicated to change the setup of the shards. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Olaf Kock Patrick Wolf Il y a 9 années Hi Patrick,I don't like to advocate sharding. One reason is that the setup is not really intuitive, and it's not trivial to get a shard out of the collection. IMHO it does not solve the problem that you'd expect it to solve (e.g. ease separation) but just stores different instance's data in different shards. It's quite complicated to change the setup of the shards. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Patrick Wolf Il y a 9 années Thank you for your feedback.What I meant is that you get one shard per tenant, i.e. tenants' data could then be easily retrieved and backed up. Otherwise, retrieving one tenant's data, should it be required by the tenant, sounds difficult if you get a lot of instances. You could do it with the CompanyId identifier unique for each instance, but painfully. Configuring sharding is not trivial but once this is done, maintenance and back-up by tenant would be easier. Please correct me if I am wrong, in a nutshell, I assume that creating multiple instances is great when you don't have to manage many tenants, but when the number of tenants increases exponentially, it may be a good idea to think of another convenient design, like sharding, even though this is a challenge. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Patrick Wolf Il y a 9 années - Edité That's the problem: Shards seem to solve problems, but I am not confident that they deliver on your or my expectations: Can you back them up sequentially or does the backup need to be atomic (of the admin- and a secondary shard)? How do you ever remove one from the list of shards when you want to separate it to another server? And there's more than just the db: Search Index, Document library etc. There are a lot of details in shards that can easily mess with your expectation. This personal preference might be the main reason why I've left sharding out of the article... Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Olaf Kock Patrick Wolf Il y a 9 années - Edité That's the problem: Shards seem to solve problems, but I am not confident that they deliver on your or my expectations: Can you back them up sequentially or does the backup need to be atomic (of the admin- and a secondary shard)? How do you ever remove one from the list of shards when you want to separate it to another server? And there's more than just the db: Search Index, Document library etc. There are a lot of details in shards that can easily mess with your expectation. This personal preference might be the main reason why I've left sharding out of the article... Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Marc Herren Il y a 7 années I'm new to liferay, so perhaps I did not fully understand everything yet ;)But if i'm correct you need to create instances to completely separate the data?In our case we have the situation that within a setup with one instance with multiple site ( lets name them lrA, lr you would be able to access lrB trough lrA with the following URL "http://lrA/web/lrB"Having two instances (lri-A, lri- would prevent this, correct? Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Marc Herren Il y a 7 années Hi Marc,you're correct: Two instances would prevent you being able to see http://lrA/web/lrB. However, I feel that instances in this case are an oversized powertool where you only need a screwdriver - you can also prevent this when a webserver (e.g. Apache httpd) configures the virtual hosts so that host "lrA" does not allow URLs "*/web/lrB/*" and "*/group/lrB/*" and vice versa. However, both lrA and lrB would share a user database and permissions (roles etc) in this case. If this is absolutely undesirable, there's another argument for instances, but don't just use them lightly by default (because once you did, they're harder to get rid of, or to separate to different servers)Sorry, as usual the answer is "it depends". I hope that the answer clarifies what it depends on. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Marc Herren Olaf Kock Il y a 7 années Hi Olaf, Thanks for the quick response.As we will host dozens of completely independent website I rather favors instances over sites.Another thing is also, that I noticed that you can also access another website trough the URLs " http://lrA/sr/web/lrB" or "http://lrA/sr_RS/web/lrB" which makes the ACL even more complicated. Although I don't know if its a misconfiguration from our site on the test setup Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Marc Herren Il y a 7 années Yep, those are the languages/localizations you want to use (if you want to enforce them through the URL). They're the reason why I mentioned "*/web/lrB/*" above and not "/web/lrB/*" (note the leading wildcard - and yes, it should rather be a regexp for empty or any character but slash).It's fine to use instances (if you use the precautionary administrative instance I mention in the article), just don't do this before you absolutely know that you must. If these sites share the userbase, it might be easier to use a single instance. If you need to install different plugins per customer/website, it might be advisable to use different servers. If you need different administrative staff (that don't trust each other): Validate the level of trust that you have with what instances provide. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Olaf Kock Marc Herren Il y a 7 années Hi Marc,you're correct: Two instances would prevent you being able to see http://lrA/web/lrB. However, I feel that instances in this case are an oversized powertool where you only need a screwdriver - you can also prevent this when a webserver (e.g. Apache httpd) configures the virtual hosts so that host "lrA" does not allow URLs "*/web/lrB/*" and "*/group/lrB/*" and vice versa. However, both lrA and lrB would share a user database and permissions (roles etc) in this case. If this is absolutely undesirable, there's another argument for instances, but don't just use them lightly by default (because once you did, they're harder to get rid of, or to separate to different servers)Sorry, as usual the answer is "it depends". I hope that the answer clarifies what it depends on. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Marc Herren Olaf Kock Il y a 7 années Hi Olaf, Thanks for the quick response.As we will host dozens of completely independent website I rather favors instances over sites.Another thing is also, that I noticed that you can also access another website trough the URLs " http://lrA/sr/web/lrB" or "http://lrA/sr_RS/web/lrB" which makes the ACL even more complicated. Although I don't know if its a misconfiguration from our site on the test setup Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Marc Herren Il y a 7 années Yep, those are the languages/localizations you want to use (if you want to enforce them through the URL). They're the reason why I mentioned "*/web/lrB/*" above and not "/web/lrB/*" (note the leading wildcard - and yes, it should rather be a regexp for empty or any character but slash).It's fine to use instances (if you use the precautionary administrative instance I mention in the article), just don't do this before you absolutely know that you must. If these sites share the userbase, it might be easier to use a single instance. If you need to install different plugins per customer/website, it might be advisable to use different servers. If you need different administrative staff (that don't trust each other): Validate the level of trust that you have with what instances provide. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Marc Herren Olaf Kock Il y a 7 années Hi Olaf, Thanks for the quick response.As we will host dozens of completely independent website I rather favors instances over sites.Another thing is also, that I noticed that you can also access another website trough the URLs " http://lrA/sr/web/lrB" or "http://lrA/sr_RS/web/lrB" which makes the ACL even more complicated. Although I don't know if its a misconfiguration from our site on the test setup Veuillez vous identifier pour voter. Répondre en tant que ... Annuler Olaf Kock Marc Herren Il y a 7 années Yep, those are the languages/localizations you want to use (if you want to enforce them through the URL). They're the reason why I mentioned "*/web/lrB/*" above and not "/web/lrB/*" (note the leading wildcard - and yes, it should rather be a regexp for empty or any character but slash).It's fine to use instances (if you use the precautionary administrative instance I mention in the article), just don't do this before you absolutely know that you must. If these sites share the userbase, it might be easier to use a single instance. If you need to install different plugins per customer/website, it might be advisable to use different servers. If you need different administrative staff (that don't trust each other): Validate the level of trust that you have with what instances provide. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler
Olaf Kock Marc Herren Il y a 7 années Yep, those are the languages/localizations you want to use (if you want to enforce them through the URL). They're the reason why I mentioned "*/web/lrB/*" above and not "/web/lrB/*" (note the leading wildcard - and yes, it should rather be a regexp for empty or any character but slash).It's fine to use instances (if you use the precautionary administrative instance I mention in the article), just don't do this before you absolutely know that you must. If these sites share the userbase, it might be easier to use a single instance. If you need to install different plugins per customer/website, it might be advisable to use different servers. If you need different administrative staff (that don't trust each other): Validate the level of trust that you have with what instances provide. Veuillez vous identifier pour voter. Répondre en tant que ... Annuler