Archive:Intro To Web Team

From FreeCulture.org
Revision as of 19:08, 14 October 2007 by Paulproteus (talk | contribs) (The only really important directory)
Jump to: navigation, search

So you've decided to join the web team? Sweet! We can use all the help we can get. This page is the place to start understanding the website's infrastructure so that you can help hack! There's also a more detailed Website documentation, if that was what you were looking for. We have Web_Team#Meetings sometimes.

Communication

Real-time: Chatting Us up on IRC

We chat in #freeculture on irc.freenode.net. If you know nothing about IRC, fear not! We have an easy guide to IRC (click). Making a practice of idling in the IRC channel and asking questions is a great way to begin to get involved with the website and the organization in general!

Delayed: Ticket tracker

For now, we use the Launchpad.net service for tracking issues. Sign up for an account there, look at our bugs, and mark them as fixed or in progress or create new ones.

Once you sign up, email Asheesh to become part of the Web Team in Launchpad and get the right privileges.

It's easy to see how to make a new bug. To edit the status of or add a comment to an existing bug, click on the current status (like "New").

The Server

The freeculture.org web server is hosted in Japan. It's a box that runs some flavor of linux. It contains the Web site, wiki, planet, blog, and a cornucopia of chapter websites.

Connecting to it

Instead of using FTP, we use SSH (click to learn how to use it).

File Structure

It can be confusing, so we should explain it.

The only really important directory

  • domains/ - Major domains we host, like:
    • domains/freeculture.org/ - main website
    • domains/wiki.freeculture.org/ - wiki.freeculture.org
    • domains/blogshine.org/ - blogshine.org
    • etc.

domains/freeculture.org/ has our main website, and it contains a WordPress installation checked out of Subversion. The important directories there are:

  • wp-content/themes/fco-wordpress-theme/ - Our theme! This controls the layout of the site.

Other directories include:

  • cereal/ - hosts freeculture.org/cereal/ , the "Cereal Solidarity" project homepage
  • summit2006/ - hosts freeculture.org/summit2006/ , the 2006 Swarthmore Summit site
  • database/ - hosts freeculture.org/database/ == freeculture.org:8080/ - "Mudbag" database engine that is going away Real Soon Now
  • chapternews/ - hosts freeculture.org/chapternews/ , a simple Planet system created so we can use its RSS feed
  • nyc/ - hosts freeculture.org/nyc

Other ones

  • backups/ - Old files we probably aren't using, but we somehow don't want to delete them.
  • cache/ - Cache files for things like downloaded calendars, Planet feeds, etc.
  • config/ - Various configuration files, currently only for our (broken) calendaring system
  • chapter-hosting/ - Since most chapter websites are similar, this is where their files are stored
  • lib/ - (PHP mostly) libraries to support various web apps or other software we have installed
  • Maildir/ - Email storage for the freecult@freeculture.org mailbox
  • passwords/ - Where most passwords get stored.
    • passwords/mysql_passwords - a list of all the MySQL passwords we have. This is used by a nightly cron job that saves all the MySQL databases to files.
  • planet/ - configuration and software for the program "Planet", which we use for making our feeds for the front page.
  • software/ - Various code that we use or wrote.
  • subdomains/ - Code that handles redirects for chapter subdomains
  • subversion-repository/ - The svn repository storage
  • tmp/ - Temporary directory for files made that are known to later be able to be deleted.

Other directories that are just distractions:

  • gavinfacebook/ - A directory Gavin and Asheesh made
  • svn/ - A directory Asheesh uses for storing his personal configuration files, like .bashrc

The Back End

(this should include the software behind the sections, where they are in the document tree, and any necessary info for using/administrating them)

The "Main" Site

FreeCulture.org is powered by Wordpress. That means that the actual content of the pages can be updated by WebDev laymen.

The Wiki

The wiki is, of course, powered by MediaWiki.

Mailing Lists

Website_documentation#Mailing_lists documents our Mailman setup, which is the app that runs our mailing lists.

The Planet

The Planet is powered by something else.

Chapter Websites

There are also a few chapter websites at chaptername.freeculture.org. These consist of any combination of a blog, a wiki, and a mailing list. See Hosting chapters.

Email?

Email?