The following pages document our website infrastructure. We are always looking for:
Please contact the Volunteer Coordinator, or post on the forum, if you can contribute.
There are four possible instances in the FSP development environment:
Each of these points to a folder link (note: not a folder, but a link that can point to folders) in the /home/freestat/public_html directory on the development server, and this folder link is named after the development instance (i.e. dev, dev1, ....). Each of these instances is also associated with a unique database named after the instance (freestat_dev, freestat_dev1, ...), and a unique user with the same name as the database.
An anonimized copy of the production database is copied to the development environment once a week, to /home/freestat/anondb/fsp_anon.sql.gz. This copy can also be generated at will when required. On the development server, an hourly cron batch processes any fresh copies of this file into four files ready to be loaded into any of the development databases (named dev.sql, dev1.sql, etc.).
To bring up a new instance of a development environment, follow these steps:
cat ~/anondb/dev1.sql | mysql -u freestat_dev1 freestat_dev1 -p
cd ~/public_html
svn export $FSPSVN/trunk
mv trunk dev_stuff
ls -l ~/public_html/dev1
rm ~/public_html/dev1
ln -s ~/public_html/dev_stuff ~/public_html/dev1
rm -rf ~/public_html/old_dev1
The FSP Drupal site code is under version control. All items contributing to site functionality, including Drupal core, all modules, and all themes, but excluding the files subdirectories, and settings.php files are kept in the source repository.
The source repository is managed by Git. See the Git User Manual, or this Tutorial for how to use Git. All code is kept in a central repository at GitHub.
The source repository is managed very simply:
Releases are made from tags on the master branch. See the release process for how releases are done.
The production website has a clone of the central FSP website git repository in /var/local/websitesrc. This repository is updated with the remote central repository during a release, and then a release is generated using git archive.
Major releases, containing new features, are sequentially numbered. The release branch and directory name on the production server are of the form:
release-XXX
with XXX the release number.
Minor releases, containing hotfixes for bugs, etc., are numbered as extensions of the last major release:
release-XXX.Y
with Y the sequential minor release number, starting at 1.
The release is executed using a script, /usr/local/bin/wsrelease, with a parameter indicating the release tag name (e.g. release_6-21). The release destination is /var/www/release_X-YY.
The script does the following:
See the release script for more information.
If an error occurred during rollout, roll back to the previous release, and clean out the partial release:
Note that the release script will throw an error if a directory with the same release tag is found.
Send a notice of the release to the fsp-it group, with a link to the release notes.
This documents the current registration process, the transfer of registrations between the original system, and the history of registrations. It is a work in progress.
This count is shown below the participant count in the site header. The count should consist of the following:
Find attached a spreadsheet showing the development roadmap and status. The IT Plan for 2006 is also attached for reference.
The FSP Information Technology Department (FSP IT) supports the FSP mission by providing IT services to all FSP stakeholders as represented by the various FSP departments. These IT services are primarily content and functionality that are found on the FSP web site. Every web site function shall have an owner among the FSP leadership, and every FSP leader should have a clearly defined area on the web site which he maintains and improves. As the FSP is an activist organization facing significant challenges and competition, FSP IT services should reflect best practices among the FSP's peers: namely, charitable, libertarian and activist organizations.
As a virtual, decentralized, web-based volunteer organization that owes its conception, existence, and success to the Web, the FSP needs to make maximum use of web technologies. Googling the buzzword "Web 2.0" will provide a wellspring of inspiration. Throughout this document, functionality and goals are divided into three categories: Content, Community, and Collaboration.
Primary goals are:
| Attachment | Size |
|---|---|
| FspItPlanAndStatus_050708.xls | 34 KB |
Following are all the accounts and resources used by the FSP IT infrastructure. All account passwords are centrally stored at the Clipperz site, and administrators have the master password to this account to recover individual username / password pairs for other accounts.
| Provider |
Description |
Account ID / Username |
| Clipperz |
Password manager, stores all account passwords used by the FSP IT team / systems. |
fspadmin |
| Google Apps | Hosts email for freestateproject.org domain. No central account admin. | freestateproject.org |
| Google Analytics | Google Analytics account |
UA-1496848-1 |
| EasyDNS | Hosts freestateproject.org DNS service |
adamrick |
| John Companies |
Web site hosting company |
|