Уеб базирани системи за управление на съдържанието
Автор: Lina
Благодарности: http://www.dhstudio.eu
Въведение........................................................................................................................................ 3
Глава 1: Анализ на системите за управление на съдържанието........................................... 5
1.1 Същност, характеристики и значение на системите за управление на съдържанието.. 5
1.2 Архитектура на системите за управление на съдържанието.......................................... 10
1.2.1 Функционалност..................................................................................................... 10
1.2.2 Система за управление на бази данни и изпълними скриптове........................ 13
1.2.3 Темплейт система................................................................................................... 15
1.3 Изисквания при избор на система за управление на съдържанието............................. 19
1.4 Сравнителен анализ на съществуващите системи за управление на съдържанието –характеристики, предимства и недостатъци................................................................................................ 24
2.1 Инструментални средства за разработване на системата за управление на съдържанието 32
2.2 Концептуален модел на системата за управление на съдържанието............................ 34
2.3 Проектиране на системата за управление на съдържанието.......................................... 40
2.4 Концепции за сигурността на уеб сайта........................................................................... 53
Заключение.................................................................................................................................... 56
Използвана литература................................................................................................................ 57
Въведение
В началото на третото хилядолетие компютърните технологии намират приложение в почти всички сфери от реалния живот и различните видове социални, икономически, стопански, производствени, търговски, рекламни и други дейности. Това e наложено от все по-големите и по-прецизни изисквания към обработката, съхраняването и достъпа до информацията, която е главен обект в много от тези дейности. Пред хората, които работят с информация и разнообразни данни се поставят все по-високи цели - оперирането с тях трябва да е бързо, сигурно и надеждно. Освен компютъра за постигането на тези цели спомага и Интернет - Глобалната световна мрежа. Ако компютъра сам по себе си се приеме като задължителна за успешното функциониране на бизнес дейността част, то Интернет се явява едно необходимо условие за бързодействие, спестяване на ресурси и висока производителност при пренасянето на данни и работата с тях.
Уеб сайтовете в световната мрежа съдържат огромни количества от информация, които са достъпни без каквито и да било ограничения от всяка точка на света и по всяко време. В много случаи обаче тази информация не се актуализира редовно и навреме и често е непълна, противоречива, остаряла или погрешна. Най-честата причина за това е, че уеб сайтът е сложна комбинация от технологии, графичен дизайн и бизнес логика и всяка промяна на неговото съдържание изисква намесата на квалифицирани за целта специалисти. По тази причина поддържането и използването на квалифицирана и гарантирана информация подлежи на по-специално управление и координация поради високото си комерсиално значение. Основни потребители на такъв род информация се явяват бизнес потребителите. Те са тези който се нуждаят от сигурност и надеждност на данните.
Системите за управление на съдържанието спомагат за разрешаването на подобни проблеми, като автоматизират и улесняват процеса на добавяне и промяна на съдържанието в сайтовете. Тя е компютърен софтуер, който подпомага своите потребители в процеса на управление на съдържанието на динамичен уеб сайт, като улеснява организацията, контрола и публикуването на големи количества документи и друго съдържание, като изображения и мултимедийни ресурси.
Целта на настоящата дипломна работа е да се изследват, анализират и сравнят характеристиките и архитектурата на системите за управление на съдържанието, както и изискванията, на които трябва да отговарят. На база на този анализ е разработена уеб базирана система за управление на съдържанието, която поддържа уеб сайта на фирма, занимаваща се с внос на руска автомобилна техника и резервни части. Разгледани са и инструменталните средства за изграждането на системата. Чрез това представяне се набляга и на предимствата, които дадена организация може да извлече от използването на такъв вид софтуер. То улеснява ежедневната й работа и спомага за нейното усъвършенстване и успешното й развитие.
В Глава 1 са изяснени същността, основните характеристики и архитектурата на една уеб базирана система за управление на съдържанието, както и нейното значение за организациите, които създават и поддържат собствени уеб сайтове. Описани са основните изисквания и целите, която една организация трябва да формулира и съблюдава при избора си на система за управление на съдържанието и са изследвани и сравнени някои съществуващи на пазара системи, техните предимства и недостатъци.
В Глава 2 е проектирана и разработена уеб базирана система за управление на съдържанието на уеб сайта на фирма, занимаваща се с внос на руска автомобилна техника и резервни части. Разгледани са инструменталните средства за разработване на системата, нейния концептуален модел, проектиране и някои концепции за сигурността на уеб сайта. Разработената система използва предимствата на Интернет и предоставя възможност за създаване и редактиране на съдържанието на страниците на уеб сайта, добавяне и редактиране на новини и топ оферти, на категории автомобили, техните технически характеристики и оборудване и информация за всеки отделен модел автомобил. Системата е дружелюбно настроена към потребителя, което улеснява работата с нея - не съществуват изисквания за специални компютърни умения, а само използването на уеб браузър и минимална компютърна грамотност, необходима за правилното ориентиране в Интернет среда. Целта на разработения уеб сайт е да дава актуална информация за фирмата и предлаганите от нея продукти и услуги и да подпомага дейността й чрез подходящо представяне в Интернет, което да доведе до повишаване на нейната конкурентоспособност и увеличаване на броя на клиентите й. Аудиторията, към която е насочен уеб сайта са настоящите и потенциалните клиенти на фирмата, както и към всички, които проявяват интерес към тематиката на съдържанието на сайта.
Глава 1: Анализ на системите за управление на съдържанието
1.1 Същност, характеристики и значение на системите за управление на съдържанието
Системата за управление на съдържанието (CMS) е компютърен софтуер, който подпомага своите потребители в процеса на управление на съдържанието. Тя улеснява организацията, контрола и публикуването на големи количества документи и друго съдържание, като изображения и мултимедийни ресурси. Системата за управление на съдържанието улеснява съвместното създаване на документи от различни потребители.
Терминът система за управление на съдържанието първоначално е бил използван за системи за публикуване и управление на уеб сайтове. Ранните системи за управление на съдържанието са били разработвани вътрешно в организации, които са публикували голямо количество материали в уеб пространството, като онлайн магазини, вестници и корпоративни бюлетини. През 1995 г. CNET отделя своята вътрешна система за управление и публикуване на уеб съдържание в отделна компания, наречена Vignette, което отваря пазара за комерсиални системи за управление на съдържанието. [17]
Уеб базираната система за управление на съдържанието обхваща цялостния жизнен цикъл на уеб страниците на сайта – от осигуряването на прости инструменти за създаване на съдържанието, до публикуването му и архивирането му. Тя също осигурява възможността за управление на структурата на сайта, външния вид на публикуваните страници и навигацията, осигурена за потребителите. [14]
Уеб съдържание е текстово, визуално или звуково съдържание, което е част от уеб сайт. То може да включва текст, изображения, звуци, видео и анимации. Някои автори дефинират съдържанието най-общо като всичко в уеб сайта. Това може да включва документи, данни, приложения, услуги, изображения, аудио и видео файлове, лични уеб страници, архивирани e-mail съобщения и други[1].
Управлението на съдържанието (Content Management) е набор от процеси и технологии, които поддържат еволюционния жизнен цикъл на електронната информация. Тази информация често се нарича съдържание или по-точно казано електронно съдържание. To може да е под формата на текст - като документи, мултимедийни файлове - като аудио или видео файлове, или всеки друг тип файлове, чийто жизнен цикъл изисква управление. Жизненият цикъл на електронното съдържание се състои от 6 основни фази:
· Създаване (create);
· Преработване (update);
· Публикуване (publish);
· Трансформиране (translate);
· Архивиране (archive);
· Премахване (retire). [17]
Управлението на съдържанието е съвместен процес. То често включва следните основни роли и отговорности:
· Автор на съдържанието: Отговорен за създаването и редактирането му;
· Редактор: Отговорен за проверката на съдържанието и за начина му на поднасяне на читателите;
· Издател: Отговорен за публикуването на съдържанието за употреба;
· Администратор: Отговорен за запазването на съдържанието в хранилище, така, че по-късно то да може да бъде намерено и използвано. Администраторът също управлява потребителите и правата, които има всеки от тях върху съдържанието;
· Потребител или гост: Човекът, който чете или възприема съдържанието, след като то е публикувано.
Уеб базираните системи за управление на съдържанието често се използват за съхраняване, контролиране, редактиране и публикуване на специфична за дейността документация като новини, бизнес документация, технически ръководства, обучаващи материали, продуктови каталози, ценови листи, маркетингови брошури и др. Те могат да поддържат следните възможности:
· Създаване на документи и мултимедийни материали;
· Идентификация на всички ключови потребители и техните роли в управлението на съдържанието;
· Възможност за присвояване на роли и права на различни потребители за различни типове или категории съдържание;
· Управление на работния процес на създаване на съдържание: Това е процесът на създаване на цикли от последователни и паралелни задачи, които трябва да бъдат изпълнявани в системата за управление на съдържанието. Системите за управление на съдържанието предлагат средства за управление на жизнения цикъл на документа от времето на първоначалното му създаване до неговата проверка, публикуване, архивиране и унищожаване. Например авторът на съдържанието добавя статия, но тя не се публикува на сайта докато редакторът не я провери и главният редактор не я одобри. Това често е свързано с обмен на съобщения, така, че потребителите, управляващи съдържанието да са уведомени при промени в него;
· Възможност за проследяване и управление на множество версии на едно и също съдържание;
· Възможност да се публикува съдържанието в хранилище, което осигурява достъпа до него. Хранилището все по-често е неразделна част от системата и дава възможност за търсене и извличане на информация;
· Автоматизирани шаблони: Създава стандартни визуални шаблони, които могат да бъдат автоматично приложени към ново или съществуващо съдържание и тяхната промяна се отразява на изгледа на всички страници на сайта;
· Съдържание, което се редактира лесно: Веднага щом съдържанието се раздели от визуалното представяне на сайта, то обикновено става много по-лесно и бързо за редактиране и манипулиране. Повечето системи за управление на съдържанието включват WYSIWYG инструменти за редактиране, които позволяват на нетехнически персонал да създава и редактира съдържание;
· Лесно добавяне на нови възможности: Повечето системи за управление на съдържанието имат plug-ins или модули, които могат да бъдат лесно инсталирани и да разширят съществуващата функционалност на сайта;
· Повечето системи за управление на съдържането обикновено предлагат редовни обновявания, които включват нови възможности и поддържат системата в крак с актуалните в момента уеб стандарти;
Уеб базираните системи за управление на съдържанието се разработват като част от така наречените динамични сайтове и обикновено работят на сървъра на уеб сайта. Те осигуряват потребителска автентикация и контролиран достъп на различни групи потребители като администратори, главни редактори, редактори и автори на съдържание. Повечето системи използват база данни за съхранение на съдържанието и слой за презентация, който показва съдържанието на посетителите на сайта на базата на набор от шаблони. Достъпът до системата обикновено се извършва чрез уеб браузър, като е възможно и използване на FTP за качване на съдържание.
Системата за управление на съдържанието се различава от софтуера за изграждане на уеб сайтове като Microsoft FrontPage или Macromedia Dreamweaver по това, че позволява на неспециалисти да правят промени в съществуващ уеб сайт с малко или никакъв опит. Инструментите за изграждане на уеб сайтове като Frontpage и Dreamweaver изискват повече технически познания и опит. Системата за управление на съдържанието е лесен за използване инструмент, който дава на упълномощените за това потребители възможността да управляват уебсайта. Тази система е инструмент за поддържане на уеб сайт, а не за създаването му.
Значение на системите за управление на съдържанието
Системата за управление на съдържанието е критична за успеха на почти всеки Интернет и интранет сайт, но все още много организации не са запознати с тази технология. Бизнес проблемите, които тя може да разреши се илюстрират най-общо чрез следния пример:
Организацията има Интернет или интранет сайт. През изминалото време той се е разраснал много и макар, че е успешен е труден за управление и поддържане. Голяма част от съдържанието е остаряло или неточно и трудно за намиране, обновяването на сайта е сложно и външният му вид е остарял. По-лошо, ръководителите са загубили представа за всички страници на сайта и промените, които квалифицираният администратор на сайта е правил. По този начин не биха могли да проследят какво е имало на сайта миналата седмица или миналата година. Това би могло да постави организацията в много неизгодна позиция пред нейните клиенти, ако те имат някакви въпроси или оплаквания. Системата за управление на съдържанието е създадена специално за да разреши тези и много други проблеми, свързани с управлението и поддържането на голям корпоративен уеб сайт.
Има широк кръг от предимства, до които може да доведе внедряването и използването на CMS:
· Намаляване на разходите по поддръжка на сайта;
· Добре организиран процес по създаване на съдържанието;
· По-бързо създаване на нови страници и обновяване на страници;
· По-голяма съгласуваност;
· Подобряване на навигацията на сайта;
· По-голяма гъвкавост на сайта;
· Поддръжка на децентрализирано създаване на съдържание;
· По-голяма сигурност;
· Намаляване на дублирането на информация;
· По-големи възможности за разрастване на сайта.
По този начин организацията може да спести време и средства за обучение на персонала за публикуване на съдържание. Намалява се също работата на IT отдела по промени в уеб сайта. Системата намалява и времето за публикуване, позволявайки по-бърз достъп до вече публикуваното съдържание. Това е важен резултат за модерната организация. Колкото по-бърз е достъпът до публикуваното съдържание, толкова по-актуално и значимо е то.
Освен гореизброените, особено важно предимство, което системата за управление на съдържанието може да осигури е подпомагането на бизнес целите и стратегиите на организацията, като например повишаване на продажбите, увеличаване на потенциалните клиенти, повишаване на доверието на потребителите и подпомагане на връзките с клиенти.
Съществува връзка между системите за управление на съдържанието и другите информационни системи в организацията, включително:
· Управление на документи;
· Управление на записи;
· Управление на електронна информация.
В момента тези системи обикновено се продават по отделно и постигането на съвместимост между тях не е лесно. Напредък в това отношение постига създаването на така наречените системи за управление на фирмено съдържание (Enterprise Content Management Systems - ECMS), които комбинират централна система за управление на съдържанието с други инструменти за управление на пълния набор от информация съществуваща в рамките на организацията. Тези системи са все още относително недоразвити и не е постигнато съгласие по въпроса какви възможности трябва да включват. В следващите няколко години се очаква рязко разширяване на пазара на такива системи и на покачване на интереса към тях.
В момента на пазара съществуват стотици системи за управление на съдържанието, които имат различни възможности и силни страни. Затова всяка организация, която желае да внедри и използва CMS трябва да отдели време да определи своите бизнес правила и изисквания към системата и след това подробно да изследва и оцени предимствата и недостатъците на съществуващите в момента на пазара CMS и доколко те са подходящи за нейните цели и дейности. Всяка организация има уникален набор от изисквания към CMS, затова не съществува решение, което да удовлетвори напълно всички от тях. По тази причина ръководителите трябва да отделят достатъчно време и средства за проучвания, за да изберат относително най-доброто решение от съществуващите на пазара.
Тъй като системите за управление на съдържанието са относително нов продукт на пазара и все още много организации не са запознати добре с тях, те имат потенциала силно да разширят своите пазарни позиции и да опростят значително създаването и поддръжката на Интернет и интранет сайтове.
1.2 Архитектура на уеб базираните системи за управление на съдържанието
Съвременните системи за управление на съдържанието са изградени с трислойна архитектура, илюстрирана на Фигура №1. Всеки от тези слоеве ще бъде обяснен по-подробно в следващите точки.
Фиг. №1 Архитектура на системата за управление на съдържанието
1.2.1 Функционалност
Функционалността на системата за управление на съдържанието може да се раздели на следните основни компоненти, представени на Фигура №2:
• създаване на съдържание
• управление на съдържание
• публикуване
• презентация
Фиг. №2 Компоненти на функционалността на системата за управление на съдържанието
Създаване на съдържание
На предна позиция в една система за управление на съдържанието стои лесна за използване среда за създаване на съдържание, проектирана да работи по подобие на Word. Тя осигурява нетехнически начин за създаване на нови страници или обновяване на съдържание без необходимост да се владее HTML. CMS позволява също да се управлява структурата на сайта, в кои секции и раздели да се разполагат страниците и как да са свързани една с друга. Много системи дори предлагат опростено drag-and-drop преструктуриране на сайта, без да се нарушават хипервръзките. Днес почти всички CMS осигуряват уеб базирана среда за създаване на съдържание, което допълнително улеснява тези задачи и позволява обновяването на съдържанието да бъде извършвано дистанционно. Тази среда е ключът за успеха на всяка система за управление на съдържанието. Чрез осигуряване на опростен механизъм за поддържане на сайта създаването на съдържание може да бъде възложено на различни служители на организацията. Например маркетинговият мениджър може да поддържа секцията за новини и връзки с обществеността, докато продуктовият мениджър поддържа актуален продуктовия каталог.
Управление на съдържание
След като една страница бъде създадена тя се съхранява в централното хранилище на системата за управление на съдържанието. То съхранява цялото съдържание на сайта, както и друга поддържаща функциите и работата на CMS информация. Това централно хранилище позволява на системата да осигурява редица полезни функции:
· Поддържане на информация за всички предишни версии на една страница, кой какво е променял и кога;
· Гарантиране на това, че всеки потребител може да променя само тази секция от сайта, за която е отговорен и за която са му дадени права от администратора;
· Интегриране със съществуващи информационни източници и IT системи.
По-важното, системата за управление на съдържанието осигурява редица от възможности за управление на работния процес по създаване на съдържанието. Това се илюстрира най-добре чрез следния пример:
Авторите на съдържание добавят своите документи в системата. Редакторите коригират, приемат или отхвърлят документи. Дизайнерите създават шаблоните и подреждат съдържанието в сайта. След това главните редактори са отговорни за публикуването на съдържанието в сайта. Системата за управление на съдържанието контролира и подпомага всяка стъпка от този работен процес, включително техническите задачи по публикуването на документите на един или повече уеб сървъра. На всяка стъпка CMS управлява статуса на страницата и уведомява хората, които са отговорни за съответния етап от работния процес. По този начин се позволява на повече автори да участват в управлението на съдържанието на сайта и се осигурява стриктен контрол върху качеството, достоверността и съгласуваността на информацията.
Публикуване
Когато съдържанието е вече в завършен вид в хранилището, то може да бъде публикувано в Интернет или интранет сайта. Системите за управление на съдържанието притежават и използват мощни средства за публикуване, които позволяват предварително дефинирани външен вид и подредба на сайта да бъдат автоматично приложени върху новото съдържание по време на публикуването му. Те могат също да позволяват едно и също съдържание да бъде публикувано в множество сайтове. Разбира се всеки отделен сайт има свой собствен изглед, така, че CMS позволява на графичните дизайнери и уеб програмистите да дефинират и променят външния вид на сайта, който ще бъде приложен от системата. Тези възможности за публикуване гарантират, че страниците в целия сайт ще изглеждат еднотипно и позволяват висок стандарт на презентация. Те позволяват също авторите да се концентрират върху създаването на съдържанието, оставяйки външния облик на сайта изцяло на системата за управление на съдържанието. Тя изцяло автоматизира процеса на публикуване на съдържанието.
Много от системите поддържат концепцията за ‘single source publishing’. Това означава, че те могат да публикуват автоматично дадена единица съдържание освен като HTML страница и в различни други формати, като PDF, Word, WAP и XML.
Презентация
Системата за управление на съдържанието може също да осигурява възможности за повишаване на качеството и ефективността на сайта. Например CMS може да изгради навигацията на сайта чрез прочитане на структурата на съдържанието направо от хранилището. Тя също улеснява поддръжката на множество браузъри и достъпността за потребители с увреждания. CMS прави сайта актуален, динамичен и интерактивен.
1.2.2 Система за управление на бази данни и изпълними скриптове
Съдържанието и цялата друга информация, свързана със сайта обикновено се съхранява в сървърно-базирана система за управление на релационни бази от данни. Използват се изпълними скриптове, написани на скриптови езици или инструменти като Coldfusion, PHP, Perl, JSP, ASP, Python за взаимодействие с данните и превръщането им във визуално съдържание. Данните, съхранявани в базата данни се извличат и преобразуват в html страници или други документи. След това страниците, контролирани и публикувани от системата за управление на съдържанието могат да бъдат видени от посетителите на сайта.
База данни е организирана колекция от данни, използвана с цел моделиране на някакъв вид организация или организационен процес. В дните преди релационния модел на бази данни обикновено са се използвали два други модела за поддържане и действие с данни – йерархичен модел на бази данни и мрежов модел на бази данни.
Релационният модел е бил създаден за първи път през 1969 г. и днес се е превърнал в най-широко използвания модел в управлението на бази данни. Една релационна база данни съхранява данни в релации, които потребителя възприема като таблици. Всяка релация е съставена от записи и атрибути или полета. Физическата последователност на записите и полетата в една таблица е напълно несъществен и всеки запис в таблицата се идентифицира от поле, което съдържа уникална стойност. Това са двете отличителни характеристики на релационните бази данни, които дават възможност данните да съществуват независимо от начина, по който те физически са съхранени в компютъра. Не се изисква потребителя да знае физическото разположение на даден запис, за да извлече неговите данни. Релационният модел категоризира релациите като едно към едно, едно към много и много към много. Една релация между две таблици се установява косвено чрез съпоставянето на стойности на общо поле. Стига даден потребител да е запознат с релациите между таблиците в базата данни, той може да осъществява достъп до данни по почти неограничен брой начини.
Извличането на данни от релационна база данни става с езика SQL (Structured Query Language – Език за структурирани заявки). SQL е стандартният език, използван за да се създават, модифицират и поддържат бази данни и да се отправят заявки към тях. Повечето от днешните по-важни софтуерни програми за релационни бази данни включват различни форми на реализация на SQL.
Релационната база данни осигурява няколко предимства:
· Вградена цялост на много нива: Целостта на данните е вградена в модела на ниво поле, за да се осигури точността на данните; на ниво таблица, за да се осигури, че записите не са дублирани и за да открие липсващи стойности на първичен ключ; на ниво релация, за да осигури, че релациите между две таблици са действителни; и на бизнес ниво, за да осигури, че данните са точни от гледна точка на самия бизнес.
· Логическа и физическа независимост на данните от приложенията за бази данни: Нито промените, които даден потребител прави с логическия строеж на базата данни, нито промените, които компанията, продаваща софтуер прави с физическата реализация на базата данни ще повлияе неблагоприятно на приложения, основаващи се на тях.
· Гарантирана съгласуваност и точност на данните: Данните са съгласувани и точни, благодарение на различните нива на цялост, които можете да наложите вътре в базата данни.
· Лесно извличане на данни: По подадена от потребителя команда могат да бъдат извлечени данни от определена таблица или от няколко свързани таблици в базата данни. Това позволява на потребителя да разглежда информация по почти неограничен брой начини.
Една система за управление на релационни бази данни (СУРБД) представлява софтуерна програма, която се използва за създаване, поддръжка, модифициране и манипулиране с една релационна база данни. Много програми, реализиращи СУРБД предоставят инструменти за създаване на приложения за крайния потребител, които взаимодействат с данните, съхранени в базата данни.
СУРБД от типа клиент/сървър са разположени на компютър, изпълняващ ролята на сървър за бази данни, а потребителите взаимодействат с данните чрез приложения, разположени на техните собствени компютри като клиент на бази данни.
Разработчиците използват СУРБД тип клиент/сървър за да създадат и поддържат базата данни и съпътстващи я приложни програми за крайния потребител. Той реализира цялост и сигурност на данните на сървъра за данни, давайки си възможност да базира много различни потребителски приложения на едни и същи множества от данни, без да влияе на целостта и сигурността им. СУРБД тип клиент/сървър от доста време се използват широко за управление на големи количества споделени данни. Някои примери за тях са:
· Microsoft SQL Server;
· Oracle Application Server;
· MySQL;
· PostgreSQL;
· MSSQL.
Уеб базираните приложенията с база данни следват обща структура, показана на фигура №3.
Фиг. №3 Структура на уеб базираните приложения с база данни
Основната архитектура се състои от уеб браузър, уеб сървър, машина за обработка на скриптове и система за управление на бази данни. Тя работи по следния начин:
1. Потребителският уеб браузър изпраща HTTP заявка за определена уеб страница, например index.php.
2. Уеб сървърът получава заявката за index.php, извлича файла и го подава на машината за обработка на скриптове.
3. Машината започва да обработва скрипта. В скрипта има команда за свързване с базата данни и изпълняване на заявка. Машината отваря конекция към СУБД и изпраща съответната заявка.
4. СУБД получава заявката, обработва я и изпраща резултатите обратно на машината за обработка на скриптове.
5. Машината за обработка на скриптове довършва скрипта, което обикновено включва форматиране на резултатите в HTML. След това връща получения резултат на уеб сървъра.
6. Уеб сървърът изпраща резултата обратно на браузъра, където потребителя може да го види.
1.2.3 Темплейт система
Темплейт системата най-общо описва софтуера и методологиите, използвани за създаване на голямо количество уеб страници и уеб документи. Тези системи обработват уеб темплейти чрез софтуер, наречен машина за работа с темплейти (Template engine). На Фигура №4 е представен основния процес за създаване на уеб документи, при който съдържанието (от база данни) и „спецификациите за презентация” (уеб темплейт) се комбинират (чрез машината за работа с темплейти) за създаване на голямо количество документи.
Фиг. №4 Създаване на уеб документи
Темплейт системата се състои от следните елементи:
· Машина за работа с темплейти: основният обработващ елемент на системата;
· Източници на съдържание: различни видове входни потоци от данни, като такива от релационна база от данни, XML файлове и други видове локални или мрежови данни;
· Уеб темплейти: специфицирани в зависимост от езика за темплейти (Template language).
За уеб дизайнера, когато всяка уеб страница е създадена чрез уеб темплейт той мисли за нея като за модулно структурирана страница с компоненти, които могат да се модифицират независимо един от друг. Тези компоненти могат да включват заглавна част, заключителна част, глобална навигационна лента, локална навигационна лента и съдържание.
За програмистите езика за създаване на темплейти предлага по-ограничена логика, която се използва само за адаптиране на презентацията, а не за сложни бизнес алгоритми.
За останалите членове на екипа по разработването на сайта системата за уеб шаблони позволява на администратора на сайта да се съсредоточи върху техническата поддръжка, авторите на съдържание да се фокусират върху съдържанието и по-надеждна работа за всички от тях.
Обобщено, употребата на система за уеб шаблони има следните предимства:
· Улеснена промяна на дизайна на сайта поради разделението на логиката на извличане на съдържанието от презентацията на сайта;
· Улеснено унифициране на интерфейса: менютата и другите презентационни елементи лесно се уеднаквяват, за улеснение на потребителите, които посещават сайта;
· Възможност за независима работа по дизайна и кода на сайта от различни хора по едно и също време;
· Увеличаване на производителността на разработване.
Машината за работа с темплейти е софтуер, създаден да създава уеб документи чрез обработка на уеб съдържание и уеб темплейти. Тя работи в контекста на темплейт системата и обикновено включва основните възможности на повечето програмни езици на високо ниво, с акцент върху възможностите за работа с обикновен текст. Такива възможности включват:
· Променливи и функции;
· Заместване на текст;
· Включване или изключване на файлове;
· Условни конструкции/структури и цикли.
Ето един пример, който илюстрира опростен модел на обработка на типична машина за работа с темплейти. Тя създава уеб страница чрез обработка на уеб темплейт заедно с данни от релационна база данни като замества променливите в темплейта със специфични стойности. В примера променливата $x се замества на първата страница с "Mother", а на втората с "World".
Уеб шаблона/темплейта може да изглежда така:
<html>
<h1>Hello {$X}</h1>
</html>
С допълнителен сорс код на темплейта:
templateAssign ('X', 'World');
Или когато се специфицира съдържание от релационна база от данни:
$data[01]='Mother'; $data[02]='World';
templateAssign('X', $data[$i]);
Уеб темплейтът е елемент от уеб темплейт системата, който представлява предефинирано схематично оформление на страницата и определен брой програмни инструкции, написани на езика за темплейти. Най-просто казано уеб темплейтът прилича на бланка за писма. Употребата на уеб темплейти се свързва с един от основните принципи в дизайна – разделяне на съдържанието от презентацията.
Уеб темплейтът има определени базови характеристики. Тези характеристики могат да се опишат чрез следните основни принципи:
· Принцип на ефективното разделяне;
· Принцип на гъвкавата презентация.
Ефективно разделяне: обща цел на уеб разработчиците е да създават приложения, които са гъвкави и лесни за поддържане. Важна предпоставка за постигане на тази цел е разделянето на бизнес логиката от презентационната логика. Затова разработчиците използват уеб темплейт системи, които осигуряват в различна степен това разделение.
Гъвкава презентация: в основата на ефективното разделяне е необходимостта от максимална гъвкавост в кода и ресурсите, отнасящи се до презентационната логика. Промените в предпочитанията на клиентите и желанието за представяне на вече съществуващо съдържание по нов, по-интересен начин често водят до големи изменения във външния вид на уеб съдържанието, които трябва да разрушават основната бизнес логика колкото се може по-малко.
Разделението между презентация (front end) и бизнес логика (infrastructure) обикновено е важно тъй като:
· Сорс кодът на езика за презентация обикновено се различава от кода на другите използвани средства и езици за изграждане на уеб сайта;
· Процесът по разработване на уеб сайта може да изисква работа по различно време и място от различни членове на екипа;
· Отделните членове на екипа имат различни умения и уменията за кодиране на презентацията не винаги съвпадат с уменията за кодиране на бизнес логиката;
· Сорс кода е по-лесен за поддържане и по-четлив когато различните компоненти са отделени един от друг.
Уеб темплейтът може да включва други темплейти, наречени подтемплейти. Типичен пример е включването на заглавната и завършващата част на страницата като подтемплейти в основния темплейт. Подтемплейтът е подобен на подпрограма в програмните езици. Той включва отделни части от документа в основния темплейт, който след това се изпраща към крайното изходно предназначение (Фигура №5).
Фиг. №5 Подтемплейт T1, включващ се в темплейт T2
Специфичната функционалност на подтемплейта зависи от езика за темплейти, който се използва. Например кодът, намиращ се в подтемплейтите може да не следва същите правила за интерполиране на променливи и обработване на директиви, както кодът, намиращ се в основния темплейт.
1.3 Изисквания при избор на система за управление на съдържанието
Изборът и имплементирането на система за управление на съдържанието може да бъде един от най-големите IT проекти, предприемани от много организации. С разходи, измерващи се понякога в милиони долари изборът на правилния CMS пакет е жизнено важен. С толкова много производители и продукти на пазара сравнението между тях може да е много трудно. Поради тези причини подготовката и дисциплинираният подход към този процес на оценка са критични.
В тази точка ще бъдат разгледани някои идеи и препоръки и ще бъде предложен подход, който може да подпомогне една организация да установи своите индивидуални бизнес изисквания към CMS.
Бизнес цели и стратегии
Основният въпрос, на който трябва да си отговори всяка организация, желаеща да използва система за управление на съдържанието е защо ще се използва CMS. Преди да се установят индивидуалните изисквания към CMS трябва да се определят бизнес целите, които ще бъдат постигнати чрез внедряването й. Те трябва да отговарят на дългосрочните стратегии и насоки на бизнеса. Всяко изискване трябва да е свързано с една или повече бизнес цели. Това позволява да се идентифицират причините за изискванията и да се подредят по приоритет. Добра идея е в зависимост от големината и структурата на организацията, в екипа, който ще оценява и ще прави избор на система за управление на съдържанието да се включат членове от различни отдели, тъй като създаването на съдържанието, използването и поддръжката на системата често се извършват от цял екип и за различни секции от сайта отговарят различни хора.
Най-важно е да се определи вида на съдържанието, което ще се публикува. Това влияе пряко върху функционалността, която ще се изисква от системата.
Не съществува единствен най-добър списък с изисквания към CMS. Всяка организация има уникални потребности. Затова е добре да се използва структуриран подход за определяне на списъка с изисквания, за да се гарантира, че той ще бъде едновременно управляем и достатъчен.
Изискванията могат да се групират в следните категории:
· Създаване на съдържание;
· Управление на съдържание;
· Публикуване;
· Презентация;
· Бизнес изисквания.
Този списък обхваща целия жизнен цикъл на съдържанието от началното му създаване до предоставянето му на крайния потребител.
Създаване на съдържание
Това е функционалността, от която се нуждаят авторите на съдържание, използвайки CMS. Ключови изисквания от тази категория са:
· Интегрирана среда за създаване на съдържание: CMS да осигурява мощна и удобна среда за авторите на съдържание. Тя им осигурява лесен достъп до пълния набор от възможности, осигурени от системата;
· Разделяне на съдържанието от презентацията: Не е възможно да се публикува съдържание в множество формати без стриктно разделяне на съдържанието от презентацията. Форматирането на съдържание трябва да е базирано на стилове и да се извършва по време на публикуване, а не при неговото създаване;
· Поддържане на множество потребители: CMS ще има много потребители, работещи по едно и също време. Затова тя трябва да осигурява възможности като потребителска автентикация и заключване на записите, за да се избегнат едновременни промени в съдържанието;
· Single-sourcing (преизползване на съдържанието): Една и съща страница или дори параграф често са използвани в различен контекст или предоставяни на различни групи от потребители. Това е предпоставка за управление на различни платформи (Интернет, интранет) от един и същ източник на съдържание;
· Създаване на метаданни: Използването на метаданни (автор, заглавие, дата на публикуване, ключови думи и др.) е много важно при управлението на големи хранилища от данни. То включва също индексиране на ключови думи, групиране и систематизиране на съдържанието;
· Гъвкаво създаване на хипервръзки: Авторите създават множество хипервръзки между страниците и те трябва да остават стабилни при преструктуриране;
· Нетехническо създаване на съдържание: Не трябва да се изисква от авторите да използват HTML (или други технически познания) докато създават страници;
· Лесно използване и ефективност: За да бъде успешна една CMS създаването и управлението на съдържанието трябва да бъдат лесни и удобни.
Управление на съдържание
В основата на повечето CMS решения е централно хранилище, съпътствано от набор от инструменти за манипулиране и управление на съдържанието.
Ключови изисквания от тази категория са:
· Контрол на версиите и архивиране: Стриктният контрол на версиите е необходим за архивиране и възстановяване на съдържанието при срив на системата;
· Работен процес: Децентрализираното създаване на съдържание разчита силно на мощен модел на работния процес, който да може да бъде лесно настройван и да е устойчив на организационни промени;
· Сигурност: Да са осигурени адекватни нива на сигурност, проследяване и контрол за да се запази целостта на съдържанието и защитата му от неоторизиран достъп;
· Интегриране с външни системи: CMS обикновено е една от множество системи, използвани за представяне на информация в Интернет или интранет сайт. Затова възниква необходимост от интегрирането й със съществуващите бизнес системи чрез отворени или индустриални стандарти;
· Създаване на отчети: CMS да осигурява широк кръг от отчети за потребителите и администраторите. В най-добрия случай системата трябва активно да следи и да дава информация за всички възникващи събития и конфликти. Желателно е също отчетите да могат да се настройват.
Публикуване
Средствата за публикуване вземат съдържанието от хранилището и генерират крайните страници.
Ключови изисквания от тази категория са:
· Стилови множества: Външния вид да се контролира чрез използването на стилови множества. Това осигурява гъвкавост и разширяемост;
· Шаблони на страниците: Цялостното оформление на страниците да се специфицира чрез темплейти. Добре е да е осигурен нетехнически интерфейс за тяхното управление;
· Разширяемост: Да има възможност интегриране на отрязъци код за осигуряване на допълнителна функционалност на публикуването. CMS трябва да поддържа процес на непрестанни подобрения в дизайна на интерфейса;
· Поддържане на множество формати: CMS трябва да има възможност за публикуване на съдържание в множество формати като HTML, PDF, WAP и други. Добре е да има възможност за включване на поддръжка на допълнителни формати, които ще са необходими при появяването на нови стандарти. За да се постигне високо качество на всеки формат е жизнено важно да се разделя съдържанието от презентацията по време на създаването му. Това позволява да се използват различни стилови множества за всеки изходен формат;
· Персонализация: Възможност за предоставяне на различна информация въз основа или на потребителските профили или на метаданните на съдържанието. Това обикновено се изисква за големи портални уеб сайтове;
· Статистики за използваемостта: CMS да поддържа пълни статистики за използваемостта на сайта, включително най-популярни страници, най-търсена информация, дневна посещаемост и др. Тази информация позволява да се следи успеха на сайта и да се идентифицират проблеми при използването му.
Презентация
Публикуваните страници трябва да отговарят на определени стандарти.
Ключови изисквания от тази категория са:
· Използваемост: Това обхваща аспекти като леснота на употреба и на усвояване. Използваемостта може да бъде установена чрез провеждане на тестове с реални потребители върху прототип на системата;
· Достъпност: CMS да отговаря на стандартите, като Инициативата за уеб достъпност на W3C (W3C Web Accessibility Initiative);
· Поддръжка на множество браузъри: Страниците да изглеждат по един и същи начин във всички по-използвани браузъри (Internet Explorer, Netscape, Opera и др.).
· Ограничена функционалност от страна на клиента: Да се определи кои технологии от страна на клиента (Java, JavaScript, Flash и др.) да се използват. Това е по-важно за Интернет сайт, отколкото за интранет;
· Скорост: Размерът на страниците трябва бъде ограничен, за да се гарантира, че времето за зареждане е приемливо за потребителите с различни методи за достъп до Интернет (LAN, модем, кабелен и др.);
· Валиден HTML: Всички страници да отговарят на текущите HTML спецификации. Това осигурява максимална съвместимост с различните браузъри и платформи;
· Ефективна навигация: Да е осигурена логична, изчерпателна и лесна за използване навигация за потребителите;
· Метаданни: Всички страници трябва да осигуряват достатъчно метаданни за съдържанието. Това позволява ефективно индексиране и търсене от страна на търсещите машини;
· Приятелски URL адреси: Това са URL адреси от вида www.myserver/myfolder/mypage.html, а не www.myserver/12345/mypage.php?x=abc&y=123 и осигуряват правилното индексиране на уеб сайта от търсещите машини.
Бизнес изисквания
Бизнес изискванията на организацията също трябва да бъдат удовлетворени.
Ключови изисквания от тази категория са:
· Обучение: Производителят да е публикувал обучаващи материали за CMS и да може да осигури обучение за работа със системата;
· Документация: CMS да е съпроводена с пълна документация за потребители, администратори и разработчици;
· Гаранция: Да е осигурен гаранционен период за системата след нейната доставка;
· Поддръжка: Производителят да осигурява техническа поддръжка и обновяване на системата;
· Необходими ресурси: Хардуера, софтуера и операционната система, необходими за работа на CMS и интегрира ли се тя с вече съществуващите в организацията;
· Необходими умения: Какви знания и умения са необходими на служителите в организацията, които ще поддържат и настройват системата;
· Разходи: Какви фиксирани разходи за системата и разходи за всеки потребител са необходими. Второто е много важно за големи организации с множество служители;
· Съществуващи сайтове: Производителят да е осигурил списък на сайтове, където системата е била успешно имплементирана. Те могат да се сравнят с характеристиките и изискванията на организацията, където CMS ще се внедрява.
1.4 Сравнителен анализ на съществуващите уеб системи за управление на съдържанието – характеристики, предимства и недостатъци
На пазара днес съществуват стотици производители, предлагащи системи за управление на съдържанието от различен клас и с различна функционалност и съответно цена. Съществуват и немалък брой безплатни разработки с отворен код. При избора на система за управление на съдържанието едни от най-важните критерии са вида и сложността на съдържанието и бюджета, с който разполага организацията, желаеща да внедри и използва такава система. Не съществува система, отговаряща напълно на всички изисквания на организацията. Всяка от тях има силни и слаби страни.
Ще бъде направено сравнение на четири системи за управление на съдържанието от различен клас, за да могат по-добре да проличат възможностите на всяка от тях. Подбрани са две системи с отворен код – Drupal и Plone и две комерсиални – системата от по-висок клас Morello на Mediasurface и системата от среден клас Sitecore Content Manager на Sitecore. Изборът на тези системи за управление на съдържанието е направен въз основа на предложените за сравнение системи в http://www.cmswatch.com/CMS/Report/Vendors/.
Ще бъдат разгледани по-важните характеристики на всяка система, разделени в няколко категории.
На първо място са разгледани цената и системните изисквания на всяка от сравняваните системи, показани в Таблица №1. Важна характеристика на всяка система е както нейната цена и лиценза, с който се разпространява, така и софтуера, с който работи, тъй като когато той е комерсиален това увеличава нейната обща стойност.
Таблица №1
Системни изисквания |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore Content Manager |
Application Server |
PHP 4.3.3+ |
Zope |
Всеки J2EE application server |
.NET |
Приблизителни разходи |
Безплатна |
Безплатна |
$50k - $100k |
18.000 Euro |
База данни |
MySQL, Postgres |
Zope |
Собствена |
MS SQL, My SQL, Oracle, RDBMS, XML (Tamino, SQL Server 2005, XML файл) |
Лиценз |
GNU GPL |
GNU GPL |
Комерсиален, на CPU |
Комерсиален |
Операционна система |
Всички |
Всички |
Solaris, Windows, Linux |
Windows XP/2000/2003 |
Език за програмиране |
PHP |
Python |
Java, ASP .NET, XHTML и свързани отворени стандарти |
XSLT, ASP.NET (C#, VB.NET, J#) + client side scripting. |
Уеб сървър |
Apache, IIS |
Apache, IIS, Zope |
Много възможности |
IIS |
На второ място са разгледани характеристики, свързани със сигурността на системата, на съдържанието на уеб сайта, който управлява и сигурността на ниво потребителска автентикация, показани в Таблица №2. Когато се разглеждат тези характеристики трябва да се има в предвид нивото на сигурност, от което се нуждае всяка организация и доколко сигурността е важна за нея, което зависи от вида на данните и броя потребители на системата.
Таблица №2
Сигурност |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore Content Manager |
Проследяване и контрол |
Да |
Да |
Да |
Да |
Одобрение на съдържанието |
Да |
Да |
Да |
Да |
Email потвърждение |
Да |
Да |
Допълнително заплащане |
Безплатна добавка |
Детайлни привилегии |
Да |
Да |
Да |
Да |
Kerberos Автентикация |
Не |
Безплатна добавка |
Ограничени възможности |
Да |
LDAP Автентикация |
Безплатна добавка |
Безплатна добавка |
Да |
Допълнително заплащане |
Login History |
Да |
Безплатна добавка |
Да |
Да |
NIS Автентикация |
Не |
Безплатна добавка |
Ограничени възможности |
Да |
NTLM Автентикация |
Безплатна добавка |
Да |
Ограничени възможности |
Безплатна добавка |
Pluggable Автентикация |
Да |
Да |
Да |
Да |
Известия за проблеми |
Не |
Безплатна добавка |
Да |
Безплатна добавка |
Управление на сесии |
Да |
Безплатна добавка |
Да |
Да |
SMB Автентикация |
Не |
Безплатна добавка |
Ограничени възможности |
Безплатна добавка |
SSL съвместимост |
Да |
Да |
Да |
Да |
SSL Logins |
Не |
Безплатна добавка |
Да |
Да |
SSL страници |
Не |
Не |
Да |
Да |
Контрол на версиите |
Да |
Да |
Да |
Да |
Поддръжката е важен аспект при избора на система за управление на съдържанието, тъй като осигурява нейната безотказна работа и оказване на помощ от високо квалифицирани специалисти при проблеми в работата й. Тя е особено необходима за организации, които не разполагат със собствен IT отдел или организации, за чиято дейност е много важно техният сайт да работи винаги и без никакво прекъсване, като например сайтове за електронна търговия. Поддръжката включва осигуряване на обучение на служителите на организацията за работа със системата, наличие на материали за обучение и оказване на помощ при проблеми в работата на системата. Изключително важно е и това дали е предоставена възможност за тестване на системата преди нейното закупуване, за да се прецени доколко тя отговаря на индивидуалните потребности и конкретното съдържание на всяка организация. В Таблица №3 са разгледани подробно тези характеристики за всяка от сравняваните системи.
Таблица №3
Поддръжка |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore Content Manager |
Сертифициране |
Не |
Не |
Да |
Да |
Платени ръководства |
Да |
Да |
Не |
Да |
Платена поддръжка |
Да |
Да |
Да |
Да |
Платено обучение |
Да |
Да |
Да |
Да |
Общност на разработчиците |
Да |
Да |
Не |
Да |
Online помощ |
Да |
Ограничени възможности |
Да |
Да |
Разширяем API |
Да |
Да |
Да |
Да |
Професионален хостинг |
Да |
Да |
Да |
Да |
Професионални услуги |
Да |
Да |
Да |
Да |
Публичен форум |
Да |
Да |
Не |
Да |
Публичен пощенски списък |
Да |
Да |
Не |
Да |
Тестов framework |
Безплатна добавка |
Да |
Ограничени възможности |
Да |
Независими разработчици |
Да |
Да |
Не |
Да |
Потребителски конференции |
Да |
Да |
Да |
Ограничени възможности |
Лекотата на използване е важна характеристика за служителите на организацията, които ще работят ежедневно със системата за управление на съдържанието, тъй като много от тях са нетехнически лица и ако работата със системата е неудобна, сложна и трудна за усвояване от обикновен потребител тя ще стане безполезна, дори и да предлага множество функции. Системата трябва да има опростен, интуитивен и логичен интерфейс и да улеснява потребителите не само в процеса на създаване и публикуване на съдържанието, а и в процеса на работа със самата нея.
Приятелските URL адреси освен за потребителите са необходими и за много от търсещите машини в Интернет, тъй като някои от тях могат да индексират само страници, имащи такъв адрес. А индексирането на сайта от повече търсещи машини увеличава шанса той да бъде открит от по-голям брой Интернет потребители. В таблица №4 са представени някои характеристики, свързани с лекотата на използване на сравняваните системи.
Таблица №4
Лекота на използване |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore |
Поддръжка на Drag-N-Drop |
Не |
Безплатна добавка |
Да |
Да |
Приятелски URL адреси |
Да |
Да |
Да |
Да |
Преоразмеряване на изображения |
Безплатна добавка |
Да |
Да |
Да |
Макро език |
Безплатна добавка |
Да |
Да |
Да |
Качване на множество файлове |
Безплатна добавка |
Да |
Да |
Да |
Прототипиране |
Не |
Безплатна добавка |
Да |
Да |
Server Page Language |
Да |
Да |
Да |
Да |
Проверка на правописа |
Безплатна добавка |
Безплатна добавка |
Да |
Да |
Абониране |
Безплатна добавка |
Безплатна добавка |
Да |
Безплатна добавка |
Език за създаване на темплейти |
Ограничени възможности |
Да |
Да |
Да |
Undo |
Ограничени възможности |
Да |
Да |
Да |
WYSIWYG редактор |
Безплатна добавка |
Да |
Да |
Да |
Zip архиви |
Не |
Безплатна добавка |
Допълнително заплащане |
Да |
Характеристиките, свързани с управлението на системата за управление на съдържанието са от съществено значение за нейните администратори. Те позволяват да се правят настройки на работата на самата система, като например дефиниране на работния процес по създаване на съдържание и смяна на облика на уеб сайта. Важна е и възможността за проследяване качеството на работа на системата. Някои от тези характеристики на сравняваните системи са представени в Таблица №5.
Таблица №5
Управление |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore Content Manager |
Управление на ресурсите |
Да |
Да |
Да |
Да |
Clipboard |
Не |
Да |
Да |
Да |
Графици на съдържанието |
Безплатна добавка |
Да |
Да |
Да |
Inline администриране |
Да |
Да |
Да |
Да |
Online администриране |
Да |
Да |
Да |
Да |
Добавяне на пакети |
Не |
Да |
Да |
Да |
Подсайтове |
Да |
Да |
Да |
Да |
Облик / Теми |
Да |
Да |
Да |
Да |
Кошче |
Не |
Безплатна добавка |
Да |
Да |
Уеб статистики |
Да |
Безплатна добавка |
Допълнително заплащане |
Да |
Уеб базирани стилове/Управление на темплейти |
Да |
Да |
Да |
Да |
Уеб базирано управление на превода |
Да |
Безплатна добавка |
Да |
Да |
Управление на работния процес |
Ограничени възможности |
Да |
Да |
Да |
Изграждането на уеб сайтове в съответствие с актуалните в момента стандарти и технологии се превръща в необходимост, тъй като осигурява по-голяма съвместимост на сайта с различни браузъри и платформи и неговата достъпност за по-голям кръг от потребители, дори и такива с увреждания. WAI (Web Accessibility Initiative) е инициатива на W3C (World Wide Web Consortium), която създава стандарти за създаване на уеб страници, достъпни за хора с увреждания. В таблица №6 са изброени по-важните от тези стандарти и технологии, поддържани от сравняваните системи.
Таблица №6
Технологии |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore Content Manager |
RSS |
Да |
Да |
Да |
Да |
FTP поддръжка |
Ограничени възможности |
Да |
Да |
Да |
UTF-8 поддръжка |
Да |
Да |
Да |
Да |
WAI съвместимост (достъпност) |
Ограничени възможности |
Да |
Ограничени възможности |
Да |
WebDAV поддръжка |
Не |
Да |
Не |
Ограничени възможности |
XHTML съвместимост |
Да |
Да |
Да |
Да |
Гъвкавостта на системата за управление на съдържанието зависи от настройките на самата система и възможностите, които поддържа. Метаданните са описателни данни или с други думи данни за данните. Такива данни за съдържанието са например автор, заглавие, описание, дата на създаване. Тяхната поддръжка е важна за създаването на индекс за бързо търсене и осигурява възможност за разширено търсене на информация по различни критерии. Друга важна характеристика е повторното използване на съдържанието, тъй като то позволява публикуването на едно и също съдържание в множество различни формати, като HTML, PDF, WAP и други.
Локализацията позволява публикуването на съдържание на повече от един език. Тя увеличава кръга от посетители на уеб сайта, за които е достъпно съдържанието, публикувано в него. Това е особено важно за големи организации, работещи с международни партньори и имащи офиси и клиенти на различни места по света. В таблица №7 са представени някои от по-важните характеристики на сравняваните системи, свързани с гъвкавостта.
Таблица №7
Гъвкавост |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore Content Manager |
Поддръжка на CGI режим |
Да |
Не |
Не |
Не |
Преизползване на съдържанието |
Ограничени възможности |
Да |
Да |
Да |
Разширяеми профили на потребителите |
Да |
Да |
Да |
Да |
Локализация на интерфейса |
Да |
Да |
Да |
Да |
Метаданни |
Да |
Да |
Да |
Да |
Многоезично съдържание |
Да |
Да |
Да |
Да |
Интегриране на многоезично съдържание |
Безплатна добавка |
Да |
Да |
Да |
Поддръжка на множество сайтове |
Да |
Да |
Да |
Да |
Устойчиви URL адреси |
Да |
Да |
Да |
Да |
Повечето системи за управление на съдържанието разполагат с множество вградени или допълнителни модули, осигуряващи допълнителна функционалност. При инсталиране обикновено се дава възможност да се изберат само необходимите модули, като се пропуснат излишните, а по-късно при необходимост да се добавят. В таблица №8 са показани някои от тези модули на сравняваните системи.
Таблица №8
Вградени приложения |
Drupal |
Plone |
Morello by Mediasurface |
Sitecore Content Manager |
Блог |
Да |
Да |
Да |
Безплатна добавка |
Чат |
Безплатна добавка |
Безплатна добавка |
Да |
Ограничени възможности |
Управление на контактите |
Безплатна добавка |
Безплатна добавка |
Допълнително заплащане |
Ограничени възможности |
Въвеждане на данни |
Безплатна добавка |
Безплатна добавка |
Допълнително заплащане |
Да |
Отчети на базата данни |
Не |
Ограничени възможности |
Да |
Безплатна добавка |
Дискусия / Форум |
Да |
Да |
Да |
Допълнително заплащане |
Управление на документите |
Ограничени възможности |
Да |
Да |
Допълнително заплащане |
Календар на събитията |
Безплатна добавка |
Да |
Да |
Ограничени възможности |
Управление на събитията |
Безплатна добавка |
Безплатна добавка |
Да |
|
Отчети за разходите |
Не |
Безплатна добавка |
Не |
Допълнително заплащане |
Често задавани въпроси (FAQ) |
Да |
Безплатна добавка |
Да |
Ограничени възможности |
Разпространение на файлове |
Безплатна добавка |
Да |
Да |
Да |
Графики и диаграми |
Не |
Безплатна добавка |
Допълнително заплащане |
Ограничени възможности |
Групова работа |
Безплатна добавка |
Безплатна добавка |
Не |
Допълнително заплащане |
Книга за гости |
Безплатна добавка |
Безплатна добавка |
Да |
Безплатна добавка |
Поддръжка / Съобщения за бъгове |
Безплатна добавка |
Безплатна добавка |
Не |
Ограничени възможности |
HTTP прокси |
Не |
Допълнително заплащане |
Да |
Да |
Обяви за работа |
Безплатна добавка |
Безплатна добавка |
Да |
Да |
Управление на хипервръзките |
Безплатна добавка |
Безплатна добавка |
Да |
Да |
Форма за изпращане на e-mail |
Безплатна добавка |
Безплатна добавка |
Да |
Да |
Бюлетин с новини |
Безплатна добавка |
Безплатна добавка |
Да |
Допълнително заплащане |
Фото галерия |
Безплатна добавка |
Да |
Да |
Да |
Анкети |
Да |
Безплатна добавка |
Да |
Да |
Управление на продуктите |
Безплатна добавка |
Да |
Да |
Да |
Проследяване на проекта |
Безплатна добавка |
Безплатна добавка |
Не |
Допълнително заплащане |
Търсачка |
Да |
Да |
Да |
Допълнително заплащане |
Карта на сайта |
Безплатна добавка |
Да |
Да |
Безплатна добавка |
RSS |
Да |
Безплатна добавка |
Да |
Да |
Прогноза за времето |
Безплатна добавка |
Безплатна добавка |
Допълнително заплащане |
Допълнително заплащане |
Уеб услуги Front End |
Не |
Не |
Да |
Да |
От направеното до тук сравнение може да се направи извода, че стремежът на системите за управление на съдържанието с отворен код в много отношения е да предлагат характеристиките и функционалността, предлагана от комерсиалните системи. Системите с отворен код се създават, поддържат и развиват от множество разработчици и техният код е публично достъпен за преглед и редактиране. Това осигурява по-голямата им гъвкавост, тестването им и откриването на грешки от множество независими програмисти, което повишава тяхната стабилност, и голямо разнообразие от допълнителни модули, които се създават за тях от различни разработчици и разширяват тяхната функционалност.
Съществуват множество характеристики, по които може да се направи оценка на една система за управление на съдържанието. Крайната оценка и изборът на конкретна система зависят изцяло от индивидуалните изисквания и потребности на организацията и от вида на съдържанието, което ще се публикува.
Глава 2: Проектиране и разработване на уеб базирана система за управление на съдържанието на сайта на „Хелис Кар” ООД
2.1 Инструментални средства за разработване на системата за управление на съдържанието
За разработването на уеб базираната система за управление на съдържанието, представена в дипломната работа е използван следния набор от инструментални средства:
· PHP: скриптов език за сървърно програмиране;
· MySQL: система за управление на релационни бази данни;
· Apache HTTP Server;
· PHPLib: (PHP Base Library) комплект от инструменти за разработване на уеб базирани приложения, включващ класове и функции за работа с темплейти, потребителска автентикация, управление на сесии и др.
Тези средства са безплатни и се разпространяват с отворен код, което е една от причините за техния избор. PHP, MySQL и Apache са трите ключови технологии с отворен код, работещи съвместно на повечето действащи уеб сървъри днес.
PHP е сървърен скрипт език, проектиран специално за създаване на динамични уеб сайтове. Кодът се интерпретира от уеб сървъра и генерира HTML или други изходни данни, които посетителят на сайта вижда.
Основните конкуренти на PHP са Perl, Microsoft Active Server Pages (ASP), Java Server Pages (JSP) и ColdFusion. В сравнение с тези продукти PHP притежава качества като:
· Висока производителност;
· Интерфейс към много различни системи за управление на бази данни;
· Вградени библиотеки за много от обичайните уеб задачи;
· Ниска цена;
· Лесно обучение и използване;
· Преносимост на различни операционни системи;
· Достъпен сорс код.
Днес PHP се използва в повече от 20 000 000 домейна и над 1 200 000 IP адреса[2].
MySQL е много бърза, стабилна система за управление на релационни бази данни Базата данни позволява ефективното съхранение, претърсване, сортиране и извличане на данни. MySQL сървърът контролира достъпа до данните и позволява едновременна работа на множество потребители, бърз достъп, както и осигуряване на достъп само на оторизираните за това потребители. Използва се SQL, който е стандартния световно разпространен език за заявки към бази данни. MySQL се разпространява с лиценз за отворен код, но съществуват и комерсиални лицензи.
Основните конкуренти на MySQL са PostgreSQL, Microsoft SQL Server и Oracle. Предимствата на MySQL включват:
· Висока производителност;
· Ниска цена;
· Лесно конфигуриране и обучение;
· Преносимост на различни операционни системи;
· Достъпен сорс код.
Apache HTTP Server е уеб сървър с отворен код за Unix, Windows, Novell NetWare и други платформи. Apache има огромен принос за първоначалното разрастване на WWW и чрез него работят над 70% от сайтовете. Счита се от много специалисти за платформа, според която се разработват и оценяват другите уеб сървъри. Притежава всички необходими средства за поддържане на уеб приложения и изграждане на интранет решения. Поддържа HTML, DHTML, HTTP, FTP, PHP, Perl и Java скриптове, CGI скриптове, FrontPage разширения. Сървърът има възможности за промяна на съобщенията за грешки, удостоверяване на потребителите, договаряне на съдържанието (изключително полезно при многоезични сайтове), proxy възможности, както и поддръжка на SSI. Има множество модули за Apache, които позволяват работа на разнообразни скриптове и осигуряване на динамично съдържание, криптиране, ограничаване и други.
Apache се разработва от отворено общество от разработчици - Apache Software Foundation и се разпространява под свой собствен лиценз - Apache License. Сървърът, както и целият му изходен код, е наличен за свободно използване и може да се променя при необходимост.
Основен конкурент на Apache HTTP Server Microsoft IIS (Internet Information Services).
PHPLib е обектно ориентиран комплект от инструменти за разработване на средно големи и големи уеб базирани приложения, насочен към PHP разработчици. Той съдържа набор от базови класове и функции за работа със сесии, потребителска автентикация, работа с темплейти и др.
2.2 Концептуален модел на системата за управление на съдържанието
Целта на разработената система за управление на съдържанието е да поддържа уеб сайта на фирма, занимаваща се с внос на руска автомобилна техника и резервни части. Системата е дружелюбно настроена към потребителя, което улеснява работата с нея - не съществуват изисквания за специални компютърни умения и познания, а само използването на уеб браузър и минимална компютърна грамотност, необходима за правилното ориентиране в Интернет среда.
Задачите на уеб сайта са да дава актуална информация за фирмата и предлаганите от нея продукти и услуги и да подпомага дейността й чрез подходящо представяне в Интернет, което да доведе до повишаване на нейната конкурентоспособност и увеличаване на броя на клиентите й. Аудиторията, към която е насочен уеб сайта са настоящите и потенциалните клиенти на фирмата, както и към всички, които проявяват интерес към тематиката на съдържанието на сайта. Сайтът има опростена и логична структура на съдържанието. То е достъпно на два езика – български и английски.
Предназначението на системата за управление на съдържанието е да подпомага служителите на фирмата при изпълнението на тези задачи. Тя предоставя удобен графичен интерфейс, чрез който по бърз, лесен и удобен начин може да се извършва добавяне на нови продукти, услуги, новини и друго съдържание към страниците на сайта, както и актуализация и изтриване на съществуващото. Страниците са изградени на базата на темплейти, което осигурява еднотипното и лесно публикуване на съдържание и съгласуваност във външния вид на сайта. По този начин разходите за поддръжка на сайта се свеждат до минимум.
Цялото съдържание, управлявано и публикувано от системата се съхранява в база данни Автомобили. Релационният й модел е представен на Фигура №6.
Фиг. №6 Релационен модел на база данни Автомобили
Моделът е нормализиран и не съдържа връзки М:М (много към много). Те са разрешени посредством свързващи таблици.
Таблица Категории (categories) съдържа информация за категориите, по които са разделени отделните модели автомобили, като например „Пикап”, „Лада Нива” и т.н. Структурата на таблицата е представена в Таблица №9.
Таблица №9
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(3) |
PK, Not null, Unsigned, Auto increment |
|
Код на категорията |
name |
varchar(100) |
Not null |
|
Име на категорията |
name_en |
varchar(100) |
|
|
Име на категорията на английски |
Таблица Модели (models) съдържа информация за моделите автомобили, предлагани от фирмата. Структурата на таблицата е представена в Таблица №10.
Таблица №10
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(4) |
PK, Not null, Unsigned, Auto increment |
|
Код на модела |
id_category |
integer(3) |
FK, Not null, Unsigned |
categories.id (M:1) |
Код на категорията на модела |
name |
varchar(100) |
Not null |
|
Име на модела |
name_en |
varchar(100) |
|
|
Име на модела на английски |
price |
integer(6) |
|
|
Цена |
price_en |
integer(6) |
|
|
Цена на английски |
top |
integer(1) |
Unsigned |
|
Статус топ оферта |
description |
text |
|
|
Описание |
description_en |
text |
|
|
Описание на английски |
Таблица Групи (groups) съдържа информация за групите, по които са разделени отделните технически характеристики на моделите автомобили, като например „Двигател”, „Трансмисия” и т.н. Структурата на таблицата е представена в Таблица №11.
Таблица №11
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(3) |
PK, Not null, Unsigned, Auto increment |
|
Код на групата |
name |
varchar(100) |
Not null |
|
Име на групата |
name_en |
varchar(100) |
|
|
Име на групата на английски |
Таблица Технически_характеристики (specifications) съдържа информация за техническите характеристики, които могат да имат моделите автомобили. Структурата на таблицата е представена в Таблица №12.
Таблица №12
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(4) |
PK, Not null, Unsigned, Auto increment |
|
Код на характеристиката |
id_group |
integer(3) |
FK, Not null, Unsigned |
groups.id (M:1) |
Код на групата на характеристиката |
name |
varchar(100) |
Not null |
|
Име на характеристиката |
name_en |
varchar(100) |
|
|
Име на характеристиката на английски |
Таблица Модел_техническа_характеристика (model_specification) е свързваща таблица между таблиците Модели и Технически_характеристики и съдържа информация за техническите характеристики и техните стойности, които има всеки отделен модел автомобил. Структурата на таблицата е представена в Таблица №13.
Таблица №13
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id_model |
integer(4) |
PK, FK, Not null, Unsigned |
models.id (M:1) |
Код на модела |
id_specification |
integer(4) |
PK, FK, Not null, Unsigned |
groups.id (M:1) |
Код на характеристиката |
value |
varchar(200) |
Not null |
|
Стойност на характеристиката |
value_en |
varchar(200) |
|
|
Стойност на характеристиката на английски |
Таблица Оборудване (equipment) съдържа информация за оборудването, с което могат да разполагат моделите автомобили. Структурата на таблицата е представена в Таблица №14.
Таблица №14
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(4) |
PK, Not null, Unsigned, Auto increment |
|
Код на оборудването |
name |
varchar(100) |
Not null |
|
Име на оборудването |
name_en |
varchar(100) |
|
|
Име на оборудването на английски |
Таблица Модел_базово_оборудване (model_base_equipment) е свързваща таблица между таблиците Модели и Оборудване и съдържа информация за базовото оборудване, с което разполага всеки отделен модел автомобил и което е включено в неговата цена. Структурата на таблицата е представена в Таблица №15.
Таблица №15
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id_model |
integer(4) |
PK, FK, Not null, Unsigned |
model.id (M:1) |
Код на модела |
id_equipment |
integer(4) |
PK, FK, Not null, Unsigned |
equipment.id (M:1) |
Код на оборудването |
Таблица Модел_допълнително_оборудване (model_additional_equipment) е свързваща таблица между таблиците Модели и Оборудване и съдържа информация за допълнителното оборудване, с което разполага всеки отделен модел автомобил и което не е включено в неговата цена, а се заплаща допълнително. Структурата на таблицата е представена в Таблица №16.
Таблица №16
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id_model |
integer(4) |
PK, FK, Not null, Unsigned |
model.id (M:1) |
Код на модела |
id_equipment |
integer(4) |
PK, FK, Not null, Unsigned |
equipment.id (M:1) |
Код на оборудването |
price |
integer(6) |
|
|
Цена на оборудването |
price_en |
integer(6) |
|
|
Цена на оборудването на английски |
Следващите две таблици не са показани в релационния модел на базата данни, тъй като не са свързани с други таблици.
Таблица Новини (news) съдържа информация за новините, които могат да се публикуват на началната страница на уеб сайта. Структурата на таблицата е представена в Таблица №17.
Таблица №17
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(6) |
PK, Not null, Unsigned, Auto increment |
|
Код на новината |
heading |
varchar(200) |
Not null |
|
Заглавие |
heading_en |
varchar(200) |
|
|
Заглавие на английски |
text |
text |
Not null |
|
Текст |
text_en |
text |
|
|
Текст на английски |
date |
date |
Not null |
|
Дата |
Таблица Клиенти (clients) съдържа информация за по-големите клиенти на фирмата, публикувани на страница Клиенти на уеб сайта. Структурата на таблицата е представена в Таблица №18.
Таблица №18
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(4) |
PK, Not null, Unsigned, Auto increment |
|
Код на клиента |
name |
varchar(200) |
Not null |
|
Име |
name_en |
varchar(200) |
|
|
Име на английски |
type |
integer(1) |
Not null |
|
Тип на клиента |
Информацията за потребителите, които имат достъп до системата за управление на съдържанието и правата за достъп, които притежава всеки от тях се съхранява в база данни Потребители. Само администраторът на системата има достъп до тази база данни. Релационният й модел е представен на Фигура №7:
Фиг. №7 Релационен модел на база данни Потребители
Таблица Потребители (users) съдържа информация за потребителите, които имат достъп до системата. Структурата на таблицата е представена в Таблица №19.
Таблица №19
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
username |
varchar(20) |
PK, Not null |
|
Потребителско име |
password |
varchar(20) |
Not null |
|
Парола |
name |
varchar(20) |
|
|
Име |
surname |
varchar(20) |
|
|
Презиме |
family |
varchar(20) |
|
|
Фамилия |
Таблица Роли (roles) съдържа информация за правата за достъп до системата за управление на съдържанието, които всеки потребител може да има. Структурата на таблицата е представена в Таблица №20.
Таблица №20
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
id |
integer(4) |
PK, Not null, Unsigned, Auto increment |
|
Код на ролята |
name |
varchar(200) |
Not null |
|
Име |
Таблица Потребител_роля (user_role) е свързваща таблица между таблиците Потребители и Роли и съдържа информация за правата за достъп до системата за управление на съдържанието, които има всеки отделен потребител. Структурата на таблицата е представена в Таблица №21.
Таблица №21
Име на полето |
Тип на данните |
Ограничения |
Връзка с друга таблица |
Описание |
username |
varchar(20) |
PK, FK, Not null |
users.username (M:1) |
Потребителско име |
id_role |
integer(4) |
PK, FK, Not null, Unsigned |
roles.id (M:1) |
Код на ролята |
2.3 Проектиране на системата за управление на съдържанието
Системата за управление на съдържанието е изградена от няколко основни модула, представени на Фигура №8.
Фиг. №8 Модули на системата за управление на съдържанието
Системата за управление на съдържанието е изградена на йерархичен принцип. Тя има четири основни модула, които са свързани с често изпълнявани задачи и се използват навсякъде в системата. Това са достъп и работа с базата данни, предоставяне на възможност на потребителите да качват файлове на сървъра на уеб сайта, работа с темплейти и потребителска автентикация. Тези модули са разширение на един системен обект, който съдържа настройки и функции, които се ползват от всички други модули, които го наследяват, като например път до директорията на сайта на сървъра, потребителско име и парола за достъп до базата данни и други. Тази йерархична подредба позволява да се правят промени едновременно в четирите модула само чрез добавяне или промяна на кода на системния обект.
В средата на Фигура №8 са представени административните възможности на системата за управление на съдържанието, като всяка от тях се нуждае от един или повече PHP скрипта за да изпълни необходимите задачи.
Концептуалният модел на базата данни беше описан в предишната глава. В нея се съхранява цялата информация, съдържаща се в уеб сайта, а също и информация за потребителите, имащи достъп до системата за управление на съдържанието, както и всички права за достъп, които притежават. Правата за достъп определят какви действия може да извършва всеки потребител със системата и кои части на сайта има право да променя. Администраторът на системата има пълен достъп всички функции на системата, администрира я, създава нови потребители и задава права за достъп на съществуващите потребители. Модулът за достъп и работа с базата данни осигурява връзката с нея, извличането, добавянето и промяната на информация от таблиците в нея.
Модулът за качване на файлове поддържа функции, свързани с качването на различни типове файлове на сървъра, където се намира уеб сайта. Чрез него се дава възможност на потребителите да добавят снимки към информацията за всеки отделен модел автомобил, както и към съдържанието на страниците на уеб сайта.
Модулът за темплейти осигурява възможността всички страници на уеб сайта да бъдат изградени на базата на темплейти, което води до разделяне на логиката от презентацията и уеднаквен външен вид на страниците. Детайлно описание на работата на една темплейт система е направено в Глава 1, точка 1.2.3.
Модулът за автентикация осигурява автентикацията на потребителите, които имат достъп до системата и в зависимост от правата, които притежават им се осигурява съответният достъп до секциите на сайта, които имат право да редактират. Само администраторът на сайта, който има всички права и пълен достъп до всички секции на сайта има право да добавя и редактира потребители и права за достъп.
На Фигура №9 е представена началната страница на уеб сайта, за който е разработена системата за управление на съдържанието.
Фиг. №9 Начална страница на уеб сайта
Системата за управление на съдържанието е уеб базирана и се намира на сървъра на уеб сайта. Достъпът до нея се осъществява чрез уеб браузър. При вход в системата от съображения за сигурност от потребителя се изискват валидно потребителско име и парола. На Фигура №10 е представен диалоговия прозорец, изискващ потребителска автентикация.
Фиг. №10 Диалогов прозорец, изискващ потребителска автентикация
След успешна автентикация потребителят получава достъп до системата. На Фигура №11 е показана началната страница, която се визуализира. Отляво е разположено меню, даващо достъп до всички секции и елементи от сайта, които са достъпни за управление от потребителя.
Фиг. №11 Начална страница на системата за управление на съдържанието
Системата дава възможност за управление на следните секции и елементи, достъпни от главното меню:
· Категории автомобили: достъп до форми за добавяне, редактиране и изтриване на категориите, по които са разделени отделните модели автомобили, като например „Пикап”, „Лада Нива” и т.н. На базата на тези категории е изградено навигационно подменю на страница Автомобили на уеб сайта и моделите автомобили са разположени на отделни страници, в съответствие с категорията, към която принадлежат;
· Модели: достъп до форми за добавяне, редактиране и изтриване на информация за отделните модели автомобили, предлагани от фирмата, техните технически характеристики, базово и допълнително оборудване;
· Групи технически характеристики: достъп до форми за добавяне, редактиране и изтриване на групите, по които са разделени отделните технически характеристики на моделите автомобили, като например „Двигател”, „Трансмисия” и т.н. На страниците на уеб сайта, съдържащи детайлно описание на отделните модели автомобили техническите им характеристики са подредени в рамките на тези групи;
· Технически характеристики: достъп до форми за добавяне, редактиране и изтриване на техническите характеристики, които могат да имат моделите автомобили;
· Оборудване: достъп до форми за добавяне, редактиране и изтриване на оборудването, с което могат да разполагат моделите автомобили;
· Топ оферти: достъп до форма за избор на до 4 на брой модела автомобили, които се публикуват в секцията за топ оферти на началната страница на уеб сайта;
· Клиенти: достъп до форми за добавяне, редактиране и изтриване на информация за по-големите клиенти на фирмата, публикувани на страница Клиенти на уеб сайта;
· Страници: достъп до форми за редактиране на съдържанието на страниците на уеб сайта, разполагащи с WYSIWYG редактор на съдържанието и възможности за качване на изображения, които се публикуват на страниците на сайта;
· Новини: достъп до форми за добавяне, редактиране и изтриване на информация за новините, които се публикуват в секцията за новини на началната страница на уеб сайта.
По-долу ще бъдат разгледани някои от основните форми, от които се извършва управлението на съдържанието в уеб сайта. Тъй като за добавяне и редактиране на съдържание се използват едни и същи форми ще бъдат разгледани само тези за редактиране.
При избор на меню Модели се извежда форма, в която се визуализират всички публикувани до момента на уеб сайта модели автомобили, като се дава възможност за добавяне на нов модел, редактиране на информацията за съществуващ модел чрез кликване върху неговото име и изтриване на модели автомобили. Формата е илюстрирана на Фигура №12.
Фиг. №12 Форма за визуализиране на всички модели автомобили
При кликване върху името на всеки отделен модел автомобил се визуализира форма, от която може да се редактира информацията, свързана с него и да се променят снимките, които са качени за него. Снимките могат да бъдат до 5 на брой. На края на формата има връзки към форми за редактиране на техническите характеристики, базовото оборудване и допълнителното оборудване за съответния модел автомобил. Формата е илюстрирана на Фигура №13.
Фиг. №13 Форма за редактиране на информацията на модел автомобил
На Фигура №14 е илюстрирана част от формата за редактиране на техническите характеристики на всеки отделен модел автомобил. Те са подредени в зависимост от групите, към които принадлежат.
Фиг. №14 Форма за редактиране на техническите характеристики на модел автомобил
На Фигура №15 е илюстрирана формата за редактиране на базовото оборудване на всеки отделен модел автомобил.
Фиг. №15 Форма за редактиране на базовото оборудване на модел автомобил
На Фигура №16 е илюстрирана формата, която визуализира цялото допълнителното оборудване, което притежава всеки отделен модел автомобил.
Фиг. №16 Форма за визуализиране на цялото допълнително оборудване на модел автомобил
При кликване върху името на оборудването се визуализира форма, от която може да се редактира информацията, свързана с него. Формата е илюстрирана на Фигура №17.
Фиг. №17 Форма за редактиране на допълнителното оборудване на модел автомобил
При избор на меню Топ оферти се визуализира форма, от която могат да се изберат до четири модела автомобили, които да бъдат публикувани като топ оферти на началната страница на уеб сайта. Формата е илюстрирана на Фигура №18.
Фиг. №18 Форма за избор на модели автомобили за топ оферти
При избор на меню Клиенти се предоставя достъп до форма, от която може да се редактира информацията за всеки отделен клиент. Информацията за всички клиенти се публикува на страница Клиенти на уеб сайта. Формата е илюстрирана на Фигура №19.
Фиг. №19 Форма за редактиране на отделен клиент
При избор на меню Страници се предоставя достъп до форма, от която може да се редактира съдържанието на всяка отделна страница. на уеб сайта. Формата, илюстрирана на Фигура №20 разполага с WYSIWYG редактор на съдържанието и възможност за качване на снимки, които ще се визуализират на страницата.
Фиг. №20 Форма за редактиране на съдържанието на страница от уеб сайта
При избор на меню Новини се предоставя достъп до форма, от която може да се редактира съдържанието на всяка отделна новина. Новините се публикуват в секция на началната страница на уеб сайта. Формата разполага с WYSIWYG редактор на съдържанието и е илюстрирана на Фигура №21.
Фиг. №21 Форма за редактиране на съдържанието на новина
2.4 Концепции за сигурността на уеб сайта
Когато се разглеждат мерките за сигурност, които могат да се предприемат за защита на данните на сайта трябва да се има в предвид нивото на сигурност, от което се нуждае всяка организация и доколко сигурността е важна за нея. Това зависи от вида на данните и броя потребители на системата.
Един от принципите при изграждане на сигурно уеб приложение е, че входните данни от потребителя винаги трябва да се проверяват преди да бъдат запазени във файл или база данни. Освен стандартните проверки дали са въведени данни в задължителните за попълване полета и дали те съответстват на типа на данните, който се очаква да бъде въведен в съответното поле съществуват още някои полезни техники:
· Функцията trim() премахва белите полета, като например погрешно натиснати интервали от началото и края на даден низ;
· Функцията addslashes() се използва за филтриране на потребителските данни преди предаването им към базата данни. Тази функция маркира с обратно наклонена черта символите, които са специални за базата данни и биха объркали работата й. За възстановяване на първоначалните данни при извличането им от базата данни се използва функцията stripslashes();
· Функцията strip_tags() премахва HTML и PHP таговете от даден низ. По този начин потребителите няма да имат възможност да вмъкват злонамерени скриптове в данните си;
· Функцията htmlspecialchars () преобразува символите в техните HTML еквиваленти. Например < ще се преобразува в <. По този начин всички тагове в скрипта ще се преобразуват в безвредни символи.
Потенциално най-опасния тип запазени данни е изпълнимото съдържание. На един уеб сайт това обикновено са скриптовете. Затова правата на файловете в уеб йерархията трябва да са установени по правилен начин. Всеки трябва да има право за четене на скриптовете, за да може да види резултата им, но не трябва да може да ги презаписва или редактира. Същото важи и за директориите в уеб йерархията. Само собственика им трябва да може да записва в тези директории. Другите потребители, включително и потребителят, от чието име работи уеб сървъра, не трябва да имат права за запис или създаване на нови файлове в директориите, които могат да се зареждат от уеб сървъра. Ако скриптовете се нуждаят от права за запис на файлове, като например при качване на файлове от потребители е добре да се създаде директория извън дървото с уеб документи на сървъра. В този случай се проверява също дали MIME типът на качения от потребителя файл съвпада с разрешените за качване от системата файлове, което осигурява допълнителна защита.
Информацията, съхранявана в база данни също трябва да се защитава. Ако MySQL е правилно конфигурирана, само тя ще може да записва в своите файлове с данни. Тогава трябва да се следи и управлява достъпа на потребителите в самата MySQL. Тя поддържа собствена система за права, чрез която на различните потребители могат да се задават различни права за достъп до базите данни. Добра практика е за уеб сайт, поддържан от система за управление на съдържанието да бъдат създадени поне двама потребители в MySQL. На единия да е дадена само SELECT привилегия върху таблиците от базата данни и да се използва при извличане на информацията и визуализирането й за посетителите на уеб сайта, а на другия да са дадени SELECT, INSERT, UPDATE и DELETE привилегии и да се използва за нуждите на системата за управление на съдържанието. По този начин се спазва принципа на най-малките привилегии, според който даден потребител трябва да има възможно най-ниско ниво на привилегии, необходими му за извършване на определена задача. Друга добра практика е при съхраняване на пароли в база данни те да се записват в нея в предварително криптиран вид. PHP функцията crypt() и MySQL функцията PASSWORD() осигуряват еднопосочна криптираща хеш функция. След това при потребителска автентикация въведената от потребителя парола също се криптира и се сравнява с вече съхранените в базата данни пароли и се търси съвпадение. Добре е още преди изпращането на потребителското име и паролата от уеб браузъра към сървъра паролата да се криптира от език за програмиране от страна на клиента, като JavaScript, за да не може да бъде прочетена при евентуално прихващане на мрежовия трафик.
Често се налага да се пишат MySQL потребителско име и парола в PHP скрипт. Тъй като уеб сървъра е конфигуриран да използва PHP интерпретатора при обработка на файлове с разширение .php, техният сорс код няма да е достъпен за разглеждане от външни лица. Но ако се използват други разширения на файловете, като например .inc, ако сървъра не е конфигуриран да не ги доставя при заявка, то всеки може да получи техния сорс код. По тази причина е необходимо include файловете или да се съхраняват извън уеб дървото, или да се конфигурира уеб сървъра да не ги доставя при заявка, или също да се използва .php като разширение на тези файлове.
HTTP протоколът не запазва състоянието и няма възможност за автоматична връзка или асоциация между последователните заявки от един и същи потребител. Това затруднява пренасянето на въведените от потребителя данни (например информацията за автентикация) между различните страници. Този проблем може да се реши чрез използването на сесии. Те дават възможност да се следят действията на потребителя по време на посещението му в даден уеб сайт. Сесиите в PHP се управляват чрез уникален идентификатор, представляващ криптографско случайно число. Този сесиен ID се генерира от PHP и се съхранява при клиента за времето на живот на сесията. Обикновено се съхранява като бисквитка (cookie) на потребителския компютър. Сесийният ID действа като ключ и позволява регистрирането на т. нар. сесийни променливи. Тяхното съдържание се съхранява на сървъра. Единствената достъпна за клиента информация е сесийният ID. Ако по време на връзка към сайта той е достъпен чрез бисквитка, може да се осъществи достъп до сесийните променливи. Стартирането на сесия се осъществява чрез PHP функцията session_start(), регистрирането на сесийна променлива чрез функцията session_register(), а достъпът до сесийните променливи чрез суперглобалния масив $_SESSION. [3]
Заключение
Разработената дипломна работа на тема: “Уеб базирани системи за управление на съдържанието” представлява цялостен и завършен проект, отразяващ процеса на анализ и проектиране на система за управление на съдържанието на уеб сайт и всички особености, свързани с нея. По време на разработването този проект премина през два етапа.
Първият етап представлява анализ на същността, характеристиките и архитектурата на системите за управление на съдържанието и определяне на основните изисквания, на които трябва да отговаря една такава система, в зависимост от индивидуалните бизнес цели на организацията, за която е предназначена. Този анализ доказва все по-голямото интегриране на Интернет и WEB във все повече сфери от реалния живот и бизнеса, както и ползата от използването му за различни приложения, подпомагащи дейността на фирмите. Чрез излагането на тази информация се постига изясняването на възможностите на системите за управление на съдържанието, техните особености и използваните понятия. Това от своя страна спомага за правилното разбиране на същността на системата за управление на съдържанието, която е обект на проектиране и разработка във втората част на настоящата дипломна работа.
Вторият етап представлява проектирането на система за управление на съдържанието на фирмен уеб сайт. Разгледани са средствата за нейното разработване, концептуалният модел на системата и някои концепции за нейната сигурност. Проектирането на базата данни представя структурата и “гръбнака” на системата. Системата е изградена на модулен принцип, което позволява разширяване на нейната функционалност и добавяне на нови модули, в зависимост от потребностите, които могат да възникнат в последствие, като например добавяне на допълнителен език на интерфейса и съдържанието, търсачка, анкети, календар и други.
С този задълбочен анализ на системите за управление на съдържанието се постига максимална информираност относно тяхната работа и ползите от прилагането им в бизнеса. Доказва се, че по този начин се предоставят услуги, даващи възможност за лесно управление на продуктите и клиентите на фирмата, за разширяването на сферата на предлаганите услуги и повишаване на нейната конкурентоспособност, гарантиране на сигурността на данните и актуалността на информацията, така необходими и важни за бизнес потребителите.
Използвана литература
Печатни издания:
[1] Гутманс, А., С. Баккен, Д. Ританс. PHP 5 Професионално програмиране. 2005.
[2] Ернандес, М. Проектиране на бази от данни. 2004.
[3] Уелинг, Л., Л. Томсън. Разработване на проекти за Web PHP и MySQL. 2004.
Интернет адреси:
[4] All articles about CMS - http://cmsarticles.awardspace.com/
[5] A review of open source content management systems - http://www.openadvantage.org/articles/oadocument.2005-04-19.0329097790
[6] Building a PHP-Based Content Management System - http://www.intranetjournal.com/php-cms/
[7] CMS Watch: Content Management, Enterprise Search and Portal Reports - http://www.cmswatch.com/
[8] CMS Wiki - http://www.cmswiki.com/tiki-index.php
[9] How to choose a web CMS - http://livestoryboard.com/CMS-Resources/How-to-choose-a-web-CMS.html
[10] How to evaluate a content management system - http://www.steptwo.com.au/papers/kmc_evaluate/
[11] MySQL AB :: The world’s most popular open source database - http://mysql.com/
[12] PHP Base Library - http://phplib.sourceforge.net/
[13] PHP: Hypertext Preprocessor. - http://php.net/
[14] So, What Is CMS - http://www.steptwo.com.au/papers/kmc_what/index.html
[15] The Apache Software Foundation - http://apache.org/
[16] The Content Management Comparison Tool - http://www.cmsmatrix.org/
[17] Wikipedia – The Free Encyclopedia - http://en.wikipedia.org/wiki/Main_Page