Content Management System Reporting Front Page Put Your Name, Logo, and Title Here

yieldingrabbleInternet and Web Development

Dec 7, 2013 (3 years and 6 months ago)

72 views

Content Management System

Reporting


Front Page


Put Your Name, Logo, and Title Here
Table of Contents


1 Introduction

................................
................................
................................
......................

7

1.1 Definit
ion

................................
................................
................................
................

7

1.2 Background of problem

................................
................................
..........................

8

1.3 Statement of the problem

................................
................................
......................

10

1.4 Project Objective

................................
................................
................................
...

11

1.5 Scope

................................
................................
................................
.....................

12

1.6 Importance of project

................................
................................
............................

16

2 Literature Review
................................
................................
................................
...........

17

3 Methodology

................................
................................
................................
..................

24

3.1 Introduction

................................
................................
................................
.............

24

3.2 Product Review

................................
................................
................................
.......

24

3.2.1 Etomite CMS

................................
................................
................................
...

24

3.2.2 Joomla!

................................
................................
................................
.............

25

3.3 Project Schedule Using Gantt Chart

................................
................................
.......

28

3.4 Development Phase

................................
................................
................................
.

28

3.4.1 Analysis
................................
................................
................................
............

28

3.4.2 Design

................................
................................
................................
..............

29

3.4.3 Implementation and Testing

................................
................................
............

29

3.4.4 Evaluation

................................
................................
................................
........

29

3.5 Tool Utilized

................................
................................
................................
...........

30

3.5.1 Hyper Text Mark up Language (HTML)

................................
.........................

30

3.5.2 Java Script

................................
................................
................................
........

30

3.5.3 Cascading Style Sheets (CSS)

................................
................................
.........

30

3.5.4 Apache web server

................................
................................
...........................

30

3.5.5

MySQL database application

................................
................................
...........

30

3.5.6 PHP scripting language

................................
................................
....................

31

4 Analysis
................................
................................
................................
..........................

32

4.1 Interview Report

................................
................................
................................
.....

32

4.2 User Requirement Functional Specification

................................
...........................

33

4.2.1 Content Administration Home Page

................................
................................

33

4.2.2 Admin Informational Article Management

................................
.....................

34

4.2.3 Admin Members Directory Management

................................
........................

34

4.2.4 Admin User Logout

................................
................................
.........................

35

4.2.5 Photo Album

................................
................................
................................
....

35

4.2.6 Admin Blog Management

................................
................................
................

37

4.2.7 Admin Events Management

................................
................................
.............

39

4.2.8 Admin Design Template

................................
................................
..................

39

4.2.9 Admin User Mana
gement

................................
................................
................

40

4.3 Program Flow Chart Design

................................
................................
...................

41

5 Design

................................
................................
................................
............................

52

5.1 Syste
m Modeling

................................
................................
................................
....

52

5.3 Screen / Dialogue Design
................................
................................
........................

53

5.5 Data Flow Diagram

................................
................................
................................
.

82

5.6 Entity Relationship Diagram
................................
................................
...................

86

5.7 Database Design
................................
................................
................................
......

87

5.8 Security Design

................................
................................
................................
.......

93

6 Implementation and Testing

................................
................................
..........................

94

6.1 Major Code Design Walk Through
................................
................................
.........

94

6.1.1 Session Control

................................
................................
................................

94

6.1.2 Login Box

................................
................................
................................
........

94

6.1.3 Login Authentication

................................
................................
.......................

95

6.1.4 Logout and destroy

session management

................................
........................

95

6.1.5 Content management article loader

................................
................................
.

96

6.1.6 Web Editor

................................
................................
................................
.......

96

6.1.7 Save content management article changes

................................
.......................

97

6.1.8 Create member form validation

................................
................................
.......

97

6.1.9 Update photo

caption by using AJAX method

................................
................

99

6.1.10 AJAX core function

................................
................................
.......................

99

6.1.11 Resize Image

................................
................................
................................

100

6.1.12 Upload photo

................................
................................
................................

101

6.1.13 Upload Photo Check for File Type

................................
..............................

102

6.1.14 GD2 library checker

................................
................................
.....................

103

6.2 Test Plan
................................
................................
................................
................

104

6.2.1 Introduction

................................
................................
................................
....

104

6.2.2 Scope

................................
................................
................................
..............

104

6.2.3 Test Strategy

................................
................................
................................
..

105

6.2.4 Control Procedures
................................
................................
.........................

106

6.2.5 Functions To Be Tes
ted

................................
................................
.................

107

6.2.6 Dependencies

................................
................................
................................
.

107

6.2.7 Risks

................................
................................
................................
...............

107

6.3 Test Cases

................................
................................
................................
.............

108

7 Conclusions

................................
................................
................................
..................

111

7.1 Problems Encountered

................................
................................
..........................

111

7.2 System Stre
ngths

................................
................................
................................
...

112

7.2.1 User Friendly

................................
................................
................................
.

112

7.2.2 Form Validation

................................
................................
.............................

112

7.2.
3 Password Protected Admin Site

................................
................................
.....

113

7.2.4 Using AJAX for Dynamic Functionality

................................
.......................

113

7.2.5 WYSIWYG Javascript Web Editor

................................
...............................

113

7.3 System Constraints
................................
................................
................................

114

7.3.1 Incompatibility Between Different Flavors of Apache Server Package

........

114

7.3.2 Incompatibility Between The Same Set of Code On Different Operating
System

................................
................................
................................
.....................

114

7.3.3 User cannot Change the Passwords

................................
...............................

114

7.4 Future Enhancements

................................
................................
............................

115

List of References

................................
................................
................................
...........

116


Figure 1 Managi
ng group entitlement in EPiServer content management system

...........

20

Figure 2 Configuring a dynamic template element in Vignette. Note that three browser
windows are open.

................................
................................
................................
............

21

Figure 3 AJAX based interface in Mediasurface

................................
..............................

22

Figure 4 EtomiteCMS home page
................................
................................
.....................

24

Figur
e 5 Joomla! Content Management System home page

................................
............

26

Figure 6 Sample phpinfo details page to check for the availability of the GD2 library
installed

................................
................................
................................
.............................

36

Figure 7 Lightbox javascript visual effect for photo display

................................
............

37

Figure 8 Moxiecode Systems AB home page

................................
................................
...

38

Figure 9 TinyMCE web editor in action

................................
................................
...........

39

Figure 11 Admin event management

................................
................................
................

41

Figure 12 Admin member management

................................
................................
...........

42

Figure 13 Admin photo management

................................
................................
...............

43

Figure 14 Admin blog management

................................
................................
.................

44

Figure

15 Admin user management

................................
................................
..................

45

Figure 16 Public user registration process

................................
................................
........

46

Figure 17 Public members directory listing and search

feature

................................
........

47

Figure 18 Public event listing feature

................................
................................
...............

48

Figure 19 Public article display page

................................
................................
................

49

Figure 20 Public photo listing and viewing page
................................
..............................

50

Figure 21 Public blog listing and post blog comments process

................................
........

51

Figure 10 System Overview for the Proposed Content Management System

..................

52

Figure 22 Content Management System Admin Site Login Box

................................
.....

53

Figure 23 Content Management System Admin Logged In Home Page
..........................

53

Figure 24 Admin Informational Article Preview Page

................................
.....................

54

Figure 25 Admin edit page for informational article page

................................
...............

54

Figure 26 Admin member listing page

................................
................................
.............

55

Figure 27 Admin
member details page

................................
................................
.............

55

Figure 28 Admin member edit page

................................
................................
.................

56

Figure 29 Admin add new member page with vital fields validation prio
r to form
submission
................................
................................
................................
.........................

56

Figure 30 Admin member listing by alphabetical name

................................
...................

56

Figure 31 Admin photo listing page

................................
................................
.................

57

Figure 32 Admin photo delete confirmation

................................
................................
.....

57

Figure 33 Admin blog listing

................................
................................
............................

58

Figure 34 Admin blog details and blog comments full details page
................................
.

58

Figure 35 Admin blog comment delete confirmation

................................
.......................

59

Figure

36 Admin blog content editing in action

................................
...............................

59

Figure 37 Admin add new blog page

................................
................................
................

60

Figure 38 Admin blog delete confirmation

................................
................................
.......

60

Figure 39 Admin event listing page

................................
................................
..................

60

Figure 40 Admin event details view page

................................
................................
.........

61

Figure 41 Admin event editing in action

................................
................................
..........

61

Figure 42 Admin add new event page

................................
................................
..............

62

Figure 43 Admin event details pag
e

................................
................................
.................

63

Figure 44 Admin event delete confirmation

................................
................................
.....

63

Figure 45 Admin design template selection page

................................
.............................

64

Figure 46 Admin user listing page

................................
................................
....................

64

Figure 47 Admin new user registration form

................................
................................
....

65

Figure 48

Admin new user created successful message

................................
...................

65

Figure 49 Admin new user create failed due to the username has been taken

.................

65

Figur
e 50 Admin new user creation failed due to password retype incorrect

..................

66

Figure 51 Admin user login password reset page

................................
.............................

66

Figure

52 Admin user delete confirmation

................................
................................
.......

66

Figure 53 Home page with events listing using design template 1
................................
...

67

Figure 54 Home page wit
h events listing using design template 2
................................
...

68

Figure 55 New public blog user registration using design template 1

..............................

69

Figure 56 New

public blog user registration using design template 2

..............................

70

Figure 57 Informational article page view for “About Us” topic using design template 1
................................
................................
................................
................................
...........

71

Figure 58 Informational article page view for “About Us” topic using design template 2
................................
................................
................................
................................
...........

72

Figure 59 Members directory listing page using design template 1

................................
.

73

Figure 60 Members directory listing page using design template 2

................................
.

74

Figure 61 Member details viewing page using design template 1

................................
....

75

Figure 62 Member details viewing page using design template 2

................................
....

76

Figure 63 Photo listing page using design template 1

................................
......................

77

Figure 64 Photo listing page using design template 2

................................
......................

78

Figure 65 Blog login page using design template 1

................................
..........................

78

Figure 66 Blog login page using design template 2

................................
..........................

79

Figure 67 Latest blog article with blog comments page using design template 1

............

79

Figure 68 Latest blog article with blog comments page using design template 2

............

80

Figure 69 All blog topic listing page using design template 1

................................
.........

80

Figure 70 All blog topic listing page using design template 2

................................
.........

81

Figure 71 Top level data flow diagram

................................
................................
.............

82

Figure 72 Detail level data flow diagram for section 1.1 Content Management

..............

83

Figure 73 Detail level data flow diagram for 1.2 User Management

...............................

84

Figure 74 Detail level data flow diagram for 1.3 Design Template

................................
.

85

Figure 75 Entity Relationship Diagram for Content Management System

......................

86

Figure 76 Session control code

................................
................................
.........................

94

Figure 77 Login box
................................
................................
................................
..........

94

Figure 78
Login authentication

................................
................................
.........................

95

Figure 79 Logout and session destroy management

................................
.........................

96

Figure 80 Informational article page display by the i
d passed in

................................
.....

96

Figure 81 Web editor javascript loader

................................
................................
.............

97

Figure 82 Save article changes

................................
................................
.........................

97

Figure 83 Javascript form validation for form fields

................................
........................

99

Figure 84 Using AJAX for photo description updates

................................
......................

99

Figure 85 AJAX core function

................................
................................
........................

100

Figure 86 Resize jpeg image function

................................
................................
............

101

Figure 87 Upload photo

................................
................................
................................
..

102

Figure 88 Upload photo checking its file type

................................
................................

102

Figure 89 Error 404 Page Cannot Be Found

................................
................................
...

111

Figure 90 Image resize error

................................
................................
...........................

112


1
Introduction


1.1

Definition


According to WikiPedia [1], w
eb
based
content management systems are often used for
storing, controlling, versioning, and publishing industry
-
s
pecific documentation such as
news articles, operators' manuals, technical manuals, sales guides, and marketing
brochures. A content management system may support the following features:



Import and creation of documents and multimedia material



Identificat
ion of all key users and their content management roles



The ability to assign roles and responsibilities to different content categories or
types.



Definition of the content workflow tasks, often coupled with event messaging so
that content managers are a
lerted to changes in content.



The ability to track and manage multiple versions of a single instance of content.



The ability to publish the content to a repository to support access to the content.
Increasingly, the repository is an inherent part of the
system, and incorporates
enterprise search and retrieval.



Some content management systems allow the textual aspect of content to be
separated to some extent from formatting. For example the CMS may
automatically set default color, fonts, or layout.


1.2

Background of problem


Without a C
ontent
M
anagement
S
ystem
, many website owners
will hit a wall where
the
information management
is no longer sustainable because
they
can't update
their
site
reliably or quickly enough.
A typical website
might have:



P
ro
ducts' specifications, prices and benefits.



Product illustrations



Production information



Product categories



Special promotions



Terms and Conditions



Site navigation links



Availability



Support information



Developer features



Press releases



Jobs



Of
fice addresses, maps and directions.



Logos, photographs and diagrams


With such many articles and categories to look into,

there are possibilities
for content
assets to be on the site accidentally

due to
updates
can happen without a proper
commissioning

process. There are no p
redefined signoff steps before the system will
publish it.
No
audit trail
will be available handy to provide

accountability for each action.


Many sites are operated by a team distributed between offices, companies or even
countries

and notifying a participant of an assigned task becomes more complicated than
calling across the room. The
re is no automation to send notification to

a participant by
email, by SMS (mobile phone text messaging), by fax or even by auto
-
generated letter.
Th
ere is also a possibility where an unauthoriz
ed people can perform
unauthoriz
ed tasks.


It is impossible to
specify dates and times for the content to go live and be archived or
removed, along with the contents target audience segments.
Hence there will b
e no
review dates to ensure that information is not simply left on the site to rot until a new
product replaces it. The responsible area will
not be able
to rubberstamp the content as
still valid, commission a replacement or archive/delete it. If content i
s removed or
archived, the
re is no way to
ensure that the remaining content is still structurally
consistent, without leaving orphaned links to the deleted asset.


The website owner has

a
dis
advantage in the time it takes to react to market intelligence.
They are not able to

write, edit and publish updates in a matter of minutes without
suffering from "WebMaster Bottleneck". If
their
product globally propagates a virus,
updates at this pace could be essential.


A reasonably content rich site could need 25
0 or more updates a day, each averaging
around 2 man
-
hours to produce and test. As a Web Publisher with the competence to get
the edits right and not

break the site will cost from RM150
-
RM
200 per day,
the website
owner could have been spending a fortune of

RM12
000
just to get the task completed.


It is not possible to control
what content is supposed to be live today, what is sitting ready
to go live next week, and what is being prepared by
a department

team for the week after,
and keep them separate on an
piece
-
by
-
piece basis.


In many traditional Direct Marketing scenarios, an audience may be segmented into a
dozen segments. In the online environment, where all user interactions are mediated by
IT systems, users may be segmented into unique individuals. M
anaging many th
ousands
of individually customiz
ed sites is no simple job.


Publishing the wrong price or
availability information on the web

site can bring strongly
negative PR and cla
ss
-
action lawsuits, and hit the owner’s

margins. Similarly, some
indust
ries
-

finance and pharmaceuticals for example
-

are highly regulated, where
communicating the wrong interest rate or disclaimers can have serious legal
consequences. By system
ising the publishing of the

content
through automated
workflows, they

can ensure

that all content is checked and signed off before it is publicly
exposed.

[
2
]


1.3 Statement of the problem


The
challenges and problems that had been identified for this project are listed as below:



Control of the website content.

o

A systematic and m
anageable way to maintain a website has to be created.
Traditionally the website creation has been put in full control in the hand
of the website designer. The website owner without the proper technical
knowledge on the proprietary software used for the we
bsite creation will
not be able to make necessary changes to the website content when the
need arise.



Speed of updating the website content

o

Web designer might not be able to update the changes on the fly due to
their job schedule or availability. This wil
l create a problem of delaying in
terms of information dissemination to the owner’s website visitors. This is
unacceptable in the age of speed and information superhighway.



Financial cost for website maintenance

o

Having dependant too much on the website de
signer for the website
content changes will cause additional financial costing for the website
maintenance.


1.4 Project Objective


Based on the problem statement in the previous section, the solution objective for this
project will evolved around the f
ixing for the problems stated with the listed capabilities
as below
:



Managing the ownership of the website content

o

Admin user will be given access to a password protected site where they
can change the information when necessary.



Managing users of the web
site

o

Three type of users will be required throughout the course of this project:



Admin user


can have access to the content management
administration site to update changes on the website



Normal public user


can have access to the blog in order to
partic
ipate in its blog discussion forum



Association Member user


same access right as the normal public
user, with addition that their member profile will be listed in the
member directory lsiting section of the website



Speed

o

Admin user can login to the conten
t management system admin site which
is available on the internet, from any where at any time. This will
eliminate the dependency on the availability of the website designer.



Financial costing control

o

The changes of the website content will be a dynamic a
ction from the
system point of view. Hence, website designer service will not be required
for each and every content changes or updates. On top of that, several
design template has been put in place ready to be deployed by admin user
selection. This can sa
ve a lot of costing which if requested to the web
designer, for sure the website owner will be billed separately.

















1.5


Scope


1. The core functionality system

The web

based content management system
will be developed on
the
Windows XP
ope
rating system
running with:




PHP scripting language



Apache web server



Javascript


2. Data

MySQL database will be used throughput the entire project lifecycle. MySQL was
chosen because:



Portability:

o

MySQL runs on almost every flavor of Unix, as well as Wi
ndows

and
MacOS X. You can obtain binaries or source code for the MySQL

server
as well as the tools that access it. More ports of the software

become
available every day. It is almost a given that MySQL will run on

whatever
operating system you have availa
ble.



Speed:

o

Using techniques such as efficient indexing mechanisms, inmemory

temporary tables, and highly optimized join algorithms, MySQL

executes
most queries much faster than most other database systems.



Scalability:

o

Because of its modularity and its
flexibility in configuration,

MySQL can
run in systems varying in size from embedded systems to large

multiprocessor Unix servers hosting databases with tens of millions of

records. This scalability also allows you to run a copy of MySQL on a

developer
-
cla
ss machine, and later use the same database system on a

larger machine in production. Because it is multithreaded, MySQL
e
fficiently

utilizes resources for multiple users, compared to other
database

servers that start full
-
fledged processes for each user.
It is not
uncommon

to hear of MySQL installations supporting thousands of
concurrent users.



Flexibility:

o

MySQL lets you choose the table types you need to meet your

software’s
requirements, ranging from in
-
memory heap tables, fast on
-
disk

MyISAM
tables, m
erge tables that group together other sets of tables to

form larger
“virtual” tables, and transaction
-
safe tables such as InnoDB.

MySQL is
also very tunable and includes many parameters that can be

changed to
increase performance for a given solution. Howe
ver, MySQL

comes with
sensible defaults for these parameters, and many users never

have to tune
MySQL to reach a performance they are happy with.



Ease of use:

o

MySQL is easy to install and administer. While other database

systems
require special knowledge
and training, not to mention special

operating
system configurations, MySQL can be installed in less than

10 minutes if
you’ve done it before. Even if you are a newcomer, you

should be able to
install MySQL in under an hour. Once it’s installed,

MySQL requ
ires little
maintenance and administration other than adding or

changing user
permissions and creating or removing databases.



Fine
-
grained security model:

o

You can restrict users


rights from an entire

database down to the

c
olumn level based on login name
, password, and the

hostname that users
are connecting from. This allows you to create secure

systems by
partitioning responsibilities and capabilities of different users

and
applications to prevent unauthorized modification or retrieval of data.



Access fr
om other languages/systems:

o

There are libraries and APIs for

connecting to MySQL from Java (the
focus of this book), C/C++, Perl, PHP,

ODBC (Microsoft Windows
applications), TCL, Eiffel, and Lisp. Because of

this, a whole set of tools
has appeared surroun
ding the use of MySQL fro
m
these languages and
systems.

[3]


3. Hardware Platform



Central processing unit (Pentium4 2.0Ghz)



Random access memory
(256 DDR 2)



Main board



Monitor



Keyboard & Mouse



Printer

Microsoft Office



Floppy Device & CD
-
Rom Device



Hard D
isk 80GB


4. Software Platform



Apache HTTPD Server 2.2.4 (Win32
)



MySQL 5.0 (Win32)



PHP 5.2.1 (Win32)



XAMPP 1.6.1 (Win32) as alternative to the above, which consists of :

o

MySQL 5.0.37

o

PHP 4.4.6

o

OpenSSL 0.9.8e

o

phpMyAdmin 2.10.02

o

FileZilla FTP Server 0.9.23

o

Z
END Optimizer 3.2.4



Smart Draw 2007



Microsoft Office



Text Editor (Note Pad, Word Pad)



W
indows XP Professional Operating System


5
. User

o

Registered Public

User

o

Registered public user
is open to all public users who can access the
website through the intern
et. All they need to do is just to fill in the user
registration form
requesting for their u
sername and password.
After
successfully completed the
registration

process
, user will be able to logged
in to the
website to participate in the blog comment discus
sion
.


o

Association Member

User

o

Association member user is created by admin user from the admin site.
They will be assigned with a username and temporary which will allow
them to logged in to the website and participate in the blog comment
discussion. Their

default username will be prefixed with “po” followed by
numeric

characters
.

They can request for the username to be changed or
password to be reset at a later stage. However, these changes are optional.
They have the same access right as the registered pu
blic user. The only
difference is that their member profile will be displayed on the members
directory with full details.


o

Admin User

o

Admin user have the right to log into the content management
administration site to edit the web site content
.


6
. Type of

T
esting

[
4
]



C
ompatibility Testing


o

Testing to ensure compatibility of an application or Web site with
different browsers, OSs, and hardware platforms. Compatibility testing
can be performed manually or can be driven by an automated functional or
regressio
n test suite.




C
onformance Testing


o

Verifying implementation conformance to industry standards. Producing
tests for the behavior of an implementation to be sure it provides the
portability, interoperability, and/or compatibility a standard defines.




F
unc
tional Testing


o

Validating an application or Web site conforms to its specifications and
correctly performs all its required functions. This entails a series of tests
which perform a feature by feature validation of behavior, using a wide
range of normal a
nd erroneous input data. This can involve testing of the
product's user interface, APIs, database management, security
, installation,
networking, etc

testing can be performed on an automated or manual basis
using black box or white box methodologies.




L
oa
d Testing


o

Load testing is a generic term covering Performance Testing and Stress
Testing.




P
erformance Testing


o

Performance testing can be applied to understand your application or
WWW site's scalability, or to benchmark the performance in an
environment

of third party products such as servers and middleware for
potential purchase. This sort of testing is particularly useful to identify
performance bottlenecks in high use applications. Performance testing
generally involves an automated test suite as this

allows easy simulation of
a variety of normal, peak, and exceptional load conditions.




S
tress Testing


o

Testing conducted to evaluate a system or component at or beyond the
limits of its specified requirements to determine the load under which it
fails an
d how. A graceful degradation under load leading to non
-
catastrophic failure is the desired result. Often Stress Testing is performed
using the same process as Performance Testing but employing a very high
level of simulated load.




U
nit Testing


o

Functiona
l and reliability testing in an Engineering environment.
Producing tests for the behavior of components of a product to ensure their
correct behavior prior to system integration.


1.6 Importance of project


With the dynamism nature of information flow i
n today’s world, it is crucial for the
website owner to be able to have control of information publishing ability in their own
hand, at any time they wanted and perform the changes from any where they have
internet access.
The speediness of the changes is
also crucial as they want their website
visitors to always have the latest information.


The title of this project is “Content Management System for Palm Oil Industry
Association of
Malaysia
”.

Palm Oil Industry Association of Malaysia is an imaginary
asso
ciation which can gain beneficial from the implementation of this system.


Traditionally, there will be very limited IT knowledge in such a non
-
technical
organization. They only need to login to the system, having a user friendly and simple
interface to ac
cess all the admin pages. For article based content, they will be very
familiar with the content editor interface which is similar to Microsoft Word toolbar. This
will greatly shorten the learning curve of the admin user from the organization whom will
be
assigned the task of managing the website content.


For public information seeker who wish to get the details regarding the members,
activities, photos and blog discussion will always ensure that they will be served with the
latest information.




2
Liter
ature Review


According to a comprehensive study of
extensive types of
Conte
nt Management System
available i
n the market today, w
eb based content management system can be analyzed
across three dimensions:

[5]

o

Technology, i
ncluding the underlying architectu
re and user interfaces

o

Content production services, where content goes “from thought to click”

o

Content delivery services, where content actually gets consumed by end users


To some context, content production and delivery co
uld be considered together as
we
b
based content management system functional lifecycle. Key system attributes for all three
dimensions have been identified when considering for the requirements
for
development:


Technology

Production phase

Delivery phase

o

Standards

o

Development

o

Templating

o

Page rendering

o

Access control

o

Usability

o

Internationalization

o

Authoring &
transformation

o

Aggregation

o

Tagging

o

Workflow

o

Repository services

o

Globalization

o

Deployment

o

System reporting

o

Personalization

o

Scaling & performance

o

Site search

o

Multichannel &
syndication

o

Microapplications

o

Retention

o

Site analytics


Technology

Standards

The European Union, Canada, Australia, Japan, and many other national governments as
well as most US state governments have also proposed or established accessibility
standards for the web.

Perhaps most meaningful of all standards may be the W3C Web
Accessibility Initiative, which has published its own Web Content Accessibility
Guidelines. The W3C guidelines aren’t just for Web Content, though. They have also
published guidelines for Authori
ng Tool Accessibility, User Agent Accessibility, and
XML Application Accessibility, as well as detailed content on techniques and other
resources.


The most recent guideliness provided by W3C is the the Web Content Accessibility
Guidelines (WCAG) 2.0. Gen
eral Techniques in this document are applicable to all
technologies while HTML, CSS, Scripting, and SMIL techniques apply only to those
technologies.

T
hese guidelines will provide the basis for the standard applicable to the
underlying technology during th
e development of the
web base
d

content management
systems.

[
6
]


Development

[7]

The well
-
defined tools of web development exist in nearly every Linux distribution

(LAMP)
. They include:




Linux

o

Clearly, the most important element of the LAMP combination is

the
Linux distribution installed on the server. With dozens of distributions
available, the choice can be a bit perplexing. Of the available distributions,
however, Enterprise Linux has grabbed the strongest niche in enterprise
-
grade LAMP web servers for
several reasons.

o

Enterprise Linux utilizes the latest stable kernel version.

o

The underlying ext3 file system is a well
-
proven technology for both rapid
recovery and protecting the integrity of the data on the server.

o

The Anaconda
-
based installation is b
oth easy and accurate, detecting and
configuring nearly all the available hardware options for the server.

o

The Anaconda hardware detection routines are particularly well
-
suited to
such devices as SCSI drives and RAID arrays, devices that enhance the
overa
ll performance and stability of enterprise
-
grade servers.

o

Enterprise Linux also provides clean and easy
-
to
-
use tools for failover
clustering and load balancing services


services that become even more
essential in the performance sensitive enterprise env
ironment.



Apache web server



The second element of LAMP web development is the Apache server,
another open source tool with a rich and mature code base. Created in the
early 1990s, the HTTP daemon (httpd) package today operates nearly 65%
of the web serve
rs worldwide.



Apache is highly configurable and highly modular. A completely
customized configuration can be achieved simply by modifying the text
configuration file, located on the file system at /etc/httpd/conf/httpd.conf.
This file is commented in dept
h, providing configuration guidance to both
the novice and expert webmaster. The code base can also be extended by
means of modules, chunks of code that can be loaded at the time the server
is started or dynamically, as needed. Hundreds of these modules


most
developed by interested third parties


exist in the official Apache code
base today.



Apache is part of the default installation of Enterprise Linux. In short,
installing Apache doesn't require the further action of selecting it as a
package during i
nstallation. The Apache package is referred to as httpd in
the standard Enterprise Linux configuration. Configuration and related
files are named accordingly.



MySQL database application



The third element of the LAMP tool set is the MySQL database, another

robust open source tool that has revolutionized the way webpages,
graphics, tables, and data sets of all sorts are served up on the web. Web
-
based databases in general, and MySQL in particular, have made it
possible to build and present fully dynamic webs
ites, capable of
presenting content in real time. They've also helped to further the goal of
separating content from formatting, speeding the load time of sites while
making them far more manageable than in the past.



Unlike the Apache server, MySQL is not

an element of the default
installation in Enterprise Linux. Enterprise Linux does, however, provide
the MySQL application in the most recent version as of the time of the
Enterprise Linux release. For those who prefer MySQL over the default
PostgresSQL da
tabase installation in Enterprise Linux, installing the code
is simply a matter of selecting it from the databases section during the
Enterprise Linux installation.




PHP scripting language



PHP has, in just a few short years, become one of the predominant

scripting languages on the web. It's another integral element of LAMP
development,and can be found everywhere from personal homepages to
content management systems (such as Drupal) to large
-
scale corporate
intranets. With a relatively easy syntax and open

source licensing,
webmasters and developers around the world have migrated to PHP from
the more difficult and syntactically challenging scripting languages like
Perl.



PHP 5.0 was released in July 2004. The newest version fully support
object
-
oriented syn
tax and provides a command line capability for quick
code testing.



PHP is part of the default installation of Enterprise Linux. However, in
order to interact properly with a MySQL database, the php_mysql module
must be chosen at install time. This module p
rovides the interaction
between PHP and MySQL in the form of an Apache module.



Templating

A template adds

presentation to the content that a user

manage
s
. Content are stored apa
rt
from presentation so that the user

can later apply a number of different
presentations to it.
Templates are an excellent way to get into the heart of C
ontent
M
anagement

with the
least effort.

[
9
]


Page rendering

Page Rendering involves locating some page data, loading a template document, and
applying the template to the data,
in the process generating HTML.

[
9
] It's inherently a
cross
-
platform problem, because the content tools are cross
-
platform, and because
rendering might not happen on the platform that the content was created on.


Having a powerful standard for rendered te
xt will make it possible for web developers to
make more diverse tools that work well together; for content designers to build more
powerful websites, and make more efficient use of system resources by rendering items
that can be generated statically, and
only computing things that must be rendered at
serving time. [
10
]


Access control

Many people can be involved in the production of a website. And since one of the key
advantages of web based content management system is to distribute content
maintenance ca
pabilities directly to content owners, implementing a new system leads to
even more people becoming involved in this process. Therefore the system needs to
manage internal access and permissions that is much more robust than that required to
support only o
ne or two webmasters updating an entire site


Users can be assigned privileges based on the role they play or the group to which they
belong, which define their authority and typically, the scope of the content areas they can
edit. It is possible for a use
r to belong to more than one group.



Figure
1

Managing group entitlement in EPiServer content management system


Consider the following chart of group and roles for a generic corporation

Sample Group

Sample Roles



HR Managers


c
a渠潮ny⁡摤⁡湤n
浯摩fy潢



Product Managers


ca渠異摡瑥t
ca瑡汯g⁣潮瑥湴猠潮oy



Graphic Designers


ca渠c牥ate⁡湤n
浯摩fy⁩ age 晩汥猠s湤⁈呍i
瑥浰污瑥猠獩瑥⁷楤i



Librarians


浡mage⁣la獳s晩fa瑩潮o
sy獴敭猠慮搠浥瑡ta瑡⁶tca扵污b楥i



Super user


灥牦潲浳⁡n
y 晵fc瑩潮o
楮⁴桥⁳y獴敭



Editor


a灰牯pe猠s潮oent



Author


c潮瑲楢畴e猠s潮瑥湴



Intern


a摤猠de瑡ta瑡⁴t⁳楴e
c潮瑥湴



Usability

Some user interface trends are emerging and have spread rapidly across the CMS vendor
landscape. Nearly all verndors now pro
vide multiple ways of entering content into the
system (eg. Word, Dreamweaver, browser formes of various types). After popping new
windows became a fashionable in the late 1990s, most vendors now keep users to one,
perhaps two screens to complete a simple
task, using sophisticated javascript (including
Ajax) controls or iframes.



Figure
2

Configuring a dynamic template element in Vignette. Note that three browser windows are
open.


Special note about Ajax

AJAX stands for “asynchr
onous JavaScript + XML”. Technically, it allows the browser
and server to communicate without refreshing a page. In practice it can lead to very
client
-
server
-
like interfaces from within a standard browser.



Figure
3

AJAX based
interface in Mediasurface


However, AJAX does have drawbacks as well:



AJAX depends on DHTML, which brings potential cross browser compatibility
problems



Page refresh, the Back button, and other browser specific functions do not work
with AJAX.



It is imposs
ible or difficult to bookmark an AJAX
-
powered page or send a link
via email to the particular state in an AJAXed application



The browser may make a lot of calls to the server, which could have performance
implications.


Internationalization

[11]

Internatio
nalization (sometimes shortened to "I18N , meaning "I
-

eighteen letters
-
N") is
the process of planning and implementing products and services so that they can easily be
adapted to specific local languages and cultures, a process called localization. The
internationalization process is sometimes called translation or localization enablement.
Enablement can include:



Allowing space in user interfaces (for example, hardware labels, help pages, and
online menus) for translation into languages that require mor
e characters



Developing with products (such as Web editors or authoring tools) that can
support international character sets (Unicode)



Creating print or Web site graphic images so that their text labels can be
translated inexpensively



Using written exam
ples that have global meaning



For software, ensuring data space so that messages can be translated from
languages with single
-
byte character codes (such as English) into languages
requiring multiple
-
byte character codes (such as Japanese Kanji)


As the sc
ope of this project does not focus on the advanced application of the production
and delivery phase, both topics will not be covered in depth in this literature review.



3
Methodology


3.1 I
ntroduction

T
his chapter will focus on the discussion of existi
ng products a
lready available to the
users. T
he aspects of interest in the comparison study include usability, speed, when and
how they were developed.


3.2 Product Review

3.2
.1
Etomite
CMS


Figure
4

Etomite
CMS home page


Etomite
is a Content Management System, which allows you to remotely administer your
website from anywhere that you have an Internet Connection and a compatible Web
-
Browser.

Etomite is completely different in many ways
-

it allows the end user to control
virtually

every aspect of their website, whether it be from layout to how the Meta Tags
are generated, making it the number one SEO CMS.

With server
running
on
Apache

and
.htaccess files, Etomite
will
become more SEO Friendly (Search Engine Optimized),
by allowing
friendly urls
-

no more question marks in the URL (Universal Resource
Locater), but virtual page names.

Etomite

can create
AJAX Menus

and
fancy effects
within the content

as well.

Etomite is OpenSource (GPL), which makes it free to use.


Listed are r
easons

to
c
hoose Etomite Content Management Software
:



Feature Rich Yet Simple to Use

o

Its user does not
need to be an expert in web editing, or have used any
content management software before to start enjoying the rich features that
are provided by Etomite.

o

Inst
allation takes typically less than ten minutes, and with the user
-
friendly interface
users will
be well on
their
way to setting up
the
first
Etomised site in an hour!



GNU Licensing Means Nothing to Pay!

o

The Etomite Content Management software is released u
nder the GNU
license scheme. This means that
users

don't
have to
pay to download,
install or use it.

o

There are no hidden
-
catches, no banners, and no spyware included.

o

Because Etomite is built to run on PHP, using mySQL for the database,
users will

get unbe
atable value that is tough to beat.



Search Engine Friendly & Fantastic Performance

o

M
aximum search engine compatibility with all of the major search engines.

o

There are no performance bottlenecks to using Etomite. Because Etomite
can provide caching (along
with a no
-
cache option for parts of
user’s web

site that must remain dynamic)
the
content is delivered to
web
visitors in
the most efficient method.



Webserver & Database Requirements

o

Etomite runs on most PHP enabled web servers
-

it has been successfully
installed on Apache (preferred) and IIS, and requires access to a mySQL
database (Non
-
NT) for storage.
L
atest versions of these software packages

are recommended
for optimum security and performance. Minimum
supported PHP version is 4.1.0.

o

The manager runs

equally well in Internet Explorer and the Mozilla
browsers, on Windows, Linux and some Apple computers. The manager
may work perfectly in other browsers, but these have not been extensively
tested. The sites hosted in Etomite will run in any browser on an
y platform,
limited only by the creativeness and skill of the developer.

[
12
]



3.2
.
2
Joomla!

Joomla! is an award
-
winning Content Management System (CMS) that will help
users to
build websites and other powerful online applications. Best of all, Joomla! is

an open
source solution that is freely available to everybody.

It
is used all over the world to power
everything from simple, personal homepages to complex corporate web applications.


Here are just some of the ways people use
Joomla!
:

o

Corporate websites

or portals

o

Online commerce

o

Small business websites

o

Non
-
profit and organizational websites

o

Government applications

o

Corporate intranets and extranets

o

School and church websites

o

Personal or family homepages

o

Community
-
based portals

o

Magazines and news
papers


Joomla! can be used to ea
sily manage every aspect of the

website, from adding content
and images to updating a product catalog or taking online reservations.



Figure
5

Joomla! Content Management System home page


The bas
ic Joomla! package is designed to be easy to install, even for non
-
programmers.
Most people have no trouble getting
this

software up and running, and there is plenty of
support available for newbies.
They
have a growing, active community of more than
40,00
0 friendly users and developers on
their

forums.


Once Joomla! is installed and running, it is simple for even non
-
technical users to add or
edit content, update images, and to manage the critical data that makes

the
company or
organization go. Anybody wit
h basic word processing skills can easily learn to manage a
Joomla! site.


Via a simple, browse
r
-
based interface users

will be able to easily add new press releases
or news items, manage staff pages, job listings, product images, and create an unlimited
am
ount of sections or content pages on
their

site.



T
he true power of Joomla! lies in the application framework that makes it possible for
thousands of developers around the world to create powerful add
-
ons and extensions.


Here are some examples of the hu
ndreds of available extensions:

o

Dynamic form builders

o

Business or organizational directories

o

Document management

o

image and multimedia galleries

o

E
-
commerce and shopping cart engines

o

Forums and chat software

o

Calendars

o

Blogging software

o

Directory serv
ices

o

Email newsletters

o

Data collection and reporting tools

o

Banner advertising systems

o

Subscription services


Using the core framework, developers can easily build:

o

Integrated e
-
commerce systems

o

Inventory control systems

o

Data reporting tools

o

Custom
product catalogs

o

Complex business directories

o

Reservation systems

o

Communication tools

o

Application bridges

[
13
]







3.3

Project Schedule Using
Gantt C
hart








3.4 Development Phase

There are f
ive
phases in the

Content Management System
.

Analysi
s, D
esign,
Implementation (Coding), Testing

and Evaluation


3.4.1

Analysis


In this Phase analyze the objective of the

Content Management System, review the
scopes and l
imitations of the systems

th
oroughly and also identify the
requirements both
functiona
l and non
-
functional as part of the System Requirement specification . Two
similar product features has also been review where good features will be explored and
adapted where applicable.
Also, analyze the
development environment
,
database
available and

web
s
erver, which is appropriate for

the Content Management System
de
velopment


The flow chart also been used to
illustrate the
s
equence and the
b
usiness process.


At the end of this Phase, we will be having the
product reviews, Gantt Chart for project
sch
eduling, user requirement specification and software process flow chart
.


3.4.2

Design

W
ith the result and output of the Previous Phase and based on the
flow charts and user
requirement specification, t
his phase will show
how
the whole system works and

with
the above said diagrams will produced ideas to developer to write the coding for the

Content Management System
.


Eventually Developer can design the Interface with user friendly
m
ethod,
each module
detailed functionalities and security p
arts and
da
tabase mapping. D
efine the E
ntity
Relationship between the t
ables

and the flow between the data and the process involved
in it illustrated using Data Flow Diagram using Top Down approach.


At the End of this Phase, we will be having
System Overview,
Design

Model, Database,
and System Architecture user interface
d
esign and the
each modules detailed
functionality with the security d
esign.


3.4.3 Implementation and Testing


After completing the analysis and design p
hase
c
oding will
follow up
. Once
the coding
h
as been completed, ths system will be ready for a thorough testing includes
unit Test,
Integration test and the User Acceptance Test.


These testing processes will evaluate

the

Content Management System and i
ts flows,
business process to deliver the qual
ity system a
nd minimize the bugs. Once the testing
p
rocess
has
mature
d
, we will be having
the source code, action plan for i
mplementation
of the

content management system and the test result.


3.4.4 E
valuation


In this p
hase, system will evaluate against t
he Project Plan and objectives. Limitations of
the Systems also will evaluate here and we will be converse the Future development and
the
v
ersion upgrade of
the Content Management System. A
t

the e
nd of thi
s phase, we will
be having the evaluation reports w
ith the e
nhancement of

the Content Management
System
.


3.5
T
ool Utilized


3.5.1
Hyper Text Mark up Language

(HTML)


Hyper Text Markup Language Shortly Known as HTML. This is very essential for the
Web Development. HTML works with the tags Each Tag will em
bedded with the
Document. Web Browser will interpret these tags and document will display in the
Browser. HTML is Controlled by W3C (World Wide Web Consortium). This is the
major language in the World Wide Web.


3.5.2
Java Script


Java Script is the Power
ful Client Side and object based Scripting language. This has
been developed by Netscape Communication. We can develop server side and client Side
application in the java script. By using of this Language, we can Create Interactive
document over the we
b. This can be used to validate the User inputs before sending to the
server side Programs.


3.5.3 Cascading Style Sheets (CSS)


Cascading Style Sheets are mainly used to design the style of web Pages in such a nice
way. CSS allows the user to specify
the Page Elements separately from the form
structure. With the CSS, the Developer can design the Forms with portable and compact
way. Developer can use the CSS in the Two Ways Either call the CSS from the form
Level or directly can Import the style sheet
s in the forms.


3.5.4
Apache web server

Apache is highly configurable and highly modular. A completely customized
configuration can be achieved simply by modifying the text configuration file, located on
the file system at /etc/httpd/conf/httpd.conf. Thi
s file is commented in depth, providing
configuration guidance to both the novice and expert webmaster. The code base can also
be extended by means of modules, chunks of code that can be loaded at the time the
server is started or dynamically, as needed. H
undreds of these modules


most
developed by interested third parties


exist in the official Apache code base today.


3.5.5 M
ySQL database application

MySQL database, another robust open source tool that has revolutionized the way
webpages, graphics, tab
les, and data sets of all sorts are served up on the web. Web
-
based
databases in general, and MySQL in particular, have made it possible to build and present
fully dynamic websites, capable of presenting content in real time. They've also helped to
further

the goal of separating content from formatting, speeding the load time of sites
while making them far more manageable than in the past.



3.5.6
PHP scripting language

PHP has, in just a few short years, become one of the predominant scripting languages o
n
the web. It's another integral element of LAMP development,and can be found
everywhere from personal homepages to content management systems (such as Drupal)
to large
-
scale corporate intranets. With a relatively easy syntax and open source licensing,
web
masters and developers around the world have migrated to PHP from the more
difficult and syntactically challenging scripting languages like Perl.

4
Analysis

4.1 Int
erview Report

Background of the Organization

The preliminary interview session has been co
nducted with the President of the
Association and their dedicated staff for website related issue. Three rounds of interview
session have been conducted before conclusion of the user requirements can be specified.

The following will posed the findings from

these interviews sessions.



Palm Oil Industry Association of Malaysia
Global Hotel

was established since 198
5, and
has been operational for
more than 20

years. It is situated in a busy suburban area, and is
a
main organization that will unite more than 9
0% of all the companies involved directly
or indirectly with the business activities related to palm oil and palm oil related industry.
Headed by an elected president, it has a 9 person committee council elected every two
years term with the Publishing sub

committee having the full authority on its website
related issues. They
also have the

strength of
20
full time
staff

to support the various
activities roll out
.


The organization has been publishing a monthly newsletter circulated to all its members
as w
ell major libraries and scientific research centers globally. With the effectiveness and
wide spread usage of the internet, they have embraced on this new communication
technology since year 2000 for information broadcast to their targeted audience. Howeve
r,
due to the budget limitation and lacking of the dedicated personnel to be committed to a
full content management system set up during that time. The idea for having a complete
content management system to help their organization in managing their websit
e content
has been delayed, but not scrapped.


Business Process

With the increment of their member count as well the public newsletter subscriber, it is
vital and the right time for them to engaged into the setting up of a content management
system. Howev
er, their staff might not be able to cope if the maintenance method is too
technically advanced for a non technically trained personnel. Hence, the website must be
simple and easy to use as how the Microsoft Word document editor is.


Besides the ease of u
se, other new features that they would like to have is the ease of
maintenance for their event listing feature. Currently they have to email the latest event
listing to their designer so the designer can incorporate the latest event changes to the
event sp
ecific file, save it, then FTP onto the server. This has pose numerous worries to
the organization. Among others will be the costing charged by the designer, the
availability of the designer, the delay occurred during the initial email from the
organizatio
n staff to the designer. They hope the new implementation will return the
power of the content updating back to the staff of the organization itself.


Photo listing should be fairly easy to maintain, with additional new features of some
latest styling tech
nology, either using Web 2.0 slide based photo viewer or highlighting
effect. They give the freedom to the developer to decide on the suitability of this feature
as long as it is visually compelling to their user.


The major new feature request is the blog

system.
The blog system should be able to
allow the admin to manage the articles, as well as receiving discussion like blog
commenting feature. Blog poster should be forced to register
themselves

so the blog
poster can be tracked for later reference if ne
cessary. Hence the facility for public user to
register should be provided.


4.2 User
Requirement

Functional Specification

4.2.1
Content Administration
Home Page

The ability to change the content of the website is vital for a content management system.
Thi
s admin only site must be protected from public access. The default login page should
ask for a valid username and password before proceeding. After the authentication has
successful, user will be shown a list of manageable content summary page. The summar
y
page should have links to:



Informational article page

o

About Us

o

Statistics

o

Contact Us



Photo Album



Blog



Events



Design Template



User Management


User should be given a link to “Logout” function as to properly clear off all session data
that has been establi
shed within their internet browser for security and privacy reason.


The
admin site can be link via
URL
of a

valid registered domain name either with top
level domain name (eg.
http://www.palmoil.com/admin
office

) or country level domain
name (eg.
http://www.palmoil.com.my/adminoffice

).


When running on local machine for development purpose,
locally run Apache server

web
pages can be access from
http://localhost/adminoffice

or
http://127.0.0.1/adminoffice

.
Both Apache server and MySQL server should be set to automatically started or
manually started it if the
automated process has failed.


The
entire site should be accessible via major internet browser available today:



Internet Explorer 6.0 and above



Firefox 1.
5

and above



4.2.2
Admin
Informational Article Management

Three informational articles has been ident
ified for the scope of this project. They are:



About Us

o

Provides information on the organization, such as historical background,
what’s the main objective of the association, who can be members, how
many members at the moment, organizational structure etc.



Statistics

o

Provides statistical information on the overall palm oil related products
import and export activities. The statistics can be displayed using
graphical or tabular format. These data can be obtained and re
-
published
with permission from Statisti
cal Department or MATRADE.



Contact Us

o

Provides means to contact the organization via web suggestion form,
email, location map, physical address location, telephone no., fax no. etc.


More informational articles can be add on based on user request with mini
mal
configuration by the web content manager
.


4.2.3
Admin
Members Directory

Management

Members listing should be display as 50 records per page. Basic listing will have:



member’s name



membership no.



registered office address


In member’s detail page, all
fields will be displayed:



Member’s name



Address



Postcode



City



State



Membership no.



Telephone no.



Fax no.



Contact person



Designation of the contact person



Email



Web site



Trade description of the business activities by this member



Website login information

o

Link to change the username

o

Link to change the login password

o

Login logs history of the member


Add new member form should include all the fields above. Form validation should be
performed using javascript on client side prior to form submission to ensure
compulsory
fields are not empty and email address are in the correct format
(
yourname@yourdomainname.com
). This will ensure only quality data to be created
and
reduced human errors before d
isplay
this inf
ormation
to internet visitors.

The state field
for new member form should be defaulted to “Wilayah Persekutuan” even though the
select list will be displayed in alphabetical order. This is due to expectation for the most
members will be from this particula
r state.


Editing member information should be made available from the individual member detail
page. Delete member should be linked from there too. But prior to any deletion, admin
user should be double confirmed their decision to avoid deleting valuable
data
accidentally
.


Easy link back to the admin main page and the admin members directory listing main
page should be provided at any pages for the convenience of the admin user.



4.2.4
Admin
User Logout

Admin u
ser should be
given the option to logout pr
operly from the admin site so that all
the session data that has been established can be
cleared off and the user will be
redirected to the
admin login page
.


4.2.5
Photo Album

Photo listing should be displayed with 50 photos per page together with the pho
to
description, photo thumbnail of 150x150 pixels size, links to photo description editing
and photo delete.

Admin user will be able to click on the next available pagination to
view the next 50 photos.


To create a new photo, admin user will click on the
“Browse” button to select the photo
that they wish to create from their computer. Only jpeg formatted photo will be supported
at this stage. For future enhancement, this support can be extended to support more image
file type format, such as gif and png. N
o file size limitation will be imposed for this stage.
Usually upload file size limitation been imposed is due to two reasons:



To control the overall hard disk size usage by an individual users



To ensure the friendliness of the internet visitors when brows
ing the online photo
album so they will not be downloading photos which are huge in size


Once the photo to be uploaded has been selected, admin user will also need to write a
brief description explaining what is the photo is all about. Then they are ready

to click on
“Upload Now!” button.


Upon uploading, the uploaded file type will be check to match the MIME specified file
type “
image/pjpeg
”. If this does not match, user will be reminded to select only jpeg file
type and they should reselect the file aga
in.


If the file type is valid, next step will be resize the photo image to a standard thumbnail
size of 150x150 pixels. This could be achieve by applying a third party jpeg file resize
library called “
resampimagejpg

provided by (
http://www.travidal.com/wp/
). In order for
this function to work properly, GD2 library must present in the system. This could be
checked by using the phpinfo command.



Figure
6

Sample phpinfo details page to c
heck for the availability of the GD2 library installed


The successfully uploaded photo with description will then be made available on the
photo listing page. From there, admin user can click on the thumbnail to preview the
photo in its original size disp
layed using the lightbox effect written in javascript provided
by Lokesh Dhakar. The entire project description and source code download with
example can be obtained from (
http://www.huddlet
ogether.com/projects/lightbox2/
). The
lightbox effect will add a visual pleasant to the admin user with faded background effect
and highlight focusing solely on the photo.



Figure
7

Lightbox javascript visual effect for photo d
isplay




4.2.6
Admin Blog Management

The main blog listing page will display the blog title, blog posted date with link to view
the details. On the details page, admin user will be able to view the full blog content, with
comments feedback from all regi
stered web visitors for that particular blog topic.