Beste Tweakers,
Ik heb wat vragen over mijn werkwijze en de daarbij behorende tools. Al enige jaren ontwikkel ik websites. Het betreft voornamelijk eenvoudige websites, maar ik heb wat grotere projecten gedaan en verricht dagelijks onderhoud aan twee websites. Vooralsnog is vrijwel alles gebouwd met PHP en MySQL en daarnaast HTML, CSS & JS. Ik doe dit met programma’s als EditPad/PSPad en MySQL Front.
Graag zou ik jullie advies willen over het volgende:
Huidige/oude situatie
Ik heb lokaal een webserver met daarop Apache en MySQL. Deze heeft alle projecten in een directory staan welke op apache draait (http://webserver/project/) en geshared is. Vanaf mijn werkstation benader ik de share met editors als PSPad en de MySQL server met MySQL Front. Wijzigingen upload ik met FileZilla. Als er veel is aangepast, zip ik het hele gebeuren en plaats dit naar een andere directory op de server.
Nu ben ik op het punt gekomen dat ik het wat beter wil gaan aanpakken. De projecten worden groter en ik merk gewoon dat alles beter kan. Zelf heb ik het volgende in gedachten:
Beoogde/nieuwe situatie
Op de server wil ik SVN gaan draaien. Als ontwikkel-omgeving Eclipse samen met PHP IDE (van Zend) en Aptana voor het editten, Subclipse voor SVN en QuantumDB of SQLExplorer voor connectie met de MySQL server.
Op het moment ben ik hier wat mee aan het testen. Dit alles gaat niet zo soepel: installatie Eclipse was lastig, werken met Eclipse heb ik nog niet helemaal door, en ook met SVN ben ik nog lerende.
Issues
Op voorhand leek mij deze methode ideaal, maar daar ben ik nu niet meer van overtuigd. Daarom wil ik jullie graag de volgende issues vragen voorleggen:
1) Project management
In SVN wil ik in een repository alle projecten onderbrengen. Het zijn er over de jaren nogal wat. De hoofddirectories wil ik daarom indelen met ‘/a /b /c /d …’ en daaronder de klanten ‘/b/bedrijf_x’ met daaronder (eventueel) de verschillende projecten ‘/b/bedrijf_x/www_v1’.
In de oude situatie heb ik eenzelfde directory structuur op de server’s HD. Deze is geshared en hier zit ik op te werken.
In de nieuwe situatie moet ik in Eclipse telkens een project aanmaken en bestanden importeren. Ik heb dan op mijn eigen pc een Eclipse ‘workbench’ met wat projecten. Om deze te testen moet ik zelf ook een webserver lokaal gaan draaien. Ik zie hierin geen problemen, maar wel een stuk meer werk. Op een gemiddelde dag pak ik zeg 3-8 projecten erbij om wat kleine dingen in aan te passen. Het lijkt me ook krom om alle projecten in Eclipse en op de SVN server te hebben staan. Het projecten-beheer van Eclipse lijkt me daarom veel werk. Overigens heeft vrijwel iedere IDE volgens mij een soortgelijk project management. Hoe kan ik hier het beste mee omgaan?
2) Libraries
Bij het bouwen van mijn websites gebruik ik steeds vaker vaste PHP bestanden (libraries). Wat ‘echte’ libraries en wat eigen brouwsel. Volgens mij kan ik deze op een enkele plaats beheren en per project wat libraries ‘includen’ in Eclipse? Maar hoe moet dit met het eigen brouwsel? Kan ik de eigen scripts standaard ergens anders vandaan halen, en indien aangepast apart bij het project zetten of iets dergelijks?
3) FTP
Gezien de vele projecten ben ik ook nogal eens bezig met het uploaden van bestanden op losse FTP shared webhosting accounts. Dit zou ik graag eenvoudiger doen. Eerder heb ik getest met SVN, maar hierdoor werd het oploaden lastiger: bestanden editten, svn committen, svn directory ergens anders naar exporteren, dat vervolgens uploaden. Het committen van svn is ideaal: tegen een directory zeggen dat de wijzigingen klaar zijn en hij zoekt vervolgens uit wat gewijzigd is en stuurt dit naar de server (ik weet dat ik jullie dit niet hoef uit te leggen
). Dezelfde bestanden (omvat ook afbeeldingen e.d.) wil ik eigenlijk uploaden naar een project-specifieke FTP host, mocht ik hiervoor kiezen (en dus niet als ik half werk tijdelijk opsla/commit). Kan ik dit op een of andere manier inpassen in mijn Eclipse gebaseerde werkwijze?
4) Webserver / debugger
Mijn collega (niet developer) werkt op hetzelfde netwerk en maakt nogal eens gebruik van de CMS’en van de verschillende projecten. Zoals gezegd staan alle projecten gepubliceerd via de webserver en kan hij daarbij. Graag zou ik deze server ook gebruiken met debuggen. Daarom zie ik het ook niet zitten om op mijn eigen pc de test-omgeving te creeren (als ik er niet ben, server uit de lucht + remote toegang). Verder kan ik een PHP debugger voor Eclipse volgens mij alleen gebruiken als deze op mijn eigen pc heb staan. Deze wil ik dus liever aanroepen van de server. Of begrijp ik dit verkeerd?
Over het algemeen lijkt het erop dat Eclipse gemaakt is voor ontwikkelaars die een klein aantal projecten onder handen hebben. Echter spreekt Eclipse en haar hele IDE principe (met plugins als Aptana en Subclipse) mij nogal aan. Ik heb ook getest met Zend Studio, Nusphere, en een hoop andere PHP editors en overige tools, maar deze lijken mij niet fijn werken in de algehele aanpak. Ik ben zeker bereid veel tijd te investeren in een goede werkwijze. Ik dacht deze gevonden te hebben, maar dit blijkt vooralsnog lastig. Kunnen jullie mij helpen met bovenstaande issues?
Alvast super bedankt!
Ik heb wat vragen over mijn werkwijze en de daarbij behorende tools. Al enige jaren ontwikkel ik websites. Het betreft voornamelijk eenvoudige websites, maar ik heb wat grotere projecten gedaan en verricht dagelijks onderhoud aan twee websites. Vooralsnog is vrijwel alles gebouwd met PHP en MySQL en daarnaast HTML, CSS & JS. Ik doe dit met programma’s als EditPad/PSPad en MySQL Front.
Graag zou ik jullie advies willen over het volgende:
Huidige/oude situatie
Ik heb lokaal een webserver met daarop Apache en MySQL. Deze heeft alle projecten in een directory staan welke op apache draait (http://webserver/project/) en geshared is. Vanaf mijn werkstation benader ik de share met editors als PSPad en de MySQL server met MySQL Front. Wijzigingen upload ik met FileZilla. Als er veel is aangepast, zip ik het hele gebeuren en plaats dit naar een andere directory op de server.
Nu ben ik op het punt gekomen dat ik het wat beter wil gaan aanpakken. De projecten worden groter en ik merk gewoon dat alles beter kan. Zelf heb ik het volgende in gedachten:
Beoogde/nieuwe situatie
Op de server wil ik SVN gaan draaien. Als ontwikkel-omgeving Eclipse samen met PHP IDE (van Zend) en Aptana voor het editten, Subclipse voor SVN en QuantumDB of SQLExplorer voor connectie met de MySQL server.
Op het moment ben ik hier wat mee aan het testen. Dit alles gaat niet zo soepel: installatie Eclipse was lastig, werken met Eclipse heb ik nog niet helemaal door, en ook met SVN ben ik nog lerende.
Issues
Op voorhand leek mij deze methode ideaal, maar daar ben ik nu niet meer van overtuigd. Daarom wil ik jullie graag de volgende issues vragen voorleggen:
1) Project management
In SVN wil ik in een repository alle projecten onderbrengen. Het zijn er over de jaren nogal wat. De hoofddirectories wil ik daarom indelen met ‘/a /b /c /d …’ en daaronder de klanten ‘/b/bedrijf_x’ met daaronder (eventueel) de verschillende projecten ‘/b/bedrijf_x/www_v1’.
In de oude situatie heb ik eenzelfde directory structuur op de server’s HD. Deze is geshared en hier zit ik op te werken.
In de nieuwe situatie moet ik in Eclipse telkens een project aanmaken en bestanden importeren. Ik heb dan op mijn eigen pc een Eclipse ‘workbench’ met wat projecten. Om deze te testen moet ik zelf ook een webserver lokaal gaan draaien. Ik zie hierin geen problemen, maar wel een stuk meer werk. Op een gemiddelde dag pak ik zeg 3-8 projecten erbij om wat kleine dingen in aan te passen. Het lijkt me ook krom om alle projecten in Eclipse en op de SVN server te hebben staan. Het projecten-beheer van Eclipse lijkt me daarom veel werk. Overigens heeft vrijwel iedere IDE volgens mij een soortgelijk project management. Hoe kan ik hier het beste mee omgaan?
2) Libraries
Bij het bouwen van mijn websites gebruik ik steeds vaker vaste PHP bestanden (libraries). Wat ‘echte’ libraries en wat eigen brouwsel. Volgens mij kan ik deze op een enkele plaats beheren en per project wat libraries ‘includen’ in Eclipse? Maar hoe moet dit met het eigen brouwsel? Kan ik de eigen scripts standaard ergens anders vandaan halen, en indien aangepast apart bij het project zetten of iets dergelijks?
3) FTP
Gezien de vele projecten ben ik ook nogal eens bezig met het uploaden van bestanden op losse FTP shared webhosting accounts. Dit zou ik graag eenvoudiger doen. Eerder heb ik getest met SVN, maar hierdoor werd het oploaden lastiger: bestanden editten, svn committen, svn directory ergens anders naar exporteren, dat vervolgens uploaden. Het committen van svn is ideaal: tegen een directory zeggen dat de wijzigingen klaar zijn en hij zoekt vervolgens uit wat gewijzigd is en stuurt dit naar de server (ik weet dat ik jullie dit niet hoef uit te leggen
4) Webserver / debugger
Mijn collega (niet developer) werkt op hetzelfde netwerk en maakt nogal eens gebruik van de CMS’en van de verschillende projecten. Zoals gezegd staan alle projecten gepubliceerd via de webserver en kan hij daarbij. Graag zou ik deze server ook gebruiken met debuggen. Daarom zie ik het ook niet zitten om op mijn eigen pc de test-omgeving te creeren (als ik er niet ben, server uit de lucht + remote toegang). Verder kan ik een PHP debugger voor Eclipse volgens mij alleen gebruiken als deze op mijn eigen pc heb staan. Deze wil ik dus liever aanroepen van de server. Of begrijp ik dit verkeerd?
Over het algemeen lijkt het erop dat Eclipse gemaakt is voor ontwikkelaars die een klein aantal projecten onder handen hebben. Echter spreekt Eclipse en haar hele IDE principe (met plugins als Aptana en Subclipse) mij nogal aan. Ik heb ook getest met Zend Studio, Nusphere, en een hoop andere PHP editors en overige tools, maar deze lijken mij niet fijn werken in de algehele aanpak. Ik ben zeker bereid veel tijd te investeren in een goede werkwijze. Ik dacht deze gevonden te hebben, maar dit blijkt vooralsnog lastig. Kunnen jullie mij helpen met bovenstaande issues?
Alvast super bedankt!