Intro: Ik open dit topic om commetaar te krijgen op de manier van scripten die ik gebruik voor een open-source project waar ik me al enige tijd mee bezig hou.
Ik zou het erg fijn vinden dat gebruikers hier NIET reageren met supportvragen, voor support heb ik een eigen forum.
Geschiedenis van het project:
Ik gebruik Active Desktop (AD) al sinds het vroege begin van dat project. Ik was daarvoor bezig met wat dingen uit te werken, zoals een Winamp Besturing via mijn AD. Op den duur kwam ik op het idee om HardeSchijf informatie op mijn AD neer te zetten. Ik ben toen gaan zoeken naar een manier om de hardeschijfinformatie netjes weer te geven. Aldoende groeide het script, en dus ook de slordigheid. Om het wat makkelijker voor mezelf te maken heb ik het toen opnieuw gescript, betere manieren bedenken om het zo dynamisch mogelijk weer te geven. Ook had ik toen het script voor het eerst online gezet als open-source project.
In de loop der tijd ben ik tegen veel fouten aan gelopen van het systeem wat ik toen gebruikte (het systeem wat sommige wel zullen kennen als PHPMyStats (demo)). Vanwegen de fouten (denk aan security / incompatibiliteit) ben ik dus maar opnieuw gaan denken hoe ik dat het beste kon oplossen. Ook kon ik nou makkelijk nieuwe features inbouwen die vroeger helemaal niet mogelijk zijn geweest.
XML Server is een script dat gegevens verwerkt op een willkeurige computer/server, en zal tonen als een XML document. Om het later dus weer makkelijk met andere programma's / scripts uit te kunnen lezen. XML Server heeft ondersteuning voor module's, die je simpelweg in de modules directory moet plaatsen, om zodoende nieuwe informatie verwerking methodes toe te voegen.
Ik heb gekozen voor een losse gegevensuitlees methode zodat je met 1 Client dus theoretisch een onbeperkt aantal XML Servers kan uitlezen. Zo hoef je maar 1 server binnen je netwerk openbaar te maken voor HTTP verkeer (portmap). Daardoor kan je vanaf een externe locatie altijd zien wat er met je servers gebeurt.
Featurelist PHPMyServer - XML Server (zoals het zou moeten worden als alles klaar is):
• PHP4 en PHP5
• Windows en Linux
• Zo ongeveer iedere webserver moet ondersteund worden, geen speciale rechten/modules nodig voor de webserver.
Op het moment werken de PHP5 en Linux ondersteuning nog niet (Linux is al iets aan gedaan, PHP5 nog niet). Hier komt dus natuurlijk wel verandering in, maar ik kan niet alles tegenlijk. En ik draai het project alleen, dus geen (of zelden) hulp van anderen.
Ook kan je gebruikmaken van een rechten systeem:
• Access from all
• Access from localhost
• Access from IP reeks
Dit systeem moet ook nog afgemaakt worden.
Lite Client is een client die de gegenereerde XML data om zet naar iets leesbaars. De output die de Lite Client heeft kan je geheel zelf bepalen, door een templatefile aan te passen. De Lite Client kan ook zoeken naar update's op een update-server. Zodat je er zeker van bent dat je installatie up2date is. Je kan (zonder aanpassingen) gegevens uitlezen van één (1) XML Server.
Ik maak gebruik van een zelf gemaakte template parser die ik op wel meer website's gebruik. Hij werkt opzich goed, niet helemaal perfect natuurlijk. Ik heb de keuze gemaakt om een template parser te gebruiken boven XSL, omdat XSL niet standaard in PHP zit (alleen als experimenteel iets).
• 1 server monitoren.
• Controle op update's, zodat je systeem up2date blijft (security/bugfix).
• Onbeperkt aantal templates. Je kan er een hardcoden (op mapnaam), of bijvoorbeeld een dropdown-box.
Ik wil de manier van PARSEN nog aanpassen, de loopjes zijn nou als volgt: {LOOP=LOOPNAAM}
Dat is niet een nette manier, want als je in een andere module die naam ook wil gebruiken (wat perongeluk kan gebeuren) dan kan dat niet. Dus dat ga ik nog veranderen naar: {LOOP=MODULENAAM_LOOPNAAM}.
Ook moet ik nog wat verduidelijken in de manier dat ik mijn XML gegevens uitlees, dat is niet helemaal netjes kwa script (zie index.php4.php). Maar dat komt nog wel.
Ook kan je gebruikmaken van een rechten systeem:
• Access from all
• Access from localhost
• Access from IP reeks
Dit systeem moet ook nog afgemaakt worden.
Pro Client is een toevoeging op de Lite Client, hij heeft dus meer mogelijkheden. Denk aan features als:
• Meerdere servers toevoegen, waardoor je met bijvoorbeeld tabbladen kan wisselen tussen de servers.
• Maakt gebruik van een MySQL database (wat de Lite Client dus niet doet), om gegevens op te slaan. Denk aan de lijst met servers (zie vorige puntje), maar ook andere functies die ik nog niet heb bedacht. Omdat ik eerst de Lite Client klaar wil hebben en de standaard goed uitgewerkt voordat ik een nieuw script wil maken.
Links naar alle genoemde scripts:
Je kan XML Server en Lite Client hier downloaden.
Ik kan op het moment de FTP van PHPMyServer.com niet op, dus als iemand even kan helpen met mirroren?
[UPDATE!!]
v2.1 hier downloaden.
Laatste note: Het script is dus nog lang niet af, maar werkt (hier en op mijn werk) goed. Ik release dit speciaal vanwegen het commetaar wat ik er op kan krijgen, en zodoende grote fouten kan voorkomen. Denk aan betere manieren om dingen te regelen, die ik bijvoorbeeld raar/gaar geregeld heb, als iemand dat soort dingen ziet, dan heb ik dat liever NU dan over 3 maanden als het nog veel verder is. En daardoor veel meer moet veranderen dan ik nou zou moeten veranderen.
Dit topic is met toestemming van de P&W mods.
Ik zou het erg fijn vinden dat gebruikers hier NIET reageren met supportvragen, voor support heb ik een eigen forum.
Geschiedenis van het project:
Ik gebruik Active Desktop (AD) al sinds het vroege begin van dat project. Ik was daarvoor bezig met wat dingen uit te werken, zoals een Winamp Besturing via mijn AD. Op den duur kwam ik op het idee om HardeSchijf informatie op mijn AD neer te zetten. Ik ben toen gaan zoeken naar een manier om de hardeschijfinformatie netjes weer te geven. Aldoende groeide het script, en dus ook de slordigheid. Om het wat makkelijker voor mezelf te maken heb ik het toen opnieuw gescript, betere manieren bedenken om het zo dynamisch mogelijk weer te geven. Ook had ik toen het script voor het eerst online gezet als open-source project.
In de loop der tijd ben ik tegen veel fouten aan gelopen van het systeem wat ik toen gebruikte (het systeem wat sommige wel zullen kennen als PHPMyStats (demo)). Vanwegen de fouten (denk aan security / incompatibiliteit) ben ik dus maar opnieuw gaan denken hoe ik dat het beste kon oplossen. Ook kon ik nou makkelijk nieuwe features inbouwen die vroeger helemaal niet mogelijk zijn geweest.
XML Server is een script dat gegevens verwerkt op een willkeurige computer/server, en zal tonen als een XML document. Om het later dus weer makkelijk met andere programma's / scripts uit te kunnen lezen. XML Server heeft ondersteuning voor module's, die je simpelweg in de modules directory moet plaatsen, om zodoende nieuwe informatie verwerking methodes toe te voegen.
Ik heb gekozen voor een losse gegevensuitlees methode zodat je met 1 Client dus theoretisch een onbeperkt aantal XML Servers kan uitlezen. Zo hoef je maar 1 server binnen je netwerk openbaar te maken voor HTTP verkeer (portmap). Daardoor kan je vanaf een externe locatie altijd zien wat er met je servers gebeurt.
Featurelist PHPMyServer - XML Server (zoals het zou moeten worden als alles klaar is):
• PHP4 en PHP5
• Windows en Linux
• Zo ongeveer iedere webserver moet ondersteund worden, geen speciale rechten/modules nodig voor de webserver.
Op het moment werken de PHP5 en Linux ondersteuning nog niet (Linux is al iets aan gedaan, PHP5 nog niet). Hier komt dus natuurlijk wel verandering in, maar ik kan niet alles tegenlijk. En ik draai het project alleen, dus geen (of zelden) hulp van anderen.
Ook kan je gebruikmaken van een rechten systeem:
• Access from all
• Access from localhost
• Access from IP reeks
Dit systeem moet ook nog afgemaakt worden.
Lite Client is een client die de gegenereerde XML data om zet naar iets leesbaars. De output die de Lite Client heeft kan je geheel zelf bepalen, door een templatefile aan te passen. De Lite Client kan ook zoeken naar update's op een update-server. Zodat je er zeker van bent dat je installatie up2date is. Je kan (zonder aanpassingen) gegevens uitlezen van één (1) XML Server.
Ik maak gebruik van een zelf gemaakte template parser die ik op wel meer website's gebruik. Hij werkt opzich goed, niet helemaal perfect natuurlijk. Ik heb de keuze gemaakt om een template parser te gebruiken boven XSL, omdat XSL niet standaard in PHP zit (alleen als experimenteel iets).
Featurelist PHPMyServer - Lite Client (op moment van final release):Bron: http://nl2.php.net/xsl
Deze module is EXPERIMENTEEL. Dat betekent, dat het gedrag van deze functies, deze functienamen, in concreto ALLES dat hier gedocumenteerd is in een toekomstige uitgave van PHP ZONDER WAARSCHUWING kan veranderen. Wees gewaarschuwd, en gebruik deze module op eigen risico.
• 1 server monitoren.
• Controle op update's, zodat je systeem up2date blijft (security/bugfix).
• Onbeperkt aantal templates. Je kan er een hardcoden (op mapnaam), of bijvoorbeeld een dropdown-box.
Ik wil de manier van PARSEN nog aanpassen, de loopjes zijn nou als volgt: {LOOP=LOOPNAAM}
Dat is niet een nette manier, want als je in een andere module die naam ook wil gebruiken (wat perongeluk kan gebeuren) dan kan dat niet. Dus dat ga ik nog veranderen naar: {LOOP=MODULENAAM_LOOPNAAM}.
Ook moet ik nog wat verduidelijken in de manier dat ik mijn XML gegevens uitlees, dat is niet helemaal netjes kwa script (zie index.php4.php). Maar dat komt nog wel.
Ook kan je gebruikmaken van een rechten systeem:
• Access from all
• Access from localhost
• Access from IP reeks
Dit systeem moet ook nog afgemaakt worden.
Pro Client is een toevoeging op de Lite Client, hij heeft dus meer mogelijkheden. Denk aan features als:
• Meerdere servers toevoegen, waardoor je met bijvoorbeeld tabbladen kan wisselen tussen de servers.
• Maakt gebruik van een MySQL database (wat de Lite Client dus niet doet), om gegevens op te slaan. Denk aan de lijst met servers (zie vorige puntje), maar ook andere functies die ik nog niet heb bedacht. Omdat ik eerst de Lite Client klaar wil hebben en de standaard goed uitgewerkt voordat ik een nieuw script wil maken.
Links naar alle genoemde scripts:
| Product | URL |
| PHPMyStats (old-project demo) | http://baracuda.homeip.net/phpmystats |
| PHPMyServer - XML Server (demo) | http://baracuda.homeip.net/phpmyserver/server |
| PHPMyServer - Lite Client (demo) | http://baracuda.homeip.net/phpmyserver/lite |
| PHPMyServer - Off. Website | http://www.phpmyserver.com/ |
Je kan XML Server en Lite Client hier downloaden.
Ik kan op het moment de FTP van PHPMyServer.com niet op, dus als iemand even kan helpen met mirroren?
[UPDATE!!]
v2.1 hier downloaden.
Laatste note: Het script is dus nog lang niet af, maar werkt (hier en op mijn werk) goed. Ik release dit speciaal vanwegen het commetaar wat ik er op kan krijgen, en zodoende grote fouten kan voorkomen. Denk aan betere manieren om dingen te regelen, die ik bijvoorbeeld raar/gaar geregeld heb, als iemand dat soort dingen ziet, dan heb ik dat liever NU dan over 3 maanden als het nog veel verder is. En daardoor veel meer moet veranderen dan ik nou zou moeten veranderen.
Dit topic is met toestemming van de P&W mods.
[ Voor 5% gewijzigd door Verwijderd op 13-06-2005 21:50 ]