Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
Site Info
Webmasters
admin
admin

Who's Online
2 user(s) are online (2 user(s) are browsing XOOPS Docman)

Members: 0
Guests: 2

more...

Chapter 1. General principles

XOOPS is at once a software package, a network of Web sites and a very friendly and supportive community spread all over the world. The tie that binds together software, sites and community is the Web, the graphical face of the Internet.

To learn about the sites all you need to do is to point your browser to any of the XOOPS sites and there you’ll feel the warmth and strength of the community. To learn about the software, your best bet is to download the latest package and to begin playing with it. What? No documentation? Yes, we know (remember? We’ve also been there). XOOPS suffers from a lack of enough good documentation, and though this has been an effective incentive for many a webmaster, for many more it has been a turnoff.

That’s part of the reasons behind this manual. It’s part of a really much wider and deeper collective effort that goes under the moniker “XOOPS Documentation Project” and that is being tackled slowly but surely by a team of dedicated xoopsers (or xoopers, as some others call XOOPS fans: xoopies?).

So this manual will explain, with enough detail to also serve as a reference guide, the main workings of XOOPS, the software. Since there’s already another document called “XOOPS Installation Guide (XU-002)”, we’ll assume in this document that you’ve already installed your XOOPS package and have now a live XOOPS site. We’ll deal here with that oh-so-very-common-question that comes up once an again: what do I do after I install my XOOPS?

Ok. We’re ready to begin. If you’re set, let’s proceed at the beginning.

XOOPS is a tool to manage dynamic Web sites. This simple definition may serve you to have an initial grasp of the usefulness of this singular package. But it’s so general that it’s almost as saying nothing. Let’s try again. XOOPS is an open source set of scripts written in PHP that, when installed in an Internet host that has support for PHP, a web server such as Apache, and a MySQL database manager, allows the easy creation of dynamic, complex and content-rich Web sites, from personal weblogs all the way up to corporate portals.

XOOPS means eXtensible Object Oriented Portal System, and even though some call it ex-oh-oh-pi-es, the standard pronunciation of XOOPS is more like “zoops

Derived from other open source projects (XOOPS is a descendant of the venerable PHPNuke, through a branch called myPHPNuke. A good part of the package was completely rewritten, although there are inside the scripts pieces of old code that show their age when compared with the most recent parts.

As its ancestors, XOOPS is strongly oriented towards the construction of community sites. But it is flexible enough to serve as a single-webmaster site (a blog, for instance) and as an enterprise content-oriented portal.

In this introductory chapter, we’ll take a quick look at some of XOOPS main features. In later chapters we’ll see in detail how is it that XOOPS does its magic.

1.1. The XOOPS core

An easy way to think about XOOPS is to think of it as a commercial mall. In a mall, many different kinds of stores and businesses and services are lodged under the same roof, each with its own personality yet within the general frame of the mall’s design. To the outside world, the mall has huge windows that show some of the merchandise that can be found in the inside. To the individual store owners, the mall is like a turtle’s hull: it provides not only the physical space, but also a lot of basic services: electricity, water, air conditioning, some marketing, security, parking lot… the list goes on.

New let’s take a look at XOOPS under this metaphor. XOOPS is the mall; it’s the general hull that provides services to its tenants. Have you seen a mall with no stores? There’s no reason to go there at all; the same is true about XOOPS. If you see just the hull, there are not many reasons to visit the site.

Modules are this mall’s tenants. If XOOPS, the mall, is a bunch of scripts that provide the general framework of a dynamic Web site, then modules, the tenants, are smaller packages made up of scripts that provide a particular content offer to the site’s visitor. One module provides news; another, a picture gallery; another one, a discussion forum; yet one more, an area to download files. All these offer reasons for users to visit the site. And the general idea, as in a physical mall, is that the result is greater than the arithmetic sum of the parts.

In what other way are modules like the mall’s tenants? Well, to get installed in the site they must follow some rules. Some of them are coding rules: if a module doesn’t have a xoops_version.php file, XOOPS doesn’t even know it’s there. If the module doesn’t take advantage of the mall’s services, it would need a lot of code to accomplish common things. XOOPS, the mall, provides the modules things like user management, security, structure, functions and classes, and so on. There are also some presentation rules. Just as a mall’s store has to follow some of the building codes, a XOOPS module has to follow rules to create blocks and rules to present content using the Smarty template engine.

In the outer wall, a mall showcases the stores within. In its homepage, a XOOPS site showcases the modules within. The mall does it with shop windows; XOOPS does it with blocks. The mall administrator decides what merchandise to highlight in the shop windows. The equivalent, which is the XOOPS webmaster, decides what blocks to highlight in the home page.

Of course, a metaphor can only go so far before it gets s funny. Let’s not pursue this any more, or we’d need to explain that XOOPS the mall has some advantages over the real mall: it can switch between personalities to have a different look (using themes, called skins in other contexts); it can easily change the structure of the home page, the labels of the modules, etc. But the general idea is useful, as it separates clearly three basic components of the XOOPS system:

  • The core”, where the general functionalities of the site reside. The core also provides some extra features such as the notification options, that let users be informed about specific changes in a module’s content; the commenting system, that lets users leave on the site comments about specific content items; and the installation routine that makes sure a module complies with the elementary rules to be automatically incorporated to the site.

  • The modules”, which hold the actual content of the site, and which can be as simple as a block that displays a daily quote, or as complex as a full e-commerce package that allows the webmaster to make live commercial transactions on the Web.

  • The blocks”, which are “windows” to a module’s full content, though some blocks have an existence of their own.

The XOOPS core is actually a package of interrelated PHP files that in an appropriate setting provide the functions needed to operate the website. Many of these functions are completely hidden from the end user, and are only used by modules in order to work properly. Many more are visible to the user and to the webmaster through the System module, which gives the user some essential functions such as the login procedure, the main menu and the user menu, a hint of who’s online, access to the search function, and some theme-switching capability, to name a few. The core and the System module also give the webmaster the admin area, the place where most of the control over the site happens.

To sum up, then, the XOOPS core comprises a lot of power hidden under calls to classes or functions, provides the functional framework, the templating engine, the handling of languages and much more. It accomplishes part this through the System module, which is the only one installed in a default XOOPS package, as it’s through this module that the webmaster decides what other modules will be part of the live site.

The comments are owned by the author. We aren't responsible for their content.

Author Thread
dalong
Published: 2006/11/16 8:00  Updated: 2006/11/16 8:00
Just popping in
Joined: 2006/11/16
From:
Comments: 2
 Re: xo-002 http://www.apachefriends.org/en/xampp.html
very good!
I like here!

Author Thread
dalong
Published: 2006/11/16 10:13  Updated: 2006/11/16 10:13
Just popping in
Joined: 2006/11/16
From:
Comments: 2
 Re: xo-002 http://www.apachefriends.org/en/xampp.html
thank for your work!

Author Thread
huqilong
Published: 2006/11/20 2:50  Updated: 2006/11/20 2:50
Just popping in
Joined: 2006/11/16
From:
Comments: 3
 Re: xo-002 http://www.apachefriends.org/en/xampp.html
I hava a question ,when I have installed phpeclipse,I can't user the button for the apache in the Eclipse IDE,how shoud I do?

Author Thread
huqilong
Published: 2006/11/20 3:10  Updated: 2006/11/20 3:10
Just popping in
Joined: 2006/11/16
From:
Comments: 3
 Re: xo-002 http://www.apachefriends.org/en/xampp.html
dddd

Author Thread
Mark_1900
Published: 2006/11/18 11:05  Updated: 2006/11/18 11:09
Just popping in
Joined: 2006/11/18
From:
Comments: 2
 Alias Permission Problems
For an Alias I also had to add a Directory tag to the httpd.conf, otherwise I had permission problems accessing the files... <br /> [code] Alias /wiki "C:/Documents and Settings/Me/wiki"<br /> <Directory "C:/Documents and Settings/Me/wiki"><br /> Options Indexes MultiViews<br /> AllowOverride None<br /> Order allow,deny<br /> Allow from all<br /> </Directory><br /> [/code]<br /> Oh and all these editing tags seem broken!!

Author Thread
Mark_1900
Published: 2006/11/18 11:21  Updated: 2006/11/18 11:32
Just popping in
Joined: 2006/11/18
From:
Comments: 2
 Getting the correct php_dbg.dll
I want a debugger. I downloaded the latest XAMPP 1.5.4a and noticed that it comes with PHP 5.1.6 & PHP 4.4.4, and neither are supported. The debugger module only supports a subset of these major versions from 5.1.0 to 5.1.2 and 4.4.0 to 4.4.2 (http://dd.cron.ru/dbg/downloads.php). I think right at the beginning you should specify which versions to download to get a debugger Version "XAMPP 1.5.2" would be fine.

Author Thread
huqilong
Published: 2006/11/30 6:28  Updated: 2006/11/30 6:28
Just popping in
Joined: 2006/11/16
From:
Comments: 3
 Re: xo-002 http://www.apachefriends.org/en/xampp-windows....
I want to know how to use phpeclipse with eclipse detailly!

Author Thread
thierrybo
Published: 2007/2/3 16:19  Updated: 2007/2/3 16:21
Just popping in
Joined: 2007/2/3
From:
Comments: 1
 Re: xo-002 ch02s03.html Workspace Method 2
I do not agree with the suggested method 2: Quote:
For example you have set up XAMPP and your “document root” path is the XAMPP default:
C:Program Filesapachefriendsxampphtdocs
Quote:
,then your appropriate workspace path should be one level less:
C:Program Filesapachefriendsxampp
If htdocs is your document root, then each folder inside IS a new project and you should set workspace directory as Document Root directory. With suggested method, all your web projects are managed with ONE big PHPeclipse project.

Author Thread
dafydd
Published: 2007/4/3 6:01  Updated: 2007/4/3 6:01
Just popping in
Joined: 2007/4/3
From:
Comments: 2
 Re: xo-002 ch01.html
Trying this out on a Mac. J2SE 1.5.0_07-164 installed. 1.5.0_06 is what's available on the download site. However, it would almost certainly be updated with Software Update.

Author Thread
dafydd
Published: 2007/4/6 1:00  Updated: 2007/4/6 1:00
Just popping in
Joined: 2007/4/3
From:
Comments: 2
 Re: xo-002 ch01s04.html
Second question: How do we point the XAMPP start/stop buttons in the Eclipse toobar to where we put XAMPP?

dafydd

Author Thread
dysmas
Published: 2007/8/4 14:18  Updated: 2007/8/4 14:18
Just popping in
Joined: 2007/8/4
From:
Comments: 1
 Debugging standalone PHP applications
Thanks hundred times for all the detailed explanations here !!

And especially for the note which explains why debugging a CLI application does not work in 1.1.8 version and only in 1.1.9. (wrong port, as I guessed, but I have been looking for this information for some hours before coming here). Unfortunately this 1.1.9 CVS version does not work in the last 3.2.0 Eclipse version I just got. Let us hope the stable version is going quickly.

Author Thread
Mercyful
Published: 2007/9/10 14:46  Updated: 2007/9/10 14:46
Just popping in
Joined: 2007/9/10
From:
Comments: 1
 Re: dbg is not working
I want using eclipse3.2 with php-plugin and for debugging i want using dbg.
I'm using xampp 1.6.3a with php 4.4.7. and php_dbg.dll-4.4.x
After step by step installation
http://docs.schuetzengau-freising.de/ ... =xo-002&file=ch01s05.html
the debugger dbg will not work.
When i called phpinfo() there is no section dbg shown.
Who have any ideas?
Thanks a lot!
Regards Mercyful

Author Thread
keryx
Published: 2007/9/26 22:59  Updated: 2007/9/26 22:59
Just popping in
Joined: 2007/9/26
From:
Comments: 1
 Re: xo-002 ch04.html
A section about verrors should be nice. I get the following:


<terminated, exit value: 0>PHP C:\Program\PHP\php.exe : <path>/<fil>.php

I've googled like crazy but to no avail. And yes - it does not stop at breakpoints and "variables" are empty. DBG is working:

if (function_exists ("DebugBreak")) {
DebugBreak ();
echo "debugging started!<br />\n";
}

Outputs "debugging started!" And DBG is reported on phpinfo().

Author Thread
koski
Published: 2007/10/19 3:55  Updated: 2007/10/19 3:55
Just popping in
Joined: 2007/10/19
From:
Comments: 1
 Re: xo-002 ch01s03.html
Hi,

Seems that the mentioned link for cvs:

http://phpeclipse.sourceforge.net/update/cvs

is out of date or wrong.

Author Thread
andybruk
Published: 2007/11/18 1:11  Updated: 2007/11/18 1:11
Just popping in
Joined: 2007/11/18
From:
Comments: 1
 Re: xo-002 index.html
I've been searching for a PHP debugger for ages. This is the only one I can find that works perfectly, thanks very much for providing this documentation.<br /><br />I doubt if I could ever get it to work on Windows, but it works so well with Ubuntu Linux and Eclipse 3.1.<br />
Powered by XOOPS 2.0 © 2001-2005 The XOOPS Project