Система Light Blogging без базы данных - PullRequest
2 голосов
/ 24 декабря 2009

Это общий вопрос программирования.

Каков наилучший способ создать легкую систему блогов, которая может обрабатывать изображения, стилизацию bbcode-ish и текст без базы данных? Под светом подразумевается не более 50-100 постов в крайнем случае. Какой язык (языки) следует использовать? Есть ли какой-либо предпочтительный формат данных для информации? Как действует безопасность?

РЕДАКТИРОВАТЬ: Клиент не имеет базы данных, находится на общем сервере. Не могу изменить это. Поэтому нет БД.

EDIT2:

Кто-то упомянул SQL Compact - для этого нужно что-то большее, чем копирование файлов на сервер? Ключом здесь является снова , что для работы не требуется больше разрешений, чем для доступа к FTP.

Ответы [ 8 ]

8 голосов
/ 24 декабря 2009

Если вы хотите сделать это самостоятельно; хранить каждый пост в виде файла в каталоге. Затем для сортировки и ограничения сообщений вы частично полагаетесь на имена файлов, чтобы упорядочивать и ограничивать их, и, возможно, (в случае поиска) при чтении каждого последнего файла. Не позволяйте пользователям делать 10 000 сообщений. Но да, выше считается формат данных плоских файлов. Вы можете получить фантазию, используя стандартный формат, такой как JSON, Yaml или XML, в каждом почтовом файле, и даже более изобретательно, запрашивая их с помощью вызовов Ajax в основном на стороне клиента.

Теперь, если причина, по которой вы хотите работать с плоскими файлами, заключается в том, что вы просто не хотите устанавливать сервер базы данных, ничто не мешает вам прочитать локальный (для сервера) файл как БД Berkley, индекс Lucene или БД SQLite из вашего веб-приложения, используя соответствующую клиентскую библиотеку. Вы найдете, что любой из этих подходов немного более вменяемый (немного быстрее, немного более читабельный в коде), чем вышеупомянутый, с теми же требованиями для установки на сервере (разрешения на чтение и запись в файл). Многие веб-фреймворки или языки (например, php) поставляются с возможностью API для этих клиентских библиотек; SQLite, и Люси (C Lucene), в частности.

Если вы просто ищете примеры того, как это делается, я сначала (думаю, 1999 или 2000) наткнулся на blosxom , который представляет собой Perl-скрипт, который запускается либо как скрипт cgi для запроса, либо как Cron работа. Он строит устаревший индекс «постов» на основе того, что вы выбросили в каталог, который он должен сканировать. Он также создает RSS-канал.

2 голосов
/ 25 декабря 2009

Jekyll или Blogofile - мое любимое решение для этого, «компиляция страниц перед загрузкой».

1 голос
/ 24 декабря 2009

Я собираюсь выйти здесь на конечность и сказать, что это не всегда пункт назначения, а Путешествие.

Если вы собираетесь заняться этим, я рекомендую использовать язык, который вам удобен. Лично для меня это будет C # /. Net, но из ваших тегов я буду предполагать, что PHP будет языком сценариев на стороне сервера, который вы выберете.

Я бы планировал, как я хочу, чтобы мое приложение работало. Если данных будет много, вы должны рассмотреть (как упоминал Дламблин) какую-то БД для поиска и поиска. (Легкий блог, не так много данных ... 1000 пользователей могут редактировать? Может быть, вам стоит рассмотреть БД.) Решив, как хранить данные, решите, как их представить.

Напишите некоторые доказательства концептуального кода для каждой функции, которую вы хотите реализовать (шаблонирование блога, bbcode, аутентификация пользователя, поиск текста ...) и начните работать вместе.

0 голосов
/ 25 декабря 2009

Вы можете либо использовать XML, либо использовать SQL compact (который позволяет обрабатывать такие вещи, как SQL Server, но вместо базы данных вы используете простые файлы).

0 голосов
/ 25 декабря 2009

Если вы не хотите писать новый или хотите получить вдохновение:

0 голосов
/ 24 декабря 2009

Не отвечает на ваш вопрос напрямую, но отметьте Unify .

0 голосов
/ 24 декабря 2009

Я согласен с dusoft, что это уже сделано.

DotNetBlogEngine.net - это система ведения блогов, основанная на ASP.NET (C #), которая в качестве опции имеет приятный XML-конец.

0 голосов
/ 24 декабря 2009

поиск плоских файлов cms-es в google, например: http://www.flatcms.org/

это уже сделано, поэтому нет необходимости создавать такую ​​CMS снова. их много.

...