Metin fark web uygulaması oluşturmak için nasıl

3 Cevap php

idea

Kendimi fikirleri (- Ben MY WAY yapmak istediğim şey) saklamak için küçük bir uygulama oluşturmak istiyorum

database

Ben basit olacak düşünüyorum:

id       - unique id of revision in database
text_id  - identification number of text
rev_id   - number of revision
flags    - various purposes - expl. later
title    - self expl.
desc     - description
text     - self expl

.

  • bayrakları - eğer yerine tam metin saklamak (yani) bayrağı eklemek rb;65, ben sadece son revizyonu için sorduğunuz zaman, ben DB tekrar gitmek ve revizyon 65 kontrol etmenizi, dedi

Question: bu kurulum iyi mi? O diff, veya tüm metin (biliyorum, uzay ucuz ...) depolamak için daha iyi mi? Daha fazla disk alanı, ancak daha az db ve php işleme - Bu revizyon bayrağı anlamda (sadece metin kopyalamak için daha iyi olmaz mı.

php

Ben burada PEAR ile gidersiniz ki, düşünüyorum. Ana nokta olmakla birlikte open-edit-save, revizyonları görmek için şansınız zor program bu olamaz ve (iyi fikirler yanlış sürümü, vb tasarrufu, silinen var ..) bazı durumlarda hayat kurtarıcı olabilir.

Ancak, ben bir uzun-time veya full-proje ilişkide PEAR hiç kullanmadım, ancak, benim önceki deneyim kısa buluşmalar oldukça kötü bir duygu bıraktı - Hatırladığım kadarıyla, onunla oynamak çok, uygulanması zor, yavaş ve koskocaman oldu, daha iyi bir şey varsa ben bilmiyorum.

Update: Bu daha fazla metin fark önceden yapılmış kütüphaneler, ARMUT göre biraz daha hafif olduğunu, görünüyor, bu yüzden muhtemelen, içine kazmak zorundasınız.

why?

Çeşitli zaman / proje / fikir yönetimi araçları bazillions olmasına rağmen, her şey, daha PC'ler, zaman izleme, proje yönetimi ... üzerinde senkronize, kullanıcılarla paylaşıyor Ve ben inanıyorum olsun, benim için bir şey eksik bu metin fark webapp olacak ki daha sonra çeşitli farklı araçlar ile iç kullanım için olabilir. Metin-ağır kullanım desteği ile herhangi bir iyi ve güzel-UI-sahip proje yönetimi app biliyorum Yani, sadece bana bildirin, ben weel yeniden tasarlama daha iyi bir şey benim zamandan tasarruf edeceksiniz.

3 Cevap

Ben soruyu sadece (başka bir şey varsa, bana bildirin ve ben ekleyeceğiz) bir satır aşağı kaynar olduğunu düşünüyorum:

O diff, veya tüm metin (biliyorum, uzay ucuz ...) depolamak için daha iyi mi?

Eğer gerçekten yer kazanmak için gereken sürece, tüm metin depolamak için kesinlikle daha iyidir. Metin görüntüleme bir diff denetimi çok daha yaygın bir eylem olacak, ve bir şey revizyonlar bir yeri vardır eğer son biri için metni "oluşturmak" için önemli bir süreç olabilir. Eğer revizyonlar binlerce yaptık, ve "tüm metin" sadece orijinal ile depolanan yoğun olarak kullanılan sayfasını düşünün. Sonra sadece yerine sadece düz veritabanından çekerek son metnini görüntülemek için farklarını binlerce işlemek zorunda.

Eğer uzlaşma istiyorsanız, herhangi iki revizyonlar arasında bir diff hesaplamak her zaman, ayrı bir tabloda saklayabilirsiniz. Sonra sadece bir kez herhangi bir diff hesaplamak zorunda, bu nedenle aynı diff görüntülemek dahaki sefere anında olacak. Gerekirse, bu tablo uzun zamandır erişilmiş değil diffs kaldırmak için her seferinde bir süre budanmış olabilir.

Burada bir php fark fonksiyonu: http://paulbutler.org/archives/a-simple-diff-algorithm-in-php/

holomind.de / phpnet / diff.php: ve burada başka bir şeydir

Dosyaların farklı sürümlerini bir çok depolama ediyorsanız git size oldukça yardımcı olabilir.