Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
RE: LPS-97547 Remove legacy per portal instance properties configuration …
Hi guys,
Liferay removed instance based properties in 7.2 GA2.
Here : LPS-97547 Remove legacy per portal instance properties configuration
Can you please guide alternative
Liferay removed instance based properties in 7.2 GA2.
Here : LPS-97547 Remove legacy per portal instance properties configuration
Can you please guide alternative
A lot of configuration was moved to the frontend (System Settings and Instance Settings).
Can you tell us, which properties you are missing or what you try to achieve per instance?
Can you tell us, which properties you are missing or what you try to achieve per instance?
I also wanted to ask, i don't see Server Administration for each instance.I want to configure different SMTP settings for each one.
Christoph Rabel:
A lot of configuration was moved to the frontend (System Settings and Instance Settings).
Can you tell us, which properties you are missing or what you try to achieve per instance?
Server settings are global. You can't configure them per instance. I don't think it was ever possible to configure more than one mailserver.
You could try to override the mail implementation of Liferay but after a quick look I don't see a real nice way to do that. The MailEngine class which is used to send the mail is static and not "OSGIyfied". Maybe you could try to replace MailMessageListener.
Another way would be to send mails to a local smtp server like postfix and dispatch them from there.
You could try to override the mail implementation of Liferay but after a quick look I don't see a real nice way to do that. The MailEngine class which is used to send the mail is static and not "OSGIyfied". Maybe you could try to replace MailMessageListener.
Another way would be to send mails to a local smtp server like postfix and dispatch them from there.
I have connection settings for login. and during login.. each instance makes connection with its respective API for authenticating user.
If you have your own module and configuration, it should be possible to set the scope to Scope.COMPANY. Then the configuration should appear in instance settings.
https://portal.liferay.dev/docs/7-0/tutorials/-/knowledge_base/t/making-your-applications-configurable
e.g. like here:
https://github.com/liferay/liferay-portal/blob/7.2.x/modules/apps/product-navigation/product-navigation-personal-menu-api/src/main/java/com/liferay/product/navigation/personal/menu/configuration/PersonalMenuConfiguration.java
https://portal.liferay.dev/docs/7-0/tutorials/-/knowledge_base/t/making-your-applications-configurable
e.g. like here:
https://github.com/liferay/liferay-portal/blob/7.2.x/modules/apps/product-navigation/product-navigation-personal-menu-api/src/main/java/com/liferay/product/navigation/personal/menu/configuration/PersonalMenuConfiguration.java
Thank you so much Christoph Rabel , it is very helpful.
Can you please also guide me also on how to implement database sharding, as this feature is removed Now.
How can we achieve this?
Can you please also guide me also on how to implement database sharding, as this feature is removed Now.
How can we achieve this?
Sorry, but sharding is gone. It cannot be done anymore. Well, some databases support sharding, but I would tread very careful here. It adds a lot of complexity, but what are the gains?
The question is: Why do you want sharding? Do you really need it?
The question is: Why do you want sharding? Do you really need it?
<p>Actually we wanted to store each customers data separate, also if we get new customer than we can design its separate lportal locally and then push it to production, binding instance with that lportal.</p>
Christoph Rabel:
Actually we wanted to store each customers data separate, also if we get new customer than we can design its separate lportal locally and then push it to production, binding instance with that lportal.<
Sorry, but sharding is gone. It cannot be done anymore. Well, some databases support sharding, but I would tread very careful here. It adds a lot of complexity, but what are the gains?
The question is: Why do you want sharding? Do you really need it?
Sharding was removed because it was a total PITA and has way too many complications...
Backups, for example. Sure you can take snapshots of all of the shards, but trying to get a working restore done so everything is in sync? Not a fun trip.
Forget about sharding, it is a nightmare best left forgotten.
Backups, for example. Sure you can take snapshots of all of the shards, but trying to get a working restore done so everything is in sync? Not a fun trip.
Forget about sharding, it is a nightmare best left forgotten.
David H Nebinger:
Sharding was removed because it was a total PITA and has way too many complications...
Backups, for example. Sure you can take snapshots of all of the shards, but trying to get a working restore done so everything is in sync? Not a fun trip.
Forget about sharding, it is a nightmare best left forgotten.
<p>Actually we wanted to store each customers data separate, also if we get new customer than we can design its separate lportal locally and then push it to production, binding instance with that lportal.</p>
<p>Actually we wanted to store each customers data separate, also if we get new customer than we can design its separate lportal locally and then push it to production, binding instance with that lportal.</p>
jay kumar:
Sharding was removed because it was a total PITA and has way too many complications...
<p>Actually we wanted to store each customers data separate, also if we get new customer than we can design its separate lportal locally and then push it to production, binding instance with that lportal.</p>
Backups, for example. Sure you can take snapshots of all of the shards, but trying to get a working restore done so everything is in sync? Not a fun trip.
Forget about sharding, it is a nightmare best left forgotten.
(credits: see above ;) )
jay kumar:
Actually we wanted to store each customers data separate, also if we get new customer than we can design its separate lportal locally and then push it to production, binding instance with that lportal.
On top of what was written above: This is not how sharding ever worked. You could never arbitrarily bind different shards to different portals and move them around. A shard always belonged to a single portal. And it never was guaranteed to have the data of one instance exclusively and completely. In order to restore a portal from backup, you always needed all of the shards to be restored together.
Trust David and me: You don't want shards. If you want to strictly separate customers from each other, separating them in individual databases doesn't grant any security, as they're all accessed from the same JVM anyway. If you want to strictly separate them, run different servers.
Copyright © 2025 Liferay, Inc
• Privacy Policy
Powered by Liferay™