DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   PHP (http://www.devprotalk.com/forumdisplay.php?f=9)
-   -   PHP Automatic updates (http://www.devprotalk.com/showthread.php?t=6754)

mangia 21. 11. 2008. 01:15

software - mekotvorina
hardware - tvrdotvorina

Jedan od prevoda zbog kojeg se zamislim da mijenjam profesiju...

Ilija Studen 24. 11. 2008. 13:51

Upgrade baze nije problem ako paziš na execution time i memory limit. Rebuild search indeksa npr može baš lepo da povuče resursa recimo i ako moraš to da kombinuješ sa još par dodatnih operacija, velika je verovatnoća da se na nekim serverima nećeš uklopiti u limite.

Mi smo problem rešili tako što smo sve korake razdvojili u zasebne rutine koji se asinhrono pozivaju (1. Upgrade postojećih table, 2. Rebuild search indexa, 3. Upgrade dozvola, 4. Something else... 198. Finish). Neka osnovna JavaScript logika se brine o tome da se koraci pozivaju jedan po jedan u odgovarajućem redosledu, ali je svaki korak zaseban request. Nema rollback za sada :(

Nismo imali pritužbe (u pitanju su stotine najrazličitijih servera). Najveći problem koji imamo sa upgrade alatom je što ljudi ZABORAVE da ga izvrše nakon što upgraduju same fajlove :)

Za dozvole - WordPress ima zgodan auto-upgrade plugin, pa možeš overiti source i videti probleme sa dozvolama i fajlovima i kako ih je čovek rešio.

kodi 24. 11. 2008. 14:12

tako nesto sam i nakraju smislio..

otprilike ideja je da svaki update paket ima /migration folder sa fajlivima tipa:
0000-getHostInfo.php
0001-checkPreviousVersion.php
0002-checkPermisions.php
0003-updateDb.php
0004-updateUserClass.php

itd..

e sad to sa js je ok ideja.. svaki fajl lepo moze po zavrsetku da vrati neki json i da kaze da je sve proslo ok, pa onda da se pozove sledeci.

godza 24. 11. 2008. 19:52

Jedini problem sa ajax zahtevima je da moras da 'NAREDIS' korisniku da ne ode sa stranice, i da saceka da se zavrsi upgrade proces.

kodi 24. 11. 2008. 21:01

pa ok.. ima onaj JS fora kao na meebo.com koja te upozorava..

Kôd:

                <script>
                var message = 'You may loose unsaved data!';

                window.onbeforeunload = function (evt) {
                        if (typeof evt == 'undefined') {
                                evt = window.event;
                        }
                        if (evt) {
                                evt.returnValue = message;
                        }
                        return message;
                }
                </script>



Vreme je GMT +2. Trenutno vreme je 21:00.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.