report i&ii

Upload: mai-nhat-tan

Post on 03-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Report I&II

    1/40

    0

    HANOI UNIVERSITY OF SCIENCE AND TECHNOLOGY

    SCHOOL OF ELECTRONICE AND TELECOMMUNICATION

    ~~~~~~~~~~~~~~~********~~~~~~~~~~~~~~

    REPORT

    USING NS2 & APPLICATIONS

    DESIGN WEBSITES USING JOOMLA

    LECTURER:

    Assoc.Prof. Nguyn Vn c

    STUDENTS:

    Mai Nht Tn (20092340)

    Giang Ngc Tn (20092333)

    Trn Hi Triu (20092824)

    Hanoi 04/05/2013

  • 7/28/2019 Report I&II

    2/40

    1

    Contents

    A. USING NS2 AND APPLICATIONS...3I. Introduction......................................................................................... 41. Overview.................................................................................... 42. Abstract ...................................................................................... 6

    II. Guide and tutorial............................................................................... 81. Download and install .................................................................. 82. Starting ns2 ................................................................................ 93. Starting nam ............................................................................... 9

    III. Simple examples ............................................................................. 101. How to start .............................................................................. 102. Two nodes, one link ...................................................................... 113. Sending data ................................................................................. 124. The topology................................................................................. 145. The events .................................................................................... 156. Marking flows............................................................................... 167. Monotoring the queues .................................................................. 17

    IV. Application ..................................................................................... 191. Check routing protocol of the Distance Vector by using NS-2 ......... 192. Bandwidth fairness between dataflow ............................................ 203. Measure the efficiency of Ethernet network.................................... 21

    V. Summary ......................................................................................... 22VI. Referene ......................................................................................... 23

  • 7/28/2019 Report I&II

    3/40

    2

    B. DESIGN WEBSITES USING JOOMLA...24

    I. Introduction....................................................................................... 25II. Components and functions of Joomla ................................................ 26

    1. Content management system (CMS) .............................................. 262. Applications of Joomla .................................................................. 263. Joomla templates........................................................................... 264. Joomla extensions ......................................................................... 275. K2 extensions ............................................................................... 276. Virtuemart extensions.................................................................... 29

    III. Design website................................................................................ 30IV. Summary ........................................................................................ 38VI. Reference ....................................................................................... 39

  • 7/28/2019 Report I&II

    4/40

    3

    A. USING NS2 AND APPLICATIONS

  • 7/28/2019 Report I&II

    5/40

    4

    I. Introduction

    1. OverviewNS is an event driven network simulator developed at UC Berkeley that

    simulates variety of IP networks. It implements network protocols such as

    TCP and UPD, traffic source behavior such as FTP, Telnet, Web, CBR and

    VBR, router queue management mechanism such as Drop Tail, RED and

    CBQ, routing algorithms such as Dijkstra, and more. NS also implements

    multicasting and some of the MAC layer protocols for LAN simulations.

    The NS project is now a part of the VINT project that develops tools for

    simulation results display, analysis and converters that convert network

    topologies generated by well-known generators to NS formats. Currently,

    NS (version 2) written in C++ and OTcl (Tcl script language with Object-

    oriented extensions developed at MIT) is available.

    Figure 1: User's View of NS

    NS is Object-oriented Tcl (OTcl) script interpreter that has a simulation

    event scheduler and network component object libraries, and network setup

    (plumbing) module libraries (actually, plumbing modules are implemented

    as member functions of the base simulator object). In other words, to use

    NS, you program in OTcl script language. To setup and run a simulation

  • 7/28/2019 Report I&II

    6/40

    5

    network, a user should write an OTcl script that initiates an event scheduler,

    sets up the network topology using the network objects and the plumbing

    functions in the library, and tells traffic sources when to start and stop

    transmitting packets through the event scheduler. The term "plumbing" is

    used for a network setup, because setting up a network is plumbing possible

    data paths among network objects by setting the "neighbor" pointer of an

    object to the address of an appropriate object. When a user wants to make a

    new network object, he or she can easily make an object either by writing a

    new object or by making a compound object from the object library, and

    plumb the data path through the object. This may sound like complicated

    job, but the plumbing OTcl modules actually make the job very easy. The

    power of NS comes from this plumbing.

    NS is written not only in OTcl but in C++ also. For efficiency reason, NS

    separates the data path implementation from control path implementations.

    In order to reduce packet and event processing time (not simulation time),

    the event scheduler and the basic network component objects in the data path

    are written and compiled using C++. These compiled objects are made

    available to the OTcl interpreter through an OTcl linkage that creates a

    matching OTcl object for each of the C++ objects and makes the control

    functions and the configurable variables specified by the C++ object act as

    member functions and member variables of the corresponding OTcl object.

    In this way, the controls of the C++ objects are given to OTcl. It is also

    possible to add member functions and variables to a C++ linked OTcl object.

    The objects in C++ that do not need to be controlled in a simulation or

    internally used by another object do not need to be linked to OTcl. Likewise,

    an object (not in the data path) can be entirely implemented in OTcl

  • 7/28/2019 Report I&II

    7/40

    6

    Figure 2: object hierarchy example in C++ and Otcl

    Figure 3: the general architecture of NS

    In this figure 3, a general user (not an NS developer) can be thought of

    standing at the left bottom corner, designing and running simulations in Tcl

    using the simulator objects in the OTcl library. The event schedulers and

    most of the network components are implemented in C++ and available to

    OTcl through an OTcl linkage that is implemented using tclcl. The whole

    thing together makes NS, which is a OO extended Tcl interpreter withnetwork simulator libraries.

    2. AbstractNS (version 2) is an object-oriented, discrete event driven networksimulator developed at UC Berkely written in C++ and OTcl. NS isprimarily useful for simulating local and wide area networks. Although NSis fairly easy to use once you get to know the simulator, it is quite difficult

    for a first time user, because there are few user-friendly manuals. Eventhough there is a lot of documentation written by the developers which has

  • 7/28/2019 Report I&II

    8/40

    7

    in depth explanation of the simulator, it is written with the depth of a skilledNS user. The purpose of this project is to give a new user some basic ideaof how the simultor works, how to setup simulation networks, where tolook for further information about network components in simulator codes,

    how to create new network components, etc., mainly by giving simpleexamples and brief explanations based on our experiences. Moreover, wealso provide some our other projects related to Ns2 in this course.

  • 7/28/2019 Report I&II

    9/40

    8

    II. Guide and tutorial

    1. Download and installYou can build ns either from the the various packages (Tcl/Tk, otcl, etc.),

    or you can download an 'all-in-one' package. I would recommend that you

    start with the all-in-one package, especially if you're not entirely sure which

    packages are installed on your system, and where exactly they are installed.

    The disadvantage of the all-in-one distribution is the size, since it contains

    some components that you don't need anymore after you compiled ns and

    nam. It's still good for first tests, and you can always switch to the single-package distribution later.

    Note: The all-in-one package only works on Unix systems.

    You can download the package from the ns download page at UCB. If

    you have any problems with your installation, take a look at the installation

    problems page on their server. If that also doesn't solve your problem, you

    might want to ask the ns-users mailing list.

    After the installation is complete, you should make sure that your path

    points to the 'ns-allinone/bin' directory (if you installed the ns-allinone

    package) where links to the ns and nam executables in the 'ns-2' and 'nam-

    1' directories can be found or (if you built ns and nam from the pieces) let

    your path point directly to the directories with the ns and nam executables.

    On some systems you will also have to make sure that ns can find the

    library 'libotcl.so'. If you installed the ns-allinone package, it should be in

    'ns-allinone/otcl/'. On Solaris systems you would have to add this path to

    the 'LD_LIBRARY_PATH' environment variable. For help with other

    systems, consult the installation problem page, the ns-users mailing list or

    your local Unix gurus.

  • 7/28/2019 Report I&II

    10/40

  • 7/28/2019 Report I&II

    11/40

    10

    III. Simple examples

    1. How to startHow to set up nodes and links, how to send data from one node to

    another, how to monitor a queue and how to start nam from yoursimulation script to visualize your simulation.

    First of all, you need to create a simulator object. This is done with thecommand

    set ns [new Simulator]

    Now we open a file for writing that is going to be used for the nam tracedata.

    set nf [open out.nam w]$ns namtrace-all $nf

    The first line opens the file 'out.nam' for writing and gives it the file handle'nf'. In the second line we tell the simulator object that we created above towrite all simulation data that is going to be relevant for nam into this file.

    The next step is to add a 'finish' procedure that closes the trace file andstarts nam.

    proc finish {} {

    global ns nf$ns flush-traceclose $nfexec nam out.nam &exit 0

    }

    You don't really have to understand all of the above code yet. It will getclearer to you once you see what the code does.

  • 7/28/2019 Report I&II

    12/40

    11

    The next line tells the simulator object to execute the 'finish' procedureafter 5.0 seconds of simulation time.

    $ns at 5.0 "finish"

    You probably understand what this line does just by looking at it. nsprovides you with a very simple way to schedule events with the 'at'command.

    The last line finally starts the simulation.

    $ns run

    2. Two nodes, one link

    In this section we are going to define a very simple topology with two

    nodes that are connected by a link. The following two lines define the twonodes. (Note: You have to insert the code in this section before the line'$ns run', or even better, before the line '$ns at 5.0 "finish"').

    set n0 [$ns node]set n1 [$ns node]

    A new node object is created with the command '$ns node'. The above

    code creates two nodes and assigns them to the handles 'n0' and 'n1'.

    The next line connects the two nodes.

    $ns duplex-link $n0 $n1 1Mb 10ms DropTail

    This line tells the simulator object to connect the nodes n0 and n1 with aduplex link with the bandwidth 1Megabit, a delay of 10ms and a DropTail

    queue.

  • 7/28/2019 Report I&II

    13/40

    12

    Now you can save your file and start the script with 'ns example1.tcl'. namwill be started automatically and you should see an output that resemblesthe picture below.

    3. Sending data

    Of course, this example isn't very satisfying yet, since you can only lookat the topology, but nothing actually happens, so the next step is to sendsome data from node n0 to node n1. In ns, data is always being sent fromone 'agent' to another. So the next step is to create an agent object that sends

    data from node n0, and another agent object that receives the data on noden1.

    #Create a UDP agent and attach it to node n0set udp0 [new Agent/UDP]$ns attach-agent $n0 $udp0

    # Create a CBR traffic source and attach it toudp0

    set cbr0 [new Application/Traffic/CBR]$cbr0 set packetSize_ 500$cbr0 set interval_ 0.005$cbr0 attach-agent $udp0

    These lines create a UDP agent and attach it to the node n0, then attach aCBR traffic generatot to the UDP agent. CBR stands for 'constant bit rate'.Line 7 and 8 should be self-explaining. The packetSize is being set to 500bytes and a packet will be sent every 0.005 seconds (i.e. 200 packets per

    second). The next lines create a Null agent which acts as traffic sink andattach it to node n1.

  • 7/28/2019 Report I&II

    14/40

    13

    set null0 [new Agent/Null]$ns attach-agent $n1 $null0

    Now the two agents have to be connected with each other.

    $ns connect $udp0 $null0

    And now we have to tell the CBR agent when to send data and when tostop sending. Note: It's probably best to put the following lines just beforethe line '$ns at 5.0 "finish"'.

    $ns at 0.5 "$cbr0 start"$ns at 4.5 "$cbr0 stop"

    This code should be self-explaining again.

    Now you can save the file and start the simulation again. When you clickon the 'play' button in the nam window, you will see that after 0.5simulation seconds, node 0 starts sending data packets to node 1. You might

    want to slow nam down then with the 'Step' slider.

    ----------------Second TCL script------------------

    We are going to define a topology with four nodes in which one node acts

    as router that forwards the data that two nodes are sending to the fourthnode. I will explain find a way to distinguish the data flows from the two

  • 7/28/2019 Report I&II

    15/40

    14

    nodes from each other, and I will show how a queue can be monitored tosee how full it is, and how many packets are being discarded

    4. The topology

    As always, the first step is to define the topology. You will always haveto create a simulator object, you will always have to start the simulationwith the same command, and if you want to run nam automatically, youwill always have to open a trace file, initialize it, and define a procedurewhich closes it and starts nam.

    Now insert the following lines into the code to create four nodes.

    set n0 [$ns node]set n1 [$ns node]set n2 [$ns node]set n3 [$ns node]

    The following piece of Tcl code creates three duplex links between the

    nodes.

    $ns duplex-link $n0 $n2 1Mb 10ms DropTail$ns duplex-link $n1 $n2 1Mb 10ms DropTail$ns duplex-link $n3 $n2 1Mb 10ms DropTail

    You can save and start the script now. You might notice that the topologylooks a bit awkward in nam. You can hit the 're-layout' button to make it

    look better, but it would be nice to have some more control over the layout.Add the next three lines to your Tcl script and start it again.

    $ns duplex-link-op $n0 $n2 orient right-down$ns duplex-link-op $n1 $n2 orient right-up$ns duplex-link-op $n2 $n3 orient right

    You will probably understand what this code does when you look at the

    topology in the nam window now. It should look like the picture below.

  • 7/28/2019 Report I&II

    16/40

    15

    Note that the autolayout related parts of nam are gone, since now you havetaken the layout into your own hands. The options for the orientation of alink are right, left, up, down and combinations of these orientations

    5. The events

    Now we create two UDP agents with CBR traffic sources and attach them to the nodesn0 and n1. Then we create a Null agent and attach it to node n3.

    #Create a UDP agent and attach it to node n0

    set udp0 [new Agent/UDP]$ns attach-agent $n0 $udp0

    # Create a CBR traffic source and attach it to udp0set cbr0 [new Application/Traffic/CBR]$cbr0 set packetSize_ 500$cbr0 set interval_ 0.005$cbr0 attach-agent $udp0

    #Create a UDP agent and attach it to node n1set udp1 [new Agent/UDP]

    $ns attach-agent $n1 $udp1

    # Create a CBR traffic source and attach it to udp1set cbr1 [new Application/Traffic/CBR]$cbr1 set packetSize_ 500$cbr1 set interval_ 0.005$cbr1 attach-agent $udp1

    set null0 [new Agent/Null]$ns attach-agent $n3 $null0

    The two CBR agents have to be connected to the Null agent.

    $ns connect $udp0 $null0

  • 7/28/2019 Report I&II

    17/40

    16

    $ns connect $udp1 $null0

    We want the first CBR agent to start sending at 0.5 seconds and to stop at4.5 seconds while the second CBR agent starts at 1.0 seconds and stops at

    4.0 seconds.

    $ns at 0.5 "$cbr0 start"$ns at 1.0 "$cbr1 start"$ns at 4.0 "$cbr1 stop"$ns at 4.5 "$cbr0 stop"

    When you start the script now with 'ns example2.tcl', you will notice thatthere is more traffic on the links from n0 to n2 and n1 to n2 than the linkfrom n2 to n3 can carry. A simple calculation confirms this: We are sending200 packets per second on each of the first two links and the packet size is500 bytes. This results in a bandwidth of 0.8 megabits per second for thelinks from n0 to n2 and from n1 to n2. That's a total bandwidth of 1.6Mb/s,but the link between n2 and n3 only has a capacity of 1Mb/s, so obviouslysome packets are being discarded. But which ones? Both flows are black,so the only way to find out what is happening to the packets is to monitorthem in nam by clicking on them. In the next two sections I'm going toshow you how to distinguish between different flows and how to see what

    is actually going on in the queue at the link from n2 to n3

    6. Marking flows

    Add the following two lines to your CBR agent definitions.

    $udp0 set class_ 1$udp1 set class_ 2

    The parameter 'fid_' stands for 'flow id'.

  • 7/28/2019 Report I&II

    18/40

    17

    Now add the following piece of code to your Tcl script, preferably at thebeginning after the simulator object has been created, since this is a part ofthe simulator setup.

    $ns color 1 Blue$ns color 2 Red

    This code allows you to set different colors for each flow id.

    Now you can start the script again and one flow should be blue, while the

    other one is red. Watch the link from node n2 to n3 for a while, and youwill notice that after some time the distribution between blue and redpackets isn't too fair anymore (at least that's the way it is on my system). Inthe next section I'll show you how you can look inside this link's queue tofind out what is going on there.

    7. Monotoring the queues

    You only have to add the following line to your code to monitor the queuefor the link from n2 to n3.

    $ns duplex-link-op $n2 $n3 queuePos 0.5

    Start ns again and you will see a picture similar to the one below after afew moments.

  • 7/28/2019 Report I&II

    19/40

    18

    You can see the packets in the queue now, and after a while you can evensee how the packets are being dropped, though (at least on my system, Iguess it might be different in later or earlier releases) only blue packets are

    being dropped. But you can't really expect too much 'fairness' from a simpleDropTail queue. So let's try to improve the queueing by using a SFQ(stochastic fair queueing) queue for the link from n2 to n3. Change the linkdefinition for the link between n2 and n3 to the following line.

    $ns duplex-link $n3 $n2 1Mb 10ms SFQ

    The queueing should be 'fair' now. The same amount of blue and redpackets should be dropped.

  • 7/28/2019 Report I&II

    20/40

    19

    IV. Application

    1. Check routing protocol of the Distance Vector by using NS-2

    With the diagram above, physical links connecting among nodes have thedely of 5ms. The routing protocol we use is Distance Vector. Sending UDPpackets from A node to D node with a rate of 100 packet/s (the length ofUDP is default value). Transfering from A to D starts from 0.01. Simulationends at 1000. There are a link failure at 0.4.

    Run nam to show the results int 2 cases:

    First one: AE is failed link

    Second one: ED is failed link

  • 7/28/2019 Report I&II

    21/40

    20

    2. Bandwidth fairness between dataflow

    Where:

    Link L1 has capacity is 1.5Mb/s with the delay is 150ms

    Link L2 has capacity is 1Mb/s with the delay is 100ms

    Link L3 has capacity is 0.6Mb/s with the delay is 50ms

    Link L4 has capacity is 0.5Mb/s with the delay is 100ms

    Nodes 1, 2, 3, 4, 5 are the single queue and they active following the FIFOprinciple, with the queue size K=10 packets. The sources Si send the packetwhich has packet size equal 125bytes, and these sources follow Poissondistribution. The total maximum bandwidth of flow equal 95% of thecapacity of the links.

    the bandwidth based on max-min fairness principle.

    Q2: Create the script to simulate the network with the results iscalculated above in 100 seconds

    Q3: Plot the bandwidth graph of the flows (S1,D1), (S2,D2), (S3,D3);plot the graph that shows the packets lost rate (packets/1 time unit) of 3flows at node 3.

  • 7/28/2019 Report I&II

    22/40

    21

    3. Measure the efficiency of Ethernet network

    Ethernet network with speed 10Mbit/s using bus transmission channelconfiguration (coaxial cable). Transmission delay is 10ms. Network cardof clients are constantly sent packets at a rate = 200 packets/s, followingPoisson distribution with the average length is 1500bytes (figure).

    Simulating using NS-2 during 30s. Evaluating and graphing the totaloccupied bandwidth capacity on the bus when transmit packet b(t) andpacket loss rate e(t) (packets /s) when the number of clients:

    2.1. 3 clients

    2.2. 10 clients

    2.3. Repeat the simulation in case of transmission delay is 1s. Whatcomments from the first case?

    Assuming each x clients transmit to random y clients (student choice).

    (Results of 3 exercises are attached at the end of this report)

  • 7/28/2019 Report I&II

    23/40

    22

    V. Summary

    Ns is a public domain simulator boasting a rich set of Internet Protocols,including terrestrial, wireless and satellite networks. Ns is the most popular

    choice of simulator used in research papers.

    Ns together with its companion, nam, form a very powerful set of toolsfor teaching networking concepts. ns contains all the IP protocols typicallycovered in undergraduate and most graduate courses, and manyexperimental protocols contributed by its ever-expanding users base. Withnam, these protocols can visualized as animations

  • 7/28/2019 Report I&II

    24/40

    23

    VI. Referene

    http://www.isi.edu/nsnam/ns/tutorial/ http://www.ubuntu.com/getubuntu/download http://vntelecom.org/diendan/forumdisplay.php?f=53 http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-

    NS/n3.pdf

    http://ns-2.blogspot.com/

    http://www.isi.edu/nsnam/ns/tutorial/http://www.isi.edu/nsnam/ns/tutorial/http://vntelecom.org/diendan/forumdisplay.php?f=53http://vntelecom.org/diendan/forumdisplay.php?f=53http://vntelecom.org/diendan/forumdisplay.php?f=53http://www.isi.edu/nsnam/ns/tutorial/
  • 7/28/2019 Report I&II

    25/40

    24

    B. DESIGN WEBSITES USING JOOMLA

  • 7/28/2019 Report I&II

    26/40

    25

    I. Introduction

    Joomla is an award-winning content management system (CMS), whichenables you to build Web sites and powerful online applications. Many

    aspects, including its ease-of-use and extensibility, have made Joomla themost popular Web site software available. Best of all, Joomla is an opensource solution that is freely available to everyone. Joomla is written inPHP, uses object-oriented programming (OOP) techniques (since version1.5[3]) and software design patterns,[4][5] stores data in a MySQL, MSSQL (since version 2.5), or PostgreSQL (since version 3.0) database,[6][7]and includes features such as page caching, RSS feeds, printable versionsof pages, news flashes, blogs, polls, search, and support for languageinternationalization.

    Joomla is a very strong tool in order design business websites. In thisproject, we use Joomla, Vituarlmart and K2 to design a website for onlineshop. We design two website for fashion shop and movie theater.

  • 7/28/2019 Report I&II

    27/40

    26

    II. Components and functions of Joomla

    1. Content management system (CMS)

    A content management system is software that keeps track of every pieceof content on your Web site, much like your local public library keeps trackof books and stores them. Content can be simple text, photos, music, video,documents, or just about anything you can think of. A major advantage ofusing a CMS is that it requires almost no technical skill or knowledge tomanage. Since the CMS manages all your content, you don't have to.

    2. Applications of Joomla

    Joomla is used all over the world to power Web sites of all shapes andsizes. For example:

    Corporate Web sites or portals Corporate intranets and extranets Online magazines, newspapers, and publications E-commerce and online reservations Government applications Small business Web sites Non-profit and organizational Web sites Community-based portals School and church Web sites Personal or family homepages

    3. Joomla templates

    A Joomla template is a multifaceted Joomla extension which isresponsible for the layout, design and structure of a Joomla poweredwebsite. While the CMS itself manages the content, a template managesthe look and feel of the content elements and the overall design of a Joomladriven website. The content and designof a Joomla template is separateand can be edited, changed and deleted separately. The template is wherethe design of the main layoutfor a Joomla site is set. This includes where

    users place different elements (components, modules, and plug-ins), which

    http://en.wikipedia.org/wiki/Software_extensionhttp://en.wikipedia.org/wiki/Software_extensionhttp://en.wikipedia.org/wiki/Layout_%28computing%29http://en.wikipedia.org/wiki/Layout_%28computing%29http://en.wikipedia.org/wiki/Designhttp://en.wikipedia.org/wiki/Designhttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Content_management_systemhttp://en.wikipedia.org/wiki/Content_management_systemhttp://en.wikipedia.org/wiki/Web_contenthttp://en.wikipedia.org/wiki/Web_contenthttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Designhttp://en.wikipedia.org/wiki/Designhttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/Layout_%28computing%29http://en.wikipedia.org/wiki/Layout_%28computing%29http://en.wikipedia.org/wiki/Layout_%28computing%29http://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/Designhttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Web_templatehttp://en.wikipedia.org/wiki/Web_contenthttp://en.wikipedia.org/wiki/Content_management_systemhttp://en.wikipedia.org/wiki/Websitehttp://en.wikipedia.org/wiki/Designhttp://en.wikipedia.org/wiki/Layout_%28computing%29http://en.wikipedia.org/wiki/Software_extension
  • 7/28/2019 Report I&II

    28/40

    27

    are responsible for the different types of content. If the template is designedto allow user customization, the user can change the content placement onthe site, e. g., putting the main menu on the right or left side of the screen.There are many paid and free templates available on the internet.

    4. Joomla extensions

    Joomla extensions help extend the Joomla websites' ability. There are fivetypes of extensions for Joomla!: Components, Modules, Plugins,Templates, and Languages. Each of these extensions handles a specificfunction.

    Components: The largest and most complex extensions of them all;they can be seen as mini-applications. Most components have two parts: a

    site part and an administrator part. Every time a Joomla page loads, onecomponent is called to render the main page body. Components are themajor portion of a page because a component is driven by a menu item andevery menu item runs a component.

    Plugins: These are more advanced extensions and are, in essence,event handlers. In the execution of any part of Joomla, a module or acomponent, an event can be triggered. When an event is triggered, pluginsthat are registered with the application to handle that event execute. Forexample, a plugin could be used to block user-submitted articles and filter

    out bad words.

    Templates: Describe the main design of the Joomla website and arethe extensions that allow users to change the look of the site. Users will seemodules and components on a template. They are customizable andflexible. Templates determine the style of a website.

    Modules: Rendering pages flexibly in Joomla requires a moduleextension, which is then linked to Joomla components to display newcontent or new images. Joomla modules look like boxes like the search

    or login module. However, they dont require html to Joomla to work.

    Languages: Very simple extensions that can either be used as a corepart or as an extension. Language and font information can also be used forPDF or PSD to Joomla conversions.

    5. K2 extensions

    K2 provides an out-of-the box integrated solution featuring rich contentforms for items (think of Joomla! articles with additional fields for article

    images, videos, image galleries and attachments), nested-level categories,tags, comments, a system to extend the item base form with additional

  • 7/28/2019 Report I&II

    29/40

    28

    fields (similar to CCK for those acquainted with Drupal), a powerful pluginAPI to extend item, category and user forms, ACL, frontend editing, sub-templates and a lot more!

    Using K2, you can transform your Joomla! website to a news/magazinesite with author blogs, product catalogs, work portfolio, knowledge base,download/document manager, directory listing, event listing and more, allthis bundled under one package!

    Since K2 is extensible with additional fields to its base item form, you caneasily create category-specific content types, e.g. article, blog post, productpage, directory listing.

    K2 offers as standard:

    - nested-level categories (no section/category restrictions)

    - commenting, integrated with reCaptcha

    - tags

    - item image (useful for articles/catalogs)

    - image galleries

    - videos

    - attachments

    - user pages (author blogs/user profiles)

    - ACL for content

    - Unique plugin system to extend item, category and user forms

    - ajax-based frontend editing

    - ajax-based comments moderation

    - Google AJAX Search integration

    - Native JSON/JSONP content output

    - Native advanced SEF options (added in K2 v2.6.4+)

    K2 fully supports the Joomla! API, which means all Joomla! plugins willfunction properly within the K2 component & modules, either in the

    frontend or backend.

  • 7/28/2019 Report I&II

    30/40

    29

    6. Virtuemart extensions

    VirtueMart is an Open Source E-Commerce solution (a Component orPlug-in) for the Joomla! Content Management System. It can be run as a

    Shopping Cart, or in Catalog mode. VirtueMart is a complete eCommercesolution. It must be used together with the Content Management SystemJoomla!. Both are released under the GNU General Public License, whichmeans by the end, they are free for download and use. Joomla! andVirtueMart are written in PHP and made for easy use in a PHP / MySQLenvironment. All you need is to download the latest Joomla distributionfrom www.joomla.org and the VirtueMart package from this site. Joomlaprovides the Core System and the Framework, which VirtueMart can use.So you can easily use a complete Shopping Cart Solution within your owndynamic Website ("Portal"), together with many other Plug-Ins, calledComponents and Modules, like Forums, FAQ, Guestbooks, Galleries........

  • 7/28/2019 Report I&II

    31/40

    30

    III. Design website

    Two websites were designed based on two quickstart packs: JA Vintasand ZT movie, then they were redesigned so that they satisfy our

    requiments.

    Then, there are some pictures of two websites:

    Shop online website:

  • 7/28/2019 Report I&II

    32/40

    31

  • 7/28/2019 Report I&II

    33/40

    32

  • 7/28/2019 Report I&II

    34/40

    33

    Movie website:

  • 7/28/2019 Report I&II

    35/40

    34

  • 7/28/2019 Report I&II

    36/40

    35

  • 7/28/2019 Report I&II

    37/40

    36

  • 7/28/2019 Report I&II

    38/40

    37

  • 7/28/2019 Report I&II

    39/40

    38

    IV. Summary

    After designing websites using Joomla, we find some advantages anddisadvantages of Joomla

    Advantages:

    The first advantage is easy to use. Obviously, you need only fewminutes to create a complete website with many features such as:gallery, video, music, shopping cart, forum Because it is easy touse, Joomla is used to design many website from simple tocomplex.

    The interface of Joomla is very beautiful, which is provided bymany companies include commercial companies and non-

    commercial companies. Joomlart is a big company, which providestemplates for Joomla. Joomlart has many customers all over theworld, and provide templates for Joomla, Drupal, Magento.

    Joomla has a huge extensions library, which are programmed bymany programmers all over the world, and almost of extensions isfree to use. Hence, we can extend the features of our websites.

    Easy to find and fix the errors. Because of huge users all over theworld, if you have any problems when using Joomla, you cansearch on Google, where 90% of issues already have solutions by

    the others user.

    Disadvantages:

    In using Joomla, we need more system resources than Drupalbecause of its huge sources code.

    Having many extensions is not only an advantage but also adisadvantage. The extensions are written by many differentprogrammers, so there exist security errors in extensions (thefirewall can solve these errors). If you are new users, you might be

    confused by choosing the extensions for your website. Not able to Multiple site as Drupal SEO of joomla is the worst in 3 kinds of CMS(Drupal, Wordpress,

    Joomla)

    Cannot run stable on Windows Server (IIS).

  • 7/28/2019 Report I&II

    40/40

    VI. Reference

    http://diendan.joomlaviet.vn/ http://bcdonline.net/xay-dung-website-ban-hang-bang-joomla/ http://www.thietkeweb.vn/huongdan.htm

    http://bcdonline.net/xay-dung-website-ban-hang-bang-joomla/http://bcdonline.net/xay-dung-website-ban-hang-bang-joomla/http://www.thietkeweb.vn/huongdan.htmhttp://www.thietkeweb.vn/huongdan.htmhttp://www.thietkeweb.vn/huongdan.htmhttp://bcdonline.net/xay-dung-website-ban-hang-bang-joomla/