Replacementtags

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 14:37
Beste Tweakers,

Ik moet bestaande configuratie bestanden aanpassen zoals bijvoorbeeld een vhost of ini bestanden. Dit moet gedaan worden met een programmeertaal die bepaalde waardes aanpast binnen die configuratiebestanden.

Nu heb ik me zitten afvragen hoe ik dit het beste kan aanpakken. De configuratiebestanden zijn templates die met waardes gevuld moeten worden maar hoe kan ik het beste aangeven waar wat ingevuld moet worden.

Ik kwam met het idee om replacementtags te gebruiken zoals:

code:
1
#domein_email:{EMAIL}


of

code:
1
#domein_email:<sitebuilder>email</sitebuilder>


En dat de tags vervangen worden door de juiste waarde.

Hebben jullie nog beter ideeën? Want persoonlijk vind ik dit alsnog niet een erg nette oplossing :)


Edit:
Sorry in verkeerde forumcategorie geplaatst. Hoort in Software Engineering & Architecture

[ Voor 7% gewijzigd door ZeroXT op 11-04-2012 15:40 ]


Acties:
  • 0 Henk 'm!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

De configuratiebestanden bestaan dus al en de templates ook?
Is het dan zo dat je tool de templates inleest en hieruit een configuratiebestand genereert?
Als je de configuratiebestanden live aanpast dan is het {EMAIL} veld bijvoorbeeld al en een keer vervangen en kan je die dus niet meer vinden?

Last.fm | Code Talks


Acties:
  • 0 Henk 'm!

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 14:37
Dat klopt. Ik heb dus een template bestand van een configuratebestand waar bepaalde waardes ingevoerd moeten worden door middel van een script. Mijn vraag is dus hoe ik het beste dat script de waardes in kan laten vullen. Of ik uberhaupt aan replacementsstrings moet denken of juist het script laten bepalen waar een specifieke waarde ingevuld moet worden aan de hand van het bepalen op welke lijn en welk karakterindex iets vervangen moet worden.

Ik noem maar een voorbeeld. Iemand een geniaal idee? :)

Acties:
  • 0 Henk 'm!

  • Avalaxy
  • Registratie: Juni 2006
  • Laatst online: 09:14
Wat een gedoe, is XML is gewoon een betere optie?

Acties:
  • 0 Henk 'm!

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 14:37
XML is hier geen optie want het zijn allemaal verschillende bestanden die soms zelfs puur code is. Dat kan en wil je niet omzetten naar XML. Maar in die bestanden zitten dus bepaalde waardes die veranderd moeten worden

Acties:
  • 0 Henk 'm!

  • Afvalzak
  • Registratie: Oktober 2008
  • Laatst online: 31-08 12:02

Afvalzak

Zet jij mij even buiten?

Volgens mij is de manier die je aangeeft in je OP wel de makkelijkste (snelste weet ik niet zeker) manier.
Vrijwel elke taal heeft wel een replaceAll() achtige functie die je kan gebruiken.

Templatefile inlezen.
Zoeken naar { ** } vervangen door ...

lijkt me vrij simpel en goed te doen :)

edit:
Als in alle configuratiefiles de opmaak hetzelfde is, bijvoorbeeld:

#optienaam: waarde
#optienaam2 : waarde

zou je natuurlijk elke regel in kunnen lezen en kunnen splitsen op ':' dan heb je de optienaam en de andere waarde kan je vervangen door de nieuwe waarde.
Maar ik vermoed dat php.ini en vhost etc. toch andere opmaak heeft?

[ Voor 36% gewijzigd door Afvalzak op 12-04-2012 08:54 ]

Last.fm | Code Talks


Acties:
  • 0 Henk 'm!

  • ZeroXT
  • Registratie: December 2007
  • Laatst online: 14:37
Ik hoopte eigenlijk op een andere oplossing want vind het zelf geen nette oplossing. Er zit wel wat verschil tussen de opmaak en syntax tussen vhost.conf en php.ini. Maar ik moet alleen vhosts.conf en php bestanden aanpassen.

Het doel is het automatisch aanmaken van een website met basiselementen en deze ook in apache vhost te laten registreren als domein of subdomein van een website. Dus ik moet de vhost aanpassen maar ook htaccess bestanden en ik moet on the fly htpasswd bestanden aanmaken wanneer dit nodig is.

Enkele waardes in een config.php die elke website standaard heeft, moet ook worden aangepast dus er is niet 1 unieke opmaak omdat ik met verschillende bestanden werk.

Er wordt in de applicatie automatisch:
- Een ftp account aangemaakt (optioneel)
- Domein of subdomein aangemaakt
- Website wordt beveiligd (optioneel)
- Website type keuze uit een directorylisting of een complete website incl. database etc. (klein framework voor een stevige basis voor een website)
- Keuze uit verschillende classes die ready for use zijn (paginanummers, upload, resize afbeeldingen, grafiek, download, database en kleuren (bepalen van de hoofdkleur van een afbeelding) classes)
- Sitedebug in of uitschakelen

En gisteren bedacht ik me dat dit al een goede basis is voor het automatisch aanmaken van websites incl domein en subdomeinen voor een webhostingbedrijf :)

Apache op windows ondersteund helaas niet een 'graceful' restart waarbij alleen de config files zoals vhosts opnieuw worden ingeladen zonder de hele webserver opnieuw te laten opstarten. Dus vandaar dat ik via de site ook de optie heb toegevoegd om de webserver te laten herstarten met een stop en start commando. :)
Pagina: 1