online shopping website report
DESCRIPTION
online shopping portalTRANSCRIPT
1
Chapter 1: Introduction to Internet and online shopping
1.1 History
In a little more than a decade, the internet has revolutionised the lives of millions of its
users.
Our study explores one aspect of this revolution: its growing use by businesses and
individuals as a retail channel. In 1995, someone wanting to buy an old Betamax video
recorder could spend weeks scouring specialist shops and markets, placing adverts in
collectors’ magazines or calling individual dealers. If they wanted to buy a flight, they
could visit or call their local travel agents and wait to receive the tickets in the post or
collect them in person. If they wanted to buy a former hit song, they could travel to the
nearest record shops and hunt for it, or order it and pick it up some time later. They could
then drive to a local car boot sale, to trawl through the items on offer from other
individuals, before driving home with some bargains.
A decade later, without moving from their seat, the same person might find and buy the
video recorder in minutes, possibly in another country. Within the same hour they could
have compared flight prices and times from many providers, bought and already received
their ‘electronic tickets’. They could then click on a music download site and be listening
to their favourite song in the same time that it would have taken to get ready to go to the
shops.
Finally, they might take delivery of the bargain they bought at an online auction and leave
some comments on the site, to let other shoppers know whether they were satisfied with
the transaction.
1.2 Growth of Online shopping
The scale and growth of internet shopping is impressive. In 2005, sales over the internet
by UK non-financial businesses to households were over £21bn – a fourfold increase in
only three years.1 But it also raises new questions about risks and shoppers’ confidence
when buying at a distance, as well as the relevance and effectiveness of the laws
protecting them, many of them developed before the recent growth in internet shopping.
As a public authority, whose role is to make markets work well for consumers, the Office
of Fair Trading needs to consider these issues.
2
1.3 Process of Online shopping
Online shopping is the process whereby consumers directly buy goods, services etc. from
a seller interactively in real-time without an intermediary service over the internet.
Online shopping is the process of buying goods and services from merchants who sell on
the Internet. Since the emergence of the World Wide Web, merchants have sought to sell
their products to people who surf the Internet. Shoppers can visit web stores from the
comfort of their homes and shop as they sit in front of the computer. Consumers buy a
variety of items from online stores. In fact, people can purchase just about anything from
companies that provide their products online. Books, clothing, household appliances,
toys, hardware, software, and health insurance are just some of the hundreds of products
consumers can buy from an online store.
The objective of this project is to develop a general purpose e-commerce store
where any product (such as books, CDs, computers, mobile phones, electronic items, and
home appliances) can be bought from the comfort of home through the Internet.
However, for implementation purposes, this paper will deal with an online book store.
Many people choose to conduct shopping online because of the convenience. For
example, when a person shops at a brick-and-mortar store, she has to drive to the store,
find a parking place, and walk throughout the store until she locates the products she
needs. After finding the items she wants to purchase, she may often need to stand in long
lines at the cash register.
Despite the convenience of online shopping, not everyone chooses to purchase items and
services online. Some people like the idea of physically going to a store and experiencing
the shopping process. They like to touch the merchandise, try on clothing, and be around
other people. Online shopping doesn't permit shoppers to touch products or have any
social interaction. It also doesn't allow them to take the merchandise home the same day
they buy it.
Online shopping allows you to browse through endless possibilities, and even offers
merchandise that's unavailable in stores. If you're searching for a niche product that may
not be distributed locally, you're sure to find what you're looking for on the internet.
What's even more useful is the ability to compare items, similar or not, online. You can
search through multiple stores at the same time, comparing material quality, sizes and
pricing simultaneously.
3
Shopping via the internet eliminates the need to sift through a store's products with
potential buys like pants, shirts, belts and shoes all slung over one arm. Online shopping
also eliminates the catchy, yet irritating music, as well as the hundreds, if not thousands,
of other like-minded individuals who seem to have decided to shop on the same day.
Say 'goodbye' to the days when you stood in line waiting, and waiting, and waiting some
more for a store clerk to finally check out your items. Online shopping transactions occur
instantly-saving you time to get your other errands done! Additionally, unlike a store,
online shopping has friendly customer service representatives available 24 hours a day, 7
days a week to assist you with locating, purchasing and shipping your merchandise.
1.4 Traditional working of online shopping
Shopping online instead of going to a traditional "brick and mortar" store has emerged
as a major trend amongst American consumers over the last decade (Levin et al). The
tangibility of going into stores to touch and hold merchandise, talk to a knowledgeable
salesperson for advice and reassurance and finally making a purchasing decision is
becoming a thing of the past. A major shift is putting forth a different shopping
experience and new consumer behaviour - the new wave of an online commodity
system. Consumers may browse numerous websites on the Internet and attempt to
match what they want to the product or service information available. After much
deliberation, a purchasing decision is made – whether right or wrong.
If a consumer who shops online knows exactly what they want to purchase, online
shopping can be direct and hassle free, but if they are not exactly sure, it may be
difficult to decide on a product without some additional assistance. In some cases an
online consumer may not even know what they want or need in regards to use or
features of a product, so they might be forced to decide based on product information
given by a manufacturer or retailer without knowing what to expect until the product
arrives.
1.5 Problems with traditional working of online shopping
Online consumer faces in contrast to offline shopping is that online retailers have virtual
warehouses of merchandise. In the past they may have had 20 digital cameras to offer a
consumer, now retailers have hundreds of choices. Online retailers are attempting to help
the online consumer navigate through stores and information repositories, as well as to
assist the consumer in making a purchasing decision. To address this need, websites now
4
offer the balance of professional and amateur product reviews. As a service to the online
consumer, they can read comments about other consumer experiences and opinions, thus
helping to manage all the data sources and information about the products they offer.
Today, there are hundreds of online consumer product review websites. Unless an online
consumer knows where to go to find product information and consumer reviews it can be
a daunting Daily Deal. Most people are aware of the popular review sites such as
Amazon.com, Epinions.com, Consumer Reports, Buzzillions.com and CNET product
reviews. Some of these websites have attempted to match what they think a consumer
wants to specific product features and available consumer reviews (Wize.com), however
none offer the ability to see what other consumers have written about allowing them to
decide on a product for themselves.
Another problem is that writing product reviews has become so popular and many online
reviews sites have so many reviews that most are buried so deeply that the information is
not easily accessible. This corpus of information often gives a consumer too much to
consider and in the end may make it even more difficult to make a purchasing decision.
These two aspects of the consumer online product research experience - figuring out what
you want to purchase based on what others have said, and wading through the abundance
of product reviews - are what our final project attempts to address. Online consumers
would benefit from the ability to map their own needs and wants to what other consumers
have written about, and to be able to have an interface which makes the tens of thousands
of consumer reviews more easily accessible. iExploreReviews.com attempts to create a
more consumer-friendly approach to online product research than what is currently
available.
1.6 Increment in Shopping revenue due to online shopping
The use of the Internet in our everyday lives has increased each year, with 74% of
American adults (18 years and older) online. Product reviews and recommendations
research is listed in the 2009 Pew Internet Survey as the 3rd most popular activity on the
Internet, after email and using search engines, and online shopping comes in 5th (PEW).
There exist a variety of different resources for finding product reviews and
recommendations, ranging from Amazon to Yelp to Wize. The problem with existing
solutions is that there are many reviews and products available on the market, and it
becomes very time-consuming to browse through the amount of information available.
5
We attempt to address these issues through various disciplines from the School of
Information considering different aspects: user research, data aggregation, and
information visualization. These aspects will be discussed in greater detail later in the
report. Specifically, we are looking to provide a service that helps consumers to find
relevant products based on the their needs rather than the current method of searching
through product features and specifications.
Current research shows that online consumer product reviews contribute to making an
online purchase. An Amazon.com study revealed, "As we’ve watched Amazon customers
make purchases on the site, we can clearly see that promoting the most helpful reviews
has increased sales in these categories by 20% (one out of every five customers decides to
complete the purchase because of the strength of the reviews).
From this, we can project it has contributed to Amazon's top line by $2.7 billion" (Spool).
Amazon.com has found a way to get consumers to write comments about products.
Other consumers then vote on whether the review was helpful. The results of increased
sales indicate that the reading of consumer written product reviews is serving their
customers well. This makes us consider that consumer reviews on other product review
websites may be as valuable to consumers as the reviews on Amazon.com. Currently, if a
consumer is interested in viewing the reviews from other websites they must visit each
site individually. This is a time consuming process. We propose a system solution that
would give the online consumer access to tens-of-thousands of consumer product reviews
from hundreds of review sites in just one place.
6
Chapter 2: Introduction to Project
This project was done as a part of my curriculum as the Major Project in the Final year of
the Bachelor of Technology (Information Technology)
Daily Deal is a website which provides best offers to their user that is valid for a
particular time period in the location they select.
2.1 Existing System:
The existing system was an automated system. But it was found to be inefficient in
meeting the growing demands of population.
2.1.1 Drawbacks in the existing systems:
Disadvantage of the existing system:
1. Time Consuming
2. Expensive
3. Needed an agent
2.2 How we are different from traditional online shopping websites
Consumer-needs-first vs. Product-features approach to product research.
Currently, the online consumer can approach product research in a variety of ways. The
following is a brief scenario of how one may go about looking for digital cameras on
Daily Deal.com.
1. Select the category: Electronics
2. Select the product category: Camera, Photo & Video
3. Select: Digital Camera
4. Consider the choices - there are hundreds of cameras - click on a camera that
looks interesting
5. Next, be presented with a webpage of product images, ratings, purchasing
information, and a link to the brand website, the choice between new, used or
refurbished products. If you're interested you can see what other customers
7
ultimately buy after viewing this item or you can explore similar items, or see
special offers and product promotions, and items frequently bought together.
6. Also, there are technical details, product details, product descriptions, more
photos, accessories and product ads from external websites.
7. You can rate this item to improve your recommendations, scroll down and see
customer reviews, see ratings in detail, see the most helpful customer reviews, rate
the reviews as helpful or not, and create your own review.
On this one website there is a lot for a consumer to consider and if you want another
perspective you can visit other websites. One of the problems with a website like Amazon
is that the research process is product-centric, where the value seems to be more focused
on product features than consumers intended use. Also, the consumer must wade through
lots of information before they encounter consumer-written product reviews, and these
reviews are written about only that one product. While reading reviews you may
determine that the product will not address a particular need or use and must start the
process again. Even doing this repeatedly does not ensure you will discover the reviews,
which answer your questions. iExploreReviews takes a different approach to consumer
online product research. Instead of starting with the product and drilling down to
consumer written reviews to determine if it aligns to specific wants and needs,
iExploreReviews allows the consumer to start the product search process by looking at
product feature topics written about by other consumers. The consumer can select the
features, uses and experiences of interest, and then be presented with only products with
those selected features as a filter used to narrow choices. Instead of reading consumer
product reviews and determining if the product is a good fit for their needs, only see
reviews that have the features self-selected as important. There is a broad assumption that
what consumers write about will be of interest to what other consumers consider
important in making a purchasing decision. With Amazon's popularity of people writing,
reading and rating consumer views we believe that consumer written product reviews are
of value for the online consumer.
Daily Deal originate from many reasons: to achieve greater speed in processing data,
better accuracy and improved consistency, faster information retrieval, integration of
business areas, reduced cost and better security. The sources also vary project proposals
originate with department managers, senior executives and systems analysis.
8
Sometimes the real origin is an outside source, such as a government agency which
stipulates systems requirements the organisation must meet. When the request is made,
the first systems activity, the preliminary investigation, begins. The activity has three
parts: request clarification, feasibility study and request approval.
Fig 2.1 Common architecture of Daily deal
2.3 Content Management System
A content management system (CMS) allows publishing, editing, and modifying content
as well as site maintenance from a central page. It provides a collection of procedures
used to manage work flow in a collaborative environment. These procedures can be
manual or computer-based.
2.2.1 Main Features of CMS
The core features of Content Management Systems vary widely from system to system;
many simpler systems showcase only a handful of features, while others, notably
enterprise systems, are much more complex and powerful.
The following is a list of major CMS features:
Allow for a large number of people to share and contribute to stored data;
Control access to data based on user role (i.e., define information users or user groups
can view, edit, publish, etc.);
Facilitate storage and retrieval of data;
Control data validity and compliance;
Reduce duplicate inputs;
Simplify report writing;
Improve communication among users.* Define data as almost anything: documents,
movies, texts, pictures, phone numbers, articles etc.
9
2.2.2 Data types and Usages
In a CMS, data can be defined as nearly anything: documents, movies, text, pictures,
phone numbers, scientific data, and so forth. CMSs are frequently used for storing,
controlling, revising, semantically enriching, and publishing documentation. Serving as a
central repository, the CMS increases the version level of new updates to an already
existing file. Version control is one of the primary advantages of a CMS.
Enterprise content management systems
An enterprise content management system (ECM) organizes documents, contacts, and
records that are related to the organizational processes of an enterprise—i.e., commercial
organizations. It serves to manage the enterprise's unstructured information content,
rendering the multiplicity of file format and location more manageable. It achieves this
goal by streamlining access, eliminating bottlenecks, optimizing security, and maintaining
integrity.
Component content management system
In a component content management system (CCMS), content is stored and managed at
the sub-document or sub-component level for greater content reuse. CCMS has five main
functions:
1. Maintaining Security
2. Managing Objects
3. Managing Servers
4. Managing Auditing
5. Maintaining Reports
Web Content Management System
Web content management (WCM) is a bundled or stand-alone application used to create,
manage, store, and deploy content on Web pages. Web content includes text, graphics and
photos, video, audio, and code (e.g., for applications) that renders other content or
interacts with the user. WCM may also catalog or index content, select or assemble
content at runtime, or deliver content to specific visitors in a personalized way, such as in
different languages.
10
2.4 Operating Environment
The below is the Recommended Environment
Design and Implementation Constraints
DAILY DEAL is entirely based on PHP and JAVA Scripting and uses MySQL Server as
a backend.
DAILY DEAL requires Java Script support to be installed and running in the browser at
the Client side to enable the products to appear.
A Multiprocessor Server with hyper-threading is needed to optimize the Real time
performance of the System.
DAILY DEAL uses Hypertext transfer Protocol (HTTP) for all its communication from
Server side to client side or vice-versa.
Particulars Server System Client System
Processor
AMD Xeon Dual Processor
2.0 GHz each, above or
equivalent
Pentium 4 Processor, above
or equivalent
Hard Disk 520 GBs 20 GBs
RAM 8 GBs 256 MBs
Operating System Red Hat Linux Linux, Macintosh,
Windows
Web Server Apache Web Server -NA-
Database Server MySQL Server -NA -
Other Packages Java Virtual Machine Java Virtual Machine
11
Chapter 3: System Features
3.1 Features
• This system is all about the converting the shopping system from manual to online.
• Customer can buy products online after login to the site.
• Administrator is adding product to database.
• Administrator can edit or delete the products from the database.
• After buying and making payment the products are send to customers address that he
has given.
• Customer can write feedback for the product or services.
• Admin can see daily sell and feedback given by customer.
• Administrator is adding the delivery report to the database.
• Both admin and customer can see the delivery report.
3.2 Purpose:
Daily Deal tries to enhance access to care and improve the continuity and efficiency of
services. Depending on the specific setting and locale, case managers are responsible for
a variety of tasks, ranging from linking clients to services to actually providing intensive
shopping and delivery services themselves
Main objective
• To shop wile in the comfort of your own home, without having to step out of the door.
• sell at lower rate due to less over head.
• provide home delivery free of cost.
• No wait to see the product if someone else is taking that.
12
3.3 Scope:
This product has great future scope. Online shopping Internet software developed on and
for the Windows and later versions environments and Linux OS. This project also
provides security with the use of Login-id and Password, so that any unauthorized users
can not use your account. The only Authorized that will have proper access authority can
access the software.
3.4 Need for the proposed system:
The online shopping (DAILY DEAL) is an easy to maintain, ready to run, scalable,
affordable and reliable cost saving tool from Software Associates suited for small,
medium, and large shopping complex and shopping malls.
Features and Benefits:
The proposed system can be used even by the naïve users and it does not require any
educational level, experience, and technical expertise in computer field but it will be of
good use if the user has the good knowledge of how to operate a computer.
3.5 Feasibility study:
A feasibility study is a short, focused study, which aims to answer a number of questions:
schedule constrains?
3.5.1 Technical Feasibility:
13
3.5.2 Financial Feasibility:
e project possible, given resource constraints?
ones?
ational costs?
3.5.3 Operational Feasibility:
Define the urgency of the problem and the acceptability of any solution; if the system is
developed, will it be used? Includes people-oriented and social issues: internal issues,
such as manpower problems, labour objections, manager resistance ,organizational
conflicts and policies; also external issues, including social acceptability, legal aspects
and government regulations.
3.6 Data Flow Diagrams:
Data flow diagrams (DFD) was first developed by LARRY CONSTANTINE as way
representing system requirements in a graphical form; this lead to modular design. A
DFD describes what data flow (logical) rather than how they are processed, so it does not
depend on hardware, software, data structure or file organization. It is also known as
‘bubble chart’.
A Data Flow Diagrams is a structured analysis and design tool that can be used for
flowcharting in place of, or in association with, information-oriented and process-oriented
systems flowcharts. A DFD is a network that describes the flow of data and the processes
that change, or transform, data throughout a system. This network is constructed by using
a set of symbols that do not imply a physical implementation. It has the purpose of
clarifying system requirements and identifying major transformations that will become
programs in system design. So it is the starting point of the design phase that functionality
decomposes the requirement specifications down to the lowest level of detail.
The symbols used to prepare DFD do not imply a physical implementation, a DFD can be
considered to an abstract of the logic of an information-oriented or a process-oriented
14
system flow-chart. For these reasons DFDs are often referred to as logical data flow
diagrams.
Fig 3.1 Level 0 DFD for Daily deal
Fig 3.2 Level 1 DFD for Admin
15
Fig 3.3 Level 1 DFD for Customer
16
Fig 3.4 ER Diagram of Daily Deal
17
Chapter - 4 LANGUAGE USED - PHP
4.1 Introduction
PHP: Hypertext Preprocessor is a widely used, general-purpose scripting language that
was originally designed for web development to produce dynamic web pages. For this
purpose, PHP code is embedded into the HTML source document and interpreted by a
web server with a PHP processor module, which generates the web page document. As a
general-purpose programming language, PHP code is processed by an interpreter
application in command-line mode performing desired operating system operations and
producing program output on its standard output channel. It may also function as a
graphical application. PHP is available as a processor for most modern web servers and as
a standalone interpreter on most operating systems and computing platforms.
PHP was originally created by Rasmus Lerdorf in 1995 and has been in continuous
development ever since. The main implementation of PHP is now produced by the PHP
Group and serves as the de facto standard for PHP as there is no formal specification.
PHP is free software released under the PHP License.
4.2 History
PHP originally stood for personal home page. Its development began in 1994 when the
Danish/Greenlandic programmer Rasmus Lerdorf initially created a set of Perl scripts he
called 'Personal Home Page Tools' to maintain his personal homepage, including tasks
such as displaying his resume and recording how much traffic his page was receiving.
He rewrote these scripts as C programming language Common Gateway Interface (CGI)
binaries, extending them to add the ability to work with web forms and to communicate
with databases and called this implementation 'Personal Home Page/Forms Interpreter' or
PHP/FI. PHP/FI could be used to build simple, dynamic web applications. Lerdorf
released PHP/FI as 'Personal Home Page Tools (PHP Tools) version 1.0' publicly on June
8, 1995, to accelerate bug location and improve the code. This release already had the
basic functionality that PHP has today. This included Perl-like variables, form handling,
and the ability to embed HTML. The syntax was similar to Perl but was more limited and
18
simpler, although less consistent. A development team began to form and, after months of
work and beta testing, officially released PHP/FI 2 in November 1997.
Zeev Suraski and Andi Gutmans, two Israeli developers at the Technion IIT, rewrote the
parser in 1997 and formed the base of PHP 3, changing the language's name to the
recursive initialism PHP: Hypertext Preprocessor. Afterwards, public testing of PHP 3
began, and the official launch came in June 1998. Suraski and Gutmans then started a
new rewrite of PHP's core, producing the Zend Engine in 1999. They also founded Zend
Technologies in Ramat Gan, Israel.
On May 22, 2000, PHP 4, powered by the Zend Engine 1.0, was released. As of August
2008 this branch is up to version 4.4.9. PHP 4 is no longer under development nor will
any security updates be released.
On July 13, 2004, PHP 5 was released, powered by the new Zend Engine II. PHP 5
included new features such as improved support for object-oriented programming, the
PHP Data Objects (PDO) extension (which defines a lightweight and consistent interface
for accessing databases), and numerous performance enhancements. In 2008 PHP 5
became the only stable version under development. Late static binding had been missing
from PHP and was added in version 5.3.
A new major version has been under development alongside PHP 5 for several years.
This version was originally planned to be released as PHP 6 as a result of its significant
changes, which included plans for full Unicode support. However, Unicode support took
developers much longer to implement than originally thought, and the decision was made
in March 2010 to move the project to a branch, with features still under development
moved to a trunk.
Many high-profile open-source projects ceased to support PHP 4 in new code as of
February 5, 2008, because of the GoPHP5 initiative, provided by a consortium of PHP
developers promoting the transition from PHP 4 to PHP 5.
PHP currently does not have native support for Unicode or multibyte strings; Unicode
support is under development for a future version of PHP and will allow strings as well as
class, method, and function names to contain non-ASCII characters.
PHP interpreters are available on both 32-bit and 64-bit operating systems, but on
Microsoft Windows the only official distribution is a 32-bit implementation, requiring
Windows 32-bit compatibility mode while using Internet Information Services (IIS) on a
19
64-bit Windows platform. As of PHP 5.3.0, experimental 64-bit versions are available for
MS Windows.
4.3 Licensing
PHP is free software released under the PHP License, which insists that:
4. Products derived from this software may not be called "PHP", nor
may "PHP" appear in their name, without prior written permission
from [email protected]. You may indicate that your software works in
conjunction with PHP by saying "Foo for PHP" instead of calling
it "PHP Foo" or "phpfoo"
20
Chapter 5: Database – MySQL Serve
5.1 Introduction
MySQL is a relational database management system (RDBMS) that runs as a server
providing multi-user access to number of databases. MySQL is officially pronounced
/maɪˌɛskjuːˈɛl/ ("My S-Q-L"), but is often also pronounced /maɪˈsiːkwəl/ ("My Sequel").
It is named for original developer Michael Widenius' daughter My.
The MySQL development project has made its source code available under the terms of
the GNU General Public License, as well as under a variety of proprietary agreements.
MySQL was owned and sponsored by a single for-profit firm, the Swedish company
MySQL AB, now owned by Oracle Corporation.
Members of the MySQL community have created several forks (variations) such as
Drizzle, OurDelta, Percona Server, and MariaDB. All of these forks were in progress
before the Oracle acquisition (Drizzle was announced 8 months before the Sun
acquisition).
Free-software projects that require a full-featured database management system often use
MySQL. Such projects include (for example) WordPress, phpBB, Drupal and other
software built on the LAMP software stack. MySQL is also used in many high-profile,
large-scale World Wide Web products including Wikipedia, Google and Facebook.
MySQL is an open source, SQL Relational Database Management System (RDBMS) that
is free for many uses. However, MySQL found a broad, enthusiastic user base for its
liberal licensing terms, perky performance, and ease of use. Its acceptance was aided in
part by the wide variety of other technologies such as PHP, Java, Perl, Python, and the
like that have encouraged its use through stable, well-documented modules and
extensions. MySQL has not failed to reward the loyalty of these users with the addition of
both sub selects and foreign keys.
21
References for the Graph
B.3. Changes in Release 3.23.x (Lifecycle Support Ended)
http://dev.mysql.com/doc/refman/4.1/en/news-3-23-x.html
B.2. Changes in Release 4.0.x (Lifecycle Support Ended)
http://dev.mysql.com/doc/refman/4.1/en/news-4-0-x.html
Fig 5.1 Version Development
22
C.1. Changes in Release 5.0.x (Production)
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-x.html#news-5-0-x
C.1. Changes in Release 5.5.x (Development)
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-x.html#news-5-5-x
Databases in general are useful, arguably the most consistently useful family of software
products—the “killer product” of modern computing. Like many competing products,
both free and commercial, MySQL isn’t a database until you give it some structure and
form. You might think of this as the difference between a database and an RDBMS (that
is, an RDBMS plus user requirement equals a database).
A database adds another layer of security if used with its own password or passwords.
To create a database from PHP, the user of your scripts will need to have full
CREATE/DROP privileges on MySQL. That means anyone who can get hold of your
scripts can potentially blow away all your databases and their contents with the greatest of
ease. This is not such a great idea from a security standpoint. Furthermore, most external
Web hosts very sensibly won’t let you do it on their servers anyway.
MySQL is one of the easiest databases to administer on all platforms and because it’s so
lightweight, it can run on even low powered PCs. Thus, PHP developers have long found
it convenient to throw a copy of MySQL on client machines—even on laptops—for a
complete local Web development environment. Many developers learn to run their own
MySQL installations so they can work at home or on the road, using the OS of their
choice. Work teams also sometimes prefer developers to each use a separate local
MySQL installation, so that there is no single point of failure that could affect an entire
development group. And many PHP-based Open Source projects assume complete
familiarity with MySQL database administration for all developers.
Unlike some other databases, it should be well within the capability of any PHP
developer to self-administer a MySQL database Many PHP-based application packages,
both commercial and Open Source, also require familiarity with a MySQL database to
install, run, and debug the Web app.
23
5.2 Support and Licensing
MySQL offers support via their MySQL Enterprise product, including a 24/7 service with
30-minute response time. The support team has direct access to the developers as
necessary to handle problems. In addition, it hosts forums and mailing lists, employees
and other users are often available in several IRC channels providing assistance.
Buyers of MySQL Enterprise have access to binaries and software certified for their
particular operating system, and access to monthly binary updates with the latest bug-
fixes. Several levels of Enterprise membership are available, with varying response times
and features ranging from how to and emergency support through server performance
tuning and system architecture advice. The MySQL Network Monitoring and Advisory
Service monitoring tool for database servers is available only to MySQL Enterprise
customers.
Potential users can install MySQL Server as free software under the GNU General Public
License (GPL), and the MySQL Enterprise subscriptions include a GPL version of the
server, with a traditional proprietary version available on request at no additional cost for
cases where the intended use is incompatible with the GPL.
Both the MySQL server software itself and the client libraries use dual-licensing
distribution. Users may choose the GPL, which MySQL has extended with a FLOSS
License Exception. It allows Software licensed under other OSI-compliant open source
licenses, which are not compatible to the GPL, to link against the MySQL client libraries.
Customers that do not wish to follow the terms of the GPL may purchase a proprietary
license.
Like many open-source programs, MySQL has trademarked its name, which others may
use only with the trademark holder's permission.
5.3 Why PHP and MySQL?
The fourth quarter of 1998 initiated a period of explosive growth for PHP, as all open
source technologies enjoyed massive publicity. In October 1998, according to the best
guess, just over 100,000 unique domains used PHP in some way.
24
PHP has long nodded to the object programming model with functions that allow object
programmers to pull out results and information in a way familiar to them. These efforts
still fell short of the ideal for many programmers, however, and efforts to force PHP to
build in fully object-oriented systems often yielded unintended results and hurt
performance. PHP5’s newly rebuilt object model brings PHP more in line with other
object-oriented languages such as Java and C++, offering support for features such as
overloading, interfaces, private member variables and methods, and other standard OOP
constructions.
PHP costs you nothing. MySQL is open-source licensed for many uses; it is not and has
never been primarily community-developed software. PHP is easy to learn, compared to
the other ways to achieve similar functionality.
PHP and MySQL run native on every popular flavour of UNIX (including Mac OS X)
and Windows. A huge percentage of the world’s HTTP servers run on one of these two
classes of operating systems. PHP is compatible with the three leading Web servers:
Apache HTTP Server for UNIX and Windows, Microsoft Internet Information Server,
and Netscape Enterprise Server (a.k.a. iPlanet Server).
PHP is a real programming language. PHP is pleasingly zippy in its execution, especially
when compiled as an Apache module on the UNIX side. The MySQL server, once
started, executes even very complex queries with huge result sets in record-setting time.
CHAPTER-6
25
Chapter 6: HTTP Server – Apache HTTP Server
6.1 Introduction
The Apache HTTP Server, commonly referred to as Apache (pronounced /əˈpætʃiː/), is
web server software notable for playing a key role in the initial growth of the World Wide
Web. In 2009 it became the first web server software to surpass the 100 million web site
milestone. Apache was the first viable alternative to the Netscape Communications
Corporation web server (currently known as Oracle iPlanet Web Server), and has since
evolved to rival other Unix-based web servers in terms of functionality and performance.
The majority of web servers using Apache run a Unix-like operating system.[citation
needed]
Apache is developed and maintained by an open community of developers under the
auspices of the Apache Software Foundation. The application is available for a wide
variety of operating systems, including UNIX, GNU, FreeBSD, Linux, Solaris, Novell
NetWare, Mac OS X, Microsoft Windows, OS/2, TPF, and eComStation. Released under
the Apache License, Apache is characterized as open-source software.
Since April 1996 Apache has been the most popular HTTP server software in use. As of
February 2010 Apache served over 54.46% of all websites and over 66% of the million
busiest.
6.2 History
The pre-release versions (before 0.6.2) of the Apache web server software were created
by Robert McCool, who was heavily involved with the National Centre for
Supercomputing Applications web server, known simply as NCSA HTTPd. When
McCool left NCSA in mid-1994, the development of httpd stalled, leaving a variety of
patches for improvements circulating through e-mails. These patches were provided by a
number of other developers besides McCool: Brian Behlendorf, Roy Fielding, Rob
Hartill, David Robinson, Cliff Skolnick, Randy Terbush, Robert S. Thau, Andrew
Wilson, Eric Hagberg, Frank Peters and Nicolas Pioch, and they thus helped to form the
original "Apache Group". There have been two explanations of the project's name.
According to the Apache Foundation, the name was chosen out of respect for the Native
26
American tribe of Apache (Indé), well-known for their endurance and their skills in
warfare. However, the original FAQ on the Apache Server project's website, from 1996 to
2001, claimed that "The result after combining [the NCSA httpd patches] was a patchy
server. The first explanation was supported at an Apache Conference and in an interview
in 2000 by Brian Behlendorf, who said that the name connoted "Take no prisoners. Be
kind of aggressive and kick some ass" Behlendorf then contradicted this in a 2007
interview, stating that "The Apache server isn't named in honor of Geronimo's tribe" but
that so many revisions were sent in that "the group called it 'a patchy Web server'". Both
explanations are probably appropriate.
The system operates through the work of volunteers who specialize in certain areas of
coding. The Apache Group (AG) emphasizes decentralization and has a low
interdependency in the tasks they do. The AG is a multinational server, having developers
located in U.S., Britain, Canada, Germany, and Italy. Although Apache collaborates as a
group, the work is done by individuals. Their decisions are a result of e-mail and quorum
voting system.
The very first version (0.6.2) of publicly distributed Apache was released in April 1995.
A new modular server architecture was written under the codename Shambhala, which
became version 0.8.0 released in mid July. The 1.0 version was released on December 1,
1995.
Version 2 of the Apache server was a substantial re-write of much of the Apache 1.x
code, with a strong focus on further modularization and the development of a portability
layer, the Apache Portable Runtime. The Apache 2.x core has several major
enhancements over Apache 1.x. These include UNIX threading, better support for non-
Unix platforms (such as Microsoft Windows), a new Apache API, and IPv6 support. The
first alpha release of Apache 2 was in March 2000, with the first general availability
release on April 6, 2002.
Version 2.2 introduced a more flexible authorization API. It also features improved cache
modules and proxy modules.
27
6.3 Licensing
The software license under which software from the Apache Foundation is distributed is a
distinctive part of the Apache HTTP Server's history and presence in the open-source
software community. The Apache License allows for the distribution of both open and
closed source derivations of the source code.
The Free Software Foundation does not consider the Apache License to be compatible
with version 2 of the GNU General Public License (GPL) in that software licensed under
the Apache License cannot be integrated with software that is distributed under the GPL:
This is a free software license but it is incompatible with the GPL. The Apache Software
License is incompatible with the GPL because it has a specific requirement that is not in
the GPL: it has certain patent termination cases that the GPL does not require. We don't
think those patent termination cases are inherently a bad idea, but nonetheless they are
incompatible with the GNU GPL.
However, version 3 of the GPL includes a provision (Section 7e) which allows it to be
compatible with licenses that have patent retaliation clauses, including the Apache
License. The name Apache is a registered trademark and may only be used with the
trademark holder's express permission.
28
Chapter 7: Java Scripting and JQuery
7.1 Introduction
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and
has first-class functions. It is a multi-paradigm language, supporting object, imperative,
and functional programming styles.
JavaScript was formalized in the ECMAScript language standard and is primarily used in
the form of client-side JavaScript, implemented as part of a Web browser in order to
provide enhanced user interfaces and dynamic websites. This
enables programmatic access to computational objects within a host environment.
JavaScript's use in applications outside Web pages — for example
in PDF documents, site-specific browsers, and desktop widgets — is also significant.
Newer and faster JavaScript VMs and frameworks built upon them (notably Node.js)
have also increased the popularity of JavaScript for server-side web applications.
JavaScript uses syntax influenced by that of C. JavaScript copies many names and
naming conventions from Java, but the two languages are otherwise unrelated and have
very different semantics. The key design principles within JavaScript are taken from
the self and Scheme programming languages.
7.2 History
JavaScript was originally developed by Brendan Eich of Netscape under the
name Mocha, which was later renamed to LiveScript, and finally to JavaScript mainly
because it was more influenced by the Java programming language. LiveScript was the
official name for the language when it first shipped in beta releases of Netscape Navigator
2.0 in September 1995, but it was renamed JavaScript in a joint announcement with Sun
Microsystems on December 4, 1995, when it was deployed in the Netscape browser
version 2.0B3.
The change of name from Live Script to JavaScript roughly coincided with Netscape
adding support for Java technology in its Netscape Navigator web browser. The final
choice of name caused confusion, giving the impression that the language was a spin-off
of the Java programming language, and the choice has been characterized by many as a
marketing ploy by Netscape to give JavaScript the cachet of what was then the hot new
29
web programming language. It has also been claimed that the language's name is the
result of a co-marketing deal between Netscape and Sun, in exchange for Netscape
bundling Sun's Java runtime with its then-dominant browser.
JavaScript very quickly gained widespread success as a client-side scripting language for
web pages. As a consequence, Microsoft named its implementation of JScript to avoid
trademark issues. JScript added new date methods to fix the Y2K-problematic methods in
JavaScript, which were based on Java'sjava.util.Date class. JScript was included
in Internet Explorer 3.0, released in August 1996.
In November 1996, Netscape announced that it had submitted JavaScript to Ecma
International for consideration as an industry standard, and subsequent work resulted in
the standardized version named ECMAScript.
JavaScript has become one of the most popular programming languages on the web.
Initially, however, many professional programmers denigrated the language because its
target audience was web authors and other such "amateurs", among other reasons. The
advent of Ajax returned JavaScript to the spotlight and brought more professional
programming attention. The result was a proliferation of comprehensive frameworks and
libraries, improved JavaScript programming practices, and increased usage of JavaScript
outside of web browsers, as seen by the proliferation of server-side JavaScript platforms.
In January 2009, the CommonJS project was founded with the goal of specifying a
common standard library mainly for JavaScript development outside the browser.
7.3 Features
The following features are common to all conforming ECMAScript implementations,
unless explicitly specified otherwise.
7.3.1 Imperative and structured
JavaScript supports much of the structured programming syntax
from C (e.g., if statements, while loops, switch statements, etc.). One partial exception
is scoping: C-style block-level scoping is not supported (instead, JavaScript has function-
level scoping). JavaScript 1.7, however, supports block-level scoping with
the let keyword. Like C, JavaScript makes a distinction
30
between expressionsand statements. One syntactic difference from C is automatic
semicolon insertion, in which the semicolons that terminate statements can be omitted.
7.3.2 Dynamic
dynamic typing
As in most scripting languages, types are associated with values, not with variables. For
example, a variable x could be bound to a number, then later rebound to a string.
JavaScript supports various ways to test the type of an object, including duck typing.
object based
JavaScript is almost entirely object-based. JavaScript objects are associative arrays,
augmented with prototypes (see below). Object property names are string
keys: obj.x = 10 andobj['x'] = 10 are equivalent, the dot notation being syntactic sugar.
Properties and their values can be added, changed, or deleted at run-time. Most properties
of an object (and those on its prototype inheritance chain) can be enumerated using
a for...in loop. JavaScript has a small number of built-in objects such
as Function and Date.
run-time evaluation
JavaScript includes an eval function that can execute statements provided as strings at
run-time.
7.3.3 Functional
First-class functions
Functions are first-class; they are objects themselves. As such, they have properties and
methods, such as length and call (); and they can be assigned to variables, passed as
arguments,return-ed by other functions, and manipulated like any other object. Any
reference to a function allows it to be invoked using the () operator.
Nested functions
"Inner" or "nested" functions are functions defined within another function. They are
created each time the outer function is invoked. In addition to that, the scope of the outer
function, including any constants, local variables and argument values, become part of the
internal state of each inner function object, even after execution of the outer function
concludes.
31
Closures
JavaScript allows nested functions to be created, with the lexical scope in force at their
definition, and has a () operator to invoke them now or later. This combination of code
that can be executed outside the scope in which it is defined, with its own scope to use
during that execution, is called a closure in computer science.
7.3.4 Prototype-based
Prototypes
JavaScript uses prototypes instead of classes for inheritance. It is possible to simulate
many class-based features with prototypes in JavaScript.
Functions as object constructors
Functions double as object constructors along with their typical role. Prefixing a function
call with new creates a new object and calls that function with its local this keyword
bound to that object for that invocation. The constructor's prototype property determines
the object used for the new object's internal prototype. JavaScript's built-in constructors,
such as Array, also have prototypes that can be modified.
Functions as methods
Unlike many object-oriented languages, there is no distinction between a function
definition and a method definition. Rather, the distinction occurs during function calling;
a function can be called as a method. When a function is called as a method of an object,
the function's local this keyword is bound to that object for that invocation.
7.3.5 Miscellaneous
Run-time environment
JavaScript typically relies on a run-time environment (e.g. in a web browser) to provide
objects and methods by which scripts can interact with "the outside world". In fact, it
relies on the environment to provide the ability to include/import scripts
(e.g. HTML <script> elements). (This is not a language feature per se, but it is common
in most JavaScript implementations.)
Variadic functions
An indefinite number of parameters can be passed to a function. The function can access
them through formal parameters and also through the local arguments object.
32
Array and object literals
Like many scripting languages, arrays and objects (associative arrays in other languages)
can each be created with succinct shortcut syntax. In fact, these literals form the basis of
the JSONdata format.
Regular expressions
JavaScript also supports regular expressions in a manner similar to Perl, which provide a
concise and powerful syntax for text manipulation that is more sophisticated than the
built-in string functions.
7.4 Use in web pages
The most common use of JavaScript is to write functions that are embedded in or
included from HTML pages and that interact with the Document Object Model (DOM) of
the page. Some simple examples of this usage are:
Opening or popping up a new window with programmatic control over the size,
position, and attributes of the new window (e.g. whether the menus, toolbars, etc., are
visible).
Validating input values of a web form to make sure that they are acceptable before
being submitted to the server.
Changing images as the mouse cursor moves over them: This effect is often used to
draw the user's attention to important links displayed as graphical elements.
Transmitting information about the user's reading habits and browsing activities to
various websites. Web pages frequently do this for web analytics, ad
tracking, personalization or other purposes.
Because JavaScript code can run locally in a user's browser (rather than on a remote
server), the browser can respond to user actions quickly, making an application more
responsive. Furthermore, JavaScript code can detect user actions which HTML alone
cannot, such as individual keystrokes. Applications such as Gmail take advantage of this:
much of the user-interface logic is written in JavaScript, and JavaScript dispatches
requests for information (such as the content of an e-mail message) to the server. The
wider trend of Ajax programming similarly exploits this strength. A JavaScript
engine (also known as JavaScript interpreter or JavaScript implementation) is
33
an interpreter that interprets JavaScript source code and executes the script accordingly.
The first JavaScript engine was created by Brendan Eich at Netscape Communications
Corporation, for the Netscape Navigator web browser. The engine, code-
named SpiderMonkey, is implemented in C. It has since been updated (in JavaScript 1.5)
to conform to ECMA-262 Edition 3. The Rhino engine, created primarily by Norris Boyd
(formerly of Netscape; now at Google) is a JavaScript implementation in Java. Rhino,
like SpiderMonkey, is ECMA-262 Edition 3 compliant.
A web browser is by far the most common host environment for JavaScript. Web
browsers typically use the public API to create "host objects" responsible for reflecting
the Document Object Model (DOM) into JavaScript. The web server is another common
application of the engine. A JavaScript webserver would expose host objects representing
an HTTP request and response objects, which a JavaScript program could then
manipulate to dynamically generate web pages.
Because JavaScript is the only language that the most popular browsers share support for,
it has become a target language for many frameworks in other languages, even though
JavaScript was never intended to be such a language. Despite the performance limitations
inherent to its dynamic nature, the increasing speed of JavaScript engines has made the
language a surprisingly feasible compilation target.
7.5 Versions
The following table is based on a history compilation forum post, JQuery author's blog
post, and Microsoft's JScript version information webpage.
Versi
on
Release
date Equivalent to
Netscape
Navigator
Mozilla
Firefox
Internet
Explorer Opera Safari
Chrome
1.0 March
1996
2.0
3.0
1.1 August
1996
3.0
34
1.2 June 1997
4.0-4.05
1.3 October
1998
ECMA-262 1st +
2nd edition 4.06-4.7x
4.0
1.4
Netscape
Server
1.5 November
2000
ECMA-262 3rd
edition 6.0 1.0
5.5
(JScript
5.5),
6 (JScript
5.6),
7 (JScript
5.7),
8 (JScript
5.8)
6.0 3.0-5 1.0-
10.0.666
1.6 November
2005
1.5 + array extras
+ array and string
generics + E4X
1.5
1.7 October
2006
1.6 + Pythonic
generators +
iterators + let
2.0
1.8 June 2008
1.7 + generator
expressions + exp
ression closures
3.0
11.50
35
1.8.1
1.8 + native
JSON support +
minor updates
3.5
1.8.2 June 22,
2009
1.8.1 + minor
updates
3.6
1.8.5 July 27,
2010
1.8.2
+ ECMAScript 5
compliance
4 9 11.60
36
Chapter 8: XHTML
8.1 Introduction
XHTML (extensible Hypertext Markup Language) is a family of XML markup
languages that mirror or extend versions of the widely-used Hypertext Markup
Language (HTML), the language in which web pages are written.
While HTML (prior to HTML5) was defined as an application of Standard Generalized
Markup Language (SGML), a very flexible markup language framework, XHTML is an
application of XML, a more restrictive subset of SGML. Because XHTML documents
need to be well-formed, they can be parsed using standard XML parsers—unlike HTML,
which requires a lenient HTML-specific parser.
XHTML 1.0 became a World Wide Web Consortium (W3C) Recommendation on
January 26, 2000. XHTML 1.1 became a W3C Recommendation on May 31,
2001. XHTML5 is undergoing development as of September 2009, as part of
the HTML5 specification.
8.2 Overview
XHTML 1.0 is "a reformulation of the three HTML 4 document types as applications of
XML 1.0". The World Wide Web Consortium (W3C) also continues to maintain the
HTML 4.01 Recommendation, and the specifications for HTML5 and XHTML5 are
being actively developed. In the current XHTML 1.0 Recommendation document, as
published and revised to August 2002, the W3C commented that, "The XHTML family is
the next step in the evolution of the Internet. By migrating to XHTML today, content
developers can enter the XML world with all of its attendant benefits, while still
remaining confident in their content's backward and future compatibility."
However, in 2004, the Web Hypertext Application Technology Working
Group (WHATWG) formed, independently of the W3C, to work on advancing ordinary
HTML not based on XHTML. The WHATWG eventually began working on a standard
that supported both XML and non-XML serializations, HTML5, in parallel to W3C
standards such as XHTML 2. In 2007, the W3C's HTML working group voted to
officially recognize HTML5 and work on it as the next-generated HTML standard. In
2009, the W3C allowed the XHTML 2 Working Group's charter to expire,
37
acknowledging that HTML5 would be the sole next-generation HTML standard,
including both XML and non-XML serializations. Of the two serializations, the W3C
suggests that most authors use the HTML syntax, rather than the XHTML syntax.
8.3 Motivation
XHTML was developed to make HTML more extensible and
increase interoperability with other data formats. HTML 4 was ostensibly an application
of Standard (SGML); however the specification for SGML was complex, and neither web
browsers nor the HTML 4 Recommendation were fully conformant to it. The XML
standard, approved in 1998, provided a simpler data format closer in simplicity to HTML
4. By shifting to an XML format, it was hoped HTML would become compatible with
common XML tools. servers and proxies would be able to transform content, as
necessary, for constrained devices such as mobile phones. By utilizing namespaces,
XHTML documents could provide extensibility by including fragments from other XML-
based languages such as Scalable Vector Graphics and MathML. Finally, the renewed
work would provide an opportunity to divide HTML into reusable components (XHTML
Modularization) and clean up untidy parts of the language.
8.4 Relationship to HTML
There are various differences between XHTML and HTML. The Document Object
Model is a tree structure that represents the page internally in applications, and XHTML
and HTML are two different ways of representing that in markup (serializations). Both
are less expressive than the DOM (for example, "--" may be placed in comments in the
DOM, but cannot be represented in a comment in either XHTML or HTML), and
generally XHTML's XML syntax is a little more expressive than HTML (for example,
arbitrary namespaces are not allowed in HTML). So, firstly one source of differences is
immediate: XHTML uses an XML syntax, while HTML uses a pseudo-SGML syntax
(officially SGML for HTML 4 and under, but never in practice, and standardised away
from SGML in HTML5). Secondly however, because the expressible contents of the
DOM in syntax are slightly different, there are some changes in actual behavior between
the two models.
Firstly then, syntax differences:
38
Broadly, the XML rules require that all elements be closed, either by a separate
closing tag or using self closing syntax (e.g. <br />), while HTML syntax permits
some elements to be unclosed because either they are always empty (e.g. <input>) or
their end can be determined implicitly ("omissibility", e.g. <p>).
XML is case-sensitive for element and attribute names, while HTML is not.
Some shorthand features in HTML are omitted in XML, such as (1) attribute
minimization, where attribute values or their quotes may be omitted (e.g. <option
selected> or <option selected=selected>, while XML this must be expressed
as <option selected="selected">); (2) element minimization may be used to remove
elements entirely (such as <tbody>inferred in a table if not given); and (3) the rarely
used SGML syntax for element minimization ("shorttag"), which most browsers do
not implement.
There are numerous other technical requirements surrounding namespaces and
precise parsing of whitespace and certain characters and elements. The exact parsing
of HTML in practice has been undefined until recently; see the HTML5 specification
([HTML5]) for full details, or the working summary (HTML vs. XHTML).
Secondly, in contrast to these minor syntactical differences, there are some behavioral
differences, mostly arising from the underlying differences in serialization. For example:
Most prominently, behavior on parse errors differ. A fatal parse error in XML (such
as an incorrect tag structure) causes document processing to be aborted.
Most content requiring namespaces will not work in HTML, except the built-in
support for SVG and MathML in the HTML5 parser along with certain magic
prefixes such as xlink.
JavaScript processing is a little different in XHTML, with minor changes in case
sensitivity to some functions, and further precautions to restrict processing to well-
formed content. Scripts must not use the document.write() method; it is not available
for XHTML. The innerHTML property is available, but will not insert non-well-
formed content. On the other hand, it can be used to insert well-formed namespaced
content into XHTML.
CSS is also applied slightly differently. Due to XHTML's case-sensitivity, all CSS
selectors become case sensitive for XHTML documents. Some CSS properties, such
39
as backgrounds, set on the<body> element in HTML are 'inherited upwards' into
the <html> element; this appears not to be the case for XHTML.
8.5 Adoption
The similarities between HTML 4.01 and XHTML 1.0 led many web sites and content
management systems to adopt the initial W3C XHTML 1.0 Recommendation. To aid
authors in the transition, the W3C provided guidance on how to publish XHTML 1.0
documents in an HTML-compatible manner, and serve them to browsers that were not
designed for XHTML.
Such "HTML-compatible" content is sent using the HTML media type (text/html) rather
than the official Internet media type for XHTML (application/xhtml+xml). When
measuring the adoption of XHTML to that of regular HTML, therefore, it is important to
distinguish whether it is media type usage or actual document contents that is being
compared.
Most web browsers have mature support for all of the possible XHTML media types. The
notable exception is Internet Explorer versions 8 and earlier by Microsoft; rather than
renderingapplication/xhtml+xml content, a dialog box invites the user to save the content
to disk instead. Both Internet Explorer 7 (released in 2006) and Internet Explorer 8
(released in March 2009) exhibit this behavior. Microsoft developer Chris Wilson
explained in 2005 that IE7’s priorities were improved browser security and CSS support,
and that proper XHTML support would be difficult to graft onto IE’s compatibility-
oriented HTML parser; however, Microsoft added support for true XHTML in IE9.
As long as support is not widespread, most web developers avoid using XHTML that is
not HTML-compatible, so advantages of XML such as namespaces, faster parsing and
smaller-footprint browsers do not benefit the user.
8.6 Versions
XHTML 1.0
December 1998 saw the publication of a W3C Working Draft entitled Reformulating
HTML in XML. This introduced Voyager, the codename for a new markup language
based on HTML 4, but adhering to the stricter syntax rules of XML. By February 1999
40
the name of the specification had changed to XHTML 1.0: The Extensible HyperText
Markup Language, and in January 2000 it was officially adopted as a W3C
Recommendation. There are three formal DTDs for XHTML 1.0, corresponding to the
three different versions of HTML 4.01:
XHTML 1.0 Strict is the XML equivalent to strict HTML 4.01, and includes elements
and attributes that have not been marked deprecated in the HTML 4.01 specification.
As of May 25 2011, XHTML 1.0 Strict is the document type used for the homepage
of the website of the World Wide Web Consortium.
XHTML 1.0 Transitional is the XML equivalent of HTML 4.01 Transitional, and
includes the presentational elements (such as center,font and strike) excluded from
the strict version.
XHTML 1.0 Frameset is the XML equivalent of HTML 4.01 Frameset, and allows
for the definition of frameset documents—a common Web feature in the late 1990s.
The second edition of XHTML 1.0 became a W3C Recommendation in August 2002.
41
Chapter 9: Database_Schema
Snapshot 9.1 Daily Deal
Snapshot 9.2 Category
42
Snapshot 9.3 Cities
Snapshot 9.4 Condt
Snapshot 9.5 Customer Demand
Snapshot 9.6 Groups
43
Snapshot 9.7 Location
Snapshot 9.8 Orders
Snapshot 9.9 Products
44
Snapshot 9.10 User Login
Snapshot 9.11 User Profile
45
Chapter 10: Snapshots
10.1 Daily Deal
Snapshot 10.1 Home page
Snapshot 10.2 Nearby deals
46
Snapshot 10.3 New deals
Snapshot 10.4 Customer Support
47
Snapshot 10.5 About Daily deal
Snapshot 10.6 Contact Daily Deal
48
Snapshot 10.7 Login_page
Snapshot 10.8 Sign Up page
49
Snapshot 10.9 Register
Snapshot 10.10 User_account
50
Snapshot 10.11 User_choice
Snapshot 10.12 User Wish list
51
Snapshot 10.13 User Cart
Snapshot 10.14 User_demand
52
Snapshot 10.15 User_order
Snapshot 10.16 Search Option
53
Snapshot 10.17 Checkout
10.2 Content Management System
Snapshot 10.18 Admin Login
54
Snapshot 10.19 Admin Home
Snapshot 10.20 Admin_user management
55
Snapshot 10.21 New Users
Snapshot 10.22 Category Management
56
Snapshot 10.23 Admin New Category
Fig 10.24 Product Management
57
Chapter 11: Conclusion
Daily deal incorporated many aspects of our collective School of Information
coursework. A major focus of the project was User Interface Design and within that
process we used many user experience and qualitative research methods. Our goal was to
create a working website prototype. We feel we were able to use the knowledge from
much of the coursework into a real-world development scenario.
We recognize that our attempt to address the consumer online product research problem
just skims the surface on the depth of the problem and possible solutions. We do believe
that it is a problem that deserves more attention. As more and more people use the
Internet to support or supplement the activities in their lives, and online product research
and shopping are becoming more popular, and more and more data becomes available, it
will necessitate that there be applications to make use of these rich sources of
information.
At the conclusion of this project we reflect on the reality that things did not turn out
exactly as planned. The process of taking an idea and finding a way to present that to a
potential user, get their feedback and attempt to improve and in the end make a product
that is truly of any value to the user has been a humbling and illuminating experience. It
makes one understand why so many websites work so poorly, because "you are not your
user"; the user has a whole different way of thinking, doing and solving problems, and
adopting things in ways never imagined. In the end we may not have accomplished all we
set out to do, but the process has given us an opportunity to develop and implement a
website that we hope will offer some value for consumers in conducting online product
research.
58
Chapter 12: Limitation and Future Scope
There are some limitations for the current system to which solutions can be provided as a
future development:
1. The system is not configured for multi- users at this time. The concept of transaction
can be used to achieve this.
2. The Website is not accessible to everyone. It can be deployed on a web server so that
everybody who is connected to the Internet can use it.
3. Credit Card validation is not done. Third party proprietary software can be used for
validation check.
There is a lot of scope of further advancements and enhancements in this project as we
have not incorporated some advanced features, the following can be done:
1. The Administrator of the web site can be given more functionality, like looking at a
specific customer’s profile, the books that have to be reordered, etc.
2. Multiple Shopping carts can be allowed.
59
References
Book Title Author Publisher
Beginning PHP and MySQL W Jason Gilmore Apress
PHP, MySQL & JavaScript Robin Nixon O’reilly
Javascript DeMYSTiFieD-A Self
Teaching Guide
Jim Keogh Osborne
PHP 5 Recipies – A Problem-Solution
Approach
Lee Babin Apress
Beginning PHP6, Apache, MySQL
Web Development
Timothy Boronczyk Wrox
HTML and CSS Molly E Holzschlag Addison
Wesley
Web References
http://dev.mysql.com/doc/refman/4.1/en/news-3-23-x.html
http://dev.mysql.com/doc/refman/4.1/en/news-4-0-x.html
http://dev.mysql.com/doc/refman/5.0/en/news-5-0-x.html#news-5-0-x
http://dev.mysql.com/doc/refman/5.5/en/news-5-5-x.html#news-5-5-x
http://static.zend.com/topics/integrating_php_with_systemi_using_web_services.p
df
http://httpd.apache.org/ABOUT_APACHE.html