[CVS] project structuur voor CMS

Pagina: 1
Acties:

  • mark_gl
  • Registratie: September 2001
  • Laatst online: 00:25
Ik wil versie beheer gaan toepassen op mijn CMS. Nu heb ik hiervoor CVS geinstalleerd op de server. De CVS software werkt zonder problemen, echter ik heb nog aantal problemen met het bepalen van de project structuur van CVS voor mijn CMS.

Als ik het CMS ontwikkeld had voor één klant was dat geen probleem, dan maakte ik gewoon één CVS project aan voor dit CMS. Echter ik gebruik het CMS voor verschillende klanten waardoor de backend overal hetzelfde is, maar de frontend voor elke klant anders is. Hoe kan ik deze wijzigingen nu gaan vastleggen in CVS?

  • EfBe
  • Registratie: Januari 2000
  • Niet online
1) gooi CVS weg en installeer het superieure, ook gratis zijnde Subversion: http://subversion.tigris.org
2) gebruik de volgende structuur:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
- backend
    - branches
    - tags
    - trunk
- frontend
    - klantX
        - branches
        - tags
        - trunk
    - klantY
        - branches
        - tags
        - trunk

In de 'trunk' staat de 'laatste' versie. In tags maak je de tags aan, bv 'versie 1.0'. in branches ontwikkel je nieuwe dingen parallel aan de laatste versie in 'trunk'.

Zie voor meer info de meesterlijk geschreven handleiding van Subversion, die hier veel aandacht aan besteedt.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • mark_gl
  • Registratie: September 2001
  • Laatst online: 00:25
Als ik bovenstaande projectstructuur aanhoud, betekent dat ik bij het ontdekken van een "bug" deze "bugfix" moet mergen met alle frontends van alle klanten?

Het kan ook voorkomen dat er voor een bepaalde klant een aanpassingen in de backend gemaakt moeten worden. Echter deze aanpassingen niet bij alle andere klanten wil toepassen. Hoe zal ik dit dan moeten opslaan?

[ Voor 77% gewijzigd door mark_gl op 03-05-2004 12:02 ]


Verwijderd

EfBe schreef op 03 mei 2004 @ 11:40:
Zie voor meer info de meesterlijk geschreven handleiding van Subversion, die hier veel aandacht aan besteedt.
Een link is in dat geval wel handig ;) , ik neem aan dat je bedoelt:
"Version Control with Subversion"

  • EfBe
  • Registratie: Januari 2000
  • Niet online
mark_gl schreef op 03 mei 2004 @ 11:59:
Als ik bovenstaande projectstructuur aanhoud, betekent dat ik bij het ontdekken van een "bug" deze "bugfix" moet mergen met alle frontends van alle klanten?
Je kunt je front-end natuurlijk verfijnd opslaan, dus een deel 'generiek' en een deel 'klant-specifiek'. Een bugfix die alle klanten raakt, zul je dus inderdaad moeten mergen met alle klant releases. Het is daarom zaak je project zo op te zetten dat je code zo generiek mogelijk is EN dat het generieke deel los gezien kan worden van de specifieke spullen. Het doorvoeren van een bugfix voor alle klanten is dan dus maar 1 project updaten.
Het kan ook voorkomen dat er voor een bepaalde klant een aanpassingen in de backend gemaakt moeten worden. Echter deze aanpassingen niet bij alle andere klanten wil toepassen. Hoe zal ik dit dan moeten opslaan?
Dan klopt je eis niet dat het een generieke backend is. Als je in een generieke back-end klant-specifieke dingen gaat toevoegen, is het geen generieke backend meer maar heb je ook een klant-specifieke back-end.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


  • mark_gl
  • Registratie: September 2001
  • Laatst online: 00:25
Je hebt gelijk ik heb inderdaad een gedeelte van de back-end kan inderdaad klant specifiek worden.

Ik kom op de volgende code uit:

- generieke code (back-end + front-end)
- klant specifieke back-end code
- klant specifieke front-end code

Moet dit allemaal opgeslagen worden binnen één CVS project? Achterhaal je dan middels de programmeer code of er klant specifieke back-end code aanwezig is. Of zorg je middels CVS ervoor dat ipv de generieke back-end code de klant specifieke code opgehaald wordt?

Klopt dit onderstaande dan, zo ja zal ik mijn CMS mappenstructuur moeten aanpassen:
code:
1
2
3
4
5
6
- generiek (branche) -> generieke back-end + front-end code
    - klantX (branche) -> klant specifieke code

- frontend (map)
    - klantX (branche) -> klant specifieke front-end code
    - klantY (branche) -> klant specifieke front-end code

[ Voor 42% gewijzigd door mark_gl op 03-05-2004 13:12 ]

Pagina: 1