Проектування власної CMS для створення веб-сайтів

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    782,08 Кб
  • Опубликовано:
    2014-07-21
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Проектування власної CMS для створення веб-сайтів

Вступ

Зараз уявити собі пошук інформації без інтернета та сайтів важко уявити, оскільки це стало певною частиною нас самих. Ми спілкуємося в інтернеті, дивимося фільми, слухаємо музику. В цьому всьому нам допомагають сайти. Вже зовсім скоро навіть школярі молодших класів будуть мати свій сайт і ми в цьому їм допоможемо. Уявіть собі ви скачуєте архів собі на комп’ютер та після встановлення ви є володарем свого особистого сайту.

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

Метою даної курсової роботи було розглянути загальні теоретичні відомості, які стосуються розробки систем управління контенту та особливостей реалізації її на сервері Apache.

Робота складається із трьох розділів. У першому розділі розглянуто CMS, його основні характеристики, принципи роботи та різновид. У другому розділі розглядається архітектура сервера Apache і файлів які фігурують головними в моїй задачі. У третьому розділі описано постановку задачі та її реалізацію. Сторінки написані на:html, css, php, js, config.

І. Загальні теоретичні відомості

.1. Система керування вмістом та її різновиди

Систе́ма керува́ння вмі́стом (СКВ\CMS) -програмне забезпечення для організації веб-сайтів чи інших інформаційних ресурсів в Інтернеті чи окремих комп'ютерних мережах.

Існують сотні, а може, навіть й тисячі доступних CMS - систем. Завдяки їхній функціональності їх можна використовувати в різних компаніях. Незважаючи на широкий вибір інструментальних та технічних засобів, наявних в CMS, існують загальні для більшості типів систем характеристики.

Перші СКВ були розроблені у великих корпораціях для організації роботи з документацією. У 1995-му від компанії CNET відокремилася окрема компанія Vignette, яка започаткувала ринок для комерційних СКВ. З часом діапазон продукції розширювався і все більше інтегрувався у сучасні мережеві рішення аж до популярних веб-порталів.

Багато сучасних СКВ поширюються як безкоштовні і легкі у встановленні (інсталяції) програми, які розробляються групами ентузіастів під ліцензією GNU/GPL.

Системи управління веб-сайтом часто розраховані на роботу у певному програмному середовищі. Наприклад, системаMediaWiki, під управлінням якої працює Вікіпедія, написана мовою програмування PHP і зберігає вміст і налаштування у базі даних типу MySQL або PostgreSQL; тому для її роботи потрібно, щоб на сервері, де вона розміщена, були встановлені веб-сервер (Apache, IIS чи інший), підтримка PHP та системи керування базами даних MySQL або PostgreSQL, а також, в разі необхідності, додаткові програми для обробки зображень чи математичних формул. Такі вимоги є досить типовими для відкритих СКВ.content management systems для управління веб-сайтами (наприклад, енциклопедіями, подібними до Вікіпедії, онлайн-виданнями, блогами, форумами, корпоративними чи персональними веб-сторінками та ін.)

Транзакційні СКВ для забезпечення транзакцій у електронній комерції.

Інтегровані СКВ для роботи з документацією на підприємствах.

Електронні бібліотеки (Digital Asset Management) для забезпечення циклу життя файлів електронних медіа (відео, графічн., презентації тощо).

Системи для забезпечення циклу життя документації (інструкції, довідники, описи).

Освітні СКВ - системи для організації Інтернет курсів та відповідного циклу життя документації. Наприклад:

.Системи, що мають українську локалізацію:- використовується більш ніж 20 ВНЗ України, має українську локалізацію;CMS - досить гнучка в налаштуванні CMS на CodeIgniter, має українську локалізацію;- повна українська локалізація Joomla! 1.5.x, Joomla! 1.0.x - переклад фронтальної частини. Переклади розширень.- використовується у Тернопільському національному технічному університеті імені Івана Пулюя;- використовується у Київському національному університеті імені Тараса Шевченка.- перша українська безкоштовна CMS код якої повністю написаний в Україні.

.Системи, що не мають української локалізації але одночасно не мають проблем із відображенням символів кирилиці (ті, що працюють з шрифтами юнікод UTF-8):;;;;.

.Платформенні СКВ (Platform Content Management Systems) підтримують автоматизацію роботу з комп'ютерними файлами, папками, програмами у визначеному програмному середовищі.

.Корпоративні СКВ (Enterprise content management systems) з різноплановим пристосуванням для потреб підприємницької діяльності. Підтримують цикл життя внутрішньої і зовнішньої документації.

Приклади корпоративних СКВ:;CMS;;;pages;Software;;;Martini;CMS Groupware;

1.2 Способи роботи

Генерація сторінок за запитом. Системи такого типу працюють на основі зв'язки «модуль редагування → база даних → модуль представлення». Модуль представлення генерує сторінку з контентом при запиті на нього на основі інформації з бази даних. Інформація в БД змінюється за допомогою модуля редагування. Сторінки заново створюються сервером при кожному запиті, а це створює навантаження на сервер. Але це навантаження може бути багатократно зменшене при використанні методів кешування, які є в сучасних веб-серверах.

Генерація сторінок при редагуванні. Системи цього типу при редагуванні сторінок вносять зміну у вміст сайту та створюють набір статичних сторінок. При такому способі втрачається інтерактивність між відвідувачами сайтів та контентом даного сайту.

Змішаний тип. Як зрозуміло із назви, цей тип поєднує в собі переваги перших двох. Може бути реалізований шляхом кешування - модуль представлення генерує сторінку один раз, надалі вона через деякий час буде в декілька разів швидше завантажуватися із кешу. Кеш може оновлюватись як автоматично, через деякий час чи при внесенні змін у певні розділи сайту, так і вручну за командою адміністратора. Другий підхід - збереження певних інформаційних блоків на етапі редагування сайту і збирання сторінок з цих блоків при запиті відповідної сторінки користувачем.

.3 Особливості

Існують CMS двох видів: платні і безкоштовні.

Безкоштовні CMS поширюються у вільному доступі, і, як наслідок, за технічну підтримку ніхто не відповідає. Варто пам'ятати про те, що і за збереження, безпеку, при використанні безкоштовної CMS ніхто не буде нести відповідальності.

Характеристики CMS безкоштовної нітрохи не поступаються за якістю CMS платним, проте вірна приказка і для інтернет технологій щодо безкоштовного сиру. Нерідко CMS поширюють угруповання хакерів, з метою частково або повністю здійснювати контроль над сайтами.


Платні CMS поділяються на два типи:

системи із закритим кодом (вихідний код закодований (кріптованний) і не допускає будь-яких змін);

системи з відкритим кодом (для внесення зміни будь-якої з функціональних можливостей вихідний код відкритий).

Характеристики CMS з відкритим і закритим кодом мають ряд характерних ознак, які є як перевагами, так і недоліками. Відкритий код дозволяє зловмисникам простіше зламати сайт, а це значить, що можуть постраждати всі ресурси, для створення яких була обрана саме ця CMS. Для того, щоб купити систему з закритим кодом, необхідно переконатися в правильності вибору. Перерахуємо далі по яким характеристикам CMS необхідно вибрати оптимальну для Вашого бізнесу.

Критерії для визначення функціональності CMS Критеріїв для визначення функціональності CMS всього чотири:

функціональність системи управління (основні характеристики CMS це юзабіліті, настроюваність, зручність в обігу, навігації; можливість незначних змін і редизайну без зупинки роботи сайту);

універсальність системи управління (можливість використовувати дані характеристики CMS для створення сайту будь-якого рівня складності, будь то візитка або великий портал);

адміністрування сайту (можливість призначати різним групам користувачів різні рівні доступу, якісний захист системи від зломів);

інші характеристики CMS (такі як можливість перенесення на іншу платформу без втрати інформації, можливість зберігати резервні копії, хороший відгук бази даних).


Важливою характеристикою CMS є своєчасне реагування команди розробників на запити клієнта. Це важливо, тому як мало просто встановити CMS, але і подальша інформаційна та технічна підтримка важлива.

Система управління - програма, що надає інструменти для додавання, редагування, видалення інформації на сайті. Існують різноманітні системи управління сайтом, серед яких зустрічаються платні і безкоштовні, побудовані за різними технологіями. Кожен сайт має панель управління, яка є лише частиною всієї програми, але достатня для управління ним. Велика частина сучасних систем керування вмістом реалізується у вигляді візуального (WYSIWYG) редактора - програми, яка створює HTML-код із спеціальної спрощеної розмітки, що дозволяє користувачеві простіше форматувати текст.


1.4 Функції прикладних програм керування контентом

Найпоширеніші функції CMS - систем перераховані нижче:

Створення контенту. Це сукупність завдань, які виконують автори текстів, фотографи, графічні художники, відео продюсери і звукорежисери, маркетингові експерти, юристи та інші люди, які подають оригінальний матеріал для користувачів веб-сторінки.

Збір та адаптація контенту з існуючих джерел.

Класифікація та індексування контенту. Контент повинен бути описаний формальними ознаками (наприклад, дата створення, автор) і класифікаційними даними (наприклад, предметна категорія чи ключові слова). Така діяльність описується як зв'язання контенту та метаданих.

Перегляд контенту. Необхідний для всіх видів опублікованого контенту.

Затвердження. Формальне затвердження опублікованого контенту - важлива складова правової відповідальності за нього.

Перетворення контенту. Тексти, графіка, звуки та інші форми контенту мають бути перетворені до формату, що є найзручнішим або використовується в даній CMS - системі.

Зберігання контенту. Контент, як правило, зберігається в файлах або в БД. У випадку складніших застосувань контент підлягає управлінню версіями програмного забезпечення (SMC).

Тестування і верифікація контенту. Може стосуватись різних аспектів, таких як:

Розірвані зв'язки;

Сторінки, які повільно відкриваються;

Програмні помилки в аплетах і скриптах;

Помилки в комунікації клієнт-сервер.

Перевірка готовності контенту - це тип тестування, який включає верифікацію (перевірку) завершеності та цілісності великого об'єму контенту (наприклад, інформацію про різні аспекти нової послуги).

Публікація. Враховує всі фізичні аспекти публікації контенту, включаючи дублювання контенту на різних серверах.

Підтримка, актуалізація та контроль за змінами. Включає моніторинг опублікованого контенту та реагування на сигнали та необхідність змін.та архівування. Recall може відбуватися з багатьох причин - наприклад, втрата актуальності контенту, втрата законних прав на контент, низька частота відвідуваності, поява новішого контенту тощо. Будь-який Recalled контент є архівований.

Звіти та аналіз. Включає різні форми звітування та аналізу, з метою кращого обслуговування користувачів, покращення вигляду порталу.

ІІ. Сервер Apache в теорії

.1 Apache HTTP-сервер та його архітектура

Apache HTTP-сервер - відкритий <#"787498.files/image004.gif">

2.2Файл .htacces та фреймворк Bootstrap

(від англ. <#"787498.files/image005.gif">

Висновки

В цій курсовій роботі було розглянуто загальні теоретичні відомості, які стосуються розробки систем управління контенту та особливостей реалізації її на сервері Apache. Розроблена власна CMS та розглянутий принцип його створення на сервері Apache.

Використана література


Додаток 1. Програмний код реалізації задачі

/index.php

<?php

$url = $_SERVER['REQUEST_URI'];

$part_url= substr($url, 12);("system/connect_to_db.php");

$qwer = mysql_query('SELECT * from pages where `name_page`="'.$part_url.'"',$dbh) or die('load_page error!');

$row = mysql_fetch_array($qwer, MYSQL_ASSOC);loadpage($row,$dbh){

$retArray;

$qwer = mysql_query('SELECT `content` from content where `id`="'.$row['body'].'"',$dbh) or die('content page error!');

$row2 = mysql_fetch_array($qwer, MYSQL_ASSOC);

$retArray[0]=$row2['content'];

$qwer = mysql_query('SELECT `style` from styles where `id`="'.$row['head'].'"',$dbh) or die('head page error!');

$row2 = mysql_fetch_array($qwer, MYSQL_ASSOC);

$retArray[1]=$row2['style'];

$qwer = mysql_query('SELECT `scripts` from script where `id`="'.$row['footer'].'"',$dbh) or die('footer page error!');

$row2 = mysql_fetch_array($qwer, MYSQL_ASSOC);

$retArray[2]=$row2['scripts'];$retArray;

}($row['name_page']!='')

$retArr=loadpage($row,$dbh);

$retArr[0]='ERROR';

$body=$retArr[0];

$head=$retArr[1];

$footer=$retArr[2];("view/index.php");

?>

/admin_panel/index.php

<?php session_start();?>

<?php include("../system/connect_to_db.php");(isset($_POST["btt"])){($_POST["log"]=="VovaAdmin" && $_POST["pas"]=="1234"){

$_SESSION["login_admin"]="ok";

}

}

?>

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->

<meta name="description" content="">

<meta name="author" content="">

<link rel="icon" href="../../favicon.ico">

<title>Dashboard Template for Bootstrap</title>

<!-- Latest compiled and minified CSS -->

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css">

<link rel="stylesheet" href="../system/dashboard.css">

<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->

<!--[if lt IE 9]>

<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>

<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>

<![endif]-->

<style>

.sub{: #ddd;

}

</style>

</head>

<body>

<?php($_SESSION["login_admin"]=="ok"){

}{'<div>

<div>

<label for="exampleInputEmail1">Email address</label>

<input type="text">

</div>

<div>

<label for="exampleInputPassword1">Password</label>

<input type="password">

</div>

<button type="submit" name="btt">

</form></div>';;

}

?>

<div>

<div>

<button type="button">

<span>

<span>

<span>

<span>

</button>

<a>

</div>

<div id="navbar">

<ul>

<li><a href="#">Admin panel</a></li>

<li><a href="#">Settings</a></li>

<li><a href="#">Profile</a></li>

<li><a href="#">Help</a></li>

</ul>

<form>

<input type="text">

</form>

</div>

</div>

</nav>

<div>

<div>

<div>

<ul>

<li>

<li><a href="#">Analytics</a></li>

<li><a href="#">Log out</a></li>

</ul>

<?php

$qwer2 = mysql_query('SELECT * from pages ',$dbh) or die('load_page error!');

?>

<ul>

<li><a href="#">Add new page</a></li>

<?php($row = mysql_fetch_array($qwer2, MYSQL_ASSOC)){($row["name_page"]=='/')"<li>

}

?>

</ul>

</div>

<div>

<h1>

<div>

<div>

<img src="flat-design-man-s-portrait-vector-illustration-35100550.jpg">

<h4>Admin: Max</h4>

<span>

</div>

<div>

<img src="a2.jpeg">

<h4>Admin: Vova</h4>

<span>

</div>

<div>

<img src="a3.jpeg">

<h4>Admin: Jakob</h4>

<span>

</div>

</div>

<?php

$qwer = mysql_query('SELECT * from pages ',$dbh) or die('load_page error!');

?>

<h2>

<div>

<table>

<thead>

<tr>

<th>#</th>

<th>Url</th>

</thead>

<tbody>

<?php ($row = mysql_fetch_array($qwer, MYSQL_ASSOC)){"<tr><td>".$row['id']."</td><td>".$row['name_page']."</td> </tr>";

}

?>

</tbody>

</table>

</div>

</div>

</div>

</div>

<!-- Latest compiled and minified JavaScript -->

<script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>

</body>

</html>

Похожие работы на - Проектування власної CMS для створення веб-сайтів

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!