Website Development

From Overlap.org Wiki

Jump to: navigation, search


Contents

General

The website is hosted on http://dreamhost.com and Christopher Willits and Jon Phillips have admin level access to the shared hosting account. The main site is at:

/home/overlap/overlap.org

And, the test site (for development and staging) sits behind a username/password barrier:

/home/overlap/test.overlap.org

The concept is that NO DEVELOPMENT or MASSIVE CHANGES BEYOND WORDPRESS TWEAKS ARE DONE ON OVERLAP.ORG. Rather, all sweeping changes, and generally if you are not sure about changes, please do them on http://test.overlap.org. If you need access to the test server, please get that access from an admin, listed above (jon, etc).

Current Development: 13 November 2008

A spot for notes, since I am editing Project Pier and thus don't have access to leaving notes there.

I am in the process of updating the tracker with this new tag from the repository:

 co tracker https://projectpier.svn.sourceforge.net/svnroot/projectpier/ProjectPier/Tags/0.8.0.3/

I am having a permissions issue at present:

 [roscoe]$ pwd
 /home/overlap/overlap.org
 [roscoe]$ rm -rf tracker/
 rm: cannot remove `tracker//upload/97f93/eda92/1b1f6/da9edb1a3a5c6c3f12bdc7005': Permission denied

Everything is backed up and hunky-dory in test.overlap.org.

Live to Development

Right now, there are a set of scripts which allow for basic backups of the live site. In particular, there is a script for syncing the live version of the website to the development version:

/home/overlap/bin/live2dev.sh

It is run with the overlap.conf like so to bring the test site up-to-date with the latest version of the site, including database, scripts, etc...It also makes sure certain files aren't overwritten so that the test site will work:

/home/overlap/bin/live2dev.sh ../conf/overlap.org.conf

WARNING: If you run the above command, any changes you have made to the test site, at the /home/overlap/test.overlap.org or higher, will be ERASED. Therefore, it is vital that you make sure with other developers on the main overlap@overlap.org mailing list, that these changes have been moved out of the way or been applied to the new site.

Development to Live

There is no script for this, because it is too dangerous to do this automatically. Rather, one should make sure that any changesthat should be made live, are thoroughly tested on the test/development site at test.overlap.org before moving over to the live website.

Software and Repositories

Overlap.org is powered by Wordpress. We use the latest stable SVN tagged version of the site from SVN, so that if there is a new tagged version, then svn switch can be used to update the site to the latest stable version. Granted, if there is a new version, this svn switch command should be tested on the test site first, and then if all works fine, then run the command on the live site.

There are only a couple of tweaks to the main installation on overlap.org which should be noted:

/home/overlap/overlap.org

.htaccess is at the root level of the site, with many tweaks needed for redirects, rewrites and other php settings.

    /.htaccess

There is a one-line tweak here for some php settings and other customized speedups.

    /index.php

overlap-settings.php has some php tweaks which are included in a few places in software:

    /overlap-settings.php

robots.txt is to block a few things which were getting massive traffic on overlap.org and bringing the site to its knees.

    /robots.txt

A hack for podpress to do tracking.

    /podpress_trac

The wiki is here:

    /wiki

Tracker is the old activecollab software which needs to be removed at some point because no one uses it, it is now closed source, and pile of waste o time:

    /tracker

Inside of wp-content is the guts of the installation's customizations:

   /wp-content

The cache file is used by wp-cache if enabled during high traffic:

       /cache

The plugins file has mostly third-party plugins.

       /plugins

Here is the plugins folder for some custom code:

           /overlap

Back up a directory and one will find the themes directory:

       /themes

Here is the theme directory:

           /overlap

Back-up one directory and see the uploads directory, where all files and podcasts are uploaded to:

       /uploads

99.999% of Customizations

So, 99.999% of any and all changes can be done through the overlap theme and then more specifically through the plugins. Of the changes to be made, 99.999% should be made to the theme.

If you make ANY changes to the overlap theme or plugins files in the directories, then you MUST commit them so that others can use them and so that the history of those files is saved in case the older version is needed, someone sets up a test install on their own computer, or for others to use.

Theme

The overlap theme is at:

/home/overlap/overlap.org/wp-content/themes/overlap

Above is the overlap theme which controls the entire look and feel of the project as well as provides several functions and bits of code to give the entire project life. It should be noted that the SVN repo for this theme is under:

http://www.svn.overlap.org/overlap_web/trunk/themes/overlap


Plugins

As a last resort, please create and/or edit the current plugins to get whatever functionality you need.

Inside of the plugins folder is a folder under SVN. The repo for these plugins is:

http://svn.overlap.org/overlap_web/trunk/plugins


Local Development

NOTE: This is exactly the same way that overlap.org is setup. The wp-config.php is the main difference and the .htaccess file which are private because of secret passwords and spam blocking things.

Do the following, of course, substituting latest wordpress version like 2.6.3 below for latest when available. One can find latest version by doing (svn list http://svn.automattic.com/wordpress/tags):

svn co http://svn.automattic.com/wordpress/tags/2.6.3 overlap.org 
svn propedit svn:externals overlap.org/wp-content/themes

Then you will go into edit mode and add and save the file:

overlap http://www.svn.overlap.org/overlap_web/trunk/themes/overlap


Then:

svn up overlap.org/wp-content/themes

Then:

svn propedit svn:externals overlap.org/wp-content/plugins

Then you will go into edit mode and add and save the file with these current plugins (NOTE: we will try to keep this list as up to date as possible. If something breaks complain!:

akismet                     http://plugins.svn.wordpress.org/akismet/trunk/
adsense-manager             http://svn.wp-plugins.org/adsense-manager/trunk
all-in-one-seo-pack         http://svn.wp-plugins.org/all-in-one-seo-pack/tags/
cforms                      http://svn.wp-plugins.org/cforms/tags/9.2
exec-php                    http://svn.wp-plugins.org/exec-php/tags/4.8
fabricatorz                 http://svn.fabricatorz.com/fabricatorz_web/trunk/pl
#flexible-upload-svn         http://svn.wp-plugins.org/flexible-upload/trunk
#flickr-photo-album          http://svn.wp-plugins.org/tantan-flickr/tags/1.1
google-analyticator         http://svn.wp-plugins.org/google-analyticator/tags/
google-sitemap-generator    http://svn.wp-plugins.org/google-sitemap-generator/
level2categories/           http://svn.wp-plugins.org/level2categories-2/trunk
#lifestream                  http://svn.wp-plugins.org/lifestream/trunk
lightbox-2                  http://svn.wp-plugins.org/lightbox-2/tags/2.8.0
#mobileadmin                 http://svn.wp-plugins.org/mobileadmin/tags/2.0.1
openid                      http://svn.wp-plugins.org/openid/tags/3.1.4
#overlap                     http://www.svn.overlap.org/overlap_web/trunk/plugin
podpress                    http://svn.wp-plugins.org/podpress/tags/8.8
wp-postratings              http://svn.wp-plugins.org/wp-postratings/tags/1.31
profile-pic                 http://svn.wp-plugins.org/profile-pic/tags/0.8.2
recaptcha-wordpress         http://svn.wp-plugins.org/wp-recaptcha/tags/2.9.2
#register-plus               http://svn.wp-plugins.org/register-plus/tags/3.5.1
#sabre                       http://svn.wp-plugins.org/sabre/tags/0.7.4
widget-category-cloud       http://svn.wp-plugins.org/widget-category-cloud/tru
#wordpress-mobile-edition    http://svn.wp-plugins.org/wordpress-mobile-edition/
#wpLicense                   https://cctools.svn.sourceforge.net/svnroot/cctools
#wp-stats                    http://svn.wp-plugins.org/wp-stats/tags/2.31
#wp-super-cache              http://svn.wp-plugins.org/wp-super-cache/trunk

Then:

svn up overlap.org/wp-content/plugins

Then make sure your web hosting setup, preferably with mysql and apache is setup to serve the site properly. At this time we are not giving out db dumps of the site to be imported. Rather, with the above plugins (some of which are turned off) and the overlap theme, the general look and feel of the site is maintained.

SVN Setup on Overlap

There are post-commit hooks set up to send you an email each time you check-in a revision. Documentation for altering these emails can be found here:

 http://wiki.dreamhost.com/Svn#Setting_up_post_commit_emails
Personal tools