WCN Open Source Software
Open
Source Software by Peter Falkenberg Brown
~ Updated
Nov 4, 2006
=> Simple Form v3.0 will be released soon (in late Nov., 2006).
=> The Open Source Support Forum is back online (Nov. 5, 2006).
|
Open Source Support Forum:
If you need technical
help, you may also leave a post at our Open Source Support
Forum. If others answer questions before I get to them,
I don't mind at all :-) Ah, the joy of being busy ...
|
|
Register
your email
to receive notification about updates and additions
to our Open Source software!
|
|
See
the section on
Software
that WCN Highly Recommends
(at the bottom of this page) for software tools that I
personally use and like a lot -- enough to highly recommend
them :-)
|
|
Available
Now
|
|
WCN:Talk v2.0
(formerly called "FutureForum", ending in
v1.33)
| /opensource/wcntalk |
A web discussion forum written in Perl
and MySQL, with many features.
New Features:
-
Private
and Public Discussion Board Feature
.
The private board requires a username and password.
-
HTML
Templates - Almost all html output has been separated
out to html template files. Thus, it's easy to change
the look and feel of amost all parts of the program.
-
Email
Subscription - Now, because the program has a
user table (allowing password protection) it also
has an email subscription function which allows each
user to receive a copy of each post via email. Alternatively,
users can receive an email at the end of the day containing
a list of posts with authors and subject lines. Users
can subscribe to each forum section (see below) with
either option, or unsubscribe completely. There is
also a function that allows the admin user to setup
a section (like 'Announcements') that has mandatory
subscription. In my opinion, the email subscription
function is a significant plus when it comes to bringing
users back to the discussion board. If they never
receive any messages, they don't know if anyone has
posted anything.
-
Discussion
Board Sections - The program now has the ability
to have multiple sections, each one contained in its
own copy of the data table. This way, discussions
can be separated from each other. Sections can be
set as 'read-only' so that admins can post announcements,
but regular users can't post in those sections.
-
File
Uploads - Now, private boards can have file uploads
enabled. Public boards cannot have file uploads at
this time, primarily because the coding would require
a 'no-clobber' function on uploaded files that I haven't
written yet. Of course, public file uploading is a
dangerous issue anyway, since someone could upload
nasty photos. Note that file uploads can be of any
type. There is a variable for setting file size limits.
There is also a new table that stores the filenames
and descriptions. There is also a new link to display
all file uploads.
-
Administrative
Options - There is an admin page for approving,
editing and deleting users. There is an admin function
for managing sections, i.e. adding and deleting sections
and modifying section names and the topic list assigned
to each section.
-
Registration
Function - New users can register via a public
function (register.html). They'll be tagged as 'denied'
until the admin approves them. The admin will be sent
an email saying someone has registered.
-
Email
Forgotten Password - Users can submit a form to
email them their forgotten passwords
-
Improved
Menu Interface - The Menu has undergone numerous
improvements, including more searching options.
-
User
Help Page - I've finally actually written a User
Help Page.
-
There
are many other small improvements, as well as a cleaned
up code set.
With FutureSQL, the forum messages can
be managed by a forum administrator, allowing for tasks
like deletion of records, mass updates, etc.
|
|
Simple
Form v2.3
| /opensource/utilities/simple_form.html |
Updated: - v2.3 - September
11, 2004
Version 2.3 is a Major Feature Update.
Version 2.2 is a critical security
upgrade intent upon frustrating spammers in their attempts
to use scripts like this as "Open Mail Relays".
I'd appreciate feedback from programmers
about this attempt.
Simple Form is written in Perl.
There are a TON of form processors, many of them great.
I wanted something simple and quick that could be used
for any form, so instead of checking out all the others,
I rolled my own. Was that a time saver? I don't know,
but I enjoyed it. :-) This form processor emails the
results to an admin user, and is very easy to set up.
New features and fixes in 2.3 include:
-
SECURITY:
Added routine to remove linefeeds
from email headers in subroutines &mail_to and &mail_to_win
- one more step against spammers.
-
FEATURE:
Added ability to use an html template for response
pages. The parameters for this are in the hidden
html form fields.
-
FEATURE:
Added ability to use "include files" inside
the html response files by placing :!:tags:!:
representing the include files where the normal <!--#include
virtual="/header.html" --> include SSI commands
would go. For example, instead of using the above
SSI command, you would place a tag, :!:header:!: in
that spot. Then, in the form hidden field called "include_file_vars",
you would place the tag name "header". You can use
more than one, separated by | pipes.
-
FEATURE:
Added a hook to include a Perl include file
that contains various calculations on the form fields
- such as totaling orders, etc. Thus, the script can
be expanded without modification. Note that the code
in the include file has to be aware of what's going
on in the form and the script.
-
BUGFIX:
fixed problem with checkboxes - multiple values with preview function were not getting passed.
-
OTHERS:
a number of other cosmetic features, such as variables
for tables, ability to use multiple tags in the email
subject line, etc. (see history in script).
New
features in 2.2 include:
-
MAJOR:
removed
admin_email_to and admin_email_from from the form
parameters to stop spammers from potentially setting
the to and from fields via the url line. the vars
are now set in the script
-
MAJOR:
added
ability to store admin_email_to, admin_email_from
and return_path emails in secondary script file, providing
for multiple form usage
-
Fixes:
see docs and history
|
|
PageMod v1.4
| /opensource/pagemod |
~
"PageMod" is written in Perl. PageMod is a "web page text and
image modification system". It allows a web owner
to modify sections of text and also upload images for
any number of web pages, all done via a simple web interface.
It "meshes" data with html templates. The
templates can contain any valid html or Javascript content.
It can be setup in 'simple' mode where one web owner
is able to conveniently modify his or her own pages,
or it can be used in 'multi-user' mode where a web hosting
owner can provide the same feature to any number of
web accounts.
Modification
of the structure of the web pages is easily done via
a web interface. The data structure and data itself
are stored in a Perl "hash of hashes" (a simple
text file) -- thus no database is necessary.
Features
include:
-
easy installation via two .tar.gz (zip) files (shell
access required)
-
installation
can also be done via ftp (file permissions have to
be modified)
-
structure
modification done via the web
-
web
button to backup the data file
-
web
button to regenerate all pages, based on new templates
changes
-
web
button to view an extensive help document online
-
admin
menu to create and delete "users" (new user
web directory trees with separate logins)
-
admin
or user menu to change a user's templates to a different
set of templates (shared templates require the same
data structure, of course)
-
web
button to view other user urls
|
|
MySQL
Backup v3.1
| /opensource/utilities/mysql_backup.html |
Updated on November 21, 2003 ~
MySQL
Backup
is written in Perl. It uses mysqlshow to grab the database
names and "show tables" to grab the table
names for a user's account, and then uses mysqldump
to save the data in a subdirectory named in the script.
It then tars and gzips the files, using the date and
time for the file name. It can be run from cron on a
daily basis. It now removes old files and has an option
to email the gzip file to an admin. It also has options
to use "select data into outfile" or a regular
"select" for users who can't use mysqldump.
(Some hosts don't allow that.)
New
Features in 3.1:
-
fixed
bug in mysqldump parameters with --result-file being
in wrong order
-
added
some code to the ftp upload feature
New
Features in 3.0:
I've skipped from 2.7 to 3.0 because I consider this
a
major feature release
.
It has many, many improvements in the code, including:
-
options to refine the tar/gzip functions (-z switch,
piped or two step method, intermediate text file,
deletion and support for bzip2);
-
mysqldump now uses --result-file (check your version
of mysqldump!);
-
the script can now be run from the web, with password
protection;
-
the script now works on both Linux and Windows (including
email and ftp functions);
-
fixed a much requested bug with the parsing of whereis
output;
-
added a significant amount of error checking;
-
cleaned up the reporting method;
-
rewrote the subroutine that deletes text files;
-
added a switch to disable reporting to stdout;
-
created a method for selecting method of output (screen,
email or both) for all print commands;
-
many other small fixes and features. (see History
Notes and comments in file).
Additional
Features
-
saves backup files, then has option to email file
and/or ftp file to remote server
-
supports large sets of databases and tables (tested
with over 3,000 tables)
-
uses .cnf files, or user/password in the file, or
web login
-
removes old files, based on time criteria
-
backup can be done with mysqldump, select into outfile,
or sql select (some may not have permission for select
into outfile, and some don't have access to mysqldump
|
|
FutureSQL v2.4
| /opensource/futuresql |
UPDATE NOTE:
WCN:SQL
v3.0 is already running on numerous client systems.
It's just a matter of me finding the time to package
the program and release it with adequate documentation
and examples. It's MUCH better than version 2.4! I hope
to release it soon. 5/17/2003. PFB.
~
FutureSQL
is a Free, Open Source Rapid Application Development
web database administration tool, written in Perl, using
MySQL. It uses DBI:DBD and CGI.pm.
FutureSQL allows one to easily setup
config files to view, edit, delete and otherwise process
records from a MySQL database. It uses a data dictionary,
configuration files and templates, and allows "pre-processing"
and "post-processing" on both fields, records and
operations.
It's very flexible and has a wide
range of options. It can be used for administrative
functions, but it can also be modified to allow web
visitors to perform read only searches on data tables.
It allows multiple setup files to provide different
views or operations on the same data set. Thus, an administrator
/ programmer can tailor it to fulfill a large number
of functions, providing a different look and feel for
different web sites.
Documentation
is included in the setup file.
|
|
Search
and Replace v1.4
| /opensource/utilities/search_and_replace.html |
Updated on October 27, 2001 ~
"Search and Replace" (ok, it's not
an original name...) replaces characters in
recursive
directories and files
line by line, with
a strong suite of options for prompted replaces. It's
a medium size utility written in Perl. It's very useful
for replacing things like domain names, etc.
On
one client's system it processed 13,029 files, with
7,487 replaces, in 11 seconds.
It also writes
its operation output to a log file, so you can check
what it did.
I also use it to replace items in large
data sets that have been saved in text format. It's
quite fast. It processed 13,402,165 replaces, (13.4
million) (a 67 meg text file with 163,441 lines) in
1 minute, 10 seconds on a Pentium 166 with 64 megs of
RAM. As an alternate method, I recommend using VEDIT,
the fastest huge file text editor in the world, at 'www.vedit.com'.
From v1.4,
it includes the ability to use
user-specified
setup files
-- so an administrator
can copy the main file to /usr/local/bin and give each
user the ability to use the script with their own setup
variables, and file extensions. File extension options
now provide the ability to 'include or exclude' files
with a set of extensions, or ignore extensions altogether.
The command line options still work, of course.
|
|
Selected
Backup v1.2
| /opensource/utilities/selected_backup.html |
Updated on May 6, 2001
~
Selected Backup is written in
Perl, and is based on MySQL Backup. It uses "include"
and "exclude" files to tar and gzip files
and directories per the user's criteria. It's very useful
for backing up critical directories like .conf files,
etc., as well as web directories. It can also be used
for hard drive to hard drive backup, backing up whole
directory trees. It removes old files and also has an
email attachment option.
|
|
Coming
In Awhile
|
WCN:SQL:Shop
An E-Commerce Shopping Cart written in
Perl and MySQL.
A live version is in use at: http://jjwatchrepair.com/shop.
|
|
WCN:SQL:Publish
An online publishing
system written in Perl and MySQL.
I'm now using WCN:SQL:Publish on this site, to publish
all of our articles, columns, verse, etc, under The
World Community Journal. Again, I just have
to find the time to release it.
|
|
WCN:List
A Yahoo like web category of sites program
written in Perl and MySQL.
A live version is in use at: http://jjwatchrepair.com/weblist.
|
Software
that WCN Highly Recommends!
UltraEdit
- My current editor of choice. It's *really, really* great!
Also ... another GREAT editor! ...

VEDIT
,
at VEDIT.COM, is the FASTEST
Text Editor in the WORLD!!! (At least I think so :-) 2 MILLION
replaces in a 100 meg file in 1.51 minutes!!! I do
a lot of heavy duty database manipulation, on gigantic files.
When you have to WAIT and WAIT and WAIT (yawn) for other editors
to decide to even begin to do the million or so replaces that
you need to do, then you begin to say to yourself, "Oh, if
I only had VEDIT!!!!" :-) (It's true.) Smart programmers have
more than one editor in their toolbox, so they can do each,
very different job, with the best tool for the job.
BUY this editor today if you need speed. You won't regret
it.
(I fixed a 50 meg file
with 170,000 replaces multiple times using VEDIT. If I had
not had VEDIT I would have been REALLY miserable. VEDIT saved
my NECK.)
|