Prace nad przystosowaniem coyote do mod_rewrite sa juz praktycznie na ukonczeniu. Pozostaje jednak pewien drobny problem - w jaki sposob nalezy zaaplikowac cala zmiane do repozytorium CVS. Oto dwa proponowane przeze mnie rozwiazania:
Zmiana zrodel bezposrednio w CVS:
Jest to naniesienie wszystkich poprawek na zrodla znajdujace sie w repozytorium. Co to oznacza? Mniej wiecej tyle, ze nie ma juz odwrotu. Od tego momentu coyote bedzie uzaleznione od mod_rewrite i bez tego nie bedzie dzialac poprawnie. Wymusza to dodatkowo zmiane w developowaniu projektu - programista zamiast linkow skrypt.php?id=12 bedzie zmuszony pisac skrypt.php/id=12 (moze nie jest to wielka sprawa ale bedzie trzeba przywiazywac wiecej uwagi takim rzeczom).
Wstawienie patcha do CVS:
Tytulowy patch jest plikiem ktory powstal dzieki uzyciu programu diff. Do naniesienia patcha na zrodla potrzebny jest program 'patch' standardowo dostepny we wszelkiej masci linuxach/unixach. Caly proces wygladalby tak: sciagamy z CVS wszystkie zrodla, a nastepnie patch`ujemy. Jednak nie ma nic za darmo - uzytkownicy windowsa moga miec problemy gdyz standardowo 'patch' nie jest dostepny. Jezeli jest (pewnie tak :)) odpowiednik windowsowy to nie ma problemu.
Porownanie obu rozwiazan:
Rozwiazanie 1 jest na pewno wygodniejsze, ale jak juz napisalem nieodwracalne. Ma to swoje konsekwencje. Przykladowo osoby, ktore nie moga na swoim serwerze wykorzystac mod_rewrite (brak dostepu do konfiguracji serwera, problemy z .htaccess) beda skazane tylko na starsze wersje systemu 'coyote' gdyz nowsze beda wymagac mod_rewrite dodzialania. Jednak jak wspominalem zalety to wygoda - nie trzeba recznie patchowac zrodel oraz w pewnym stopniu znormalizowanie i ustosunkowanie sie do kwestii mod_rewrite. Jezeli chodzi o 2 rozwiazanie to zastosowanie jest malo wygodne (szczegolnie w przypadku windowsa) ale dochodzi jeszcze jeden problem: patch bardzo szybko stawalby sie nieaktualny. Zmiany w coyote prawdopodobnie powodawalyby powstawanie nie dzialajacych linkow. Wymusilo by to wyznaczenie opiekuna badz opiekunow, ktorzy zajmowaliby sie samym patchem i zaraz po zmianach w kojocie poprawiali odpowiednio patch. 2 rozwiazanie daje rowniez wybor uzytkownikowi - nie chce/nie moze uzywac mod_rewrite to nie stosuje.
Jezeli jestes zwyklym uzytkownikiem 4programmers.net i nie zamierzasz wykorzystywac projektu Coyote do wlasnych celow to ten problem Cie omija - 4programmers tak, czy tak sobie poradzi z mod_rewrite, w przeciwnym wypadku radze zabrac glos w dyskusji.