Versiebeheer met Dreamweaver

Status
Niet open voor verdere reacties.

wimwijnacker

Nieuwe gebruiker
Lid geworden
15 dec 2009
Berichten
2
Ik zoek een eenvoudige methode voor versie beheer waarbij ik de gewijzigde bestanden naar een bestaande website upload die dan op een ander webadres (op dezelfde server) beschikbaar is voor controle door derden. De rest van de wereld ziet nog steeds de oude versie van de website. Zodra iedereen het er over eens is, wil ik de gewijzigde bestanden over die van de oude versie zetten. En helemaal mooi zou zijn wanneer ik dat ook weer ongedaan kan maken en de (of een) vorige versie terug kan zetten.

Met Dreamweaver kan ik gewijzigde pagina's uploaden, maar dan overschrijf ik meteen de bestanden op de server, de oude versie is verdwenen en iedereen ziet meteen de nieuwe versie. Ik heb niet een aparte test machine (server) en wil dat eigenlijk ook niet.

Ik ben er al een tijdje uit, dus misschien dat er tegenwoordig handige tools voor zijn. Een slimme tip zou ook helpen.
 
Laatst bewerkt:
Hoi Wim,
Ik gebruik geen Dreamweaver (maar Kladblok), en doe dit als volgt. Stel dat de pagina nieuws.htm heet, dan:


  • Sla ik de gewijzigde pagina op met een eigen naam, door toevoeging van de datum: nieuws_2012-05-15.htm
  • Die ga ik oploaden, zodat ik op m'n gemak kan bekijken of alles naar wens is, als ik het webadres van die pagina intik.
  • Hij draait dus gewoon parallel naast de echte nieuws.htm pagina - en vanuit de gewone site kan je er niet bij.
  • Alles in orde? Dan neem ik FileZilla als FTP-bekijker ter hand, en zie dus zowel nieuws.htm als nieuws_2012-05-15.htm in het betreffende mapje van de server staan.
  • Op de server verwijder ik nu eerst de nieuws.htm.
  • Daarna hernoem ik op de server de nieuws_2012-05-15.htm tot nieuws.htm > de site draait nu op de nieuwe versie.
  • Meteen daarna ga ik nog een keer de nieuws_2012-05-15.htm uploaden.
  • Nu staat ie dus twee keer op de server.
  • De kopie is voor de volgende keer: dan kan ik bv. bij een goedgekeurde wijziging nieuws_2012-06-03.htm ongestraft de nieuws.htm wissen, om de nieuws_2012-06-03.htm te herdopen tot nieuws.htm (en vervolgens de nieuws_2012-06-03.htm er als kopie nog een keer in te zetten).
  • Op deze manier staat er in het mapje een heel rijtje versies met hun datum, terwijl de laatste versie er dubbel in staat.
  • Zo kan ik altijd ook weer terug door simpel hernoemen.
  • Ik kan natuurlijk ook géén kopie op de server zetten (het rijtje is er lokaal tenslotte ook), maar ik vind het wel zo safe: mocht ik thuis crashen, dan staan er altijd reserve-kopieën op de server, keurig gesorteerd op datum. :)

Met vriendelijke groet,
CSShunter
 
Laatst bewerkt:
@csshunter: Bedankt voor je snelle reactie. Dat lijkt me wel een slimme methode. Maar eigenlijk zoek ik een soort van tweede werkende versie van de site.

Het gaat om een bestaande site van een vriend (bijv. www.zijnsite.nl) die werkt en moet blijven werken. Ik maak een aantal wijzigingen (html, php, css en ruimteverslindende foto's en filmpjes) en wil dat mijn vriend de nieuwe site kan testen (bijv. versie1.zijnsite.nl) op dezelfde server terwijl de oude (www.zijnsite.nl) gewoon nog werkt. Na goedkeuring wil ik de gewijzigde bestanden plaatsen en de oude versie van die bestanden archiveren. Liefst zonder dat ik moet uitzoeken wat ik nou allemaal precies had veranderd of een volledige kopie van de site te maken.
 
Hoi Wim,
Je stelt als "programma van eisen":
  1. Ik wil dat mijn vriend de nieuwe site kan testen op dezelfde server terwijl de oude site gewoon nog werkt ...
  2. ... zonder een volledige kopie van de site te maken,
  3. ... en zonder dat ik moet uitzoeken wat ik nou allemaal precies had veranderd.

Ik weet het niet 100% zeker, maar het lijkt me dat er wat tegenstrijdige eisen spelen:

Eis 2 betekent dat er alleen de gewijzigde bestanden bij mogen komen, zonder de hele rest te verdubbelen.
Dan moet ofwel:
  • Optie A: het bestand in een subdomein of subdirectory geplaatst worden, en kan dan de oude naam houden.
ofwel:
  • Optie B: het bestand een andere naam krijgen en kan dan in dezelfde map als het oude bestand geplaatst worden.

=======

Optie A (zelfde naam, andere plaats)
Als een nieuwe/gewijzigde pagina op een andere plek staat, moeten wel alle onveranderde verwijzingen (interne links naar bv. css- en javascriptbestanden, plus gehandhaafd beeldmateriaal) overeind blijven.
Dat kan door ofwel:
  • hard coderen van alle interne verwijzingen (bv. <img scr="http://zijnsite.nl/images/logo.png" ... />), ofwel:
  • relatieve links gebruiken, maar een <base href="http://zijnsite.nl/..." /> in de <head> toevoegen.
    Stel de oude pagina zit hier: zijnsite.nl/paginas/nieuws.htm, en de nieuwe zit hier: zijnsite.nl/test/nieuws.htm, dan moet het worden: <base href="http://zijnsite.nl/paginas/" />.
  • Als de nieuwe versie wordt goedgekeurd: in beide gevallen geen probleem. Dan kan de oude pagina overschreven worden door de nieuwe.
  • Als de nieuwe versie wordt afgekeurd: ook in beide gevallen geen probleem. Dan kan de nieuwe pagina gewoon gewist worden uit de test-directory.

Maar:
  • Complicatie 1: als de nieuwe wordt goedgekeurd en je alles ook nog wilt kunnen terugzetten, mag de oude pagina (in elk geval lokaal) niet gewist worden. Dwz: eerst lokaal opslaan in bv. een mapje "archief" - maar dan moet de oude pagina toch een nieuwe naam krijgen, anders is er geen verschil met een latere gewijzigde versie van dezelfde pagina die er in het archief bij komt.
  • Complicatie 2: als het gaat om een afgeleide van een pagina (of: van alle pagina's), dan kan deze methode niet. Stel er komt een wijziging in het css-opmaakmodel (bv. van 3 naar 2 koloms) dan moet een duplicaat-pagina gemaakt worden die verwijst naar een ander css-bestand dan het oude, anders gaat de bestaande site om zeep.
    Bij goedkeuring van de nieuwe styles moet dan toch de oude versie gewist worden en die met de nieuwe naam omgedoopt worden in de normale naam (en ook weer gebackupt met een eigen naam).
    Hetzelfde geldt voor bv. een vervangende foto op dezelfde pagina.
  • Complicatie 3: de complicaties gaan stapelen, als er zowel tekst als css als foto's op een pagina veranderd worden.
    Bv. een testpagina met nieuwe kop (die als achtergrond-img via de css wordt aangehaakt). Dan moet zowel het css-bestand een (tijdelijke) andere naam krijgen als de kop-afbeelding, anders gaat het fout door het systeem van de absolute interne links. Bij goedkeuring moeten ze dan alle twee aangepast worden.

Ergo: om het allemaal te kunnen overzien, lijkt me een "boekhouding der wijzigingen" nodig.
Dat is dan in strijd met eis 3: "zonder uitzoeken wat ik nou allemaal precies had veranderd".

=======

Optie B (zelfde plaats, andere naam)
Je verandert een pagina, dwz alleen de tekst in de content > dan kan mijn methode toegepast worden.
Je verandert méér op een pagina, bv. je verandert een "ruimteverslindende foto" > dan moet zowel de nieuwe pagina-versie als de nieuwe foto geupload worden.
  • Geen probleem > dan kan mijn methode toegepast worden op de nieuwe pagina (oude paginanaam plus wijzigings-datum), en ook op de nieuwe foto (fotonaam plus dezelfe wijzigings-datum).
  • Om de nieuwe pagina te laten werken, moet daarop dus een link naar de nieuwe foto (met datum!) staan.

Vervolgens zijn er twee mogelijkheden:
  1. Als de nieuwe versie wordt goedgekeurd: oude pagina-bestand moet gewist worden, nieuwe pagina-bestand moet link naar definitieve foto-naam krijgen, en moet herdoopt worden in oude naam. Plus: oude foto-bestand moet gewist worden, nieuwe foto-bestand moet herdoopt worden in oude naam.
  2. Als de nieuwe versie wordt afgekeurd: nieuwe pagina-bestand moet gewist worden, nieuwe foto-bestand moet gewist worden.

Dit kan nog steeds allemaal.
  • Maar ... als je géén volledige kopie van de site hebt na een aanpassing (eis 2), moet je via de Verkenner (of misschien kan dat ook in DW) alle bestanden van een bepaalde datum er uit fietsen; want ze zullen in verschillende mappen staan. En dan stuk voor stuk wissen/omdopen, resp. alleen wissen (als het feest niet door gaat).
  • En/of: toch weer een boekhouding.
Dan komt eis 3: onthouden wat er veranderd is. Daar loopt het weer op stuk, want dat gebeurt niet vanzelf.

Conclusie
Ik kom er op uit, dat je of de boekhouding in moet gaan (= handmatige registratie van voorgenomen wijzigingen, met alles er op en er aan), of een schaduwsysteem (dubbele site) moet maken, waarop naar hartelust geëxperimenteerd kan worden.
Een schaduwsysteem zal zowel lokaal als op de server moeten staan.
Een gedeeltelijk schaduwsysteem (bv. voor allerhande javascripts e.d. die niet van essentieel belang zijn voor wijzigingen op een pagina) kan prima om te testen.
Maar dan zit je met het omzetten van een goedgekeurde versie: het gedeeltelijk schaduwsysteem kan je niet gebruiken om in z'n totaliteit de draaiende site te laten vervangen.
Kortom: het ligt niet zo eenvoudig. :rolleyes:
Tenzij iemand het handige tooltje weet waar je in je startvraag op doelde!

Alternatief?
Iets heel anders: de site ombouwen en laten draaien op een CMS.
Daarin kan je dan proefpagina's lanceren met bepaalde rechten (alleen na inloggen kan iemand ze zien).
En via een admin-panel kan je even een vinkje zetten: "voor publiceren goedgekeurd" > draaien maar.

Met vriendelijke groet,
CSShunter
 
Dag,
Ik wil graag (uit ervaring) ook een optie aandragen.
Dreamweaver voert juist heel makkelijk koppelingen door als je een pagina kopiëerd of verplaatst.
Ik zou het volgende willen voorstellen:
maak een nieuwe map aan (naam: "test" dus: www.zijnwebsite.nl/test/
kopieer de gehele oude website,
en plak deze oude website in de map "test"
De 2e website in de map "test" wordt tzt de nieuwe website, maar nu kan je er eerst van alles in wijzigen.
Je klant kan dan de toekomstige website testen via: www.zijnwebsite.nl/test/index.html
Niemand kent deze pagina, maar eventueel kan je via de provider er wel een toegangsslot opzetten (werkt door naar alle onderliggende pagina's)
Uit ervaring weet ik dat dit makkelijk en simpel werkt met Dreamweaver.
groeten,
Leonard
 
Hoi Leonard55,
Ja, het lijkt me dat het zo goed te doen is met Dreamweaver.
Alleen: dan is het wel een complete dubbele site (wat wimwijnacker eigenlijk niet wilde).
Versiebeheer lijkt me nog steeds lastig. Je ziet na het uploaden van de nieuwe site niet waar er veranderingen zijn gemaakt (wat wim eigenlijk wel wilde). Je zou lokaal per versie een complete site kunnen opslaan (zal pittig ruimte vragen!), als er in Dreamweaver niet een eenvoudige manier is om alleen gewijzigde onderdelen apart op te slaan en/of er uit te kunnen filteren (bv. op wijzigingsdatum; daarvoor ken ik DW onvoldoende). Anders weet je nog steeds niet waar de veranderingen zaten. Die zou je dan toch ergens handmatig moeten bijgehouden.

En nog iets heel anders.
Bij Adobe is (was?) er ook het programma "Contribute CS5".
Dit is een soort CMS dat met Dreamweaver samenwerkt. Eén exemplaar (of onderdeel) komt lokaal bij de webontwikkelaar te staan, een ander deel bij de klant. Hiermee kunnen testpagina's e.d. ter goedkeuring worden voorgelegd, als ik het goed begrijp. Er zit ook een WYSIWYG-editor bij om zelf als klant dingen te kunnen aanpassen.
Info:
In de nieuwe Creative Suite CS6 zie ik 'm zo gauw niet staan (geen idee wat dat betekent).

Misschien valt daarmee iets te doen?
Om misschien heeft iemand hier er ervaring mee?

Met vriendelijke groet,
CSShunter
 
Jazeker een goed idee CSShunter,
Je kan in CS5 met Contribute een "review" pagina aanmaken. Je e-mail programma opent zelfs automatisch een nieuw bericht met de link naar een submap waar de pagina onder review voor de klant te beoordelen is, de originele pagina blijft in tact.
Moet je wel werken vanuit Contribute, weet niet hoe dat gaat als je veel werkt met templates die je misschien ook wilt aanpassen.
groeten,
Leonard
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan