Friday, July 4, 2008

JOOMLA EXTENSION DEVELOPMENT(AN OVERVIEW)

You have developed dynamic websites in the past, but a friend of yours told you
about Joomla!, so you decide to give it a try. You wish to start a simple website
about restaurants after being inspired by the attractive celebrity chefs from the
Food Network. The installation goes smoothly and more quickly than attempting
to build a content management system from scratch. After finding a delicious
template, adding some menus, and banging out a couple of reviews, you begin to
think of some of the features that will draw in more visitors and even some cash.
Within minutes, you install a shopping cart for selling books, a forum for gathering
suggestions of places to review, and some advertising affiliated programs for
the sidebars.
However, as you glance through the homepage, you feel something is missing. Then
suddenly a brilliant idea hits you for something entirely new. Once it is finished,
you know others will want to use it for their sites as well. You look around
Joomla!'s source files and start looking for a way of building code that will slide
right into place.
Why Extend Joomla!
Joomla! is not only designed to handle the content articles, but also to allow a
number of complex applications to be cleanly integrated. Shopping carts, forums,
social networking profiles, job boards, and real estate listings are examples of
extensions that the developers have written for Joomla!. All of these can run on a
Joomla! site, and only a single database, template, and core need to be maintained.
When you build an extension to Joomla!, it will inherit the look and feel of the
overall site. Any type of program that can be coded in PHP is a potential component
waiting to be written.
Your extensions can also be portable. When coded correctly, you will easily be able
to install your code on another copy of Joomla! without having to enter the database
logins and other basic configuration information again. Additionally, you will be
able to distribute your extensions to others so that they can enjoy them, without any
programming or database knowledge.
Customization versus Extension
Joomla!'s code is designed to be extended rather than hacked or directly modified.
Rather than changing the core code, it is preferable to write an extension. When
updates and patches are released for Joomla! itself, the core code will be updated,
but your extensions will not be overwritten. These extensions are crafted in a
self‑contained manner, allowing you to freely develop your own code without
disturbing other items present in the Joomla! installation.
Although they are self-contained, extensions do not operate in a completely sealed
environment; you can mix different kinds to get the functionalities you desire.
Joomla!'s code allows extensions to share resources and sometimes perform actions
on each other. Since we can write extensions, we will do this instead of customizing
the core.
How to Extend Joomla!
There are three types of extensions Joomla! supports, each with a specific use.
Components
Of the extensions available, components are the most essential. Components are
essentially what you see in the "main" portion of the page. Joomla! is designed
to load and run exactly one component for each page generated. Consequently,
Joomla!'s core content management functionality is itself a component.
Components frequently have sophisticated back-end controls. The back end is
commonly used to create and update records in database tables; also it can do
typically anything, provided it is programmed in PHP. For instance, you may have
a batch job that typically runs from a UNIX command line, but you can use the back
end to provide a link where non-programmers can call it. You can also use it to allow
site administrators to upload pictures or videos.
Modules
In contrast to components, any number of modules can appear on a page. Modules
typically make up the elements of a sidebar or content menus. Modules complement
the content contained in a component; they are not intended to be the main substance
of a page. Joomla! also supports content modules, which involve no programming
and can be displayed alongside coded components. The back‑end controls for
modules are limited, typically consisting of basic formatting.
Plug-Ins
When a piece of code is needed throughout the site, it is best implemented as a
plug-in (formerly called a Mambot). Plug-ins are commonly used to format the
output of a component or module when a page is built. Some examples of plug-ins
include keyword highlighting, article comment boxes, and JavaScript-based HTML
editors. Plug-ins can also be used to extend the results found in the core search
component. The back-end controls are similar to those of modules.

(The next i post again, so be with us.)

(The Links you get, can be helpful for you.)

No comments: