login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Geschiedenis zoals bij Wikipedia toevoegen (Opgelost)

Offline jc2 - 19/09/2008 12:24 (laatste wijziging 19/09/2008 13:44)
Avatar van jc2PHP interesse Ik ben een eigen wiki aan het maken en nu vraag ik me af of iemand een idee heeft hoe bij Wikipedia de geschiedenis van een wiki-pagina wordt opgeslagen. Je krijgt namelijk als je op 'Aangevinkte versies vergelijken' klikt precies te zien welke regels anders zijn dan bij het eerder aangemaakte bestand.
Heeft iemand een idee hoe ik dit kan nabootsen?

Kleine update:
De wiki die ik maak is geen wiki zoals gedownload op Wikipedia.org, maar een site met ongeveer dezelfde opties als Wikipedia.
Het toevoegen, bewerken, verwijderen, enz. van 'artikelen'.

12 antwoorden

Gesponsorde links
Offline shibble - 19/09/2008 12:47
Avatar van shibble MySQL interesse zoeken in die script naar welke gedeelte word uitgevoerd als je "aangevinkte versies vergelijken" heb aangevinkt, ik zelf heb niet ervaring ermee maar misschien dat je het vandaar uit kan nabootsen?
Offline Ultimatum - 19/09/2008 12:51
Avatar van Ultimatum PHP expert Misschien slaan ze de orginele pagina op en de gewijzigde en gaan ze dan vergelijken..
Offline jc2 - 19/09/2008 13:34
Avatar van jc2 PHP interesse @ultimatum: ja, dat had ik zelf ook wel in gedachten, maar hóe vergelijken ze de versies dan? Ik ken zo gauw geen functie(reeks) die van een tekst kan aangeven of die niet in beide versies voorkomt.
Offline Ultimatum - 19/09/2008 13:36
Avatar van Ultimatum PHP expert Misschien vergelijken ze woord voor woord in elk bestand, anders zou ik ook niet weten hoe ze het doen. Staat op wikipedia zelf niet hoe ze het doen want ze geven best veel vrij over hun systeem (Zoals hun database structuur..)
Offline Kr4nKz1n - 19/09/2008 13:40
Avatar van Kr4nKz1n Onbekend Ik denk dat elke wijziging volledig wordt opgeslagen. En dat er per lijn wordt gekeken.
Offline jc2 - 19/09/2008 13:50
Avatar van jc2 PHP interesse Ik ben idd al een dag bezig geweest met het bekijken van de bron, maar zij hebben 30,9MB verdeeld over 1350 bestanden en 52 mappen.

Maar ik ga eens kijken of ik elke wijziging als nieuwe rij in een tabel kan opslaan en iets kan vinden om per lijn te vergelijken.
Alvast bedankt!
Offline Kr4nKz1n - 19/09/2008 14:07
Avatar van Kr4nKz1n Onbekend Nee nee Dat zou ik niet doen 
Elke regel een aparte row? haha 
Offline jc2 - 19/09/2008 16:14
Avatar van jc2 PHP interesse Hoe zouden jullie het dan doen?

Kr4nKz1n, je zegt zelf:
Kr4nKz1n schreef:
Ik denk dat elke wijziging volledig wordt opgeslagen. En dat er per lijn wordt gekeken.
Offline gothmog - 19/09/2008 16:45
Avatar van gothmog Lid Ik denk dat ze het ongeveer zo doen:
Ze slaan alle versies gewoon op.

Om te kijken wat er bij V2 is veranderd vergeleken met V1 exploden ze iedere nieuwe regel.
Als die regel niet overeenkomt met die van V1, is die nieuw of gewijzigd.
Vervolgens sla je dat op in de database zodat dit niet iedere keer hoeft te worden uitgevoerd.

Probleem is wel dat als iemand aan het begin een enter plaats, iedere regel dan als nieuw/gewijzigd wordt gezien.
Offline Kr4nKz1n - 19/09/2008 16:46 (laatste wijziging 19/09/2008 16:47)
Avatar van Kr4nKz1n Onbekend Ja maar niet elke lijn een aparte row. De gehele tekst in 1 row.

Verder geen idee.

Kost anders echt via bandbreedte lijkt me 

Edit
Ik denk dat ze hele mooie code daarvoor hebben en geen Explode gebruiken 
Offline gothmog - 19/09/2008 16:52
Avatar van gothmog Lid Als je nog suggesties hebt moet je die maar geven, waarschijnlijk hebben ze zelf een class geschreven die de tekst naloopt ja. Maar daar is geloof ik geen php functie voor.
Offline jc2 - 19/09/2008 17:08
Avatar van jc2 PHP interesse Ik ga er verder mee stoeien!
Bedankt voor de goede reacties! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.172s