(Category) WebGUI FAQ
Welcome to the unofficial WebGUI FAQ. This is a work in Progress. If you contribute an answer, please indicate for which version of WebGUI you have tested your answer. Thanks!

(Unattributed can be assumed to work with 6.2.7-6.2.9)

This site is presented for archival purposes at this time. Check PlainBlack.com for the most recent information.

What's new? Click Search... or New this week

You probably want to go here (Xref) What is the most recent release of WebGUI?

This site's contents are copyright 2005, 2006, 2007 Gerald Young. Creative Commons License
This work is licensed under a Creative Commons License.
wg-fomATgwyDOTorg
Subcategories:
(Category) Installation
(Category) Troubleshooting
(Category) Web Design
(Category) Unanswered Questions
(Category) Sticky/News/Non Sequitur
(Category) WebGUI 6.5.x Specific
(Answer) Links to other information
(Category) WebGUI 7.0 Questions
(Category) Backup, Care for your WebGUI installation

Answers in this category:
(Answer) Is there any free support in WebGUI?
(Answer) Is there a mailing list for support for WebGUI?
(Answer) Default login, password: admin 123qwe
(Answer) What is the most recent release of WebGUI?
(Answer) Why is this FAQ NOT in WebGUI format?

Things I like to see on a page:
Q) What is WebGUI?
A) It's a content management system/Framework that runs on perl.

Q) What does it do?
A) It makes it easier to manage websites than editing HTML and FTPing. It also allows you to edit pages via any web browser worldwide.

Q) Why should I choose WebGUI to do that over Mambo, WordPress, Typo3, MovableType, PHPNuke, etc?
A) Because it's actively being developed and it's probably the most powerful CMS you can get for the price.

Q) Can I get more info?
A) Yes, go to http://www.plainblack.com

Q) Who are you?
A) My username is crythias. My Real Name is Gerald Young.

[New Answer in "WebGUI FAQ"]
(Category) (Category) WebGUI FAQ :
Installation
Taken from the installation forum of www.plainblack.com.
wg-fomATgwyDOTorg
Subcategories:

Answers in this category:
(Answer) How do I install 6.8.x+? Where's index.pl?
(Answer) Where are the install documents for WebGUI?
(Answer) Where are the upgrade documents for WebGUI?
(Answer) Where do I get WebGUI?
(Answer) Will WebGUI install on my shared hosting server?
(Answer) I know absolutely nothing about configuration of Apache, MySQL, or WebGUI. Is this easy to install?
(Answer) Installing WebGUI on FreeBSD 5.4

(Answer) "WebGUI 7.0.6"+"Dapper Drake"
(Answer) Installing WebGUI 7.0.7 on FreeBSD 5.5
(Answer) How do I get old versions of WebGUI?

[New Answer in "Installation"]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
How do I install 6.8.x+? Where's index.pl?
1) As always, read the docs/gotcha.txt in your distribution.
 2) There *is* no index.pl in 6.8.x+
http://www.plainblack.com/downloads/builds/6.8.10-gamma/WebGUI/docs/install.txt
http://www.plainblack.com/downloads/builds/6.8.10-gamma/WebGUI/docs/gotcha.txt
http://www.plainblack.com/downloads/builds/6.8.10-gamma/WebGUI/docs/migration.txt
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
Where are the install documents for WebGUI?
http://www.plainblack.com/installing_webgui
wg-fomATgwyDOTorg
Unpack WebGUI source. You then find the install instructions in /docs/install.txt
onlineAThertleDOTnet
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
Where are the upgrade documents for WebGUI?
http://www.plainblack.com/upgrading_webgui
wg-fomATgwyDOTorg
Unpack WebGUI source. You then find important(!) information for upgrades in /docs/gotcha.txt
onlineAThertleDOTnet
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
Where do I get WebGUI?
http://www.plainblack.com/download http://sourceforge.net/project/showfiles.php?group_id=51417&package_id=45293
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
Will WebGUI install on my shared hosting server?
WebGUI requires changes to the configuration files of Apache to use the preload.perl. It used to be able to run using CGI, but that is no longer the case. WebGUI is designed to be the only application running on your web box. It may work on your shared hosting server, but YRMV. It is better if you have a dedicated server for WebGUI.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
I know absolutely nothing about configuration of Apache, MySQL, or WebGUI. Is this easy to install?
If you get the Zip-n-go package, and you're using Windows 2000 or XP, the answer is yes. If you are running a *nix/BSD box, the answer is ... not really. It is important to know that the installation will work if you follow the directions in the Installation Documents. If you know a bit about httpd.conf, MySQL, PERL, this is not very difficult to install. With practice, you can install in about an hour. Your first time may be about a day.
wg-fomATgwyDOTorg
If you have a supported WRE binary, I would seriously recommend you take a look at that.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
Installing WebGUI on FreeBSD 5.4
Installing WebGUI 6.7.3 on FreeBSD RELEASE-5.4
The following is based on a minimal install of FreeBSD via the sysinstall program on the FreeBSD CD, assuming FreeBSD 5.4. It is assuming that you are performing all actions as the root user. It is also assumed that you are using Apache 2 and ModPerl 2.
Directions:
1. Install a minimal FreeBSD system.
2. Do a remote install of the packages below via ‘pkg_add –r + <packagename>’. Then log out of your system and log back in. For some reason newly installed programs that are in your PATH environment variable are not picked up until you log out and back in again.
    a. wget (or another tool you like to download WebGUI)
b. mysql41-server
c. mysql41-client
d. ImageMagick
e. transfig
f. apache2
g. perl
h. pine (optional, I don’t like the way vi works on FreeBSD so I like to use pico)

3. Prep your mysql database
    a. Run "/usr/local/sbin/mysql_install_db"
i. The binary installation does not create the system databases for you. It gives you a config to dump the database under /var/db/mysql.
b. Run "chown –R mysql /var/db/mysql"
i. This sets the correct permissions on all the files that mysql_install_db just crated. This allows the mysql user to actually access the database that you as root just installed.
c. Try to run the mysql server and see if it works.
i. Run "/usr/local/bin/mysqld_safe &"
ii. Run "mysql"
1. If you see a mysql prompt, you’re set.
    a. You really should set a password at this point for the root user on 
       mysql. You can do this at the mysql prompt by issuing the command ‘set 
       password = password("<newpassword>");’ Ignore the single quotes and 
       replace <newpassword> with the password of your choice.
2. If you don’t, something isn’t right.
 
4. Download the latest WebGUI source installation of your choice. This document
    is based on 6.7.3, keep that in mind.
a. Extract the file…
i. gzip –d <thefileyoudownloaded>
ii. tar –xf <thefileyoudownloaded>
b. Now if you look inside WebGUI/sbin/ you will find the testEnvironment.pl perl script. If you open it you will find all of the non-WebGUI Perl modules that are required.
c. As of 6.7.3, the following list shows the required modules.
If an arrow appears beside them, then that is the equivalent package that needs to be installed either by the sysinstall utility or the pkg_add –r <packagename> command. Some of the listed packages might be dependent on another one on the list. I’m not going to worry about my list being redundant, better redundant than missing a package and not knowing what happened.
Modules that do not show a FreeBSD package name beside them are taken care of from CPAN. The instructions for those follow this step.
i. LWP -->p5-libwww
ii. HTTP::Request -->p5-libwww
iii. HTTP::Headers
iv. Digest::MD5 -->p5-Digest-MD5
v. DBI -->p5-DBI
vi. DBD::mysql -->p5-DBD-mysql41 (assuming you use server 4.1)
vii. HTML::Parser -->p5-HTML-Parser
viii. Archive::Tar -->p5-Archive-Tar
ix. IO::Zlib -->p5-IO-Zlib
x. Compress::Zlib -->p5-Compress-Zlib
xi. Net::SMTP -->p5-Net-SMTP-Server
xii. Tie::IxHash -->p5-Tie-IxHash
xiii. Tie::CPHash
xiv. XML::Simple -->p5-XML-Simple
xv. SOAP::Lite -->p5-SOAP-Lite
xvi. Time::HiRes -->p5-Time-HiRes
xvii. Log::Log4perl -->p5-Log-Log4perl
xviii. Net::LDAP -->p5-ResourcePool-Resource-Net-LDAP
xix. Date::Manip -->p5-Date-Manip
xx. HTML::Highlight
xxi. HTML::TagFilter
xxii. HTML::Template -->p5-HTML-Template
xxiii. Parse::PlainConfig
xxiv. XML::RSSLite
xxv. DBIx::FullTextSearch 1. If you installed mysql41-server from the binary and already set up your system tables as described above, then this dependency will be met. It may rely on some of the packages listed above as well, but either way, after installing your server properly this test will pass.
d. After you install all of the above modules you will need to do the following…
i. IMPORTANT --- Please not that at any time if you are asked if you want to install a prerequisite module, do it. Otherwise you will run into problems because the modules won’t install.
ii. Run "perl –MCPAN –e shell" 1. If this is your first time running the shell read the following, otherwise move on to ii.
a. Accept the defaults, the only one I changed is the line where they make the suggestion that some people add "UNINST=1". I followed that recommendation as it is supposed to remove conflicting files. Continue on with the defaults and you should be fine until it gets you to the prompt. Now you’re ready for step ii.
iii. You now need to install some modules at this shell. Assuming all is going well, you can just install them without problem by running the command, "install <ModuleName>" without the quotes and replacing ‘<ModuleName>’ with the perl module’s name. Install the following modules by this method using the following names…
1. Tie::CPHash
2. HTML::Highlight
3. HTML::TagFilter
4. Parse::PlainConfig
5. XML::RSSLite
iv. Exit the shell by typing, "exit." (no period after exit)

e. Special Cases
i. ModPerl v. 2 1. I tried using the mod-perl2 package that FreeBSD supplies as a binary, but it didn’t work, even after changing some of the referenced names in WebGUI’s preload.perl script. I instead installed this from source. This is why I did not list it above as one of the FreeBSD packages to install.
2. It needs to be noted that if you want to run the tests on your mod_perl to ensure that it everything works correctly, you need to compile it as a non-root user to run the tests. If you are daring and want to quickly install it follow instructions under ‘b’ below, otherwise follow the instructions under ‘a.’
a. You can easily get the source by going into a cpan shell as described above by running, "perl –MCPAN –e shell" and at that shell type, "get mod-perl2" to retrieve the source. Exit the shell.
i. cd to /root/.cpan/build/ directory.
ii. Issue an ‘ls’ to find the source directory for ModPerl.
iii. cd to that directory.
iv. Run "perl Makefile.pl MP_APXS=/usr/local/sbin/apxs" 1. The path in the command above is where FreeBSD’s binary install of Apache 2 puts this file. It might be different for you if you didn’t use the binary install, quite possibly at /usr/local/apache2/bin/apxs.
v. Run "make"
vi. Run "make test"
vii. If all tests pass run "make install"
viii. Exit the shell.
b. Enter a cpan shell by "perl –MCPAN –e shell"
i. Run "install mod_perl2"
ii. When it asks you if you want to skip the tests, type yes. It will prompt twice.
iii. Exit the shell after you have finished.
ii. Image::Magick (aka PerlMagick)
1. The binary install of ImageMagick from FreeBSD is fine, however it seems to be a source of grief. Every time I start apache, it bombs out with a core dump when Image::Magick is preloaded. The Image::Magick module is installed as part of the binary installation of the ImageMagick package from FreeBSD. Using their package, Apache core dumps and dies completely. I kept my binary install, but went ahead and did a manual install of the Image::Magick module from CPAN. The instructions follow…
a. Enter a cpan shell (see 4.e.i.2.b. for instructions).
b. Run "get Image::Magick"
c. Go to the cpan build directory (see 4.e.i.2.a.i.)
d. Run "perl Makefile.pl"
e. Run "make"
f. Run "make test"
g. For me it seems to fail on one of the X tests, but considering I’m not worried about this functionality, I’m ignoring it and am going to install it anyway.
h. Run "make install"
i. You’re done with the install of ImageMagick.
j. For reference, it is interesting to note that I have been able to compile every piece of software for WebGUI on FreeBSD and install it and the only thing that causes Apache not to work is the Image::Magick perl module. If I remove all references to Image::Magick in WebGUI, the server starts fine, although you miss out on the images in WebGUI.
iii. Bundle::Apache2
1. Perhaps some of these packages are in the FreeBSD packages distribution, but I didn’t know which ones they would be and I needed to be sure that I had the ones for Apache 2.
2. Install these using the cpan shell. I didn’t have any problems with them so a standard, "install Bundle::Apache2" should work.
f. You should now have the basic requirements installed for WebGUI.
i. Enter the WebGUI folder you extracted earlier and go to the sbin subdirectory.
ii. Run "perl testEnvironment.pl" If everything passes and it doesn’t ask you to install anything more, great. You’re ready to move on. Else, review the instructions above and check where things went wrong.

5. Assuming you made it through section 2 without a hitch, you are now ready
   to follow Plain Black’s instructions to continue your install. Using WebGUI 
   6.7.3 you should not have to worry about the perl modules that they tell 
   you to install at the beginning. They will already have been installed by 
   these instructions, either explicitly or they were installed as a 
   dependency of another module. At the time of this writing, the instructions 
   were located at http://www.plainblack.com/installing_webgui . I’m not going 
   to include those instructions here because they are part of the WebGUI site 
   and I don’t want to steal the instructions from there to include them here.

6. Put the name of your server in your /etc/hosts file. This is especially
   important to Apache if you are using an internal machine with a dummy name. 
   Apache will die if you don’t have it’s name in the host file.

7. When you finish with Plain Black’s instructions, you may notice that you
   start your server with a core dump. Hopefully if nothing changes, Apache 
   will still be running and this won’t be anything more than a minor 
   irritation. However, if you installed Apache with the FreeBSD binary, you 
   need to check your httpd.conf file under /usr/local/etc/apache2/httpd.conf. 
   You need to do this because you will notice that you cannot view your 
   WebGUI site because of security restrictions.
a. If this is your production system, ignore the following. You need to know Apache and how to use its security system. DO NOT follow the instructions below because it is a security risk and I’m not responsible for stupid actions that other people do on their own servers. You have been warned.

    b. Re-read ‘a.’ above, then you may read ‘c.’ below.
c. For a simple system that you want to do some testing and playing around with WebGUI on, you can find the main section for the <Directory /> directive for Apache. You need to specifically find the one that opens with "<Directory />" and closes with "</Directory>" because it’s an easy way to quickly remove the security and be able to use your WebGUI installation.
d. Change the line that says "Order Deny,Allow" to "Order Allow,Deny"
e. Change the line after that that says "Deny from all" to "Allow from all"
f. Remember that section ‘a.’ is important. This is not a safe way to setup your web server.
g. You can now restart apache.

8. Assuming all went well, you will want to enable Apache and MySQL on
   startup. You will need to edit /etc/rc.conf to do this. At the end of the 
   file append one line for each server, for Apache, enter
   ‘ "apache2_enable="YES" ‘ to enable it on startup. For MySQL, enter 
   ‘ mysql_enable="YES" ‘ to enable it. Ignore the single-quotes, but the 
   double quotes are needed.

You should be finished!
Hope this helps some other strugling newby to FreeBSD and WebGUI.
Troy

troyDOTcaldwellATcovchurchDOTorg
you can use the rehash command instead of having to log out and log back in.
wg-fomATgwyDOTorg
In deference to the above regarding security restrictions, I would suggest that you keep the secure defaults of deny, allow, and merely allow,deny the directories you use, including extras and DocumentRoot...
 Alias /extras /path/to/extras
 <Directory /path/to/extras>
    Options ExecCGI FollowSymLinks
    AllowOverride None
    Order Allow,Deny
    Allow from all
 </Directory>

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
"WebGUI 7.0.6"+"Dapper Drake"
From Alafondo:
Full setup of Ubuntu 6.06 LTS "Dapper Drake" for WebGUI 7.0.6

At first - excuse my bad english 

 

Download the ubuntu 6.06 LTS Dapper Drake

http://ubuntu.intergenia.de/releases/6.06/ubuntu-6.06.1-server-i386.iso

burn the cd and install it with all defaults.

Here and everywhere we will use the next logins and passwords(replace them with Yours for security reasons):

------------------- Prologue -----------------
first ubuntu user:
login: firstuser
password: userone

root user:
password: userroot

apache homedir = /apachehome

mysql homedir = /usr/local/mysql

if You will see ">" at the begining of the line - then it is a command
-----------------end of prologue --------------

/* after installation login */
login: firstuser
password: userone

/* now we will create root user */
> sudo passwd root

/* You will be asked for enter password: userone to become root, and create root account */
password: userone

/* then enter password for root */
root user password: userroot
confirm: userroot

/*login as root */
exit
login: root
password: userrrot

/*create directory for downloads (u can create it with another name) */
> cd /
> mkdir distribs
> cd /distribs

/* now lets download all distribs we need */
> wget http://www.cpan.org/modules/by-module/Crypt/Crypt-SSLeay-0.51.tar.gz
> wget http://www.cpan.org/modules/by-module/DBD/DBD-mysql-3.0006.tar.gz
> wget http://mysql.directnet.ru/Downloads/MySQL-5.0/mysql-5.0.24.tar.gz
> wget ftp://ftp.chg.ru/packages/ImageMagick/ImageMagick-6.2.9-3.tar.gz
> wget http://www.openssl.org/source/openssl-0.9.7k.tar.gz
> wget http://www.cpan.org/src/stable.tar.gz
> wget http://archive.apache.org/dist/httpd/httpd-2.0.52.tar.gz
> wget http://apache.rediska.ru/httpd/libapreq/libapreq2-2.08.tar.gz
> wget http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz


/* now we will install all compilers and packages for compiling */
> aptitude update
> aptitude upgrade
> aptitude install make autoconf
> aptitude install automake1.9
> aptitude remove automake1.4

/*just check that u have only one automake or select the 1.9 for default */
> update-alternatives --config automake



> aptitude install gcc libtool g++ expat libexpat1 libexpat1-dev libpng3 libpng3-dev libtiff4 libtiff4-dev libtiffxx0c2 libxml-dev libxml1 libjpeg62 libjpeg62-dev libfreetype6 libfreetype6-dev libncurses5 libncurses5-dev zlib1g zlib1g-dev

/* now we will install perl */
/* check that u are in the distribs directory */
> cd /distribs
> tar -zxvf stable.tar.gz
> cd ./perl*
> rm -f config.sh Policy.sh
> sh Configure
/*everywhere type enter and config Your e-mails. We don't need threads enabled */
> make
> make test
> make install
/* now we will remove old perl package with all its subpackages */
> aptitude remove perl

/* reinstall make autoconf and automake there will be perl also don't worry choose YES */
> aptitude install make autoconf
> aptitude install automake1.9
> aptitude remove automake1.4

/*just check that u have only one automake or select the 1.9 for default */
> update-alternatives --config automake

/* here I prefer to reboot */
> shutdown -r now

/* login as root */
login: root
password: userrrot
/* check the perl version. it should be 5.8.8 */
> perl -v

/* now we will reinstall packages due to new perl */
> aptitude install gcc libtool g++ expat libexpat1 libexpat1-dev libpng3 libpng3-dev libtiff4 libtiff4-dev libtiffxx0c2 libxml-dev libxml1 libjpeg62 libjpeg62-dev libfreetype6 libfreetype6-dev libncurses5 libncurses5-dev zlib1g zlib1g-dev

/* reboot */
> shutdown -r now

/* login as root*/

/* now we will install openssl, Image magick, apache and mysql then reboot the system */

/* openssl */
> cd /distribs
> tar -zxvf openssl*.tar.gz
> cd ./openssl*
> ./configure
* then run make and install /
> make
/* the next install it into /usr/local/ssl */
> make install

/* ImageMagick */
> cd /distribs
> tar -zxvf ImageM*.tar.gz
> cd ./Image*
> ./configure \
> --with-modules=yes \
> --with-jpeg=yes \
> --with-png=yes \
> --with-tiff=yes \
> --with-quantum-depth=32
/* then run meke and install /
> make
> make install

/* check the ImageMagick version */
> convert -Version

/* MySQL */
> cd /distribs
> tar -zxvf mysql*.tar.gz
> cd ./mysql*

/* before compiling we will create user and group for it */
> groupadd mysql
> useradd -g mysql mysql

/* configure and compile */
> ./configure --prefix=/usr/local/mysql
> make
/* the next will install mysql in - /usr/local/mysql , data in /usr/local/mysql/data */
> make install

/* create *.cnf file */
cp support-files/my-medium.cnf /etc/my.cnf

/*create necessary tables */
> /usr/local/mysql/mysql_install_db --user=mysql

/* change owners */
> chown -R root /usr/local/mysql
> chown -R mysql /usr/local/mysql/var
> chgrp -R mysql /usr/local/mysql

/* autostart mysql on boot */
> cp support-files/mysql.server /etc/init.d/mysql
> chmod +x /etc/init.d/mysql
> update-rc.d mysql defaults

/* check mysql */
> /etc/init.d/mysql start
> netstat -tap

/* add mysql dir to path */ 

> vi /etc/environment

> i 

 add /usr/local/mysql/bin

> Esc 

> ZZ

/* apache */
/* we will install it into the apachehome direcoty (change it for Your needs) */

> cd /distribs
> tar -zxvf httpd*.tar.gz
> cd ./httpd*
> ./configure \
> --prefix=/apachehome \
> --enable-rewrite=shared \
> --enable-deflate=shared \
> --enable-proxy=shared \
> --enable-proxy-ftp=shared \
> --enable-proxy-http=shared \
> --enable-proxy-connect=shared \
> make
> make install

/* autostart apache on boot */
> cp /apachehome/bin/apachectl /etc/
> chmod +x /etc/init.d/apachectl
> update-rc.d apachectl defaults

/* check it*/
/* check apache */
> /etc/init.d/apachectl start
> netstat -tap



/* now reboot the system */
> shutdown -r now

/* login as root */


> perl -MCPAN -e shell

/* here will go perl modules install by CPAN */
> install Bundle::CPAN
/* configure it */
> q

> perl -MCPAN -e shell
/* reconfig it again */
> q

> perl -MCPAN -e shell
/* lets go */
> install Cwd
> install Data::Dumper
> install ExtUtils::CBuilder
> install ExtUtils::MakeMaker
> install ExtUtils::XSBuilder
> install ExtUtils::Install
> install ExtUtils::ParseXS
> install ExtUtils::Install
> install ExtUtils::Manifest
> install ExtUtils::Mkbootstrap
> install File::Basename
> install File::Compare
> install File::Copy
> install File::Find
> install File::Path
> install File::Spec
> install Getopt::Long
> install IO::File
> install Test::Harness
> install Text::Abbrev
> install Text::ParseWords
> install Archive::Tar
> install Archive::Zip
> install Module::Signature
> install Pod::Readme
> install Apache::Test
/* you apache path is /apachehome , executable /apachehome/bin/apachectl , apxs = /apachehome/bin/apxs */
> install Test::More

/* in this place I prefer to run force install*/

> force install Module::Build  **this command is optional

> q

/* reboot system */
> shutdown -r now

/* login as root */

> perl -MCPAN -e shell
/* now we will prepare environment for mod_perl */
> install Bundle::Apache2
/* everything should be ok, beside of Crypt::SSLeay (if there would be problems with it then u should install it manually)*/

/* manual install Crypt::SSLeay */
> cd /distribs
> tar -zxvf Crypt-SSLeay-0.51.tar.gz
> cd ./Crypt*
/* in config u would enter the ssl's path = /usr/local/ssl */

> perl Makefile.PL
> make
> make test
> make install

/* again */

> perl -MCPAN -e shell
> install Bundle::Apache2
/* everything should be ok */
> q
> cd /distribs
> tar -zxvf mod_perl*.tar.gz
> cd ./mod_perl*
> perl Makefile.pl MP_APXS=/apachehome/bin/apxs
> make
> make test
> make install
> vi  /apachehome/conf/httpd.conf
/* find LoadModule dirs and add *\
/* to edit press on "i" and edit then press "esc", then to exit hold poop and press ZZ */
> i **edit file**

/* add next line */
LoadModule perl_module modules/mod_perl.so

> Esc
> ZZ **exit file**
> /etc/init.d/apachectl stop
> /etc/init.d/apachectl start
/* open in brouser and enter wrong path to see it indicated */

/* installing libapreq */
> perl -MCPAN -e shell
> install Apache2::Request

/* everything should be OK, if not the unstall it manually */

> cd /dustribs
> tar -zxvf libapreq*.tar.gz
> cd ./libapreq*
> perl Makefile.PL --with-apache2-apxs=/apachehome/bin/apxs
> make
> make test
> make install
> vi  /apachehome/conf/httpd.conf
/* find LoadModule dirs and add *\
/* to edit press on "i" and edit then press "esc", then to exit hold poop and press ZZ */
> i **edit file**

/* add net line */ 

LoadModule apreq_module modules/mod_apreq2.so

 

> Esc
> ZZ ** exit file**
> /etc/init.d/apachectl stop
> /etc/init.d/apachectl start
/* open in brouser and enter wrong path to see it indicated */

> shutdown -r now
/*login as root */
> perl -MCPAN -e shell
> install LWP
> install Cache::Cache
> install HTML::Parser
> install HTML::Request
> install HTML::Headers
> install Test::More
> install Pod::Coverage
> install Text::Balanced
> install Digest::MD5
> install DBI
> q
> cd /distribs
> tar -zxvf DBD-mysql*.tar.gz
> cd ./DBD-m*
>perl Makefile.PL \
> --libs="-L/usr/local/mysql/lib/mysql -lmysqlclient -lz" \
> --cflags=-I/usr/local/mysql/include/mysql \
> --testhost=127.0.0.1
> make
> make test  /* Some minor error messages can be ignored here */
> make install
> perl -MCPAN -e shell
> install Archive::Tar
> install Archive::Zip
> install IO::Zlib
> install Compress::Zlib
> install Net::SMTP
> install Tie::IxHash
> install Tie::CPHash
> install XML::Sax
> install XML::Parser
> install XML::SAX::Expat
> install XML::NamespaceSupport
> install XML::Simple
> install SOAP::Lite
> install DateTime
> install Time::HiRes
> install DateTime::Format::Strptime
> install DateTime::Cron::Simple
> install Image::Magick
> install Log::Log4perl
> install Net::LDAP
> install HTML::TagFilter
> install HTML::Highlight
> install HTML::Template
> install HTML::Template::Expr
> install Template
> install Parse::PlainConfig
> install XML::RSSLite
> install JSON
> install Finance::Qoute
> install Data::Structure::Util
> install Test::Deep
> install Test::MockObject
> install MIME::Tools
> install POE
> install POE::Component::IKC::Server
> install POE::Component::Client::UserAgent
> install Net::Subnets
> install DateTime::Format::Mail
> install Net::POP3
> install List::Util
> install Color::Calc
> install POE::Component::Client::HTTP
> install Cache::Memcached
> q

/* download and install WebGUI */

> cd /
> pwd /* u should see "/" */
> mkdir data
> cd /distribs
> wget http://update.webgui.org/7.x.x/webgui-7.0.6-stable.tar.gz
> tar -zxvf webgui*.tar.gz
> cp ./WebGUI /data/WebGUI
/* run "testEnvironment.pl" to detect and install missed perl modules (I'm a human and could mess some modules) */

/* now we will setup network for SPECTRE */
> vi /etc/hosts
/* just add youir hosts */
<!--- begin hosts file before -->
127.0.0.1    localhost
127.0.1.1    yuordomain.somewords    yuordomain

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
**add here Your hosts***
<!-- hosts file end ------>

/* u shouldn't remove or modify any words, just add next */
/* u should add  your domains */

<!-- begin  hosts file after ---->
127.0.0.1    localhost
127.0.1.1    yuordomain.somewords    yuordomain

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
127.0.0.1    www.mysite1.com
127.0.0.1    mysite1.com
127.0.0.1    www.mysite2.com
127.0.0.1    mysite2.com
127.0.0.1    www.mysite3.com
127.0.0.1    mysite3.com
127.0.0.1    www.mysite4.com
127.0.0.1    mysite4.com

<!-- end hosts file -->

> shutdown -r now

CONGRATULATIONS
See the PlainBlack's tutorial for installing WebGUI

Now You should setup Your mysql and firewall to make it secure
if You want to remove the root acount (I recommnend to this after WebGUI installation )
/* login as first user */
> login: firstuser
> password: userone
> sudo passwd -l root
> exit

To setup mail-server use this link (the postfix setup - page5)

<!----- here the full list of perl modules by testEnvironment.pl ------------>

/* run "testEnvironment.pl" to detect and install missed perl modules (I'm a human and could mess some modules) */

Checking for module LWP:                     OK
Checking for module HTTP::Request:           OK
Checking for module HTTP::Headers:           OK
Checking for module Test::More:              OK
Checking for module Test::MockObject:        OK
Checking for module Test::Deep:              OK
Checking for module Pod::Coverage:           OK
Checking for module Text::Balanced:          OK
Checking for module Digest::MD5:             OK
Checking for module DBI:                     OK
Checking for module DBD::mysql:              OK
Checking for module HTML::Parser:            OK
Checking for module Archive::Tar:            OK
Checking for module Archive::Zip:            OK
Checking for module IO::Zlib:                OK
Checking for module Compress::Zlib:          OK
Checking for module Net::SMTP:               OK
Checking for module MIME::Tools:             OK
Checking for module Net::POP3:               OK
Checking for module Tie::IxHash:             OK
Checking for module Tie::CPHash:             OK
Checking for module XML::Simple:             OK
Checking for module SOAP::Lite:              OK
Checking for module DateTime:                OK
Checking for module Time::HiRes:             OK
Checking for module DateTime::Format::Strptime: OK
Checking for module DateTime::Cron::Simple:  OK
Checking for module DateTime::Format::Mail:  OK
Checking for module Image::Magick:           OK
Checking for module Log::Log4perl:           OK
Checking for module Net::LDAP:               OK
Checking for module HTML::Highlight:         OK
Checking for module HTML::TagFilter:         OK
Checking for module HTML::Template:          OK
Checking for module HTML::Template::Expr:    OK
Checking for module Template:                OK
Checking for module Parse::PlainConfig:      OK
Checking for module XML::RSSLite:            OK
Checking for module JSON:                    OK
Checking for module Net::Subnets:            OK
Checking for module Finance::Quote:          OK
Checking for module POE:                     OK
Checking for module POE::Component::IKC::Server: OK
Checking for module POE::Component::Client::HTTP: OK
Checking for module Data::Structure::Util:   OK
Checking for module Apache2::Request:        OK
Checking for module Cache::Memcached:        OK
Checking for module URI::Escape:             OK
Checking for module POSIX:                   OK
Checking for module List::Util:              OK
Checking for module Color::Calc:             OK
wg-fomATgwyDOTorg, bb300ATmailDOTru
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
Installing WebGUI 7.0.7 on FreeBSD 5.5
http://www.plainblack.com/uploads/T3/33/T333tjy0y8E3wbmpQ6Jt2Q/WebGUI-7.0.7-on-FreeBSD-5.5.htm
brandt_21sATyahooDOTcom
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Installation :
How do I get old versions of WebGUI?
Search for FTP Mirrors of Sourceforge.net All sf.net "releases" of WebGUI: ftp://ftp.heanet.ie/pub/sourceforge/p/pb/pbwebgui/
wg-fomATgwyDOTorg
[Append to This Answer]
(Category) (Category) WebGUI FAQ :
Troubleshooting
Resolutions and hints on error messages.
wg-fomATgwyDOTorg
Subcategories:

Answers in this category:
(Answer) Do this first!
(Answer) FreeBSD, mod_perl2, apache2, GATEWAY_INTERFACE not Perl!, Can't locate ModPerl/Registry.pm (New: Apache::Request on mod_perl2 RC5)
(Answer) http:\\\index.pl\ problem- Sitename disappears
(Answer) ? Question marks, Squares, strange characters on upgrade to 6.2.x+
(Answer) Problem with Request. SQL Column Errors
(Answer) Links going to localhost
(Answer) Can't locate .... in @INC
(Answer) Can I... Why can't I... Why isn't anyone answering my question about 5.x?
(Answer) Theme import problems uid/gid, Byte order is not compatible. Storable.pm (6.2.x)
(Answer) Graphical Editor for Firefox, Netscape?
(Answer) How do I use WebGUI on a nonstandard (not port 80) port?
(Answer) All your troubles are belong to ImageMagick
(Answer) WebGUI shows "Initial Configuration" screen but "save" does not work
(Answer) My Intranet is behind a proxy server. How do I use Syndicated Content behind a proxy server?
(Answer) How do I send to multiple recipients in a dataform?
(Answer) 6.6.3-6.6.4 Upgrade problems. (Blank Admin Bar) -- wrong HTML::Template
(Answer) I hate the GUI Editor! It screws up my code!
(Answer) How to reset my password? I'm locked out!
(Answer) Can I nest Macros? Can I nest href's in macros?
(Answer) How can I get mailman and other progs to work in 6.8+?
(Answer) Not WebGUI: VirtualHost DocumentRoot gets overwritten by VirtualDocumentRoot in httpd.conf
(Answer) Hint: How to get WebGUI to parse only WebGUI sites?

[New Answer in "Troubleshooting"]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Do this first!
go into /data/WebGUI/sbin and type:
 perl preload.perl
It will definitely tell you what's WebGUI-specific (including perl modules) wrong with your install.

If you get

 Starting WebGUI (version)
   webgui.conf
   anothersite.conf (optional)
 WebGUI started Successfully!

You're on the right track. Don't forget that httpd-error.log will tell you nice other stuff. Oh, and ... yes, if webgui.log is filling up, you probably should address those issues as well. Those issues are usually "bad things" that are related either to real bugs or something you did bad with the install.

If the error message says, "Maybe you didn't load perlcategory::perlmodule", you might like to try to install the missing thing (again) with CPAN. Don't forget... upgrading Perl (5.6 to 5.8, eg) may necessitate upgrading or re-installing CPAN modules.
wg-fomATgwyDOTorg

This is not valid with 7.x+
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
FreeBSD, mod_perl2, apache2, GATEWAY_INTERFACE not Perl!, Can't locate ModPerl/Registry.pm (New: Apache::Request on mod_perl2 RC5)
From crythias's post: So, I'm on my FreeBSD box and having all sorts of problems with mod_perl2 (1.99r16) The port didn't add the LoadModule.
I had to add Perl 5.8.5 from port but you have to use.perl port to start it (so you can use/install the mod_perl2 port).
The mod_perl2 port is installed, but I kept getting Can't locate ModPerl/Registry.pm in @INC
I check my httpd.conf, and it's verbatim with WebGUI install, but changed for my system. I added
LoadModule perl_module libexec/apache2/mod_perl.so
PerlModule Apache2 I added the Options +ExecCGI to the Files directive (necessary in *my* configs to make the .pl work).

Then I started on sbin/preload.perl ... catching up from something I read... somewhere, I added
use Apache2; before use ModPerl::Registry
which helped preload.perl find ModPerl.

I had to re-install all the perl modules as well. Hint: if you want to install via ports, simply portinstall or portupgrade p5-Port-Name... ferinstance portinstall p5-SOAP-Lite I also found this interesting site: http://lists.otrs.org/pipermail/cvs-log/2004-April/003773.html which explained that GATEWAY_INTERFACE not Perl! at /data/WebGUI/sbin/preload.perl is deprecated, and so changing the line based upon:
# make sure we are in a sane environment.
#$ENV{GATEWAY_INTERFACE} =~ /
# check $ENV{MOD_PERL}, $ENV{GATEWAY_INTERFACE} is deprecated for mod_perl2
$ENV{MOD_PERL} =~ /mod_perl/ or die "MOD_PERL not used!";


And wow! I've now got an apache2/modperl2 on FreeBSD working machine (oh, yeah, and WebGUI's sbin/preload.perl seems to not crash apache now :)

Well, I do hope this helps someone. It took me almost a day of work to get it, but I think I tackled most of the problems. It's late for me, and I want to get to sleep.
wg-fomATgwyDOTorg
New problem exists with mod_perl2 RC5 http://sourceforge.net/tracker/index.php?func=detail&aid=1187256&group_id=51417&atid=463213

2005-04-22 05:12 aaronp_critd writes:

Ok I figured it out. The problem centers around the Apache request object. As of mod_perl v2.0.0RC5, the request object package was renamed from Apache to Apache2::RequestUtil. I changed all references from `grep -Er "Apache->request" /usr/local/www/resources/WebGUI` to Apache2::RequestUtil. I did the same for the server object (Apache2::ServerUtil). Goto:

  http://perl.apache.org/dist/mod_perl-2.0-current/Changes

...for more information. These changes will break WG for all versions of mod_perl less than v2.0.0RC5, but with some quick if statements that could be fixed. It would be nice to include these fixed into the future v6.5.7. Thanks.
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
http:\\\index.pl\ problem- Sitename disappears
From a post by OhGoOn:
It turns out that a white space at the end of the lines refering to "sitename" causes the url in the links to show:
          http:\\\index.pl\mylink.
I have an install batch that creates a new configuration file www.newconfig.com.conf from scratch, unfortunatelly it left a blank space behind some of the lines. This space is aparently not stripped out correcly in url.pm in the makecompliant sub:
 sub makeCompliant
 {
   my ($value);
   $value = $_[0];
         $value =~ s/\s+$//;        #removes trailing whitespace
         $value =~ s/       #removes leading hitespace
         $value =~ s/         #removes leading slash
         $value =~ s/ /_/g;  #replaces whitespace with underscores
         $value =~ s/\.$//;          #removes trailing period
         $value =~ s/[  #removes all funky characters
         $value =~ s/   #removes a preceeding /
         $value =~ s/\/\//\//g;    #removes double /
         return $value;
 }
Two solutions:
 1 - don't leave spaces behind lines in the config file
 2 - improve the stripping out of whitespaces. I presume the sub responsible is makeCompliant in url.pm. I am not sure how to change it as it seems that the sub is already doing this.

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
? Question marks, Squares, strange characters on upgrade to 6.2.x+
You might wish to check out the translations page to download a regional fix for your install.
You might also see if (from 5.x) that you have no 1000's in languageId of your page table. If so, you can quickly fix your USS's by an UPDATE SQL query to the language of your choice.
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Problem with Request. SQL Column Errors
This should be completely resolved by 6.2.9, but just in case...
objectIds were changed from int(11) to char(22), which affected a LOT of stuff. SQL queries running on 'where pageId='.pageId should be set with
 'where pageId='.quote(pageId) 
in order for the full Hashed Id to be queried properly.
If you code or use an installed Macro, be aware of this distinction. If you find an error like that in the main code, do check and submit a bug report exactly what module and error message.
This is just one of the reasons that you shouldn't try to mix and match 5.x and 6.x macros and wobjects.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Links going to localhost
From Len Kranendonk, www.primaat.com: Links going to localhost or some weird place reflect the sitename field in WebGUI.conf.
I'm not savvy with searching for a .conf file and want to know how to change all the links that point to "localhost" to my main site url through the WebGUI interface. If that's not possible, then where do I find this .conf file to modify?
Thanks
First, understand that WebGUI will try to use the same domain that you use, for most of its links, especially if Apache set "UseCanonicalName Off". So, if you are using http://localhost to connect to WebGUI, it's likely that WebGUI will keep using that as a matter of course during your session.

That said, let's say you have a real problem with WebGUI. The .conf file is one that you should have set up, unless you used one of these all-in-one installers. The webgui.conf file is located in your /path/to/WebGUI/etc/webgui.conf ... you should simply edit this file and change the sitename accordingly.

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Can't locate .... in @INC
Len provided this:
When I load a page I randomly get errors like:

 "FATAL: Authentication module failed to compile: WebGUI::Auth::WebGUI.Can't locate WebGUI/Auth/WebGUI.pm in @INC"
"WARNING: Wobject failed to compile: WebGUI::Wobject::USS.Can't locate WebGUI/Wobject/USS.pm in @INC"
I solved it by adding this to the httpd.conf:
 PerlSwitches -I/data/WebGUI/lib
This happened on Apache/2.0.50 (FreeBSD) mod_perl/1.99_16 Perl/v5.8.5
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Can I... Why can't I... Why isn't anyone answering my question about 5.x?
Because, unfortunately, there apparently aren't that many adopters of 5.x who are giving free advice.

Almost every question re 5.x has been answered, fixed or improved in 6.2.x. All new development is centered around that and increasing in 6.3.0+. It is hard to code improvements on new technology and retrofit to old tech. However, that doesn't necessarily mean it's not possible to do what you want. Sometimes just observing the CVS code changes (http://cvs.sourceforge.net/viewcvs.py/pbwebgui/WebGUI/lib/WebGUI/) can give you hints on how to make the changes for you.

Me, personally? I'm not able to provide a lot of support on something that I'm not running.
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Theme import problems uid/gid, Byte order is not compatible. Storable.pm (6.2.x)
The short short: Themes created in Apache1/mod_perl do not import in Apache2/mod_perl2, and vice versa. This is regardless of version.

The answer is that Storable.pm has a store method and an nstore method. Up to and including 6.2.9, themes are created with the store method, which means they are only valid with the architecture/OS on which they were created. The nstore (network) store method allows cross-platform themes to be created.

These changes need to be made by one who is exporting themes. It has no affect to "fix" broken themes to import properly.

In Attachment.pm:

Change line 28 from:

 use Storable;
to:
 use Storable qw(nstore retrieve);
Change line 660 from:
 store $hashref, $self->getPath;
to:
 bless $hashref;
 nstore $hashref, $self->getPath;
Now you can export cross platform themes!
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Graphical Editor for Firefox, Netscape?
So, you've been messing with WebGUI using Firefox and Netscape and basically thought, "ok, but I thought this was GUI... Is there a graphical editor?"

The answer is: yes! Click your name/go to your profile and edit profile. Scroll ALL THE WAY TO THE BOTTOM. See a drop-down box "Editor to use"? Try: HTMLArea 3. Click 'Save'.
wg-fomATgwyDOTorg

In 6.3+, TinyMCE is the default editor, so there shouldn't be a reason to ask this question.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
How do I use WebGUI on a nonstandard (not port 80) port?
Of course httpd.conf needs to be Listening on the port. If I understand it correctly, the webgui.conf for your site should have sitename=site:port as I believe the conf file is used to present the sitename throughout WebGUI.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
All your troubles are belong to ImageMagick
JPG support, preload.perl Auth, and a host of other issues are directly related to ImageMagick not being installed, or not being installled properly.

FreeBSD has it relatively easy (portinstall ImageMagick). Most package management systems should install ImageMagick properly, but *some* binary installs might not have jpg support. IMHO, it is probably best to install ImageMagick compiled from source (--with-jpg), instead of RPM binaries. Your results may vary, but.. hey, I'm just warning you. *SOME* people find that they might also need to install Perl::Magick from CPAN. I'm not yet convinced, but you shouldn't install Perl::Magick until AFTER you have installed ImageMagick. Well, your choice. I'm just saying that Perl::Magick doesn't install ImageMagick, necessary for WebGUI to function.

wg-fomATgwyDOTorg

I mean it. If you can't
 perl -e "use Image::Magick;"
without error you're not going to have fun and get cryptic error messages like:
 FATAL - WebGUI.conf - WebGUI::Operation::Auth::getInstance[47] - Couldn't instantiate authentication module: WebGUI. Root cause: Can't locate object method "new" via package "WebGUI::Auth::WebGUI" at /data/WebGUI/lib/WebGUI/Operation/Auth.pm line 46.
 ERROR - WebGUI.ErrorHandler - WebGUI::Operation::execute[63] - Couldn't execute operation : WebGUI::Operation::Auth::www_auth. Root cause: ModPerl::Util::exit: (120000) exit was called at /data/WebGUI/lib/WebGUI/ErrorHandler.pm line 197

wg-fomATgwyDOTorg
This also applies to:
 Couldn't call method view on asset for url:  Root cause: Can't locate object method "get" via package "WebGUI::Storage::Image" at /data/WebGUI/lib/WebGUI/Asset/Wobject/Article.pm line 178.

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
WebGUI shows "Initial Configuration" screen but "save" does not work
So, you have EVERYTHING up and running, all all "checks" out okay. But you cannot login past the initial screen.
Did you forget something? Probably. Buried deep in the "installation guide" in the section marked "WebGUI Gateway" is this tidbit.....
TIP: If you are installing into a directory other than /data then you'll need to modify preload.perl accordingly.
Not really a TIP, but rather a MUST. Make sure that the PATH fixed in perload.perl or else nothing will work.
mtiltonATchicousdDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
My Intranet is behind a proxy server. How do I use Syndicated Content behind a proxy server?
Version: 6.5+, but perhaps others might benefit:
There is a line (6.5.5's line number is 205) in WebGUI/lib/WebGUI/Asset/Wobject/SyndicatedContent.pm that looks like:
 my $ua = LWP::UserAgent->new(timeout => 5);
Immediately after that, you can put a line like this:
 $ua->proxy(['http', 'ftp'], 'http://proxy:port');
or
 $ua->env_proxy;
You may consider this in HttpProxy.pm. HOWEVER, HttpProxy.pm does kindly include
 $useragent->env_proxy;
which means that it will observe environment variables that end with _proxy:
 http_proxy="http://proxy:port"
 ftp_proxy="ftp://proxy:port"
 no_proxy="localhost,my.domain"
More info: http://search.cpan.org/~gaas/libwww-perl-5.803/lib/LWP/UserAgent.pm#Proxy_attributes
Of course, changes to .pm might mean that you should stop and restart apache.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
How do I send to multiple recipients in a dataform?
Perhaps the easiest way is to create an email address that forwards to all the recipients.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
6.6.3-6.6.4 Upgrade problems. (Blank Admin Bar) -- wrong HTML::Template
As usual, read the gotcha.txt. Upgrade HTML::Template. You'll also need to remove/disable WebGUI/lib/HTML/Template.pm.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
I hate the GUI Editor! It screws up my code!
Simple: place code in a snippet and call it with ^AssetProxy("snippetname");
wg-fomATgwyDOTorg
There is another answer: Create your own custom Editor in WebGUI.

http://tinymce.moxiecode.com/tinymce/docs/reference_configuration.html for reference on what you can add.

Specifically, you will want to take a look at http://tinymce.moxiecode.com/tinymce/docs/option_extended_valid_elements.html ... the defaults ignore things like alt tags for links and onmouseover for links. Adding what you're missing to extended_valid_elements will keep the "cleanup" from erasing your code.

in 6.6, you couldn't edit the built-ins, nor copy them, so the best you could hope for is to reconstruct them from what they looked like. Check for the other options you can add.
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
How to reset my password? I'm locked out!
have database accessibility? version 6.6.x

update authentication set fieldData='RvlMjeFPs2aAhQdo/xt/Kg' where userId='3' and fieldName='identifier'

resets admin to 123qwe

I'd suggest you might manually do this inside phpmyadmin or some such.
wg-fomATgwyDOTorg

"Lost" passwords can also be attributed to someone pressing the "Recover Password" link and not having a valid SMTP server or email address configured.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Can I nest Macros? Can I nest href's in macros?
Yes.

It's ok to use single quote (apostrophe) ' instead of quotation marks " inside HTML and macros.

This won't work:

 ^GroupText("mygroup","<a href="/some/path">Hello, ^@;. This Link if I'm in mygroup. </a>");
This will work:
 ^GroupText("mygroup","<a href='/some/path'>Hello, ^@;. This Link if I'm in mygroup. </a>");

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
How can I get mailman and other progs to work in 6.8+?
Check this thread: http://www.plainblack.com/etcetera/problems-interacting-with-other-perl--cgi-tools
Short answer add passthrus to webgui.conf and add to httpd.conf:
 <Location /mailman>
    SetHandler None
 </Location>
<Location /ServAdmin> SetHandler None </Location>
Hint: You need SetHandler None on all cgi folders.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Not WebGUI: VirtualHost DocumentRoot gets overwritten by VirtualDocumentRoot in httpd.conf
I had a problem. VirtualHost DocumentRoot was being ignored... after troubleshooting httpd.conf, I came to the conclusion that it was because of VirtualDocumentRoot. http://httpd.apache.org/docs/2.0/mod/mod_vhost_alias.html is a great read, especially if you don't want to configure WebGUI for bunches of new sites, without having to reconfigure httpd.conf.


wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Troubleshooting :
Hint: How to get WebGUI to parse only WebGUI sites?
One way is to have subdomains that only run WebGUI sites. You can use the same DocumentRoot, too.

OK, the real way is to adjust "passthruUrls" in your httpd.conf, and if you *have* to do it (for cgi-bin stuff, such as mailman), you may have to use <Location /cgi/bin>SetHandler None</Location>.
But to be "nicer", you have the option of setting a VirtualHost that is WebGUI specific (webgui.domain, www2.domain, etc.) and then your old stuff is still normally accessible, and your WebGUI new stuff doesn't kill your hundreds of pre-WebGUI sites you might have in development.
wg-fomATgwyDOTorg

[Append to This Answer]
(Category) (Category) WebGUI FAQ :
Web Design
How-to make your content *shine*
wg-fomATgwyDOTorg
Subcategories:

Answers in this category:

(Answer) How do I create a new Site theme/template?
(Answer) How to Center coolmenu ...
(Answer) How to check if user is Visitor (Logged on) or not?
(Answer) How to retrieve USS items in a list...
(Answer) Logon Macro issues 6.2.9
(Answer) TMPL_IF, TMPL_LOOP... What's it all about?
(Answer) Add dropdown list of posted articles to User Profile
(Answer) How do I add custom fields to USS? (6.2.x)
(Answer) How do I remove index.pl? (invalid for 6.8.x+)
(Answer) How do I use the SQL Macro to populate items in a drop down list in a DataForm?
(Answer) How do I make a Recent Discussion list?
(Answer) Can you point me to some things that I can do with a DataForm?
(Answer) How do I provide specific content based upon a field in a user's profile?
(Answer) How do I deal with macros that need "s and HTML that needs "s?
(Answer) How do I include Javascript in my Articles, etc.? The <script> tags keep getting mangled!
(Answer) In a Weblog template of a CS (6.6+), how do I know where the Synopsis will end?
(Answer) How do I pull the first words, sentences, paragraphs from a SQL Query?
(Answer) Cross-Site database access
(Answer) Create an RSS feed quickly and easily 6.7+
(Answer) Javascript: Display a number in an input text as money.
(Answer) How do I mouse-over thumbnails to replace big image?
(Answer) How do I use *my* design in WebGUI?
(Answer) Basic Template for Thumbnails

[New Answer in "Web Design"]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I create a new Site theme/template?
For 6.2.x
This assumes you know how to log on as Admin, Turn Admin On, and choose the edit button.


First, understand that there are three parts to a design:

 A style template
 A page template
 Content.
The style template is the static layout of the site. It handles how the head and body is supposed to look, style wise. CSS and other information about the layout of the shell of the site is put here. It is intended to be that the site doesn't change its shell much. If it does change, the expectation is that the style is either replaced or copied and changed.

In the <head> tags, the following should likely exist:

 <head>
 <title><tmpl_var session.page.title> - <tmpl_var session.setting.companyName></title>
 <tmpl_var head.tags>
 </head>
The <body> should contain at least:
 ^PageTitle;
 ^AdminBar(2);
 ^Navigation(type or name);
 ^L(17,"User:<a href=^/;?op=displayAccount>^@;</a>. %Logout%");
 <tmpl_var body.content>
(The locations and content of the macros should be customized according to the needs of the site).

Optionally, add the D (date) macro, c (company) macro, etc.. in appropriate places.

The Page Layout template is designed to allow for ease of transitioning between, say, a single-column page to a left-bar or a right bar or a three columns over one type scenario, among others. The Page Layout template also provides the editing icons interface that appears when the "Turn Admin On" is used. Usually, you shouldn't want to change these templates, but they are available if you do.

Content is Wobjects. (Web Objects). Articles, SQL Reports, Dataforms, etc. Each has their own default template to display. This is where the content of the page is provided.
wg-fomATgwyDOTorg

PS: If you want to drag content under navigation, put the navigation in the page template, above the position_loop, instead of in your style template.
wg-fomATgwyDOTorg
A suggested minimum (If you use this as a style template, you won't get lost/locked out easily):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><tmpl_var session.page.title> - <tmpl_var session.setting.companyName></title>
<tmpl_var head.tags>
</head>
<body>
^AdminBar(2);
<br />
^PageTitle;
^Navigation(FlexMenu);
^L(17,"User:<a href=^/;?op=displayAccount>^@;</a>. %Logout%");
<tmpl_var body.content>
</body>
</html>
wg-fomATgwyDOTorg
Just a reminder to change Navigation to AssetProxy in 6.3x+.

Also, I've been a proponent of putting Navigation in the Page Template. The problem with this is that it won't show up in renderings where only one asset might be on a page. There is no choose-your-own default page template, and it's of course not recommended to make changes to the default templates because upgrades tend to overwrite them.
wg-fomATgwyDOTorg

Don't forget to add the Admin Toggle:
^AdminToggle;
As it appears to be missing above. I added it as follows:
^L(17,"User:<a href=^/;?op=displayAccount>^@;</a>. %Logout%"); &middot; ^AdminToggle;
aewhaleATABS-CompTechDOTcom
AdminToggle is good. I think it is necessary to revamp the default "assumed" stuff in this FAQ. Essentially, AdminBar (I think) was supposed to be the same thing but in 6.x
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How to Center coolmenu ...
From nuba:
Change line 151 html file to
 coolmenu.menuPlacement="center" 

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How to check if user is Visitor (Logged on) or not?
From Klaus :^GroupText("Visitors","Display this message","Display this alternate message");

From Len (adjusted by crythias for generic usage):
^GroupText(Visitors,<div align="center">
<a href="/index.pl/home?op=displayLogin">
<^I(someimagename);" width="183" height="35" alt="Click here to login!" border="0">
</a>
</div>
<div align="center" style="padding-top: 10px;">,<center><a class="myAccountLink"
href="/index.pl/packages?op=displayAccount">My
Account</a></center></div>);

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How to retrieve USS items in a list...
From a post from Crythias:
Here is a query:

 select page.title, page.urlizedTitle, USS_submission.dateSubmitted,
 USS_submission.title, USS_submission.username, USS_submission.userId,
 USS_submission.USS_submissionId, USS_submission.status, 
 left(USS_submission.content,100), USS_submission.image from USS_submission 
 left join USS on USS_submission.USS_Id=USS.USS_Id left join wobject on
 USS.wobjectId=wobject.wobjectId left join page on page.pageId=USS_submission.pageId 
 where USS_submission.status='approved' order by USS_submission.dateSubmitted desc limit 7

and here is another:

 select page.title, page.urlizedTitle, USS_submission.dateSubmitted, 
 USS_submission.title, USS_submission.username, USS_submission.userId, 
 USS_submission.USS_submissionId, USS_submission.status, 
 left(USS_submission.content,100), USS_submission.image from USS_submission
 left join USS on USS_submission.USS_Id=USS.USS_Id left join wobject on
 USS.wobjectId=wobject.wobjectId left join page on wobject.pageId=page.pageId
 where USS_submission.status='approved' order by USS_submission.dateSubmitted
 desc limit 7
The first query gives you the URL of the USS (only the USS). The second should
give you the root of the page containing the USS (and other stuff on that page).
Here's a template:
 <tmpl_if displayTitle>
   <h1><tmpl_var title></h1>
 </tmpl_if>
<tmpl_if description> <tmpl_var description><p /> </tmpl_if>
<tmpl_if debugMode> <ul> <tmpl_loop debug_loop> <li><tmpl_var debug.output></li> </tmpl_loop> </ul> </tmpl_if>
<table width="100%"> <tmpl_loop rows_loop> <tr><td> <a href="^/;<tmpl_var row.field.urlizedTitle.value>"><tmpl_var row.field.title.value></a> ^D(%M/%D/%Y,<tmpl_var row.field.dateSubmitted.value>);<br /> <tmpl_var row.field.left(USS_submission.content,100).value><br /> </td></tr> </tmpl_loop> </table>
<tmpl_if pagination.pageCount.isMultiple> <div class="pagination"> <tmpl_var pagination.previousPage> <tmpl_var pagination.pageList.upTo20> <tmpl_var pagination.nextPage> </div> </tmpl_if>

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
Logon Macro issues 6.2.9
 ^L(17,"User:^a(^@;);. %Logout%");
             ^^^^^^^^ doesn't work when %% tags exist
 ^L(17,"User:<a href=^\;?op=displayAccount>^@;</a>. %Logout%");
works.
wg-fomATgwyDOTorg
Try this for 6.7x: <a href="?op=auth;method=displayAccount">^@;</a>
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
TMPL_IF, TMPL_LOOP... What's it all about?
From bottelberghs: The boolean expressions in HTML::Template are evaluated in this way: the expression is true if the following conditions are met:

   1. the variable must exist (=> is there a key in the hash-reference of 
      variables with this name?) and be defined (so it may not be assigned undef);
   2. the value of the variable must not be empty (e.g. may not be a string 
      with no content);
   3. the value of the variable may not be zero (as in the integer 0);

In any other case, the expression will be evaluated to false.

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
Add dropdown list of posted articles to User Profile
In conjunction with hj we came up with the following:
 <script type="text/javascript" language="JavaScript">
        <!-- 
        function GoThere(fe){
                var opt_key = fe.selectedIndex;
                var url_val = fe.options[opt_key].value;
                window.open(url_val,'_top');
                return true;
        }
        //-->
 </script>
<form name="form" method="post" action="">
<select onChange="GoThere(this);">
<option value="0">-- Choose One --</option>
^SQL("select
page.title,
page.urlizedTitle,
USS_submission.title,
USS_submission.userId,
USS_submission.USS_submissionId,
USS_submission.status,
USS_submission.image,
USS.wobjectId


 from USS_submission


 left join USS on USS_submission.USS_Id=USS.USS_Id
left join wobject on USS.wobjectId=wobject.wobjectId
left join page on page.pageId=USS_submission.pageId


 where USS_submission.userId='^FormParam(uid);' and USS.wobjectId=273  and USS_submission.status='approved'
order by USS_submission.dateSubmitted", <option value='^/1;'>^0;</option> );
</select>
</form>

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I add custom fields to USS? (6.2.x)
Take a look at the help. (hint: append this to your own WebGUI site) ?op=viewHelp&hid=submission%20form%20template&namespace=USS

Essentially, change the USS form and template to include <tmpl_var userDefined1.form> where you want to see the box for the custom field. Be certain to include that variable in your display template as well.

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I remove index.pl? (invalid for 6.8.x+)
This is a bit old, but it probably still works: http://www.inertramblings.com/archives/000229.html
wg-fomATgwyDOTorg
Don't have to worry about this in 6.8+ (index.pl is removed and replaced with the WebGUI Handler of httpd.conf)
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I use the SQL Macro to populate items in a drop down list in a DataForm?
it's possible. HTML purists won't like it, but it is possible.
From crythias:

(Note: This will not make your HTML TIDY or compliant)
At least in 6.2.x, you could put your SQL Macro in the possible values section. Here's a hint: use something like
CONCAT('<OPTION VALUE=',valuefield,'>',listfield)
... A little playing around and you just might see it work.
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I make a Recent Discussion list?
Please note: This is probably answered completely in the Ruling WebGUI pay-for version. Any information listed here came from public discussion.

http://www.plainblack.com/etcetera/recent-discussions/5 is a link to check out.
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
Can you point me to some things that I can do with a DataForm?
First, understand that the Default DataForm Template has
 <tmpl_var form.start> 
which expands to
 <form action="/path/to/form-url" enctype="multipart/form-data" method="post" >
 <div class="formContents">
 <input type="hidden" name="func" value="process"  />
This places the contents into the database, parsed for appropriate content. If you're going to do something *more* with the data than the Default Acknowledgement page, you might consider removing the <table> in the Acknowledgement Template and using a SQLReport by calling it with the ^AssetProxy("SQLReportAssetId"); (v6.5+) and placing that macro in the place of the <table>. The SQLReport should already be defined. Make certain you have
 FormParam => FormParam, \
in your webgui.conf **macros** section (located in WebGUI/etc. It might be www.domain.com.conf). Then, in your SQLReport, you can use ^FormParam("field"); to search.
wg-fomATgwyDOTorg
The above is nice when you don't need any interactivity with your data. That is, you are simply "adding" to your data with the DataForm. What if you're trying to look something up?

Honestly, don't use DataForm. Here's a sample: http://www.gwy2.org/cgi-bin/fom?file=46



wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I provide specific content based upon a field in a user's profile?
Either use the ^If(condition,"result","else result"); macro (You'll need to add it manually to your etc/webgui.conf or etc/www_example_com.conf --
 If => If, \
) or use Javascript:
 <script type="text/javascript">
 <!--
 var x= "^User("gender");"
if ( x =="male") { document.write("he ") } else { document.write("she ") } --> </script>

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I deal with macros that need "s and HTML that needs "s?
Very simply: instead of (a non-functioning example:)
 <a href="^UrlMacro("assetId");">Click me</a>
Try:
 <a href='^UrlMacro("assetId");'>Click me</a>
(note the single quotes!)
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I include Javascript in my Articles, etc.? The <script> tags keep getting mangled!
Put your script in a Snippet, and call the Snippet with an AssetProxy macro.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
In a Weblog template of a CS (6.6+), how do I know where the Synopsis will end?
The code for synopsis is based upon where a \n is located in the body/description of a Weblog Post. At the point of a physical new line (not a <p> or <br>), the ^-; macro is added to the synopsis/body, and chopped off to the left to provide the Synopsis. HOWEVER, if the body *has* a ^-; in it (view your document in HTML mode, perhaps?), *that* is the point that will determine the synopsis length.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I pull the first words, sentences, paragraphs from a SQL Query?
Here's a sample that will pull (space delimited, mind you) the first 5 words from Post.content
 SELECT CONCAT(SUBSTRING_INDEX(content, ' ',5) , 
 if(CHAR_LENGTH(content)-CHAR_LENGTH(SUBSTRING_INDEX(content, ' ',5))> 0, 
 '...',' ') COLLATE utf8_general_ci) as str from Post
I leave it as an exercise to the reader to filter the feeds. NOTE: Post.content already is a short version of the full content. I'd also *suggest* that one might include exit tags as indicated, although it could possibly break TIDY:
 SELECT CONCAT(SUBSTRING_INDEX(content, ' ',5) , 
 if(CHAR_LENGTH(content)-CHAR_LENGTH(SUBSTRING_INDEX(content, ' ',5))> 0, 
 '...',' ') COLLATE utf8_general_ci, '</b></u></i></p>' COLLATE utf8_general_ci)
 as str from Post

Sentences? change the ' ' to '.' and the count appropriately.
Paragraphs? change the ' ' to '</p>' or '<p>' and the count...
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
Cross-Site database access
To access the wg db of one site from another wg site: www.site1.com db=www_site1_com www.site2.com db=www_site2_com
on site2 create a new database connection whose connect string is: DBI:mysql:www_site1_com
Now you can access the db from both sites. It's probably a bad idea to write anything to site1 from site2 though. I have not even tried that. I just use it for accessing the same news items on each site. I update one site and they all get it.
[Append to This Answer]
howellATnbccDOTorg
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
Create an RSS feed quickly and easily 6.7+
0) Create a new Page Layout to hold RSS content

1) Create a Snippet with Mime Type RSS

2) Create a Navigation (and make it only see stuff on the current page) such as:

 <tmpl_if session.var.adminOn><tmpl_var controls><br /></tmpl_if><?xml version="1.0"?>
 <rss version="2.0">
 <channel>
   <title>INSERT TITLE HERE</title>
 <description>GIVE A GOOD DESCRIPTION</description>
 <link>http://YOURDOMAINHERE/^H(linkonly);</link>
  <tmpl_loop page_loop>
    <item>
     <title><tmpl_var page.menuTitle></title>
     <link>http://YOURDOMAINHERE/<tmpl_var page.url></link>
    </item>
  </tmpl_loop>
 </channel>
 </rss>
3) put the ^AssetProxy(navigation URL); inside the Snippet

4) Add shortcuts to the RSS Page (don't forget you can put expirations on the shortcuts)

5) Use the url of the Snippet in your links to RSS. To make a live Bookmark, add this to your <head>:

 <link rel="alternate" type="application/rss+xml"
    title="RSS FEED TITLE GOES HERE" href="/path/to/snippet/url" >

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
Javascript: Display a number in an input text as money.
 <SCRIPT type="text/javascript" LANGUAGE="JavaScript"><!--
 function outputMoney(number) {
      number=checkval(number);
     return "$"+outputDollars(Math.floor(number-0) + '') + outputCents(number - 0);
 }
function checkval(mycheckval) { mycheckval=mycheckval.replace(/,/g,""); mycheckval=mycheckval.replace(/\$/g,""); return (mycheckval); }
function outputDollars(number) { if (number.length <= 3) return (number == '' ? '0' : number); else { var mod = number.length%3; var output = (mod == 0 ? '' : (number.substring(0,mod))); for (i=0 ; i < Math.floor(number.length/3) ; i++) { if ((mod ==0) && (i ==0)) output+= number.substring(mod+3*i,mod+3*i+3); else output+= ',' + number.substring(mod+3*i,mod+3*i+3); } return (output); } }
function outputCents(amount) { amount = Math.round( ( (amount) - Math.floor(amount) ) *100); return (amount < 10 ? '.0' + amount : '.' + amount); }
//--></SCRIPT>
and for the field, I have...
 <input type="text" name="salary" onclick="this.value=checkval(this.value);this.select();" onBlur="this.value=outputMoney(this.value)"> 
I'm expecting to have JS active for my in-office usage, so I'm not absolutely paranoid about JS being on or off.
I'm also expecting to do something like
 <form onsubmit="salary.value=checkval(salary.value)">
to make certain I've stored the proper type of number.
The onclick part allows for the entire value to be highlighted-selected after removing $ and commas.
Main js code copied from http://www.irt.org/script/723.htm
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I mouse-over thumbnails to replace big image?
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
How do I use *my* design in WebGUI?
http://www.plainblack.com/community-wiki/how-to-give-webgui-your-own-style
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Web Design :
Basic Template for Thumbnails
Courtesy of rizen via irc: see it in action at http://www.plainblack.com/wuc/photos
 <a name="<tmpl_var assetId>"></a><tmpl_if session.var.adminOn>
 <p><tmpl_var controls></p>
 </tmpl_if>
 
 <tmpl_if displayTitle>
      <h1><tmpl_var title></h1>
 </tmpl_if>
 
 <tmpl_if description>
     <tmpl_var description>
 </tmpl_if>
 <style>
 #thumbContainer{
        text-align: center;
        margin: 10px auto;
 }
 .thumbnail{
        float: left;
        margin: 5px;
        padding: 3px;
        border: 1px solid #e3e3e3;
 }
 </style>
 
 <tmpl_loop file_loop>
        <div class="thumbnail"><a href="<tmpl_var file.url>"><img src="<tmpl_var thumbnail.url>" border="0" alt="<tmpl_var title>"></a></div>
 
 </tmpl_loop>
 <div style="clear:both;"></div>

wg-fomATgwyDOTorg
[Append to This Answer]
(Category) (Category) WebGUI FAQ :
Unanswered Questions
Please ask a question here if it isn't answered in the FAQ. This is a free-for-all.
Hint: Click New Answer, change the title "New Item" to your question, and don't answer it.
Subcategories:

Answers in this category:
(Answer) `Apache::Registry': Can't locate Apache/Registry.pm @INC
(Answer) I am BRAND new with lots of questions
(Answer) What are some "best practices" for using Webgui?
(Answer) How do I enable registration?
(Answer) Installing WebGUI on a server that is also running php scripts...
(Answer) Colored Vertical
(Answer) I am looking at CMS' and I like what I see so far of WebGUI, however I have not been able to find out if it offers the two features I need. Feature (1) automitic RSS feed generation from a web page. (2) MP3 file download (no play) management module. And (3) easy instructions/manual for how to set up and use these features. BTW - This FAQ isn't WebGUI, is it? And if not, why are you not using WebGUI?

[New Answer in "Unanswered Questions"]
(Answer) (Category) WebGUI FAQ : (Category) Unanswered Questions :
`Apache::Registry': Can't locate Apache/Registry.pm @INC
I am trying to have WebGUI up and running on Win XP
These are the versions info Apache/2.0.52 (Win32) PHP/5.0.3 mod_perl/1.999.21 Perl/v5.8.4 Server at 192.168.2.19 Port 100
Pulled the webgui-latest.tar.gz from this website.
I have already bugzilla installed in the same system. So could not use the All-in-one Win32 installer. Had to use the steps provided from http://www.webgui.nl/windows_installation
Error Log shows the error message in the subject. Copying and pasting below my httpd.conf file
 <stuff snipped by wg-fom@gwy.org> 
 NameVirtualHost 192.168.2.19:100
 <VirtualHost 192.168.2.19:100>
 ServerName rengucha.loc
 ServerAlias www*.rengucha.loc
 Documentroot "C:/www/WebGui/www"
  <Directory "C:/www/WebGUi/www">
  AddHandler perl-script .pl
    PerlHandler Apache::Registry
    PerlSendHeader On
    Options Indexes FollowSymLinks MultiViews ExecCGI 
    AllowOverride None 
    Order allow,deny 
   Allow from all 
  </Directory> 
 </VirtualHost>

renguchaATgmailDOTcom, wg-fomATgwyDOTorg
Simply change Apache::Registry to ModPerl::Registry in both httpd.conf and preload.perl.
Note: This is a known issue with mod_perl2 and apache2.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Unanswered Questions :
I am BRAND new with lots of questions
I have just inherited the framework only of our newly designed website in WebGUI. I know that it is a version of WebGUI 6, but I do not know which version or how to find out. Our technical manager just finished work at the end of September and although I have seen and heard about the wonderful WebGUI I have not worked in it at all and now I am just diving in with virtually no knowledge. Furthermore I am not a compuer person per se - I am a teacher and an empowerer of disadvantaged people and all about demystifying confusing and scary bodies of knowledge i.e. I don't speak the language. With that introduction I hope that my questions will sound too dumb that there will be understanding for a real person who is trying to make use of powerful technology to give people who need it a helping hand. I do not know which version of WebGUI I am using, how do I find out - asking the administrator is not an option - I am for all intents and purposes now the administrator. The question that is most pressing now is how do I track an asset - that is I know I have the asset either there is an asset proxy to it, or it was in the trash and I restored it, buthave no idea how to go about finding it. If I know the URL for it can I search my assets for it? Thanks for any patience and plain English guidance you can offer. PS - below this box in which I am typing in my question, it says Hide Attributions. What is an attribution? I am not ticking this box for now as it is not ticked at the minute
crobinsonATmlriDOTorg
Welcome to WebGUI.

One of the easiest ways to determine your version of WebGUI is to "View Source" on a WebGUI page. The version is in the header.

The question that is most pressing now is how do I track an asset - that is I know I have the asset either there is an asset proxy to it, or it was in the trash and I restored it, buthave no idea how to go about finding it. If I know the URL for it can I search my assets for it?
When Admin is turned on, you can view Assets by entering the Admin, Assets part of the toolbar. Stuff on clipboard (copied/cut assets) will be on the admin toolbar under clipboard. I'd provide more specific answers if I had more information on what you were trying to accomplish.

PS - below this box in which I am typing in my question, it says Hide Attributions. What is an attribution? I am not ticking this box for now as it is not ticked at the minute
It essentially means, hide who posted messages. My obscured email address would not be appended if I checked the box.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Unanswered Questions :
What are some "best practices" for using Webgui?
I am rolling out a new site built on Webgui, and many people who are to become authors are asking about the "best way" to do things.
For instance, what are some of your expereinces with methods that worked for building Image repositories?
qhartmanATlaneDOTk12DOTorDOTus
The easiest thing for image repositories in 6.7.+ is to simply FilePile upload them, then Hide the uploaded image assets (from the Display tab of the Page Layout edit screen).

Once there, you can do a lot. Believe it or not, WebGUI is so customizeable that you can choose to upload files and give them any URL you want, regardless of where they were uploaded. If you choose to use the Asset Installer app, images/files might go into the Import Node. I've seen it done, and it makes sense, especially to convert from web templates... to change references from src="images/image.jpg" to src=^FileUrl("images/image.jpg");", where image.jpg is the file you uploaded and the URL is manually changed to images/image.jpg. The downside of this, of course, is to know that the ability to edit or remove that image could be hidden if you don't know the page upon which the filepile was unleashed.


WebGUI Folders could be used to help organize these images (and preview them outside of normal web views) if they become unruly. The beauty of a database of files/images is the complete disconnect between where you think the images are/should be located and the actual location of the images. In a way, user ignorance of their current location except by reference -- that is, a user knows that the image is at images/image.jpg; and user preference about where to dump images for a new project -- "hidden" in the page that's to be shown to the world ; this actually gives rise to the flexibility for you to make your own "best practices".
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Unanswered Questions :
How do I enable registration?
Admin on, Settings, User tab, Anonymous Registration (*) Yes.
wg-fomATgwyDOTorg
You can then add ?op=auth;method=createAccount to a URL if you want to manually add a link to registration.Of course, anyone else can do this on any URL as well.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Unanswered Questions :
Installing WebGUI on a server that is also running php scripts...
Is it possible to run WebGUI on a server that is also running php scripts on other domains? Example: Domian1.com is set up running Mambo, Domain2.com is running a php auction script, Domain3.com is running an html site with a php script running on a subdomian, I want domains 4,5,& 6.com to running using WebGUI for the CMS, Domain7.com is running a billing script written in php.

Is this possible? I know that "ideally" it is good to run WebGUI on its own server, but can WebGUI be installed at the root with mod_perl installed along with running the php scripts on the other domains? Or do I need to install seperate instances of WebGUI in each individual domain as a cpanel installation?
Although I know that running WebGUI as a cgi script is taxing on the system and has been known to overload my server and shut it down.
Any help is greatly appreciated. Thanks!!!
webmasterATwebbizinfoDOTcom

Yes. Because I know I and others use phpmyadmin with WebGUI
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Unanswered Questions :
Colored Vertical
 <tmpl_loop page_loop>
 <tmpl_var page.indent>
 <span class="<tmpl_if page.depthis4>CSS_RED_CLASS</tmpl_if>
 <tmpl_if page.depthis5>CSS_GREEN_CLASS</TMPL_IF>
 <tmpl_if page.depthis6>CSS_WHITE_CLASS</tmpl_If>"> 
<tmpl_if page.isCurrent><img src="an arrow"></tmpl_if><a <tmpl_if page.newWindow>onclick="window.open('<tmpl_var page.url>')" href="#" <tmpl_else>href="<tmpl_var page.url>"</tmpl_if>><tmpl_var page.menuTitle></a> <br /> </span> </tmpl_loop>

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Unanswered Questions :
I am looking at CMS' and I like what I see so far of WebGUI, however I have not been able to find out if it offers the two features I need. Feature (1) automitic RSS feed generation from a web page. (2) MP3 file download (no play) management module. And (3) easy instructions/manual for how to set up and use these features. BTW - This FAQ isn't WebGUI, is it? And if not, why are you not using WebGUI?

Automatic generation depends on the type of content. Articles (main content types) may not generate RSS feeds, but Discussion Groups/Forums individually offer feeds.

MP3 file download management? If you find something you like, you can implement it, otherwise, there's no *management* per se. If you expand on your request, perhaps you can find what you are asking for. Check the online demo.

Instructions for RSS and MP3 may be hard to find because they're built-in or you make it.
FAQ isn't in WebGUI format. See the FAQ main page for why.
Also, in case it isn't obvious, this FAQ hasn't really been touched in over a year.

[Append to This Answer]
jamiDOTcwATgmailDOTcom, meATgwyDOTorg
(Category) (Category) WebGUI FAQ :
Sticky/News/Non Sequitur
Stuff that should never ever be in this type of FAQ, but the maintainer
of the FAQ thought it might be nice to put this kind of stuff... somewhere.

Expect links, hints, and tips to make web design easier and maybe a heads up on free Utilities.

Either that or just ignore it 'cause Gerald wanted to organize it somewhere anyway.
wg-fomATgwyDOTorg

Subcategories:

Answers in this category:
(Answer) Dynamic content
(Answer) Freeware color sniffer-DotColor
(Answer) Website Templates
(Answer) Hey, if you do offline editing of web pages, what do you use?
(Answer) Command Line Utility for Windows
(Answer) Copy/Paste Mozilla/Firefox
(Answer) Trials with PUTTY and PAGEANT and SSH keys
(Answer) 3d Text CSS
(Answer) ActiveWidgets Grid
(Answer) Very Cool Drag and Drop extensions
(Answer) Forum Changes 4/8/05
(Answer) For Gerald

[New Answer in "Sticky/News/Non Sequitur"]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Dynamic content
Add some dynamic content to your site...
http://www.pocket-lint.co.uk/syndication.php
http://www.feedroll.com

Of course, you can always use the Syndicated Content Wobject to do the same thing...

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Freeware color sniffer-DotColor
I downloaded DotColor (http://www.inetis.com/index.php?module=programcki) in my search to find a tool that can help me get colors that
I need in webdesign. At first, I thought it was just useless ... I knew my RGB
numbers. I just wanted to get the hex and websafe color combo. Then, I saw it. The
power of the little cling-on box that amplified anything and everything on my
Windows desktop where my mouse hovered and told you the RGB code in hex or R,G,B,
or even told you the websafe color if you want.

At a 39K download, this is easy to use (double-click the eyedropper) and might
be a worthy addition to your web design toolkit.

(the other freeware on that site might be of interest as well.)
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Website Templates
http://www.oswd.org
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Hey, if you do offline editing of web pages, what do you use?
I use http://www.vim.org (GVIM) for quick edits or http://www.chami.com/html-kit/ HTML-Kit for full edits.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Command Line Utility for Windows
I use Bayden SlickRun because it's an unobtrusive little bugger that sits and
waits for you to type something in and just goes there. It's designed around your
own "Magic words" so the mnemonics you use are ... well, yours.
Free: http://www.bayden.com/SlickRun/
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Copy/Paste Mozilla/Firefox
It took me a long time to figure out how to do it, and sometimes RTFM DOES work :) heh heh...
The point: Can't paste into HTML Area3 from Firefox because of security.
The solution: find your prefs.js location. In Windows, it is located in your user profile, Application Data\Mozilla\Firefox\Profiles\SoMeRaNdOmStRiNg
create user.js or modify existing user.js
Add these lines (note that the sites line is a space separated list of sites):
 user_pref("capability.policy.policynames", "allowclipboard");
 user_pref("capability.policy.allowclipboard.sites", "http://demo.plainblack.com http://www.plainblack.com");
 user_pref("capability.policy.allowclipboard.Clipboard.cutcopy", "allAccess");
 user_pref("capability.policy.allowclipboard.Clipboard.paste", "allAccess");

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Trials with PUTTY and PAGEANT and SSH keys
You know why there doesn't seem to be any support for PAM/PUTTY/PAGEANT/SSH?

Because it's so stupidly easy to get it right if you pay attention.

OK, My situation: (I'm a Windows user connecting to, in this case, FreeBSD,
but feel free to insert your *nix distribution here.)
To get started, I assume at least the following:
You have OpenSSH running on your host/server.
You've downloaded putty, puttygen, and pageant.
You have generated a private/public SSH2 keypair.

Here's the kicker: you *MUST* copy the stuff in the gray box to your login on
your host. It's not good enough to copy from the .pub key that you generate.

Where do you put this copied mess? $HOME/.ssh/authorized_keys
it's important that your $HOME directory be chmod 755 or 711.
your .ssh directory should be chmod 700
the files in .ssh should be 600
Pageant should run on your Windows box, and the private key should be added.
Putty should have a configuration (SSH) link to your private key file.
Putty should also try to use SSH2 first.

This has absolutely nothing to do with WebGUI, but what it does mean is that you
can securely access a remote site with your key! (kinda like rhosts, but safer,
both because it encrypts your connection as well as identifies you.)
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
3d Text CSS
I saw this http://www.stunicholls.myby.co.uk/menus/menuten.html

and played around with it.

I use a style sheet like this:

.titlename {
color:black;
font-size:40px;
font-weight: bold;
position:relative;
top:0;
left:0;
}
.emboss {
display: block;
position:absolute;
top:-4px;
left:-2px;
color:white;
}
.emboss2 {
display: block;
position:absolute;
top:-2px;
left:-1px;
color:gold;
}

and code like this:

<div class="titlename">Sample Text</div><span class="emboss">Sample Text</span><span class="emboss2">Sample Text </span></div>

It does looks ugly on non-css browsers, but :)...
(why two emboss? -- the white looks good on colored background!)
Also, you could change the emboss and emboss2 to be display:none and add a :hover style to make the title go 3D on mouseover.
wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
ActiveWidgets Grid
An excel-style grid ... http://www.activewidgets.com
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Very Cool Drag and Drop extensions
http://walterzorn.com/dragdrop/dragdrop_e.htm
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
Forum Changes 4/8/05
Meanwhile, I took the time to browse the submitted sites. Interesting collection. Typo3, mambo, HTML, bad links, pr0n... http://football.plainblack.com having the quintessential WG error. WebGUI versions ranging from 4.4.8 to 6.5.5. Many are still with 5.5, and a lot have 6.2.10 or 6.2.11

I do like the effort that some have made in making WebGUI completely their own.

Me, I think I'm just too busy to be creative. Anyway, if any of this seems to mean anything to anyone, don't bother flaming me about it. I get it that mgmt isn't responsible for links posted by just anyone, even if that isn't disclaimed. I ... I'd just like to see some more good examples of what people have done *with* WebGUI.


Some PERL Suggestions

 * http://search.cpan.org/~cwinters/Workflow-0.15/lib/Workflow.pm
 * http://search.cpan.org/~gmccar/VCS-0.14/VCS.pm
 * http://search.cpan.org/~jpeacock/version-0.42/lib/version.pm
 * http://www.mwforum.org/ http://www.mwforum.org/forum/topic_show.pl?tid=2122
 * http://www.selectorweb.com/community_systems.html

Don't mind me. This isn't the important stuff anyway.

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Sticky/News/Non Sequitur :
For Gerald
http://forums.aspfree.com/archive/t-27155/displaying-sql-statement
wg-fomATgwyDOTorg
[Append to This Answer]
(Category) (Category) WebGUI FAQ :
WebGUI 6.5.x Specific
Questions regarding 6.5.x. You should be using at least 6.5.4 gamma before browsing this section. (Xref) What is the most recent release of WebGUI?
Just a reminder to problems getting started:
 GATEWAY_INTERFACE not Perl error in sbin/preload.perl: 
comment the line or change it to:
 $ENV{MOD_PERL} =~ /mod_perl/ or die "MOD_PERL not used!"; 

http://gwybsd.homeip.net/cgi-bin/fom?file=15 for more troubleshooting steps with regards to mod_perl2, apache2

If you've upgraded Perl by way of OS upgrade or just keeping up with latest releases, you will need to reinstall your cpan perl modules to link to the new version. If you don't do this, apache will crash for no specified reason.

If you contribute to this list, please specify the version to which your answer applies.
wg-fomATgwyDOTorg

This should no longer be an issue because the latest preload.perl does not contain the GATEWAY check.
wg-fomATgwyDOTorg
Subcategories:

Answers in this category:
(Answer) 6.3.0 How to add a new page?

[New Answer in "WebGUI 6.5.x Specific"]
(Answer) (Category) WebGUI FAQ : (Category) WebGUI 6.5.x Specific :
6.3.0 How to add a new page?
It's now called a Layout. With AdminConsole on, AddContent->Layout.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ :
Links to other information
This is a listing of links to other FAQ's. It is not exhaustive, but is provided as a courtesy for those who have come here, but want other viewpoints. Feel free to add a link. Links are subject to moderation.
wg-fomATgwyDOTorg
Plainblack.com's official WebGUI FAQ: http://www.plainblack.com/webgui/faq
Vancouver Community Network: http://cln.vcn.bc.ca/clnwebgui
WebGUI & IIS & SQL Server - HOWTO - Len Kranendonk : http://www.primaat.com/webgui_sqlserver&e=7620
TinyMCE website: http://tinymce.moxiecode.com
TinyMCE options settings: http://tinymce.moxiecode.com/documentation.php
[Append to This Answer]
(Category) (Category) WebGUI FAQ :
WebGUI 7.0 Questions
Info on 7.x as I hear it...
wg-fomATgwyDOTorg
Subcategories:

Answers in this category:
(Answer) When is 7.0 coming out?
(Answer) What's supposed to be new in 7.0?
(Answer) HOWTO: Javascript Form Validation of Required Fields

[New Answer in "WebGUI 7.0 Questions"]
(Answer) (Category) WebGUI FAQ : (Category) WebGUI 7.0 Questions :
When is 7.0 coming out?
It is out as of 7/5/2006.
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) WebGUI 7.0 Questions :
What's supposed to be new in 7.0?
The most important change to 7.0 will be the workflow addition. This addition will enable events to be handled/triggered "behind the scenes" in an asyncronous manner. Some things like "What will happen after a user is subscribed" will be passed through the workflow. There will be much more, including a new SQL Form Asset, and a general clean-up of many of the RFE's that have been outstanding.
wg-fomATgwyDOTorg
WebGUI 6.99.0 Change Log
 - Added a workflow system.
 - Added a workflow scheduler system.
 - Converted the runHourly.pl scripts to run as scheduled workflows.
 - Added version tags menu to admin bar.
 - Added versioning commit comments.
 - Removed autocommit mode in favor of workflow controlled commits.
 - Added a revisions list to the edit screen of assets, so that you can
   quickly edit/view an old revision.
 - Addded a lock menu item to explicitly lock an asset from editing.
 - Run on registration and alert on new user have been converted to a single
   workflow.
 - Added a Photogallery prototype to the default installation.
 - Changed the Group property dbCacheTimeout to be groupCacheTimeout and made
   it cache all the users in a group during that time.
 - Added an option for hosters to limit the number of assets that may be
   created on a WebGUI site.
 - Added a change url function that will allow an editor to change the URL of
   an asset permanently (circumventing normal versioning).
 - Added a wiki-like feature that will automatically bring a user to the
   create a page form if they are in admin mode, and click on a link to
   a page that doesn't exist yet.
 - Help is now capable of using inheritance.
 - Template help can/should now be broken out as seperate fields going
   forward.
 - Many changes for better XHTML compliance.
 - Refactored admin bar to be more dynamic.
 - Removed start/end dates from assets in favor of the workflow system.
 - Readded the purge option to the trash manager.
 - Added an advertising management system.
 - Added a field set grouping mechanism to HTMLForm and TabForm.
 - Added save buttons at the top of all the HTML forms for easier access.
 - Added archive/unarchive options to CS threads.
 - Added a mechanism to send emails to a CS which will accept them as posts.
 - Increased the performance of CS Thread viewing by 500%.
 - Changed the CS post rating mechinism to thumbs up/down to be less
   confusing.
 - Added CS templates to run a request tracker (trouble ticket) style system.
 - Updated TinyMCE rich text editor to version 2.0.5.1.
 - Disabled the rich editor for Safari because it doesn't work correctly.
 - Added install/uninstall functions to the asset and wobject skeletons to
   make custom assets easier to distribute.
 - Added a mechanism for importing and exporting packages. This is useful for
   trading styles and other content between sites.
 - Added a database cache option as an alternative to memcached.
 - Removed page caching system and added individual asset caches, because not
   everything should cache in the same way.
 - Converted WebGUI to use a new object oriented session system. More details
   in migation.txt.
 - Added a sort alphabetically option to the folder asset.
 - Added a User form field type.
 - Added a symbol next to items in the asset manager to indicate if they have children or not.
 - Added more templating options to the Paginator. (thanks to Jukka Raimovaara
   / Axxion Oy)
 - Added the currentPage.rank and currentPage.rankIsN variable to the nav
   template. (thanks to Jukka Raimovaara / Axxion Oy)
 - Added a screenshot feature to the matrix.
 - Added an option to delete Matrix fields.
 - Added a captcha challenge to the contact the maintainer form in the matrix.
 - Added an API for retrieving email from POP3 servers.
 - The rebuildLineage.pl script now finds and fixes orphans, and tries to
   locate circular relationships as well.
 - Added a lot more tests to the test suite.
 - Added a new pluggable templating system. (Thanks to Misja Op de Coul /
   E-Wise)
 - Added "201" http status to various entity creation responses.
 - Replaced the old search engine system with a brand new one, that is more
   powerful, easier to use, and more flexible.
 - Added output chunking as an option for asset www_ methods. The net effect
   of this provides a fairly significant performance increase to what would
   otherwise be slow or complex pages. More details in migration.txt. The
   amount of the increase depends upon the complexity of the page, but now
   complex pages should render almost as fast as simple pages.
 - Removed the JavaScript, RawHeadTags, and StyleSheet macros in favor of
   adding a Head Block parameter to templates. This was needed in order to
   implement content chunking.
 - The SMTP mail backend has been replaced with a new API that's capable of
   sending attachments, HTML messages, and more. This will introduce many new
   options for developers.
 - Replaced the old Message Log system with a new Inbox system that's more
   reliable, and scalable.
 - Added a mail queue system.
 - The group mail screen now allows sending of HTML messages.
 - Added prequery statements to the SQLReport and configurable allowed statements
   to the database link properties. (Martin Kamerbeek / Procolix)
 - Converted config file format from PlainConfig to JSON. The new format is
   more powerful and will use slightly less memory.
 - Strengthened security of Captcha validation.
 - Added Captcha form control type.
 - All IPs used by WebGUI (Settings: debugIp and Group: ipFilter) now accept
   IP addresses in CIDR format.  They also will accept multiple IP addresses
   if they are separated by commas.  Whitespace is ignored.  The upgrade
   script will migrate the data automatically, and hoverHelp documentation
   has been updated to reflect the changes as well.
 - The Rich Editor now has a master reset that allows disabling any individual
   Rich Editor across the entire site without querying the user.
 - Commit options have been removed from the Asset Manager "More" and Wobject
   type icon context menus.
 - The Navigation Asset now allows setting the MIME type of its output so that
   you can generate non-HTML navigations or take advantate of the Google
   SiteMap feature.
 - Add tests that verify the integrity of the WebGUI Database.
 - Added a karma ranking system to CS threads for conducting popularitycontests.
 - The main page for the Help system is now a "Table of Contents" with a
   tabbed view to make scanning for content easier.
 - Help for forms now shows the fields that you should see with your UI level.
   There is a link to show all fields.
 - Added SQL Form and error feedback for asset addition (Martin Kamerbeek/Procolix)
 - Added file upload ability to the rich text editor (Wouter van Oijen/ProcoliX)
 - added [ 732011 ] http header cache setting
 - added [ 810556 ] larger value field in userSessionScratch table
 - added [ 881817 ] allowed characters in username
 - added [ 1231386 ] Insert WebGUI Image
 - added [ 1205807 ] ability to report file size in File template
 - added [ 1201811 ] resizable textAreas
 - added [ 1376374 ] WebGUI should return a Last-Modified http/1.x header
 - added [ 1216059 ] Admin Bar Made Sticky
 - fix [ 1471218 ] 6.8.8: Unable to change Default Home Page
 - fix [ 1481787 ] autocomplete in user editing screens
 - fix [ 1445002 ] Field(s) fail to delete
 - fix [ 1344318 ] utf8 support for uri_escape/URL::Escape
 - fix [ 1466255 ] 6.8.8 Typo in package WebGUI::Operation::FormHelpers
 - fix [ 1463411 ] Denied content not getting expired or trashed
 - fix [ 1461522 ] 6.8.7 Linking items in the page tree (PDF and other files)
 - fix [ 1465280 ] BR Tag in Outlook
 - fix [ 1178981 ] IE is in "quirks mode" - multi-column layout templates
   break
 - fix [ 999590 ] Rating
 - fix [ 1410577 ] WebGUI::Session not included
 - fix a bug where a link was provided to become or delete non-existant users.
 - fix bugs with the in-memory session caching of user and group memberships
 - fix [ 1465362 ] RichEditor doesn't work on Safari
 - fix [ 1344665 ] Cache does not remember mimetype
 - fix [ 1172613 ] Header Tag Not Accessibility Friendly
 - fix [ 1340839 ] If can't use item in adminConsole don't display it
 - fix [ 1473937 ] scratch->set not taking.
 - fix [ 1471909 ] createAccountSave not called - no validate email (Martin
   Kamerbeek / Procolix)
 - fix [ 1479779 ] enable select box in dataform (Martin Kamerbeek / Procolix)
 - fix [ 1478585 ] purgeRevision without warning or confirmation (Martin
   Kamerbeek / Procolix)
 - fix [ 1480536 ] "Add Files" link in Folder template doesn't work (Martin
   Kamerbeek / Procolix)
 - fix [ 1443373 ] 6.8.7 Events Calendar Dates Incorrect (Wouter van Oijen /
   ProcoliX)
 - fix [ 1444918 ] 6.8.7 Events Calendar - Year old events show in list view
   (Wouter van Oijen / ProcoliX)
 - fix [ 1452552 ] Events Calendar starting from the wrong day with Now!
   (Wouter van Oijen / ProcoliX)
 - fix [ 1452719 ] Event calendar, wrong day of week for date (Wouter van Oijen
   / ProcoliX)
 - fix [ 1470410 ] Problems with Calendar (Wouter van Oijen / ProcoliX)
 - fixed a caching bug for Events Calendar (Wouter van Oijen / ProcoliX)
 - Added a graphing engine and tied it into the Poll asset (Martin Kamerbeek / Procolix)
 - Added Slider form controls (IntSlider, HexSlider and SelectSlider) (Martin
   Kamerbeek / Procolix)
 - Fixed a number of bugs in DateTime.pm

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) WebGUI 7.0 Questions :
HOWTO: Javascript Form Validation of Required Fields
For those of you (like me) who are using WebGUI to help manage forms which _don't_ get processed by WebGUI - (like FormMail/BFormMail) - you may run into an IE problem with the new WebGUI. Formmail/BFormmail doesn't check the required fields until you submit your results - and that works fine - except that if you use the back button to go back to your form in IE - it will CLEAR all of the contents of that form.
One way to fix this is to disable the new caching code in WebGUI - but a better way is to improve the form validation for non-webgui forms. I didn't know how to do this - so I taught myself enough javascript to get by, and I wrote a nice templated approach to this which I'm proud of, so thought I'd share it with you all. :)
What you need:
You'll need either a few javascript functions added to any javascript file you're including, or you'll want to add them to your page style.
function FieldRequired(ss) {
  switch(ss.type)
  {
    case "radio": { return CheckRequired(ss); break; }
    case "select-one": { return SelectionRequired(ss); break; }
    case "text":
    case "textarea": { return ContentRequired(ss); break; }
    default:
    {
      if (ss[0].type == "radio")
        return CheckRequired(ss);
      break;
    }
  }
  return true;
}
function ContentRequired(ss) { if(ss.value.length > 0) { return false; } return true; }
function CheckRequired(ss) { for(var i = 0; i < ss.length; i++) {
  if(ss[i].checked) { return false; }
  }
return true; }
function SelectionRequired(ss) { for(var i = 0; i < ss.length; i++) {
  if(ss[i].selected) {
    if(ss[i].value.length) { return false; }
    }
  }
return true; }
The above routines all do the checking - FieldRequired() takes any form object and then determines whether it's a radio button, text object, select list, etc and checks it accordingly.
Now.. the cool bit - in your form template you need to add the following:
<SCRIPT language="JavaScript1.2"> function CheckRequiredFields() { var errormessage = new String(); // Put field checks below this point.
  <tmpl_loop field_loop>
      <tmpl_if field.isRequired>if(FieldRequired(document.bformmail.<tmpl_var field.name>)){ errormessage += "\n * <tmpl_var field.label> is a required field."; }</tmpl_if>
  </tmpl_loop>
// Put field checks above this point. if(errormessage.length > 2) {
    alert('You still have required fields remaining:\n' + errormessage);
    return false;
    }
return true; } // end of function CheckRequiredFields() </SCRIPT>
The above code uses templates to iterate through each field and if it's a required field then add javascript code to check it. If the field isn't filled in/checked/selected/etc then it adds it to a growing error message which lists all the fields not entered. If you're using the tab form object then you need to change the loop slightly:
<SCRIPT language="JavaScript1.2"> function CheckRequiredFields() { var errormessage = new String(); // Put field checks below this point.
  <tmpl_loop tab_loop>
    <tmpl_loop tab.field_loop>
      <tmpl_if tab.field.isRequired>if(FieldRequired(document.bformmail.<tmpl_var tab.field.name>)){ errormessage += "\n * <tmpl_var tab.field.label> is a required field."; }</tmpl_if>
    </tmpl_loop>
  </tmpl_loop>
// Put field checks above this point. if(errormessage.length > 2) {
    alert('You still have required fields remaining:\n' + errormessage);
    return false;
    }
return true; } // end of function CheckRequiredFields() </SCRIPT>
Now.. the final bit - and the most cruicial. In your <form action=xxx statement you need to add two things - one - a name (in my code above I assume the name is bformmail - but you can change this to whatever you want as long as it is unique), and secondly you need to add the onsubmit code to call the above javascript code.
<form name="bformmail" onSubmit="return CheckRequiredFields();" method="post" action="/cgi-bin/BFormMail.cgi">
Your method and action can differ, but if you use the above code as is, then the other two need to be the same. The onsubmit code is what sets it all off - it calls the template generated code which in turns calls those javascript routines to check the fields. The great thing about this is that it leverages the power of webgui and uses templates to do the work for you :)
Hopefully someone else can get some use out of this other than me. You could also extend this to do dynamic inserts into each form object and put images/text next to each required field that failed or something like that. I haven't gotten that far yet but it's something I'll probably look at in future. This could also be applied to regular webgui forms too if you really wanted, but there's not much point as they work pretty well as is.
Cheers,
Jesse
JesseATjugaDOTorg
[Append to This Answer]
(Category) (Category) WebGUI FAQ :
Backup, Care for your WebGUI installation
Subcategories:

Answers in this category:
(Answer) MySQL Backup procedures?
(Answer) MySQL backup and table maintenance script (FreeBSD specific)

[New Answer in "Backup, Care for your WebGUI installation"]
(Answer) (Category) WebGUI FAQ : (Category) Backup, Care for your WebGUI installation :
MySQL Backup procedures?
mysqldump -a is great, but sometimes you just want a bunch of individually reinstallable dbs. Here's a standard way to do it:

Create a table list of databases:

 mysql -uroot -ppass -B -e "show databases;" | grep -v "Database" > dbs

Edit this list appropriately

Create two batch files:

backitallup:

 #!/usr/local/bin/bash
 for i in `cat dbs`; do ./backitup $i; done
 tar -zcf servername_sql-backups_`date +%Y_%m_%d`.tar.gz *.sql
 rm *.sql
backitup:
 #!/bin/sh
 echo Backing up $1 ...
 mysqldump -uuser -ppass -Q $1 > $1.sql
The -Q (quote) is optional, but can get past some sites that mysqldump might balk because of spaces in names or something.

I got this from a comment: at http://www.wilshireone.com/article/2/automatic-mysql-backups

wg-fomATgwyDOTorg

[Append to This Answer]
(Answer) (Category) WebGUI FAQ : (Category) Backup, Care for your WebGUI installation :
MySQL backup and table maintenance script (FreeBSD specific)
#!/bin/sh
#
# Define these variables in either /etc/periodic.conf or
# /etc/periodic.conf.local to override the default values.
#
# daily_mysql_backup_enable="YES" # do backup
# daily_mysql_maintenance_enable="YES" # perform maintenance

daily_mysql_backup_enable="NO"
daily_mysql_maintenance_enable="NO"

daily_mysql_mysqldump_args="--opt"
daily_mysql_backupdir="/data/mysql_backups"
daily_mysql_savedays="7"
daily_mysql_maintenance_args="-c -a --auto-repair -o -e -A -v"

mysql_user="user"
mysql_password="password"

# If there is a global system configuration file, suck it in.
#
if [ -r /etc/defaults/periodic.conf ]
then
    . /etc/defaults/periodic.conf
    source_periodic_confs
fi

# allow '~´ in dir name
eval backupdir=${daily_mysql_backupdir}

rc=0

case "$daily_mysql_backup_enable" in
    [Yy][Ee][Ss])

        # daily_mysql_backupdir must be writeable by user mysql
        if [ ! -d ${backupdir} ] ; then
            echo Creating ${backupdir}
            mkdir ${backupdir}; chmod 700 ${backupdir}; chown mysql ${backupdir}
        fi

        echo
        echo "MySQL maintenance"

        # Protect the data
        umask 077
        dbnames=`su -l mysql -c "mysql -u ${mysql_user} -p'${mysql_password}' -B -e \"SHOW DATABASES;\" | \
                grep -v Database | grep -v information | grep -v schema | grep -v test"`
        rc=$?
        now=`date "+%Y-%m-%dT%H:%M:%S"`
        file=${daily_mysql_backupdir}/myglobals_${now}
        su -l mysql -c "mysqldump -A ${daily_mysql_mysqldump_args} -u ${mysql_user} -p'${mysql_password}' | gzip -9 > ${file}.gz" 
        for db in ${dbnames}; do   
            echo -n " $db"
            file=${backupdir}/mysqldump_${db}_${now}
            su -l mysql -c "mysqldump ${daily_mysql_mysqldump_args} -u ${mysql_user} -p'${mysql_password}' ${db} | gzip -9 > ${file}.gz" 
            [ $? -gt 0 ] && rc=3
        done

        if [ $rc -gt 0 ]; then
            echo
            echo "Errors were reported during backup."
        fi
 
        # cleaning up old data
        find ${backupdir} \( -name 'mysqldump_*' -o -name 'myglobals_*' \) \
                -a -mtime +${daily_mysql_savedays} -delete
        ;;
esac

echo ""

case "$daily_mysql_maintenance_enable" in     
    [Yy][Ee][Ss])
          
        echo
        echo "Performing Maintenance..."
        su -l mysql -c "mysqlcheck ${daily_mysql_maintenance_args} -u ${mysql_user} -p'${mysql_password}'"
        if [ $? -gt 0 ]   
        then
            echo
            echo "Errors were reported during the maintenance."
            rc=3
        fi
        ;;
esac

echo ""

exit $rc
brandt_21sATyahooDOTcom
[Append to This Answer]
(Answer) (Category) WebGUI FAQ :
Is there any free support in WebGUI?
There is a complete Help section for the WebGUI user inside WebGUI. There is also a free Ruling WebGUI information page for basic installation and setup. colink has graciously provided the online help as one big file
wg-fomATgwyDOTorg
webgui-subscribe@gwy2.org for a free, moderated (no spam), low traffic User 2 User help, in no way connected with plainblack.com.
wg-fomATgwyDOTorg
You *might* be able to receive realtime assistance in IRC channel #webgui in freenode or efnet. Depends who's there and how helpful they might be, but, hey :).
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ :
Is there a mailing list for support for WebGUI?
No.
wg-fomATgwyDOTorg
"But what about ... @plainblack.com?" No. It's a development list. It's not an RFE, and it's definitely not for support. The closest thing to a mailing list is subscribing to a forum. Http://www.plainblack.com/discuss
wg-fomATgwyDOTorg
OK, if you want to do it: webgui-subscribe@gwy2.org or http://www.gwy2.org/mailman/listinfo/webgui
wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ :
Default login, password: admin 123qwe
It really is your own fault if you don't change the default password, so that's why I'm broadcasting it in plain sight.
wg-fomATgwyDOTorg
WebGUI Zip-N-Go 6.6.3 for Windows appears to use "Admin" instead of "admin"
andnickyATmyrealboxDOTcom
[Append to This Answer]
(Answer) (Category) WebGUI FAQ :
What is the most recent release of WebGUI?
Download from sourceforge: http://sourceforge.net/project/showfiles.php?group_id=51417
Latest Source: http://sourceforge.net/project/showfiles.php?group_id=51417&package_id=45293
More info on releases:
http://www.webgui.org/download
How to install:
http://www.webgui.org/community-wiki/source-install
How to upgrade:
http://www.webgui.org/community-wiki/upgrading
-----------
Latest release: WebGUI 7.4.19 (Stable) Released December 19, 2007
News: http://www.plainblack.com/getwebgui/advisories/webgui-7_4_19-stable-released
Get it: http://prdownloads.sourceforge.net/pbwebgui/webgui-7.4.19-stable.tar.gz?download
Try it: http://demo.plainblack.com
Gotcha: http://www.plainblack.com/downloads/builds/7.4.19-stable/WebGUI/docs/gotcha.txt
Of note (7.4.3):
 * You must upgrade to Config::JSON 1.1.0 or higher prior to upgrading.
    Due to a bug in CPAN you should type "force install Config::JSON" in
    order to upgrade to this version.
 * You must upgrade to the latest 7.3.x release before upgrading to
    7.4.0 or you will encounter fatal errors during the upgrade
    process.
 * WebGUI now requires the following additional perl modules to operate,
   and you should install them prior to upgrading:
Config::JSON Text::CSV_XS Class::InsideOut HTML::TagCloud
-----------
Previous STABLE/"stop at this point before upgrade" release: WebGUI 7.3.22 (stable) Released July 25, 2007
"This will be the final release in the 7.3 line."
Get it: http://prdownloads.sourceforge.net/pbwebgui/webgui-7.3.22-stable.tar.gz?download
Try it: http://demo.plainblack.com
Gotcha: http://www.plainblack.com/downloads/builds/7.3.22-stable/WebGUI/docs/gotcha.txt

Don't forget, always check the WebGUI/docs/gotcha.txt!
wg-fomATgwyDOTorg

Just to further confuse things:
WebGUI Runtime Environment Project files: http://sourceforge.net/project/showfiles.php?group_id=51417&package_id=148913

WebGUI Runtime Environment (WRE) is a way to basically have WebGUI install all the dependencies in a neat little form factor.

What's the difference between WRE and the files above?
The files above basically point you to applying WebGUI to an existing web server, perl, database structure. WRE will attempt to install all the components for you on the OS of your choice.
It is important to note that you will be downloading the latest source after you download and install the WRE.
wg-fomATgwyDOTorg

(Xref) How do I get old versions of WebGUI?
Upgrade path to 6.7.x+: http://www.plainblack.com/upgrading_webgui

1) If you are at version less than 6.2.9, including 5.x, go to 6.2.11 (prepares for conversion from wobjects to assets.)
http://update.webgui.org/6.x.x/webgui-6.2.11-gamma.tar.gz
gotcha: http://www.plainblack.com/downloads/builds/6.2.11-gamma/WebGUI/docs/gotcha.txt
2) If you are at version less than 6.6, go to 6.6.5 (prepares for versioning)
http://update.webgui.org/6.x.x/webgui-6.6.5-gamma.tar.gz
gotcha http://www.plainblack.com/downloads/builds/6.6.5-gamma/WebGUI/docs/gotcha.txt
3) from 6.6.5, go to 6.8.10 (security fixes, versioning.)
http://update.webgui.org/6.x.x/webgui-6.8.10-gamma.tar.gz
gotcha http://www.plainblack.com/downloads/builds/6.8.10-gamma/WebGUI/docs/gotcha.txt
4) from 6.8.10, go to 7.1.3
http://update.webgui.org/7.x.x/webgui-7.1.3-stable.tar.gz
gotcha http://www.plainblack.com/downloads/builds/7.1.3-stable/WebGUI/docs/gotcha.txt
5) from 7.1.3, go to 7.2+ (or 7.3.22)
*** 7.3.9 must upgrade from 7.3.8, but 7.3.10+ will be able to upgrade from 7.1.3. ***

http://update.webgui.org/7.x.x/webgui-7.3.22-stable.tar.gz
gotcha http://www.plainblack.com/downloads/builds/7.3.22-stable/WebGUI/docs/gotcha.txt

7) from 7.3.22, go to 7.4.x
What this means: download ONLY the lowest version you need to upgrade each step. Install it per normal directions (including running the upgrade.pl! AND BACKING UP YOUR WEBGUI DIRECTORY), then grab the next "go to" version and install/upgrade it.
wg-fomATgwyDOTorg

Martin writes:
    Cannot open config file:  at ../../lib/WebGUI/Config.pm line 348.
    Can't locate object method "http" via package "../.." at ../../lib/WebGUI/Session.pm line 370.
            Processing upgrade executable failed!
The upgrade process failed and has stopped so you can either restore from backup, or attempt to fix the problem and continue.
A fix is to change the query that tries to find the current release (upgrade.pl line 190):
    select webguiVersion from webguiVersion order by dateApplied desc, webguiVersion desc limit 1
into
    select webguiVersion from webguiVersion order by dateApplied desc, length(webguiVersion) desc, webguiVersion desc limit 1

wg-fomATgwyDOTorg
[Append to This Answer]
(Answer) (Category) WebGUI FAQ :
Why is this FAQ NOT in WebGUI format?
I don't know. I wasn't familiar enough with WebGUI when I started this project. I didn't expect to stay with WebGUI too long, and I figured that the Faq-O-Matic is relatively low overhead, considering. Besides, it does one thing and does that reasonably well.

Besides, if you want a copy of this FAQ, to integrate or whatever, you're free to do so. I have enough time invested into this FAQ that conversion will be when I get around to it. Also, this FAQ is unlikely to suffer problems related to MySQL upgrades or crashes and will survive even if I don't run WebGUI anymore (not that any of that is likely to happen, mind you, but people in general are a fickle bunch.)

I should also point out that I created this FAQ because stuff gets lost in collaboration systems and is tough to find in the current search mechanism(s), such that they might be in WebGUI.
wg-fomATgwyDOTorg

[Append to This Answer]
This document is: http://www.gwy2.org/cgi-bin/fom?file=1
[Search] [Appearance] [Show Top Category Only]
This is a Faq-O-Matic 2.721.
This FAQ administered by ... Gerald Young