foss

This is for posts related to Free and Open Source Software. Topics about Linux, software intellectual property rights, BSD, and the like are included here
 
 

Formunculous 2.1.1 Available

Just finished a bugfix release for Formunculous. So feel free to go grab it. Or install it straight from the command line with:

easy_install formunculous

now that it is in the cheese shop.

 

Here is the small list of changes:

  • Now fully compatible with both Django 1.1 and 1.2 (any bugfix release)
  • Word fixes (replacing "Application" with "Form" - legacy problem)
  • Minor HTML and CSS fixes
  • Completed form sorting and paging fixes
 
 
 
 

Remote Backup of Files, Subversion, and MySQL Using Rsync and Ssh

TuxRecently my VPS provider was doing some power maintenance and recommended backing up data.  I realized I hadn't made a backup of that system in very long time, and hadn't worked up a backup strategy.  This caused me to whip up a backup solution using my two favorite things; ssh and rsync.

In the past I had used tar and scp to do remote backups, but this painfully slow, and I don't have a requirement to do moment in time backups, so the amazing efficiency of rsync.  The only trick was that this server has subversion and MySQL databases, and doing a straight copy of the data for these apps is extremely dangerous.  So with a couple remote ssh commands run from the backup machine I ended up with a slick, simple, fast, and reliable backup script:

#!/bin/bash

# Individually backup relevant etc configurations using rsync
# with the archive and compressions flags set
rsync -az -e "ssh -i path/to/ssh/key" backup_user@example.org:/etc/apache2 /data/backup/etc/
.
.
rsync -az -e "ssh -i path/to/ssh/key" backup_user@example.org:/etc/ssl /data/backup/etc/

# Use remote commands to trigger app specific backups for MySQL and subversion

# Run safe backup of all MySQL databases to a location that gets rsynced later
ssh -i path/to/ssh/key backup_user@example.org "mysqldump -u root -pPassword --all-databases > /opt/backup/mysql-current.sql"

# Run safe backup of subversion using svnadmin dump to a directory that gets rsynced
ssh -i path/to/ssh/key backup_user@example.org "svnadmin dump --quiet /opt/repos/svn > /opt/backup/svn.current.dump"

# Sync /opt.  Backup everything.  This will grab the remote MySQL and subversion backups
# we just made.
rsync -az -e "ssh -i path/to/ssh/key" backup_user@cexample.org:/opt/ /data/backup/opt/

That is it. I get a safe backup of my databases and svn plus all of my file data ~8 GiB total, and after the initial backup it all happens in less than 5 minutes.

Attach it all to crontab like:

0 * * * * /usr/local/bin/backup.py

and you get an hourly synchronized copy of the remote server.

 

 
 
 
 

Formunculous Website Launched

Formunculous Website screenshot

I have been somewhat feverishly working on the design and implementation of a project Website for Formunculous, and I am really quite happy with the results.  I've really been focusing on a visual design and illustration skills as of late, and I thought I would be fun to show off some of those results using a Website I've wanted to create for quite some time.  Let me know what you think.

 
 
 
 

Formunculous 2.1 Release

New Statistics FeatureThis is a new feature release that adds several graphical statistics, CSV export, and form history views among many others. This release focused on increasing usability and user interface design.

Features and Bugs Fixes

New features:

  • Graphical statistics for showing responses over time.
  • Pie charts for showing percentage choices for drop down type fields.
  • Improved notification e-mail with direct links to related areas of the app.
  • Interface improvements on form index page--tab with forms available for review.
  • New review tab shows the number of complete and incomplete forms for each form.
  • Incomplete forms are now shown on the reviewing view along with the completion percentage.
  • There are now print links on the completion page and review page for forms.
  • Link to download all of the files associated with a form definition as a single zip file.
  • There is a link to export all form submission data as a single CSV.
  • Restyle of form building view to make it more compact.
  • The accordion expansion handle for form building is now available in a larger area.
  • In the builder index, inactive forms are now greyed out.
  • Each column in the builder index is now sortable.
  • Input errors for the end user have an improved look and feel
  • If you have an authenticated multi-use form, the user can now view each form that they have previously filled out.

Bug Fixes:

  • Sorting on the review index has been improved to include fields with the special "None" value.
  • Searching forms in the review index now properly cases and trims the search terms.
  • The preview form no longer shows the submit/save buttons.
  • Copying a form definition now properly performs a deep copy of dropdown selections and sub-forms.
  • Copying a form definition now properly copies the site status and list of reviewers.
  • Notification for non-authenticated forms no longer sends multiple e-mail notifications if the user refreshes the page.
  • Verification of whether the requested form is a parent or child is now working properly.
 
 
 
 

Another fun thing about Apache

So recently I have run into some fun to do with the apache Web server, and I thought it was worth sharing.  Well I didn't really, but my buddy Jeff did.  Just about every time there is a holiday over the weekend at my work, at some point the Web server would run out of memory so badly it would crash.  It would crash so hard in fact, that it had to be hard power cycled.  I have tried just about everything short of sacrificing a chicken to try and figure this out.  Everything from cron jobs to bad PHP scripts (not mine of course ), but never really figured out the root cause.  Of course that was until MLK Jr. Weekend.

 
 
 
 

Formunculous 2.0 Released

I just released a new version of formunculous to the Internets.  It has

a bunch of new features for managing database or email backed Web forms.  It offers a lot of new functionality, and continues to bring easy form creation and processing.  Check it out at the Formunculous Source Forge page.

Here are the release notes:

 
 
 
 

Formunculous Project Released

I've posted a code project on SourceForge I've been working on for the last couple months called formunculous.  The project page is at sf.net/projects/formunculous. It is a Django application that makes creating database or email based forms easy.  It uses a fairly advanced drag and drop based interface for building forms.  It can be used for anything from simple email contact forms to complex authenticated applications for programs, event registrations, etc.  It handles several types of data including files, pictures, and documents.

 
 
 
 

Apache Virtual Named Hosts and mod_gnutls

I have been waiting years for something like mod_gnutls to show up.  Finally I can use named hosts with SSL/TLS.  I just setup a new VPS and needed to setup three sites with SSL.  The problem is that I only have two IP addresses and an additional one would cost $1.50/month.  I was going to be happy with paying that extra money to have secured Web communication for authentication purposes, but I'm a cheap skate.

 
 
 
 

Powershell Scripting Framework

PoSH Framework Screenshot

I created a scripting framework for Powershell that makes running scripts for help desk employees/end users much simpler as well as assisting with managing the many scripts you may have, and providing simplified methods of coding common tasks such as using CSVs and Active Directory for input. There is even a brain dead way to provide multithreading in your scripts for increasing performance on long running scripts. I have posted the code under GPLv3 at http://posh.codeplex.com. Contributions to the script library are always welcome, as well as bug reports and enhancements for the framework itself.

 
 
 
 

LTSP PXE Thin Clients

One of the projects I've worked on at the University of Kansas, School of Engineering is the thin client PiXiE thin client project. This project started as brainstorm for creating high performance machines that provide limited but critical functions for engineering students. As a university we have constant budget problems and a difficult time coming up with enough money to maintain current computer hardware. This problem is compounded by the fact that engineers use a lot of high end memory, graphics and processor intensive software for modeling designs. Add to this that most of our students have better computers than we can offer due to budget constraints and typically only use our computer labs for free printing and Web access at school and we have the PiXiE projects.

 
 
Syndicate content