![]() |
![]() |
![]()
Post
#1
|
|
Newsman Grupa: Moderatorzy Postów: 4 005 Pomógł: 548 Dołączył: 7.04.2008 Skąd: Trzebinia/Kraków ![]() |
Witam,
mam pytanie natury organizacyjnej, jak najlepiej w ZF zbudować aplikacje która miała by działać w ten sposób: mam główne założenia mojej aplikacji powiedzmy, że są to założenia które wdrażamy default'owo klientowi, i jakiś "niesforny" klient chce drobną modyfikacje pod swoje potrzeby w aplikacji, i chce tylko wdrożyć u niego te aplikacje, nie tracąc jednak głównej funkcjonalności. czyli są moduły i klient chce zmienić dany moduł, jak dostarczyć mu rozwiązanie custom'owe (nie burząc głównej gałęzi projektu) Przykład: mam tabelkę wyświetlającą u wszystkich klientów Imię, Nazwisko, po pozyskaniu nowego klienta on chce żeby jemu do tej tabelki dołożyć maila i avatara, ale chce to zrobić TYLKO u niego, reszta klientów podczas wdrażania dalej będzie miała tylko Imię i nazwisko tylko ten jeden będzie miał kontroler który pokieruje w taki sposób żeby wyświetlić mu odpowiednie dane? Proszę o jakieś nakierowanie, jeśli moje założenia są nie do końca jasne pytajcie, a może są lekko złe więc też proszę o naprowadzenie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 9 Dołączył: 21.05.2004 Skąd: Glogau/Breslau Ostrzeżenie: (0%) ![]() ![]() |
To chyba nie jest problem specjalnie związany z zastosowaną technologią, tylko ogólne zagadnienie inzynierii oprogramowania. Jak znajdziesz dobre rozwiązanie, to zostaniesz bogaty;)
Jak masz swoje jedno konkretne rozwiązanie, które wdrażasz u różnych klientów, to po jakimś widzisz, o jakie zmiany, jakiego typu, proszą. Możesz potem na tej podstawie tak przetworzyć swoją apkę, żeby ci się potem te zmiany łatwo dodawało. Zazwyczaj to jest jednak tak, że nie wystarczy podmienić jednego kontrolera, tabelki itd. Ew. zanim zabierzesz się za pisanie, to możesz się zastanowić, czego klienci mogą chcieć. Wtedy tworzysz odpowiedni model aplikacji. Modułowa budowa, tworzenie dodatków (wordpress), hooki przy każdej akcji (mediawiki), generowanie kodu na podstawie jakichś xmli (magento ponoć) itd itp. Można też dodawać te funkcjonalności do głównej wersji, ale aktywować je dopiero odpowiednią konfiguracją (dane opcje będą widoczne tylko u jednego klienta). Jakimś sposobem jest tworzenie forków projektu i odpowiednie kasowanie klienta, żeby ci się opłacało potem robić merge. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 02:52 |