Howdy,
ik zit met het volgende: ik ben al meer dan een jaar bezig met het programmeren van een forum en dit loopt allemaal erg soepeltjes. Maar nu ging er iemand hem ook gebruiken (ja ik weet het, zeer schokkend), iemand anders dan ikzelf dus. En nu wilde ik deze persoon niet opschepen met het aantal updates dat ik uitbreng... op productieve dagen kunnen er dat wel een paar zijn. Deze updates zijn uiteraard niet essentieel, maarja vaak wel bugfixes en/of nieuwe features. Boeit eigenlijk allemaal niet zo:
wat ik dus wil is een web-based up-to-date functie: de admin van zijn/haar forum logt in in de zogenaamde Admin Area en daarin komt dus een pagina (dat is de bedoeling) met daarop een 'Make forum up to date'-button, een soort Windows Update geval, alleen dan dus gewoon met scripts. Dit alles wilde ik via FTP gaan doen: ik heb zelf een server / hosting daar zet ik dan alle versies op, het script maakt connectie met mijn server en de user kan kiezen naar welke versie hij/zij wil updaten. OF wat ik nog liever wil (en hier komt het probleem): ik maak dan een soort 'main' directory met daarin dus de laatste build.
Hoe kan ik nou zien of de user dus al de laatste versie heeft (t.o.v. de main directory met al zijn files) en nog moet updaten?
Ik dacht: we checken het aan de hand van filesizes, comparen deze (tussen de servers in), en als ze verschillend zijn, download en update. Echter Windows en *Nix servers zijn toch echt anders, en dus de filesizes ook, ook al is het 100% hetzelfde bestand. Tsja, niets aan te doen. Jammer
Dus: we doen het met de 'last modified on *****' functies in PHP (ftp_mdtm en filemtime, zie de handige PHP functienaam conventie
). Maarja, alle last modifieds op de server waar ik nu zit zijn allemaal van gisteren rond dezelfde tijd (van een aantal test files), dus ik weet dat op een andere manier deze dus worden getouched (virusscanner, backupper, oid). Hoe het ook zij: dit werkt dus ook niet.
Tsja... en toen was ik een beetje zonder ideeën.
Ik wil dus gewoon zelf kunnen uploaden, en niet handmatig files gaan zitten invullen, welke dan ook met elke versie zou moeten worden meegestuurd en dat hij dan deze op mijn server en de forum server zou gaan vergelijken. Dit is ***werk, en als ik het een keer vergeet loopt dit helemaal in de soep, dit begrijpt iedereen wel neem ik aan.
Misschien is een timestamp op elke 2e regel van iedere file een optie bedenk ik me net, en dat hij dan deze gaat vergelijken met degene op beide servers... Hm.., betekent weer dat ik handmatig na elke verandering deze zelf moet gaan zitten toevoegen.
Iets anders is misschien om gewoon een scriptje in elkaar te steken welke alle timestamps van alle files uitleest nadat ik een build afheb, deze naar een file schrijft in welke vorm dan ook (XML, plain txt, PHP, whathever) en deze gaat vergelijken, echter dit betekent toch weer dat ik het zou kunnen vergeten en er is geen 100% zekerheid dat wat in dit bestand staat ook overeenkomt met wat er op de server staat.
Nou ja, anyways: iemand ideeën, suggesties, nieuwe insteken?
PS: Kom please niet met: 'bouw gewoon grote updates en laat mensen maar af en toe updaten', dat is net zo off-topic als 'drie bier graag, en een patatje met': ik wil graag zo'n soort functie inbouwen, ook omdat het volgens mij redelijk uniek is in de forum-wereld (niet dat ik het gechecked heb: ik heb niet gekeken naar andere fora, en vooral niet naar wat voor functies ze hadden (qua admin gebeuren enzo) om zo clean mogelijk te blijven en ik kan zeggen dat ik het helemaal van scratch, zelf, alleen, heb gemaakt en verzonnnen.
PS2: Pardon de lap tekst.
PS3: Dit alles gaat dus alleen om de core-bestanden van mijn forum, dit zijn er zo'n 25-40 ofzo, maar iets van die orde.
PS4: En ik wil dit uberhaupt weten hoe te doen, aangezien ik het wel makkelijk zou vinden om zo mijn eigen website ook up-to-date te houden: met een webpagina'tje, die gewoon alle belangrijke source files compared en update...
ik zit met het volgende: ik ben al meer dan een jaar bezig met het programmeren van een forum en dit loopt allemaal erg soepeltjes. Maar nu ging er iemand hem ook gebruiken (ja ik weet het, zeer schokkend), iemand anders dan ikzelf dus. En nu wilde ik deze persoon niet opschepen met het aantal updates dat ik uitbreng... op productieve dagen kunnen er dat wel een paar zijn. Deze updates zijn uiteraard niet essentieel, maarja vaak wel bugfixes en/of nieuwe features. Boeit eigenlijk allemaal niet zo:
wat ik dus wil is een web-based up-to-date functie: de admin van zijn/haar forum logt in in de zogenaamde Admin Area en daarin komt dus een pagina (dat is de bedoeling) met daarop een 'Make forum up to date'-button, een soort Windows Update geval, alleen dan dus gewoon met scripts. Dit alles wilde ik via FTP gaan doen: ik heb zelf een server / hosting daar zet ik dan alle versies op, het script maakt connectie met mijn server en de user kan kiezen naar welke versie hij/zij wil updaten. OF wat ik nog liever wil (en hier komt het probleem): ik maak dan een soort 'main' directory met daarin dus de laatste build.
Hoe kan ik nou zien of de user dus al de laatste versie heeft (t.o.v. de main directory met al zijn files) en nog moet updaten?
Ik dacht: we checken het aan de hand van filesizes, comparen deze (tussen de servers in), en als ze verschillend zijn, download en update. Echter Windows en *Nix servers zijn toch echt anders, en dus de filesizes ook, ook al is het 100% hetzelfde bestand. Tsja, niets aan te doen. Jammer
Dus: we doen het met de 'last modified on *****' functies in PHP (ftp_mdtm en filemtime, zie de handige PHP functienaam conventie

Tsja... en toen was ik een beetje zonder ideeën.
Ik wil dus gewoon zelf kunnen uploaden, en niet handmatig files gaan zitten invullen, welke dan ook met elke versie zou moeten worden meegestuurd en dat hij dan deze op mijn server en de forum server zou gaan vergelijken. Dit is ***werk, en als ik het een keer vergeet loopt dit helemaal in de soep, dit begrijpt iedereen wel neem ik aan.
Misschien is een timestamp op elke 2e regel van iedere file een optie bedenk ik me net, en dat hij dan deze gaat vergelijken met degene op beide servers... Hm.., betekent weer dat ik handmatig na elke verandering deze zelf moet gaan zitten toevoegen.
Iets anders is misschien om gewoon een scriptje in elkaar te steken welke alle timestamps van alle files uitleest nadat ik een build afheb, deze naar een file schrijft in welke vorm dan ook (XML, plain txt, PHP, whathever) en deze gaat vergelijken, echter dit betekent toch weer dat ik het zou kunnen vergeten en er is geen 100% zekerheid dat wat in dit bestand staat ook overeenkomt met wat er op de server staat.
Nou ja, anyways: iemand ideeën, suggesties, nieuwe insteken?
PS: Kom please niet met: 'bouw gewoon grote updates en laat mensen maar af en toe updaten', dat is net zo off-topic als 'drie bier graag, en een patatje met': ik wil graag zo'n soort functie inbouwen, ook omdat het volgens mij redelijk uniek is in de forum-wereld (niet dat ik het gechecked heb: ik heb niet gekeken naar andere fora, en vooral niet naar wat voor functies ze hadden (qua admin gebeuren enzo) om zo clean mogelijk te blijven en ik kan zeggen dat ik het helemaal van scratch, zelf, alleen, heb gemaakt en verzonnnen.
PS2: Pardon de lap tekst.
PS3: Dit alles gaat dus alleen om de core-bestanden van mijn forum, dit zijn er zo'n 25-40 ofzo, maar iets van die orde.
PS4: En ik wil dit uberhaupt weten hoe te doen, aangezien ik het wel makkelijk zou vinden om zo mijn eigen website ook up-to-date te houden: met een webpagina'tje, die gewoon alle belangrijke source files compared en update...
[ Voor 12% gewijzigd door Cavorka op 21-11-2003 21:19 ]
the-blueprints.com - The largest free blueprint collection on the internet: 50000+ drawings.