Framework - utrzymanie |
Framework - utrzymanie |
31.01.2007, 17:22:39
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 4.12.2006 Ostrzeżenie: (0%) |
Witam
Mam taki mały problem, w ramach budowy projektu został stworzony framework oparty o ZF (obsługa bazy, kolekcji, obiektów, błędów etc). Wszystko działa pięknie sobie ale teraz nadszedł czas tworzenia kolejnego projektu i pojawił się problem/pytanie. W jaki sposób dbacie o to żeby najaktualniejsza wersja frameworka była dystrybuowana po różnych projektach, przy założeniu, że nie wszystkie części frameworka są wykorzystywane we wszystkich projektach. Na chwilę obecną całość leży w CVSie (a niedługo pewnie zostanie przeniesiona do SVNa). Pozdrowienia |
|
|
1.02.2007, 00:59:59
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) |
Zakładając, że masz dobry loader plików (ten z ZF jest okay), wystarczy, że do każdego projektu podasz odpowiednią ścieżkę do głównych bibliotek frameworka. Wszystko opiera się na tym. Możesz mieć kilka folderów z frameowrkiem (a w każdym inną wersję, tudzież rewizję z SVN) i odpowiednio zaadresować je w bootstrap'ie aplikacji.
edit: Dodam tylko, że API frameworka powinno być ustabilizowane, inaczej wychodzi na to, że każda aplikacja pisana jest pod inną wersję. A tego powinien programista unikać. Ten post edytował LBO 1.02.2007, 01:03:37 |
|
|
1.02.2007, 01:13:01
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 4.12.2006 Ostrzeżenie: (0%) |
byłoby to być może dobre rozwiązanie gdyby nie fakt iż projekty te będą zupełnie autonomiczne - realizowane na różnych maszynach.
Jak na razie znalazłem jedno rozwiązanie które powinno zadziałać: 1. Wydzielenie frameworka z projektu do oddzielnego projektu 2. Przejście na SVNa 3. Wykorzystanie svn:external do includowania frameworka w poszczególnych projektach Ciekawe jak się to będzie sprawowało w praktyce. Pozdrowienia |
|
|
2.02.2007, 00:51:17
Post
#4
|
|
Grupa: Zarejestrowani Postów: 216 Pomógł: 0 Dołączył: 9.08.2003 Skąd: Warszawa Ostrzeżenie: (0%) |
Sam ostatnio męcze się z tym problemem..
Framework jest jeden, ale jest używany w wielu aplikacjach. Mam również pewne moduły które się powtarzają - np: koszyk, sklep, rabaty, newsy, newsletter etc... Fajnie by było w jakiś sposób rozwijać te moduły tak, aby później w prosty sposób możnabyło je zaktualizować w starych projektach. Kolejna rzecz, to jest to, że czasem framework ewoluuje wraz z kolejnymi projektami. Więc framework jako jeden projekt, a każdy projekt dla klienta składa się z bierzącej wersji FW + moduly/akcje/widoki - ja tak to widze, chociaż chodzi mi po głowie możliwość tworzenia i rozwijania modułów - oddzielnie. |
|
|
15.03.2007, 19:53:15
Post
#5
|
|
Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) |
Cytat 3. Wykorzystanie svn:external do includowania frameworka w poszczególnych projektach Wlasnie zaczalem kombinowac z svn:external i prawde mowiac jestem troche zagubiony. Mam 3 aplikacje korzystajace z tych samych bibliotek nazwijmy je bibliotekami zewnetrznymi mimo ze pisane przeze mnie to zupelnie niezalezne od projektu. Planowalem rozbic to na taka strukture: Kod / /--app_1 /--app_2 /--lib /----Smarty /----Costam I pozwolic zeby app_1 i app_2 zaczytywaly kod ze wspolnego katalogu. Ale problem powstal w momencie kiedy pomyslalem ze rozne wersje app_1 i app_2 moga uzywac roznych wersji lib. W tym wypadku pomysl pada bo jezeli zrobie rollback app_1 do wersji sprzed miesiaca to aplikacja pada, a jezeli zrobie rollback lib to padaja wszsytkie aplikacje w ktorych nie zostaly zaimplementowane zmiany dotyczace uzycia lib. Najlepiej byloby gdybym mial mozliwosc edytowania lib niezaleznie od app_1 i app_2 i gybym mogl robic commit jednego z trzech niezaleznie, ale dobrze by bylo zeby app_1 wiedziala z ktorej wersji lib korzystac w momencie kiedy robie svn export i robie wdrozenie. Macie jakies pomysly jak najlepiej to rozwiazac? Ten post edytował NoiseMc 15.03.2007, 19:55:25 -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 20.09.2024 - 21:14 |