You are on page 1of 30

About UltraTech Cement Limited

UltraTech Cement Limited: Vikram Cement Works Grasim's first cement plant goes on stream at Jawad (Madhya Pradesh) in 1985. UltraTech Cement Limited: Vikram Cement (VC) works at Khor is among the largest single location cement plant in India with clinker production capacity of 2.8 million tpa, from three lines. VC is a part of Grasim Cement which itself is the cement arm of the Aditya Birla (AB) Group, that owns a capacity 11 million tpa. Limited demand growth coupled with escalating input costs has put pressure on the margins of most of the players in the Indian cement industry including VC In 2009 Grasim's plants Vikram Cement (Khor, Madhya Pradesh) and Aditya Cement (Shambhupura, Rajasthan), have won the TERI (The Energy and Resources Institute) CSR Award for their sterling work in 37 villages among 12,550 families in the area of healthcare.

JOOMLA

2.1 What is Joomla 2.5????


Joomla is a free and open source content management system (CMS) for publishing content on the World Wide Web and intranets and a modelviewcontroller (MVC) Web application framework that can also be used independently. Joomla is written in PHP, uses object-oriented programming (OOP) techniques (since version 1.5) and software design patterns, stores data in a MySQL or (since version 2.5) MS SQL database, and includes features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization. It is estimated to be the second most used CMS on the Internet afterword Press. Over 6,000 free and commercial extensions are available from the official Joomla! Extension Directory and more are available from other sources.

Joomla Versions:
Joomla 1.0 released on September 22, 2005 Joomla 1.5 released on January 22, 2008. The latest release of this version was 1.5 26 on March 27, 2012. This version was the first to attain long term support (LTS). Joomla 1.6 released on January 10, 2011. Joomla 1.7 released on July 19, 2011, six months after 1.6.0. Joomla 2.5 was released on January 24, 2012, six months after 1.7.0. This version is a long term support (LTS) release. Originally this release was to be 1.8.0; however the developers announced August 9 that they would rename it to fit into a new version number scheme in which every LTS release is an X.5 release. This version was the first to run on other databases besides MySQL.

Joomla 3.0 was released on September 27, 2012. On December 24, 2012, it was decided to add one more version (3.2) to the 3.x series to improve the development life cycle and extend the support of LTS versions. This will also be applied to the 4.x series.

2.2 Deployment:
Like many other popular web applications, Joomla can be run on a LAMP stack. Many web hosts have control panels that allow for automatic installation of Joomla. On Windows, Joomla can be installed using the Microsoft Web Platform Installer, which automatically detects and installs any missing dependencies, such as PHP or MySQL. Joomla enjoys strong support on the web from hosts that specialize in or support it. Many web sites provide information on installing and maintaining Joomla sites.

2.3 Joomla Templates:


A Joomla template is a multifaceted Joomla extension which is responsible for the layout, design and structure of a Joomla powered website. While the CMS itself manages the content, a template manages the look and feel of the content elements and the overall design of a Joomla driven website. The content and design of a Joomla template is separate and can be edited, changed and deleted separately. The template is where the design of the main layout for a Joomla site is set. This includes where users place different elements (components, modules, and plug-ins), which are responsible for the different types of content. If the template is designed to allow user customization, the user can change the content placement on the 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.

2.4 Joomla Extensions:


Joomla extensions help extend the Joomla websites' ability. There are five types of extensions for Joomla!: Components, Modules, Plug-in, Templates, and Languages. Each of these extensions handles a specific function. Components: A component is a kind of Joomla! Extension. Components are the main functional units of Joomla!; they can be seen as mini-applications. An easy analogy would be that Joomla! is the operating system and the components are desktop applications. They are usually displayed in the center of the main content area of a template (depending on the template). Most components have two main parts: an administrator part and a site part. The site part is what is used to render pages when being called during normal site operation. The administrator part provides an interface to configure and manage different aspects of the component and is accessible through the Joomla! Administrator application. Joomla! Comes with a number of core components, like the content management system, contact forms and Web Links. Module: Modules are lightweight and flexible extensions used for page rendering. These modules are often boxes arranged around a component on a typical page. A well-known example is the login module. Modules are assigned per menu item, so you can decide to show or hide (for example) the login module depending on which page (menu item) the user is currently on. Some modules are linked to components: the latest news module, for example, links to the content component (com_content) and displays links to the newest content items. However, modules do not need to be linked to components; they don't even need to be linked to anything and can be just static HTML or text. Modules are managed in the Administrator by the Module Manager (help screen).

Templates: A template is the type of Joomla! extension that changes the way your site looks. There are two types of templates: Front-end Templates and Backend Templates.

Plug-ins: A plugin is a kind of Joomla! extension. Plugins provide functions which are associated with trigger events. Joomla provides a set of core plugin events, but any extension can fire (custom) events. When a particular event occurs, all plugin functions of the type associated with the event are executed in sequence. This is a powerful way of extending the functionality of the Joomla! Framework. It also offers extension developers a way to allow other extensions to respond to their actions, making extensions extensible. The Joomla! plugin architecture follows the Observer design pattern. The JPlugin class is derived from JObserver and provides the means to register custom plugin code with core or custom events. The JEventDispatcher class, derived from JObservable, is an event handler which calls all plug-in registered for a particular event, when that event is triggered. Prior to Joomla! 1.5 plug-in were known as mambots. Mambots were able to change content only and were based on certain signal words. Since then their scope has been stretched and extended to such an extent that to enhance the meaning of the new functionality the developers decided to change the name from mambots to plugins. Joomla! 1.5 includes legacy support for Joomla! 1.0 mambots.

2.5 Joomla Index and configuration File


All the information about the templates, module, and components, in all anything related to the website is present in the joomla folder in form of php files. A index and configuration file is used to describe the main layout and display information and code. If we want to edit the template or module we can easily do this by editing the index file of the template present in the template folder. So in order to editing we must have the prior knowledge of HTML, PHP and CSS.

2.6 Section, Category and Articles


The diagram demonstrates the basic concept for how sections, categories, articles and menu items relate to each other to form a logical structure to enable you to manage your web site and for visitors to locate information more efficiently.

Fig.1. Logical structure of Article, Category and section Sections Sections are used to manage or structure your categories in a logical order. You cannot create a category without first creating a section to store the category in. You are not limited to just one section, depending how complex your Joomla web site is you may wish to create a number of sections in order to structure your site. Categories Categories are used to store and manage articles. Each category must be associated with a section. You are not limited to just creating one category you can create different categories and associate them with a specific section. Articles

Articles are stored in categories or they can be outside a category using the un categorized feature. Articles can only be Associated with one category and not multiple categories

Project description
3.1. Hardware Requirements:
Operating System used: Windows 7 Intel Pentium 4 or more (2.4 GHz or more processing speed) Minimum of 1 GB RAM

3.2. Software requirements:


3.2.1. XAMPP: XAMPP is a free and open source cross-platform web server solution stack package, consisting mainly of the Apache HTTP Server, MySQL database, and interpreters for scripts written in the PHP and Perl programming languages. XAMPP requires only one zip, tar, 7z, or exe file to be downloaded and run, and little or no configuration of the various components that make up the web server is required. XAMPP is regularly updated to incorporate the latest releases of Apache/MySQL/PHP and Perl. It also comes with a number of other modules including OpenSSL and phpMyAdmin. Self-contained, multiple instances of XAMPP can exist on a single computer, and any given instance can be copied from one computer to another. It is offered in both a full, standard version and a smaller version. Officially, XAMPP's designers intended it for use only as a development tool, to allow website designers and programmers to test their work on their own computers without any access to the Internet. To make this as easy as possible, many important security features are disabled by default. In practice, however, XAMPP is sometimes 7

used to actually serve web pages on the World Wide Web. A special tool is provided to password-protect the most important parts of the package. XAMPP also provides support for creating and manipulating databases in MySQL and SQLite among others. Once XAMPP is installed, it is possible to treat a localhost like a remote host by connecting using an FTP client. Using a program like FileZilla has many advantages when installing a content management system (CMS) like Joomla. It is also possible to connect to localhost via FTP with an HTML editor. The default FTP user is "newuser", the default FTP password is "wampp". The default MySQL user is "root" while there is no default MySQL password.

Components:
XAMPP 1.8.1 for Windows, including: Apache 2.4.3 MySQL 5.5.27 PHP 5.4.7 phpMyAdmin 3.5.2.2 FileZilla FTP Server 0.9.41 Tomcat 7.0.30 (with mod_proxy_ajp as connector) Strawberry Perl 5.16.1.1 Portable XAMPP Control Panel 3.1.0 (from hackattack142) XAMPP 1.8.1 for Linux, including: Apache 2.4.3 MySQL 5.5.27 PHP 5.4.7 phpMyAdmin 3.5.2.2 OpenSSL 1.0.1c

3.2.2. NOTEPAD ++: Notepad++ is a free source code editor and Notepad replacement
that supports several languages. Running in the MS Windows environment, its use is governed by GPL License. Based on the powerful editing component Scintilla, Notepad++ is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size. By optimizing as many routines as possible without losing user friendliness, Notepad++ is trying to reduce the world carbon dioxide emissions. When using less CPU power, the PC can throttle down and reduce power consumption in a greener environment.

Features:
Tabbed document interface Drag-and-drop Multiple clipboards (plugin required) Split screen editing and synchronized scrolling Spell checker (requires A spell) (Spell checker does not distinguish between text and code) Supports text encoding formats such as Unicode, for international writing systems. UTF-8 and several UTF-16 encodings are supported. Find and replace: with regular expressions (including multi-line); over multiple documents; and marking/summary of occurrences File comparison Zooming Source code editing features include: Auto-completion Bookmarks Syntax highlighting and syntax folding 9

Brace and indent highlighting Smart highlighting Project manager Regular expression find and replace (in perl compatible extent) Speech synthesis FTP Browser (plug-in included in standard installation) Macro recording and execution. Various tools such as line sorting, text encoding conversion, text folding File status auto-detection Customizable shortcut key mapping. Notepad++ supports syntax highlighting and code folding for over 50 programming, scripting, and markup languages. It attempts to automatically detect the language that a given file uses, using a modifiable list of file extension bindings. Users may also manually set the current language, overriding the extension's default language. The program also supports auto completion for a subset of the API of some programming languages. The following languages are natively supported by Notepad++ as of version 6.1.6: Ada, asp, Assembly, autoIt Batch C, C++, C#, Caml, Cmake, COBOL, CSS D, Diff Flash ActionScript, Fortran Gui4CLI , Go Haskell, HTML InnoSetup Java, Javascript, JSP KiXtart LISP, Lua

10

Makefile, Matlab, MS-DOS, INI file NSIS, Normal Text File Objective-C Pascal, Perl, PHP, Postscript, PowerShell, Properties file, Python R, Resource file, Ruby Shell, Scheme, Smalltalk, SQL TCL, TeX Visual Basic, VHDL, Verilog XML YAML Users can also define their own language (for syntax highlighting) and its respective API (for autocompletion) by using the built-in User Language Define System. Users may configure the syntax highlighting's font styles per element, per language, and the resulting formatted script may be printed in full-color (WYSIWYG). Additionally, Notepad++ displays indent guidelines when source code is indented with tab characters, and highlights closing braces, brackets and tags.

3.2.3. NAVICAT: Navicat is a series of graphical database management and development software produced by PremiumSoft CyberTech Ltd. For MySQL, Oracle, SQLite, PostgreSQL and Microsoft SQL Server. It has an Explorer-like graphical user interface and supports multiple database connections for local and remote databases. Its design is made to meet the needs of a variety of audiences, from database administrators and programmers to various businesses/companies that serve clients and share information with partners. Navicat is a cross-platform tool and works on Microsoft Windows, Mac OS X and Linux platforms. Upon purchase, users are able to select a language for the software from eight available languages: English, French, German, Japanese, Korean, Polish, Simplified Chinese and Traditional Chinese. 11

Navicat for MySQL is available for three platforms Microsoft Windows, Mac OS X and Linux. It connects users to any local/remote MySQL Server, providing several database utilities such as Data Modeling Tool, Data/Structure Synchronization, Import/Export, Backup and Report, to facilitate the process of maintaining data.

3.3. USE CASE DIAGRAM

Fig. 2 Use case diagram

A use case diagram acts as a focus for the description of user requirements. It describes the relationships between requirements, users, and the major components. It does not describe the requirements in detail; these can be described in separate diagrams or in documents that can be linked to each use case. In the above figure the Actor is the user whereas use cases are Home, About Us, Photo gallery and Contact us. 12

3.4. Project Snapshots with explanation

The following snapshot is of Xampp control panel , using xampp controlpanel we can start the services Apache and Mysql just by clicking on the start button. This is the first thing we do in order to create a website. Here svc module is marked, if this module is marked then there is no need to start the services every time we turned on the computer. Since we only use Apache and Mysql services, so there is no need to start other services.

Fig. 3 Xampp Control panel

Now in order to create the website first we have to download joomla 2.5 from http://www.joomla.org/ , the downloaded zip file is then extracted at following location C:\xampp\htdocs and name the folder ABG (your site name). 13

Now run it on local host and follow the instruction to install the site. There were some errors encountered during installation in some of the php files, which can be easily removed by which installation video available on youtube.

Fig.4 Joomla installation wizard

After installation login to the joomla administrator, through which we can edit our site. During installation we have to remove the installation folder The following snapshot is of joomla administrator .

14

Fig.5 Joomla administration panel

Joomla has some default templates with sample data, but we can use other templates also according to our requirements. For that we have to first download a template and then install it by using extension option of joomla administrator. All we have to do is to choose the downloaded template form file browser and upload it. Then we can use and edit template by clicking on template manager in Extensions tab. There are many default modules and components already installed in joomla, but there are modules and components we want to use, all we have to do is to upload and install these required modules and components same as we install templates. These modules and components can be used and edited from Components and Module Manager tab in joomla administrator.

15

Following is a snapshot of joomla administrator where we install a new extension such as template, module component and plug-ins.

Fig.6 Joomla administration panel for adding extensions

In joomla one thing we dont have to worry is about database management, it is maintained automatically. All the tables are created and maintained all by itself, as we add modules and components and edit them new tables are added and updated. We can view these tables by using navicat. Since we havent uploaded this site it is presented on the localhost. We can also view

16

these tables through xampp installation on localhost and then in phpmyadmin. The url is as //localhost/phpmyadmin/. Following is the snapshot of navicat showing the various tables created.

Fig. 7 tables in navicat on localhost

17

Given below is the snapshot of the database view of module table, as we can see here; that all the modules details are added here such as there title, name publishing date, client id, position etc. As we add a new module in our site an automatic update query runs and update the module table.

Fig.8 Database view of module table

18

The following snapshot of phpmyadmin used to view and edit the tables.

Fig. 9 Phpmyadmin panel in xampp on localhost

Following snapshots are of index.php file of our site, the file has been edited according to the requirements. The signature of joomla and of other modules such as ozio gallery etc. can be removed by editing there index files and configuration.php files. We can take help of firebug, it is a plug-in present in Firefox through which we can easily and with much faster speed determine the position of the code segment of a particular location.

19

Fig.10 index.php file

The following is the snapshot of the Home page of the website. In this we have used image showcase module. By using this module we can use different images and can display them on a single case with varying patterns to change the image. This module is freely available; the only thing we have to concern is about the size of the images used, because the size of the container is static. Here the size we used is 896x326 px.

20

Fig. 11 Image showcase on home page

The home page of the site is as follow; here we have a main menu on the right side of the our page where we have four menu. This menu is created using menu manager in joomla administrator and articles are attached to each menu. Articles are created using Article manager, Articles are of many types such as Archived Article, single Article etc.

21

Fig.12 Home page of the website

Here we also used Notice board present on the right sight of the page below main menu. This notice board is created using a notice board module and notice board component. Notice board is a plugin for Community builder that allows to add a personal message-board for each user (as a bulletin board). Notice board allows you to create your own post on your message-board, moreover, going on other members profiles, you can see what they wrote. Another feature of Notice board is the opportunity to comment on posts of other users and report them if violated site rules. Notice board simplified editor allows you to insert to your post links, images and video, in addition to simple text.

In the administration part of the plugin you can set how many posts per page you need to see and define if you want to send e-mails to administrator and users each time someone makes a comment or a post on the message-board. Notice board also has a plugin folder with English and Italian languages installed by default; these can be modified or, in addition, you can even create a 22

new language! Without using Notice board component we cant use notice board module. Through Notice board component we can write the description we have to write down on the module. So whatever we want to display we have to write it using notice board component.

Now the following snapshot is of the bottom part of the home page. Here we have added a arrow image, on clicking this image the page is automatically scrolled up and upper part of the home page is displayed. Using this there is no need of scroll bars.

Fig.13 Bottom view of home page

The part of the home page displayed after clicking on the arrow present at the bottom is shown in the following snapshot.

23

Fig.14 Top view of Home page

The About Us page of the main menu is same as the Home page, in which we have main menu panel on the right side of the page and a notice board below the main menu. The image showcase on About Us page disabled, but the Site name on a black strip as we have shown it in the home page. For scrolling purpose we have used same arrow button bellow the About Us page as we used it in Home Page. We have created About Us Article using article manager and attach this article to the About Us menu. No other module or component is used in this page.

24

Fig. 15 About Us page of the site

The following snapshot is of photo Gallery menu present on the main menu. This page is used to view the pictures of the site. In order to view images we have used Ozio gallery component. Ozio Gallery is a photo gallery designed for Joomla 2.5 or newer, written in javascript which shows images published on Google plus.

25

Fig.16 Photo gallery page of the site

The following snapshot is of Contact Us menu on main menu. As we can see that here we use Google map in order to display the head office location. The module we used here is mod_jpmaps, this module is freely available. By using this module we can make more than one marker and attach address to the marker. Also we can zoom the map and can use both road map and satellite view. There is also notice board bellow the map and an arrow in the bottom for scrolling purpose.

26

Fig. 17 Contact Us page of the site

27

3.5. Conclusion and further scope

Conclusion:
The Site has been designed, implemented and tested with different screen sizes and with real devices and users successfully. The project helped in understanding the challenges involved in developing a website through joomla, the ways to overcome them and in better understanding the intricacies of website development. The project also helped in understanding the value of designing the components of overall application before implementing them. The project also taught us the various aspects of xampp through which we know about apache and mysql server and also helped us in understanding the use of navicat and notepad++ and there various features. The uses of different types of modules and components present by default in joomla administrator or installed later helped us to make site attractive and fulfill our various requirements.

Further Scope:
This site can be further extended in many possible ways; we can add many other modules and components such as youtube component, run at news, stock market module etc. We can also add other menu items describing about the various sector of the Aditya Birla Group.

28

References
1) Joomla Download from http://www.joomla.org/download.html cited on 1 June 2011 2) Xampp download and documentation http://www.apachefriends.org/en/xamppwindows.html cited on 1 June 2011 3) Joomla installation video http://www.youtube.com/watch?v=H41ZJrNkdS8 cited on 4 June 2011 4) Joomla template download http://www.joomlart.com/ cited on 7 June 2011 5) Joomla Press official imprint of joomla! Edition 2, Authors: Jennifer Marriott & Elin Waring Publisher: Addison-Wesley Professional ISBN-10: 0321821548 6) For solution of problems encountered http://stackoverflow.com/ cited on 11 June 2011 7) Joomla! Bible Author Ric Shreves Wiley publications, 2010 Publication Date: January 12, 2010 | ISBN-10: 0470509570 | ISBN-13: 9780470509579 | Edition: 1st 8) http://magazine.joomla.org Cited on 15 June 2011 9) http://docs.joomla.org Cited on 21 June 2011 10) http://forum.joomla.org Cited on 21 June 2011

29

LIST OF FIGURES
S. No.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.

NAME
Logical structure of section, article and category Use case diagram Xampp Control panel Joomla installation wizard Joomla administration pane Joomla administration panel for adding extensions tables in navicat on localhost Database view of module table Phpmyadmin panel in xampp on localhost index.php file Image showcase on home page Home page of the website Bottom view of home page Top view of Home page About Us page of the site Photo gallery page of the site Contact Us page of the site

PAGE No.
6 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

30