|
|
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 This site's contents are copyright 2005, 2006, 2007 Gerald Young. ![]() This work is licensed under a Creative Commons License. wg-fomATgwyDOTorg | |
| Subcategories:
Answers in this category: | |
| 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?
Q) Why should I choose WebGUI to do that over Mambo, WordPress, Typo3, MovableType, PHPNuke, etc?
Q) Can I get more info?
Q) Who are you? | |
| [New Answer in "WebGUI FAQ"] | |
|
|
Installation |
| Taken from the installation forum of www.plainblack.com.
wg-fomATgwyDOTorg | |
| Subcategories:
Answers in this category:
| |
| [New Answer in "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] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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)3. Prep your mysql database a. Run "/usr/local/sbin/mysql_install_db"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.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.
b. Re-read ‘a.’ above, then you may read ‘c.’ below.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] | |
|
|
"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: OKwg-fomATgwyDOTorg, bb300ATmailDOTru | |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
Troubleshooting |
| Resolutions and hints on error messages.
wg-fomATgwyDOTorg | |
| Subcategories:
Answers in this category: | |
| [New Answer in "Troubleshooting"] | |
|
|
Do this first! |
go into /data/WebGUI/sbin and type:
perl preload.perlIt 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.
| |
| This is not valid with 7.x+
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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 @INCI check my httpd.conf, and it's verbatim with WebGUI install, but changed for my system. I addedLoadModule perl_module libexec/apache2/mod_perl.soPerlModule 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 addeduse Apache2;
before
use ModPerl::Registrywhich 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.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.
| |
| [Append to This Answer] | |
|
|
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] | |
|
|
? 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] | |
|
|
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] | |
|
|
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] | |
|
|
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"I solved it by adding this to the httpd.conf: PerlSwitches -I/data/WebGUI/libThis happened on Apache/2.0.50 (FreeBSD) mod_perl/1.99_16 Perl/v5.8.5 | |
| [Append to This Answer] | |
|
|
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.
| |
| [Append to This Answer] | |
|
|
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] | |
|
|
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'.
| |
| 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] | |
|
|
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] | |
|
|
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. | |
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] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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.
| |
| [Append to This Answer] | |
|
|
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.
| |
| "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] | |
|
|
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] | |
|
|
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>
Hint: You need SetHandler None on all cgi folders.
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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.
| |
| [Append to This Answer] | |
|
|
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>. | |
| [Append to This Answer] | |
|
|
Web Design |
| How-to make your content *shine*
wg-fomATgwyDOTorg | |
| Subcategories:
Answers in this category:
| |
| [New Answer in "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.
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.
| |
| 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.
| |
| 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%"); · ^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] | |
|
|
How to Center coolmenu ... |
| From nuba: Change line 151 html file to coolmenu.menuPlacement="center" | |
| [Append to This Answer] | |
|
|
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):
| |
| [Append to This Answer] | |
|
|
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 7The 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> | |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
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>
from USS_submission
left join USS on USS_submission.USS_Id=USS.USS_Id
where USS_submission.userId='^FormParam(uid);' and USS.wobjectId=273 and USS_submission.status='approved' wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
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) | |
| [Append to This Answer] | |
|
|
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.
| |
| [Append to This Answer] | |
|
|
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
| |
| [Append to This Answer] | |
|
|
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");"
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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.contentSELECT CONCAT(SUBSTRING_INDEX(content, ' ',5) , if(CHAR_LENGTH(content)-CHAR_LENGTH(SUBSTRING_INDEX(content, ' ',5))> 0, '...',' ') COLLATE utf8_general_ci) as str from PostI 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. | |
| [Append to This Answer] | |
|
|
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 | |
|
|
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] | |
|
|
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);
}
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] | |
|
|
How do I mouse-over thumbnails to replace big image? |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
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: | |
| [New Answer in "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] | |
|
|
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 minuteIt 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] | |
|
|
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.
| |
| [Append to This Answer] | |
|
|
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] | |
|
|
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? | |
| Yes. Because I know I and others use phpmyadmin with WebGUI
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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>"> wg-fomATgwyDOTorg | |
| [Append to This 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? |
|
| |
| 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. | |
| [Append to This Answer] | |
| jamiDOTcwATgmailDOTcom, meATgwyDOTorg | |
|
|
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.
| |
| Subcategories:
Answers in this category: | |
| [New Answer in "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] | |
|
|
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
(the other freeware on that site might be of interest as well.)
| |
| [Append to This Answer] | |
|
|
Website Templates |
| http://www.oswd.org
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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,
Here's the kicker: you *MUST* copy the stuff in the gray box to your login on
Where do you put this copied mess? $HOME/.ssh/authorized_keys
This has absolutely nothing to do with WebGUI, but what it does mean is that you | |
| [Append to This Answer] | |
|
|
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 { 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 :)... | |
| [Append to This Answer] | |
|
|
ActiveWidgets Grid |
| An excel-style grid ... http://www.activewidgets.com
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
Very Cool Drag and Drop extensions |
| http://walterzorn.com/dragdrop/dragdrop_e.htm
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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.
* 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] | |
|
|
For Gerald |
| http://forums.aspfree.com/archive/t-27155/displaying-sql-statement
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
WebGUI 6.5.x Specific |
| Questions regarding 6.5.x. You should be using at least 6.5.4 gamma before browsing this section. 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.
| |
| 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: | |
| [New Answer in "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] | |
|
|
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] | |
|
|
WebGUI 7.0 Questions |
| Info on 7.x as I hear it...
wg-fomATgwyDOTorg | |
| Subcategories:
Answers in this category: | |
| [New Answer in "WebGUI 7.0 Questions"] | |
|
|
When is 7.0 coming out? |
| It is out as of 7/5/2006.
wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
Backup, Care for your WebGUI installation |
| Subcategories:
Answers in this category: | |
| [New Answer in "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 *.sqlbackitup: #!/bin/sh echo Backing up $1 ... mysqldump -uuser -ppass -Q $1 > $1.sqlThe -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 | |
| [Append to This Answer] | |
|
|
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 $rcbrandt_21sATyahooDOTcom | |
| [Append to This Answer] | |
|
|
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] | |
|
|
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] | |
|
|
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] | |
|
|
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:
-----------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!
| |
| 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? | |
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/7.x.x/webgui-7.3.22-stable.tar.gz
7) from 7.3.22, go to 7.4.x | |
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!
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 1into select webguiVersion from webguiVersion order by dateApplied desc, length(webguiVersion) desc, webguiVersion desc limit 1 wg-fomATgwyDOTorg | |
| [Append to This Answer] | |
|
|
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.
| |
| [Append to This Answer] |
| ||||||||