понедельник, 9 февраля 2009 г.

Составные части CMS


Что необходимо реализовать в CMS портале:

  • База данных
  • Модуль взаимодействия с пользователем
  • Дизайн(Шаблонизатор+набор шаблонов)
  • Модуль администрирования портала

Как показала практика в первую очередь необходимо спроектировать базу данных, как мне кажется наименее творческая и неинтересная часть. фееееее! Однако если не спроектировать базу данных сразу, или допустить критические ошибки при ее проектировании, то огромная возможность столкнуться с переписыванием полностью ядра системы заново. А если времени не хватит....поэтому надо делать все на совесть.

Новые возможности


Итак, дамы и господа. Сегодня вечер 9 февраля. Мне необходимо написать дипломную работу интернет портал, до мая! Причем представить целиком и полностью законченный проект. Поэтому, нет времени разбираться с PostgreSQL, и еще кучей ненужной "байды". Уже порядка 3 недель настраиваю себя начать делать писать портал, однако дохожу до проектирования базы данных и мне почему то становится лень. При этом написал простенький шаблонизатор(точнее полностью содрал с книжки по програмированию CMS). 

С сегодняшнего дня меняю свою жизнь: каждый день буду помаленьку работать и отписывать в данном блоге о проделанной работе. При этом буду делиться своими идеями, участками кода, а так же другими вкусностями. Кому будет интересно, прошу потыкать по рекламе( а то кушать очень хочется - кризис).

Всем спасибо за внимание, все свободны!

четверг, 30 октября 2008 г.

7 систем необходимых в CMS


Долго раздумывал с чего начать написание CMS. На многих блогах и форумах написано что нужно начать с распредения системы. Т.е., если правильно разбить функциональность сразу, то будет много счастья и сделаешь сразу и быстро. Но так как я мягко говоря новичек в CMS писании, то даже сильно не представляю что там нужно разбивать. Я видел систему управления Джумла, и еще парочки CMS, но охота создать что то своё. Поэтому я решил  составить список того, что должно быть в Системе Управления Сайтом(СУС):

  1. Система форматирования статей(постов, и т.д.). В принципе ничего супер сложного, и велосипед придумывать не буду, и возьму систему с бесплатных разработок.
  2. Система изменения дизайна. Допустим у нас есть шаблон, мы создали менюшки, и нам надо поменять их местами. В принципе думаю придется использовать Джава скрипт по полной. Должно быть сделано удобно и интуитивно понятно. Ну и так же другие замуты работы с дизайном, размещение логотипов, банеров, и т.д. и т.п.
  3. Разработать требования к безопасности. Самый основной пункт, ибо если систему просто взломать, никто не будет ей пользоваться.
  4. Система быстрой разработки шаблонов. Вот эта часть может быть реализована в самом конце, а может вообще не реализована. Если не получится написать на java, то всегда можно написать утилиту на .Net языке.
  5. Система работы с базой данных. Так как планируется использование PostgreSQL, то будут решены проблемы затертые до дыр в MySQL.
  6. Система управления учетными записями. Основная часть - администрирование. Заключается в раздаче прав пользователям.
  7. Управление содержимым сайта. - чуть не забыл указать =)

Это пока все, что я надумал. Возможно потом появятся исправления и дополнения.

вторник, 14 октября 2008 г.

Заменить логотип с чужого сайта на свой.






Я немного подрабатываю контенщиком, и забиваю базы данных для некоторых сайтов. Так вот, иногда случается так, что логотип достаточно большой, и обрезав фото с ним мы получим очень маленькую фотку, а это не подходит для заказчика. А денюжки с этого контента этого сайта хочется, потому что такой инфы на других сайтах нет... Ручками в фотошопе делать долго и надоест уже на 3-ей фотке, если не раньше. Что делаем:

  1. берем открываем фотку в фотошопе,
  2. открываем свой логотип,
  3. подгоняем логотип, так чтобы он закрывал старый,
  4. запоминаем отступы снизу и справа,
  5. сохраняем логотип с новыми размерами.

А дальше я написал скриптик на PHP, и прогнал его на Denwer'е.

$logo =imagecreatefromjpeg("logo.jpg");
$diri="images";
$dir = opendir($diri);
while (($file =readdir($dir))) {
 if ( is_file($diri."/".$file)){
  $file1=$diri."/".$file;
$image= imagecreatefromjpeg($file1);
imagecreatetruecolor(imagesy($image), imagesx($image));
imagecopy($image, $logo, imagesx($image)-imagesx($logo)-11, imagesy($image)-imagesy($logo)-8, 0, 0, imagesx($logo), imagesy($logo));  
 header("Content-Type: image/jpg");  
 imagejpeg($image,$file1,100); 
 imagedestroy($image);
  }
  }  
 imagedestroy($logo);


В корне нашего виртуального сайта создаем папку "images". В папку "www" кидаем logo.jpg. Запускаем скрипт и любуемся работой.

В принципе никто не мешает сделать такую систему на своем сайте для добавления логотипа. Только проявить немного творчества.

Спасибо за материалы Блогу PHP Разработчика и его статье.

суббота, 11 октября 2008 г.

Введение в...


Что послужило толчком к идей написания собственной CMS, я считаю что

  1. Лень разбираться с устройством других бесплатных CMS (Joomla, Drupal....).
  2. Желание заработать денег.
  3. Желание создать более менее интересный блог.
  4. Желание саморазвития.
  5. И потом, возможно смогу внести новую идею в сайтостроение.

С читателями же намерен делиться логикой, стратегией и некоторым кодом. Писать намерен на PHP, с использованием PostgreSQL. В качестве локального сервера использую Denwer с пакетами "PostgreSQL 8.2 + модули PHP" и "PHP 5: дополнительные модули".