Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Framework - utrzymanie
pandi
post 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
Go to the top of the page
+Quote Post
LBO
post 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
Go to the top of the page
+Quote Post
pandi
post 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
Go to the top of the page
+Quote Post
Ace
post 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.
Go to the top of the page
+Quote Post
NoiseMc
post 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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 18.04.2024 - 03:34