CMS-Based Blogging System: Affiliated To
CMS-Based Blogging System: Affiliated To
A PROJECT REPORT ON
1
BONAFIDE CERTIFICATE
This is to certify that this project report titled “CMS-Based Blogging System” is
the bonafide work of,
, who carried out the project work under my guidance and supervision.
……………………………………
Prof. Dipankar Hazra
Head of Department & Project Supervisor
Computer Science and Engineering
OmDayal Group of Institutions, Uluberia,
Howrah- 711316.
2
ACKNOWLEDGEMENT
The satisfaction that accompanies the successful completion of any task would being complete without
the mention of people whose ceaseless and support made it possible. We express our deepest thanks
and gratitude to Mr. Dipankar Hazra, our project supervisor and Head of Department for the ceaseless
guidance, timely advice and all his constructive suggestions that provided us with constant flow of
motivation. He has taken the pains to go through our work and make necessary corrections as and when
needed. The guidance was extremely valuable and has had a significant impact on the quality of this
report. I would also like to thank the users involved throughout the development for their participation
and the enthusiasm they showed for this project. We express our sincere thanks to our friends who have
helped us in various problems throughout the making of this project.
Project Supervisor:
Mr. Dipankar Hazra
Head of Department
Computer Science and Engineering
OmDayal Group of Institutions, Uluberia,
Howrah- 711316.
3
ABSTRACT
The main purpose of a Content Management System is to make it easy for even a novice
computer user to maintain and manage a site. There are many CMSs available in the market
but are not user-friendly. Both Drupal and Joomla have a very bloated and confusing
administration. This is because both these packages have many advanced features in addition
to the normal basic content management features. For example, polls providing the
capabilities to capture votes on different topics in the form of multiple-choice questions, or
news feeds, which provide syndicated content (RSS, RDF, and Atom feeds). This makes the
CMS complex and difficult to use. Inevitably though, that CMS is going to be a little more
complex to maintain. If the website requires complex features, the best thing to do is to hide
these complex features. A good user interface should make most common tasks the most
prominent and hide rare tasks so that they do not get in the way. Drupal's administration
interface is confusing and not user friendly. Joomla's administration usability and learning
curve is better than Drupal's, but not enough to provide a noticeable advantage to the end-
user over Drupal. WordPress has a much better and very intuitive administration design,
which makes it easier to learn. It includes features such as drag and drop, resulting in the
generation of code without technical intervention. It would be more correct to describe such
products as 'website builders' than Web Content Management Systems. The main feature
that is not seen in most of today’s complex CMSs is intuitive and user-friendly website
administration. Hence, we’ve built this simple CMS which has a very easy-to-use UI for an
end-user and has collaborative multiple user support, powerful user feedback section and
active reader engagement in the form of likes, comments, social media shares etc.
4
TABLE OF CONTENTS
1. Introduction Page
1.1 Project Overview…………………………………………………………………… 6
1.2 Purpose…………………………………………………………………………………. 6
1.3 Project Definition………………………………………………………………….. 7
2. Background Reading
2.1 CMS…………………………………………………………………………………..…. 8-9
2.2 Blogs……………………………………………………………………………………. 10
3. Tools
3.1 HTML……………………………………………………………………………………. 11
3.2 CSS………………………………………………………………………………………. 11
3.3 jQuery………………………………………………………………………………….. 12
3.4 Bootstrap……………………………………………………………………………… 12
3.5 PHP…………………………………………………………………………..………….. 13
3.6 MySQL………………………………………………………………………………….. 13
4. System Analysis
4.1 Feasibility Study…………………………………………………………………… 14
4.2 Existing System…………………………………………………………………….. 15
4.3 Proposed System………………………………………………………………….. 15
4.4 Tools & Technologies used……………………………..………………….....16
5. Diagram
3.1 Data-flow Diagram………………………………………………………………… 17-18
3.2 Use-case Diagram………………………………………………………............ 19
6. Input / Output Design……………………………………………………………….. 20-29
7. Testing………………………………………………………………………………………. 30-31
8. Conclusion………………………………………………………………………............ 32
9. References………………………………………………………………………………… 33
5
1. INTRODUCTION
1.2 Purpose :-
The main purpose of this project is to have a user-friendly content administration
interface that includes most common CMS functions appropriate for small and simple websites,
so that a novice user can manage the website content. A user having less coding knowledge can
easily add, edit and format the website’s content using the rich text editor integrated in the
Simple CMS engine without having to deal with the HTML and CSS code. Our CMS provides
an easy and efficient way of engaging end-user for actively participating and contributing to this
educational blogging system, where they can stay updated with the latest technological trends
and at the same time provide valuable feedback to help develop the system better, bug-fixes (if
any), innovative idea spreading, provide better service and relevant content with time. This
system also supports content creation and manipulation by multiple users such that each user is
authorized to access specific sections as per their user role and contribution towards this system.
So, that each reader would get equal opportunity to grow, innovate, contribute to our blogging
system.
6
1.3 Project Definition :-
There are a number of custom CMS-frameworks available out there like WordPress,
Joomla, Drupal, Plone, Open CMS, TYPO3 etc. using which a complete CMS can be developed
but all of these frameworks have a steep learning curve and so it’s difficult for an end-user to
understand the modules. It requires more advanced coding knowledge when it comes to
customizing. Hence, we’ve built a simple CMS with easy-to-use UI for end-user, powerful user
feedback, multiple user support, effective post content.
7
2. BACKGROUND READING
CMS come in all shapes and sizes and can manage anything a team of individuals is working
on. From managing simple static website content, to allowing collaborative documentation
across the Internet (wiki), CMSs perform many functions.
CMS packages can generally be classified into four categories:
Enterprise CMS
Web CMS
Open Source CMS
Commercial CMS
8
Open source content management systems are free in many ways. A user can do what he/she
wishes with the product and the code behind it, extending and integrating it as they see fit.
There’s no license cost for the software, and anyone can download and install them on a web
server without cost, though it is likely they will have to pay for the server or pay someone to
install the system.
These are top 12 open source content management software systems :-
DRUPAL
ACQUIA
SQUARESPACE
HUBSPOT
JOOMLA
SITECORE
BOX
BRIGHTCOVE
PANTHEON.IO
KENTICO
BLUE PEN ARTICLES
PYRO CMS
Joomla, Drupal and WordPress are the most popular Open Source CMS being used today.
Drupal has a steep learning curve and so it’s difficult for a first-time developer to understand
the modules. It requires more advanced coding knowledge when it comes to customizing.
Joomla has a better user interface than Drupal for newcomers. It is quite simple to add and edit
pages. The design layer is almost the same as Drupal as they both do not have a lot of design
templates. So, the issue is that most of the Joomla sites will look the same. WordPress is the
perfect solution for small blogging websites as it has simple and user-friendly interface. There
are a lot of great design templates available for the websites.
9
2.2 Blogs :-
A blog is a discussion or informational website published on the World Wide Web
consisting of discrete, often informal diary-style text entries. Posts are typically displayed in
reverse chronological order, so that the most recent post appears first, at the top of the web
page. The appearance of blogs changed over time, and nowadays blogs include different items.
But, most blogs include some standard features and structure.
10
3. TOOLS
3.1 HTML :-
HTML stands for Hyper Text Markup Language. A markup language is a language that
annotates text in a way that is syntactically distinguishable so that the computer can manipulate
it. It is a set of markup tags used to describe web pages. The tags are what separate normal text
from HTML code. They are the words between the <angle-brackets>. Different tags will
perform different functions, like rendering images or tables. It is a combination of words and
symbols which give instructions on how the document will be presented. The tags themselves
don’t appear when you view your page through a browser, but their effects do. Markup is what
HTML tags do to the text inside them. They mark it as a certain type of text (italicized text, for
example). HTML documents contain HTML tags and plain text. The content on a HTML page
will be static. In order to change the content, the editor needs to have some knowledge about
HTML and change the content accordingly.
3.2 CSS :-
CSS stands for Cascading Style Sheets. It is used to control the style and layout of
multiple web pages all at once. Styles define how to display HTML elements. CSS overrides
the browser’s default settings for interpreting how tags should be displayed, letting you use any
HTML element indicated by an opening and closing tag to apply style attributes defined either
locally or in a stylesheet. External Style Sheets can save a lot of work. They are stored in CSS
files. Stylesheets contain rules, composed of selectors and declarations that define how styles
will be applied. The selector (a redefined HTML element, class name, or ID name) is the link
between the HTML document and the style. There are two different kinds of selectors: types
(HTML element tags) and attributes (such as class and ID names).
11
3.3 jQuery :-
jQuery is a fast and concise JavaScript Library that simplifies HTML document
traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery
is designed to change the way JavaScript is written. Therefore, jQuery greatly simplifies
JavaScript programming. The modular approach to the jQuery library allows the creation of
powerful dynamic web pages and web applications. jQuery includes the following features:
DOM traversal and modification
DOM manipulation based on CSS selectors that uses node elements name and node elements
attributes (id and class) as criteria to build selectors
Events
Effects and animations
Ajax
Extensibility through plug-ins
Cross-browser support
3.4 Bootstrap :-
Bootstrap is an open source toolkit for developing with HTML, CSS, and JS. Quickly
prototype your ideas or build your entire app with our Sass variables and mixings, responsive
grid system, extensive prebuilt components, and powerful plugins built on jQuery.
Bootstrap is a free front-end framework for faster and easier web development
Bootstrap includes HTML and CSS based design templates for typography, forms,
buttons, tables, navigation, modals, image carousels and many other, as well as optional
JavaScript plugins
Bootstrap also gives you the ability to easily create responsive designs
12
3.5 PHP :-
What is PHP ??
PHP files can contain text, HTML, CSS, JavaScript, and PHP code
PHP code are executed on the server, and the result is returned to the browser as plain
HTML
PHP files have extension ".php".
With PHP you are not limited to output HTML. You can output images, PDF files, and even
Flash movies. You can also output any text, such as XHTML and XML.
3.6 MySQL :-
MySQL is the most popular Open Source Relational SQL Database Management System.
MySQL is one of the best RDBMS being used for developing various web-based software
applications.
13
4. SYSTEM ANALYSIS
Technical Feasibility
It specifies whether the proposed solution to the project is possible to be implemented using
available hardware and software. To build this software we stretched our coding efforts to
the Php and gained knowledge of MySQL. And our team is competent in that.
Social Feasibility
All end-user can use and can contribute to this blogging system irrespective of any
educational background. Technical knowledge is not mandatory.
Market Research
Market research says that this system would be useful for the almost every user as it could
seamlessly help them for their modern and busy lifestyle, keeping them updated with latest
educational and technological trends and also help them to participate actively in the form of
comments, likes, social media shares, etc.
Economic Feasibility
This defines the cost effectiveness of the project. This project being a part of academic
project, we’ve tried to minimize the overall cost. We’ve been successful in doing so.
Alternate Solution
Could be a mobile app but that would not be as efficient as of this system.
14
4.2 Existing System:
The main purpose of a Content Management System is to make it easy for even a novice
computer user to maintain and manage a site. There are a number of custom CMS-frameworks
available out there like WordPress, Joomla, Drupal, Plone, Open CMS, TYPO3 etc. using
which a complete CMS can be developed but all of these frameworks have a steep learning
curve and so it’s difficult for an end-user to understand the modules. It requires more advanced
coding knowledge when it comes to customizing. Both Drupal and Joomla have a very bloated
and confusing administration. This is because both these packages have many advanced features
in addition to the normal basic content management features. So, there is an utmost need to
build a simple CMS that should be user-friendly.
15
4.4 Tools and Technologies used:
Database MYSQL
For using this CMS there is no specific hardware / software requirements. End-user
can use any O.S. and any web browser for using the blogging system, it is cross-
browser checked and platform independent.
16
5. DIAGRAMS
5.1.1 DFD(level-0):
17
5.1.2 DFD(level-1):
18
5.2 Use Case Diagrams:
Following shows the use cases for different CMS users.
19
7. Input / Output Design
20
This is the page specific to a clicked post.
21
This the Reader-Feedback / Comments section for a particular post.
22
This is the Registration section for new User.
23
Admin Dashboard. After login, admin would be redirected to this page.
24
Posts Database Management Page.
25
Manage Post Categories Page.
26
Manage Post Comment Database Page.
27
Manage Blog Users Database.
28
Edit Profile Information Page.
29
7. Testing
Testing is one of the most important phases of the software development life cycle(SDLC).
Testing can expose most of the defects existing in the present system. And therefore, provides
way of reducing defects in a system. Testing is done in various level to ensure the quality of the
software. The user tests the system to verify that the system function is specified. Once the
verification is complete, the system is ready to use by the end users.
To fulfill this objective, a
series of testing steps :- unit testing, validation testing and system testing are planned and
executed. Unit and integration testing concentrated on testing the functionality of a module.
This is done one at a time and the modules are incorporated into the overall program structure.
30
7.1 Unit Testing:
Sr. Test Cases Data Input Expected Output Actual Output Pass/
No. Fail
1 Registration Enter user If user already exists If user already exists Pass
module details then alert that message then alert that message
else registered else registered
successfully successfully
2 Login Enter username Login successful Login successful Pass
module and password
3 Edit profile Complete your When clicked update, When clicked update, Pass
module profile profile information is profile information is
information successfully updated successfully updated
4 Add post Add a new post New post showed up in New post showed up in Pass
module the blog home page as the blog home page as
the latest post. the latest post.
5 Manage Edit/Delete a The post info is The post info is changed Pass
posts Post changed or the post is or the post is removed
module removed from the blog from the blog home
home page page
6 Add Add a comment The comment goes to The comment goes to Pass
comment on a post admin for approval admin for approval
module
31
8. Conclusion
Depending on the requirements and the budget, CMS required for a system can either be built from
scratch or one can use an existing open source or commercial product. The key feature to keep in
mind while building a Web based CMS is intuitive and user-friendly administration. It should
include important CMS functions like separation of layout and content, formatting the content with
“WYSIWYG” editor and managing the workflow for the content approval before it is published to
the users. I have successfully implemented the Simple CMS for an educational blogging system.
The primary features of Simple CMS are:
(1) easily editable content,
(2) templates (default/auto),
(3) user authentication, and
(4) workflow management.
The administration interface is relatively simple. It features one navigation bar that has different
tabs for respective functions, such as Manage Pages, Manage Users, Manage Stylesheets,
Configure homepage and Audit trial report. It has a workflow which will only allow the publishing
of the new content when it is approved by the administrator. It has defined users and roles for users
to add, delete or update content within the website. Each user can modify data according to his
access rights. Only admin can assign roles to users and has full control over each user and his
activity. The user can easily integrate a new template, which is basically the HTML and CSS files,
into this application. Once it is integrated, the user can easily format and edit the page content using
the rich text editor without having to deal with the HTML or the CSS code. Thus, this project will
be useful to the users with less technical expertise, allowing them to easily manage the content of
their page.
32
9. References
https://www.tutorialspoint.com
https://www.w3schools.com/
https://www.wikihow.com/
http://www.codecademy.com/
https://developer.mozilla.org/en-US/docs/Web/Tutorials
https://tutsplus.com/
https://www.udemy.com/
https://en.wikipedia.org/
https://www.lynda.com/
33