Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][SQL]
Forum PHP.pl > Forum > Przedszkole
Renkse
Na poczatek - czesc wszystkim!

Na zaliczenie przedmiotu traktujacego o Content Management System musze oczywiscie stworzyc wlasny prosty system zarzadzania trescią strony. Nie powiem, daleko mi do poziomu sredniozaawansowanego programisty, ale jakos mi idzie. Mam natomiast jeden problem. Otoz, jednym z wymogow tego CMS jest to, zeby mozna bylo przechowywac poprzednią wersję danej podstrony i w razie czego przywrocic ją z poziomu administratora.

Próbowalem cos kombinowac i w sumie nie wiem, czy ide w dobrym kierunku.. Zanim zaczne bawic sie w kodzie, chcialem sie Was spytac, jak najczesciej ten problem jest rozwiazywany. Ja chcialem tak zrobic, zeby stara Tresc byla kopiowana w nowy wiersz z przyedzilonym numerkiem 0 w kollumnie Live przed nadpisaniem jej nową wersją. Ewentualnie mozna jeszcze dorobic kolumne, ktora bedzie trzymac cos w stylu timestamp(): danej wersji artykulu.

Prosta tabela, ktorej uzywam wyglada tak:
ID Tytul Tresc Live
1---xx---xxx---1
1---xx---xxx---0

ID to oczywiscie numer podstrony. W rurbyce Live 1 oznacza ze dana Tresc jest aktualna.

Czy tak to sie robi czy moze sa jakeis bardziej srpawdzone i skuteczniejsze metody na zarzadzanie wersjami?
osl
generalnie proponowałbym rozwiązanie na bazie eZPublish.
dla każdego obiektu masz kolumny takie jak id obiektu (i to nie jest żaden klucz), current_version i published.
Dodając nową wersję - tak jak napisałeś - obiekt jest kopiowany i zwiększany jest numer wersji,
Dodatkowo domyślnie publikacja nowej wersji ustawia ją jako aktualną.
Nie bardzo rozumiem do czego chciałeś użyć kolumnę z timestampem - może ona przechowywać datę publikacji czy zmiany stanu,
ale szukanie po niej poprzednich wersji jest bardziej uciążliwe niż szukanie po numerkach wersji po prostu smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.