Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zdalna aktualizacja skryptu
kiler129
post 8.01.2011, 03:01:51
Post #1





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Myślę, że ten temat powinien pojawić się w PHP Pro i być dłuższą dyskusją dot. sposobu zdalnej aktualizacji webaplikacji.
Obecnie zastanawiam się właśnie nad tą kwestią. Po dłuższych przemyśleniach i kilku filiżankach kawy doszedłem do następujących wniosków:

1. Sprawdzanie czy aktualizacja jest dostępna po zalogowaniu do panelu admina (ale nie częściej niż 1x/dzień)
2. Aktualizacja wysyłana w pełnej formie jeśli wersja różni się więcej niż 1 (jeśli to aktualizacja np. z 1.1 do 1.2 to używamy paczki różnicowej)
3. Plik update spakowany np. pharem [ogólnie czymś co standardowo mamy w PHP wszędzie]
4. Plik update powinien być podpisany aby uniemożliwić przez jakiś bug łatwej podmiany całej aplikacji
5. Sprawdzanie sum plików przed update czy zgadzają się z sumami dla posiadanego realase (myślę, że dobrze takiego pliku nie trzymać u usera tylko zdalnie), jeśli są inne zapytać usera co zrobić (nadpisać plikami nowego realase, nie dotykać tych plików, pokazać różnie, anulować update, zgłosić błąd)
6. Przed update spakować wszystkie pliki które mają być zmodyfikowane i utworzyć plik .php który po podaniu klucza wygenerowanego podczas update (unikalny) pozwoli cofnąć zmiany "nagle i bez winy usera" cała strona padnie smile.gif
7. Brak mi pomysłu na zmiany w sqlu

Dziękuję za cierpliwe przeczytanie i proszę o porady smile.gif


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
Fifi209
post 8.01.2011, 03:55:06
Post #2





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Jeżeli spakowane pharem to przecież wystarczy paczkę podmienić i po sprawie.

Samą aplikację albo jej części pakujesz pharem i potem tylko podmieniasz paczki a stare możesz archiwizować. (gdyby użytkownik coś zmienił...)

Co do mysql - zależy jakie zmiany.

Ten post edytował fifi209 8.01.2011, 03:57:15


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
kiler129
post 8.01.2011, 04:14:26
Post #3





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


Myślałem nad podmianą całej paczki ale to odetnie możliwość zmodyfikowania pliku co często jest potrzebne. Paczke phar (czy jakąkolwiek inna) chciałbym użyć tylko do przesyłu serwer update>server klienta.

Jeśli chodzi o baze danch to różne - nie jestem w stanie w wersji 1.0 przewidzieć co stanie się w 7.0 smile.gif Dodawanie wierszy do tabeli ustawień to nie problem ale jeśli zmieni się np. format zapisu uprawnień to już się robi problem z konwersją.

Ten post edytował kiler129 8.01.2011, 04:22:25


--------------------
flexiCMS v2 [|||||||+--] 75% done
Go to the top of the page
+Quote Post
CuteOne
post 8.01.2011, 08:09:50
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

Ostrzeżenie: (0%)
-----


Temat ciekawy chociaż nie ma nad czym dyskutować smile.gif Z tego co widzę twój pomysł wygląda "prawie" identycznie jak wgrywanie pluginu. Tak więc jeżeli chcesz gdybać jak rozwiązać problem bazy to zapraszam na obchód wordpressa biggrin.gif
Go to the top of the page
+Quote Post
Mephistofeles
post 8.01.2011, 10:49:29
Post #5





Grupa: Zarejestrowani
Postów: 1 182
Pomógł: 115
Dołączył: 4.03.2009
Skąd: Myszków

Ostrzeżenie: (0%)
-----


Do zmian w bazie możesz wykorzystać np. Doctrine Migrations.
Go to the top of the page
+Quote Post
kiler129
post 8.01.2011, 11:06:54
Post #6





Grupa: Zarejestrowani
Postów: 566
Pomógł: 35
Dołączył: 21.06.2006

Ostrzeżenie: (0%)
-----


@CuteOne - właśnie muszę zobaczyć jak to WP ma zrobione chociaż bardziej liczę, że ktoś zaznajomiony ze źródłami tego CMSu podpowie conieco. Jeśli chodzi o porównanie do pluginu to nie za bardzo [chyba, że masz na myśli plugin zmieniający pliki CMSu].
Ogólnie zamysł jest prosty - dostarczyć tak pathi [to sie odmienia?] aby każda kopia po nich działała a dodatkowo w razie padu dało się wszystko odkręcić. Coś na wzór aktualizacji serwera LiteSpeed.

@Mephistofeles - zainteresuję się, jak się domyślam to coś do różnicowego kopiowania bazy.


--------------------
flexiCMS v2 [|||||||+--] 75% done
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: 15.08.2025 - 03:40