Bij deze maar weer eens een topic over CMS-en.
Ik ben al een tijdje aan het nadenken over hoe ik het beste een vorm van versie-beheer in m'n CMS zou kunnen implementeren. En die vraag is dan wat mij betreft heel breed. Ik denk bijvoorbeeld aan de volgende functionaliteiten:
- Nadat een pagina is toegevoegd aan het CMS door een gebruiker met beperkte rechten, dient deze geaccordeerd te worden door de 'Superbeheerder', alvorens deze daadwerkelijk gepubliceerd kan worden.
- Wanneer een pagina wordt aangepast, wordt bijgehouden wanneer dit is gebeurd en het is daarbij mogelijk om terug te gaan naar vorige versies van dezelfde pagina.
- Per pagina(versie) kan worden aangegeven, wanneer deze op de site gepubliceerd moet worden. Zo kan al vantevoren op komende wijzigingen binnen een organisatie worden ingespeeld.
Nu vraag ik mij eigenlijk af, hoe je dit soort functionaliteiten kan implementeren. En dat dan enerzijds aan database/code kant:
- Maak je voor elke versie van een pagina een nieuwe database-entry, of sla je alleen de verschillen op?
- Is er een toplevel-pagina entity, met daaraan verschillende versies van child-entities, of is er één pagina entity, waarvan je er voor de verschillende versies steeds één aanmaakt?
En anderzijds aan de User Interface kant (wellicht iets voor een aparte topic op WS?):
- Wordt er - elke keer als een gebruiker een pagina opslaat - een nieuwe versie van de pagina opgeslagen, of kiest de gebruiker zelf, wanneer een pagina een nieuwe versie is.
- Hoe presenteer je de verschillende versies van één pagina?
(Geef je in eerste instantie al een rij met alle pagina's en pagina-versies, waaruit een bepaalde pagina(versie) kan worden gekozen, of geef je alleen een lijst met pagina's, en een mogelijkheid terug te gaan naar oude versies van de pagina, op het moment dat je de pagina aan het bewerken bent.)
Een uitgebreid topic ... ik hoop dat er hier wat ideeën of wellicht voorbeelden over zijn.
Alvast dank voor de reactie!
Ik ben al een tijdje aan het nadenken over hoe ik het beste een vorm van versie-beheer in m'n CMS zou kunnen implementeren. En die vraag is dan wat mij betreft heel breed. Ik denk bijvoorbeeld aan de volgende functionaliteiten:
- Nadat een pagina is toegevoegd aan het CMS door een gebruiker met beperkte rechten, dient deze geaccordeerd te worden door de 'Superbeheerder', alvorens deze daadwerkelijk gepubliceerd kan worden.
- Wanneer een pagina wordt aangepast, wordt bijgehouden wanneer dit is gebeurd en het is daarbij mogelijk om terug te gaan naar vorige versies van dezelfde pagina.
- Per pagina(versie) kan worden aangegeven, wanneer deze op de site gepubliceerd moet worden. Zo kan al vantevoren op komende wijzigingen binnen een organisatie worden ingespeeld.
Nu vraag ik mij eigenlijk af, hoe je dit soort functionaliteiten kan implementeren. En dat dan enerzijds aan database/code kant:
- Maak je voor elke versie van een pagina een nieuwe database-entry, of sla je alleen de verschillen op?
- Is er een toplevel-pagina entity, met daaraan verschillende versies van child-entities, of is er één pagina entity, waarvan je er voor de verschillende versies steeds één aanmaakt?
En anderzijds aan de User Interface kant (wellicht iets voor een aparte topic op WS?):
- Wordt er - elke keer als een gebruiker een pagina opslaat - een nieuwe versie van de pagina opgeslagen, of kiest de gebruiker zelf, wanneer een pagina een nieuwe versie is.
- Hoe presenteer je de verschillende versies van één pagina?
(Geef je in eerste instantie al een rij met alle pagina's en pagina-versies, waaruit een bepaalde pagina(versie) kan worden gekozen, of geef je alleen een lijst met pagina's, en een mogelijkheid terug te gaan naar oude versies van de pagina, op het moment dat je de pagina aan het bewerken bent.)
Een uitgebreid topic ... ik hoop dat er hier wat ideeën of wellicht voorbeelden over zijn.
Alvast dank voor de reactie!