Выпущена демо версия блоголёта
03.12.2008Подчищая хвосты - пред запись на блоге Программы для блогов. То о чем я так долго говорил наконец таки свершилось: сегодня выкладываю демо версию движка блога "Блоголёт"! Скачать (0.1Мб): blogolet-demo.zip
Реально летает и делает почти все что и обычный блог на WordPress. Прошу строго не пинать - большинство недоделок мне известно, ибо сам же и недоделывал, но ядро сформировано и от него можно плясать, добавляя новые фичи и устраняя ошибки. В целом я доволен. По памяти с включенным кешем получается ненамного меньше чем без кеша (около 0.7Мб), но зато при большей теоретической скорости, ибо даже без кеша я не заметил никакой разницы в скорости - усё летает. Принимаются поздравления и любые замечания и ыпожелания. После исправлений и дополнений, предположительно через неделю запущу блог на движке на отдельном домене, где и буду выкладывать новые версии, писать доку и все остальное.
Мой блог находят по следующим фразам
• ListView строка
• прошивка transcend 610
• билайн 3g модем
• синонимайзер программа скачать бесплатно
• ListView строка
• php многопоточность
← Ранее Подчищая хвосты
Позже Блоголёт: от демо к бетте →
Комментарии (21) на запись “Выпущена демо версия блоголёта”
Пингбеки
Оставить комментарий
Первые впечатления:
Очень компактна и здорово, что все спрятано по папкам и в корне сайта минимум отдельных файлов.
Приятна забота автора о защищенности блоголета (index файлики).
Установка - мечта!
Установка в отдельной папке - устанавливается, но для функционирования надо корректировать .htaccess
Для начинающих по установке:
На папки cashe, data, uploads права 777. Изменил файл INDEX.PHP на index.php. Установка - в браузере просто запуск домена и ответить на первом шаге на три вопроса...
Все! Второго шага нет... :)
После отправки по форме обратной связи (в Контактах) выходит на страницу с надписью Not found а письмо так и не пришло (даже в спаме проверил - нет).
Также не отправляет письма при подписке на комментарии..
Подписка на "Записи в RSS" - без проблем, а вот на "Комментарии в RSS" ругается даже при наличии комментариев такими словами:
Ошибка синтаксического анализа XML: элемент не найден
Адрес: http://мой домен.ru/rss/comments/
Строка 1, символ 40:
Пока все. Ковыряюсь дальше. :)
Вот такой вопрос и пожелание:
Нельзя ли кэш сайта создавать в HTML виде, чтоб в папке кэша был фактически полная HTML копия сайта? Тогда мин нагрузка на сервер и возможность использования Блоголета как генератора сайтов на бесплатники не поддерживающие PHP...
Во первых большое спасибо за этот самый index.php - тестил только на локальной Windows машине, подправлю. Почта не работает - писма пока не отсылаются, и контактная форма только как демо - мол такое тоже будет работать. Чего там с рсс комментов проверю. Что до прав на удалениие - это ты юзверь такой бесправный, что файлы созданные скриптами (юзверь nobody) не можешь удалить - это почти не лечиться. Можно перед установкой создать одноименные папки с доменами, но в них же все раво будут создоваться файлы, которые так или иначе не сможешь удалить. Предусмотрю функцию полного сноса домена из всех папок, поскольку такое бесправие является типичным на шаред хостинге. Доступ для редактирования сайтом пока только через любого блог клиента по xmlrpc - вроде несколько функций оттестил, работают.
Кеш устроен таким образом, что туда и засовывается вся страница целиком, с редкими включениями. Без вставок php можно с трудом обойтись, ну например тип документа для рсс устанавливается как text/xml ну и так далее, так что абсоллютно полной статики можно достичь, но не знаю зачем. Может быть сегодня поставлю эксперемент - сгенерирую сайт с 100000 страниц, чтобы поглядеть как оно работать будет. Думаю будет работать нормально, хотя если длина строки адреса принять = 30 символов, получим 3Мб только адресов на всякий случай умножаем на 2, получаем 6Мб файл для карты адресов. Не смертельно, но жить можно, по любому меньше чем WordPress.
В каждом файле поста содержится текст сразу для вывода в 4 экземплярах: полный текст для отдельноый страницы, анонс, для рсс, а также изначальный неотфильтрованный текст(rawcontent). Хорошо ли это или плохо? По мне хорошо, так как можно поиметь разный подготовленный контент для этих случаев, а изначальный - на всякий непредусмотренный случай. Из как бы минусов - растет размер файла поста, но реально это ммелочь, поскольку не принципиально иметь один файл размером 2 или 4Кб - все равно это мелочь, а все посты разом не загружаются, можно позволить барство дублирования текста.
Слушай, извини за то, что сюда пощу, но у меня демка выдает вот это (error_reporting(E_STRICT)):
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: PostsPerPageChanged in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\postsclass.php on line 80
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\postsclass.php on line 101
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\postsclass.php on line 120
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\templateclass.php on line 116
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\templateclass.php on line 118
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\templateclass.php on line 289
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\templateclass.php on line 291
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined property: THomepage::$EventCreateLinks in C:\Program Files\Apache\htdocs\blogolet\lib\homepageclass.php on line 26
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\menuclass.php on line 52
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\menuclass.php on line 66
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\menuclass.php on line 72
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\menuclass.php on line 78
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined index: Changed in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 79
Notice: Undefined variable: Result in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 105
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: param in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 121
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\xmlrpcclass.php on line 91
Warning: Call-time pass-by-reference has been deprecated; If you would like to pass it by reference, modify the declaration of runtime function name. If you would like to enable call-time pass-by-reference, you can set allow_call_time_pass_reference to true in your INI file in C:\Program Files\Apache\htdocs\blogolet\lib\xmlrpcclass.php on line 97
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Notice: Undefined variable: Data in C:\Program Files\Apache\htdocs\blogolet\lib\eventclass.php on line 154
Кстати, для размещения поста через блог-клиент пароль нужен?
Я не записал. Ну переустановлю следующую версию..
Тестировал движок на Денвере. Не получилось писать через блог-клиент, хотя с WordPress проблем не возникало. Спокойно постил со своего компьютера на сайт, который находился на этом же компьютере. А здесь попытался задать путь /data/[система создаёт папку с именем домена]/xmlrpc.php, но w.bloggar так и не добрался.
Конечно, не хватает админки и плагинов (особенно пресловутого трекера поисковых фраз). Но ведь это демо-версия, которая на то так и называется, что предназначена продемонстрировать свои способности, убедив окружающих в том, что это не набор бессмысленного кода, а законченный продукт.
Да, работает, притом быстро. Так что теперь ждём исправления, доработки и далее по списку. Торопить не будем. Но от себя скромно замечу, что такая CMS стала бы отличным подарком на Новый год.
И так по порядку:
1. Движок понимает корень домена, при установкив подпапку домена не знаю что будет - не разруливал ситуацию, надо будет придумать как быть
Насчет админки пока беда - хочу сделать админку по управлению пачкой блогов, но при этом чтобы можно было рулить и одним доменом, и чтобы при установки очередного блога он смог бы сам себя добавить в мултиадминку, и чтобы админка была написана на базе того же ядра. То есть блог является частным случаем движка, на котором можно будет строит например мултиадминку, шароварный сайт и прочее.
Может, в плане идей, поможет Суслик
- группировать сайты;
- задавать кодировку сайта;
_http://jacksoft.biz/2008/10/suslik-sistema-upravleniya-satelitarnymi-ssylkami-i-karmoj/
Это не CMS, это мультиадминка не зависящая от вида CMS.
Вот выжимка от его характеристики:
Суслик есть сервер и он есть клиент! Сервер стоит на самом сервере, а клиент - на Вашем сайте!
СУСЛИК умеет:
+ вести базу данных Ваших сайтов, страниц, ссылок;
+ определять некоторые SEO параметры сайтов (PR, ТИЦ, индексации в поисковиках);
+ удаленно выполнять Ваш PHP-код с сервера на сайтах-клиентах (удобно для сервисов продажных ссылок, удаленного обновления и т.д.);
+ при добавлении сайта автоматически генерировать клиента под этот сайт;
+ разделять ссылки на группы: для всех сайтов и страниц, для конкретного сайта и страницы;
+ клиент умеет кешировать информацию для уменьшения нагрузки на канал, сервер и Ваше здоровье и будет работать даже если сервер не доступен :);
+ не использует MySQL :);
+ отображаемые на страницах Ваших сайтов ссылки можно добавлять в трех форматах.
+ Дорвейщики - для Вас:
http://url/ и
http://url/|текст урла и
http://url/|текст урла1:текст урла2:…:текст урлаN
Это я привел, чтоб не ползать лишний раз по сайтам, и не для того, что я выделяю эти характеристики, как что-то особенное, просто, возможно, это натолкнет еще на какую-нибудь идею...