Tools of the Trade

There are many things that are needed to customize and maintain a XOOPS web site that need to happen outside of XOOPS, or are more easily done there.

This is a list of types of tools that you might want to have available, along with some suggestions for specific tools that XOOPS webmasters have found useful.

Editors

Editors are a very personal choice, and people can become quite passionate about their favorite. We will present only a few of the many possibilities.

For XOOPS use, you will need an editor to tweak some configuration options as well as customize a theme for your site. For these uses, it is can be very helpful to have an editor that can work with multiple files at the same time, be able to search and replace across many files, and provide syntax highlighting. You can use a very simple, no frills editor, but you will be working a lot harder to accomplish some tasks.

PhpStorm from JetBrains is an IDE (integrated development environment) specifically tailored for PHP web development. JetBrains has been very helpful in sponsoring XOOPS, and its products are favorites for many developers. It is a commercial product, and it might be cost prohibitive for some new webmasters, but the time it can save makes it attractive to experienced developers.

Visual Studio Code is a free, multi-platform source code editor from Microsoft. It has support, either built in or through extensions, for the core web technologies such as HTML, JavaScript, and PHP, making it a good fit for XOOPS use.

Notepad++ is a free, time honored contender in this category for Windows, with loyal users.

Meld is not an editor, but it compares text files showing differences, and allows for merging changes selectively, and making small edits. It is very useful when comparing configuration files, theme templates, and of course PHP code.

Name

Link

License

Platform

PhpStorm

Commercial

Any

Visual Studio Code

MIT

Any

Notepad++

GPL

Win

Meld

GPL

Any

FTP Client

File Transfer Protocol (FTP,) or a variation there of, is used to move files from one computer to another. Most XOOPS installations will need an FTP client to move files that come from the XOOPS distribution to a host system where the site will be deployed.

FileZilla is a free and powerful FTP Client that is available for most platforms. The cross-platform consistency made it the choice for the FTP examples in this book.

PuTTY is a free SSH client, useful for Shell access to a server, as well as providing file transfer capabilities with SCP

WinSCP is a FTP/SFTP/SCP client for Windows systems.

Name

Link

License

Platform

FileZilla

GPL

Any

PuTTY

BSD

Win/*nix

WinSCP

GPL

Windows

MySQL/MariaDB

The database contains all of the content of your site, the configurations that customize your site, the information about the users of your site, and more. Protecting and maintaining that information may be easier with some extra tools that deal specifically with the database.

phpMyAdmin is the most popular web-based tool for working with MySQL databases, including making one-off backups.

BigDump is a godsend for limited hosting accounts, where it helps in restoring large database backup dumps while avoiding timeout and size restrictions.

srdb, Search Replace DB for XOOPS is a XOOPS adaptation of Search and Replace DB from interconnect/it. It is especially useful to change URLs and filesystem references in MySQL data when you are moving a site.

Name

Link

License

Platform

phpMyAdmin

GPL

Any

BigDump

GPL

Any

srdb

GPL3

Any

Developer Stacks

Some platforms, such as Ubuntu, have the whole stack needed to run XOOPS built in, while others need some additions.

WAMP and Uniform Server Zero are all-in-one stacks for Windows.

XAMPP, an all-in-one stack from Apache Friends, is available for multiple platforms.

bitnami offers a wide range of prebuilt application stacks, including virtual machine and container images. Their offerings can be a valuable resource to quickly try out applications (including XOOPS) or various web technologies. They can be suitable for production as well as development use.

Docker is an application container platform, used to create and run containers to implement custom environments.

Name

Link

License

Platform

WAMP

Multiple

Win

Uniform Server Zero

Multiple

Win

XAMPP

Multiple

Any

bitnami

Multiple

Any

Docker

Multiple

Any

A example Docker environment used by XOOPS delevopers for testing can be found at geekwright/xoops_mysql8.

Last updated