2017-10-30 2 views
0

Ich muss das Standardverhalten von Liferay anpassen: Derzeit muss jede Organisation einen eindeutigen Namen haben - dieses Verhalten muss ich überschreiben, um doppelte Namen zuzulassen. Außerdem befinden sich derzeit viele Entitäten in der aktuellen Organization_-Tabelle in der Datenbank.Überschreiben des Standard-Liferay-Organisationsmodells

Ist es möglich, das Standardmodell zu überschreiben und die Eindeutigkeitseinschränkung zu entfernen, während alte Entitäten beibehalten werden? Wenn ja, wie würde ich das angehen?

Natürlich könnte ich einfach neue Suffixe hinzufügen und sie auf dem Display entfernen, aber dieser Ansatz scheint seltsam.

+1

Können Sie bitte erklären, warum Sie dies tun möchten? Ich denke, es könnte einen besseren Weg geben, es zu tun. –

Antwort

2

Ist es möglich, das Standardmodell zu überschreiben und die Eindeutigkeitsregel zu entfernen, während alte Entitäten beibehalten werden?

Ja, es ist sicherlich, wie Sie alles in Liferay außer Kraft setzen kann

Wenn ja, wie würde ich diesen Ansatz?

sarkastischer Ansatz

  1. identifizieren alle die Orte, wo Liferay Organisationen behandelt und implizit auf ihrer Einzigartigkeit verlassen könnte.
  2. Hoffnung, dass ich in der Tat alle Orte,
  3. gefunden beurteilen, ob es machbar ist all jene Orte zu ändern, auf die Einzigartigkeit des Namens nicht verlassen mehr
  4. Hoffnung, dass ich alles gefunden, und dass meine Änderungen vornehmen Sinn
  5. beiseite legen eine Menge Geld für die zukünftige Wartung meiner Änderungen bezahlen, wenn ich die Änderungen an zukünftigen Versionen von Liferay übernehmen muss.
  6. bis 10. feststellen, dass es sich nicht lohnt es und sich nach einer alternativen Lösung

alternativer Ansatz:

  1. Bestimmen Sie, wo diese neue Anzeige erforderlich ist
  2. alternative Namen implementieren, z durch Expandos (Benutzerdefinierte Felder)
  3. Ändern Sie die Anzeige an der Stelle, an der die Expando-Werte anstelle des Organisationsnamens angezeigt werden sollen.
+0

Ich verstehe. Also ist es expando dann. Wie würden Sie vorschlagen, alte Namen auf Expando zu migrieren? Ich denke an einen einfachen Hook, der über bestehende Organisationen iteriert und seinen aktuellen Namen in den entsprechenden expando-Wert kopiert, aber ich frage mich, ob es einen besseren Weg gibt? – foverzar

+0

"Die Verwendung der API in irgendeiner Weise, mit der Sie sich wohl fühlen" ist meine Empfehlung. Wenn das ein Haken ist, die Skriptkonsole oder ein Webservice: alles funktioniert, keiner ist besser oder schlechter. –

Verwandte Themen