Website Development
From Overlap.org Wiki
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
Categories: HOWTO | Help | Guide

