İyi bir içerik yayınlama sistemi tasarımı için kaynaklar

4 Cevap php

Şu anda çalışıyorum cm sadece veri canlı düzenleme (haberler, olaylar, bloglar, resimler, vb) destekler, ve ben bir taslak destekler sistemi (aşırıya kaçmadan) ile + revizyon geçmişi sistemi oluşturmak için istendi ettik. Herhalde sıfırdan kod gerekecek yüzden istimal cm evde geliştirilmiştir.

Her bir öğesi kaydetme, bir "zaman çizelgesi" içine verilerin anlık yaratacak. Aynı taslaklar için giderdim. Gerektiğinde otomatik işlevselliği menşeli kayıt içine çizelgesi taslağı çeker.

Çizelgesi tablo veri türü ve saklamak istiyorsunuz Birincil anahtar, veri seralised sürümü + oluşturulan / değiştirilme tarihleri ​​+ bir taslak tarih (gelecekte eğer)

Ben diğer sistemler etrafında hızlı bir göz yaşadım, ama benim şimdiki fikir geliştirmek için henüz ettik.

Birisi zaten bu gibi bir sistem inşa etti ve ben bina başlamadan önce benim tasarımı geliştirmek istiyorum eminim. Herhangi bir iyi haberler / kaynaklarının yanı sıra yardımcı olacaktır.

Teşekkürler

4 Cevap

Ben merkezi bir veritabanı için bir çözüm olabileceğini kaydederek, tek bir dize halinde her satır kodlamak için) (serialize kullanarak düşünmek.

Vb ilgili tablolar ile 'canlı' veritabanı olurdu, ama düzenleyebilir veya (yayınlamak tıklayarak olmadan) bir şey yaratmak zaman yerine ana tabloda kayıtlı olma gibi bir tabloya gitmek istiyorum:

id - PRI INT
date - DATETIME
table - VARCHAR
table_id - INT
type - ENUM('UNPUBLISHED','ARCHIVED','DELETED');
data - TEXT/BLOB

... 'Yayımlanmamış' ayarı tipine ve nereli olduğunu o bilir böylece depolanan masa ve table_id ile. Yayımlamak tıklatarak, mevcut tabloları içeriğini seri (yayınlanmamış olarak işaretlenmiş) son değişikliği okumak ve veritabanında bu koyun, sonra 'arşiv' ayarı yukarıdaki tabloda saklamak istiyorsunuz. Potansiyel undelete / geri alma işlevselliği için 'silindi' olarak ve işareti koyun - aynı zamanda satırları silme için geçerli olabilir.

Bu tüm çalışma almak için ayak işi oldukça çok ihtiyaç olacak, ama tam yayımlamak / yayından ve geri alma imkanı sağlamalıdır. Entegre doğru özel veritabanı fonksiyonları içine de (görünümünde bir SQL noktasından) şeffaf, tüm bunu yapmak mümkün olabilir.

Sana sahip olmak için görünen aynı soruna bir çözüm olarak bu uygulamaya planlama olmuştur, ama yine de benim açımdan teorik ama ben fikir ses saymak.

Bu çok wiki gibi bana geliyor. Ayrıca PHP ve MySQL kullanır Vikipedi, tarafından kullanılan MediaWiki, sisteme bakmak isteyebilirsiniz.

DotNetNuke iyi açık kaynak CMS, fikir almak için bu sistem için Soure okuyabilir olduğunu. Yoksa sadece DotNetNuke kullanabilirsiniz.

http://www.dotnetnuke.com/

Ben kutudan bu işlevselliği destekleyen olurdu orada pek çok sistem olduğunu düşünüyorum. Özel bir yapı yapmak için al düşüncelerinizi bilmiyorum rağmen, bu bazı bakarak düşünün. Bu, size ne gerek desteklemek mümkün olacak ve daha sonra bazı olacağı çok muhtemeldir.

Consider having a look at Drupal, I think still the leading CMS for publishing. Drupal in combination with the workflow module contains all that you need:
http://drupal.org
http://drupal.org/project/workflow

And add save draft for usability:
http://drupal.org/project/save_draft