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