Introduction
Hiya
I'm pleased to announce that the Tennessee Team has a website
http://www.ubuntu-us-tn.info
The great Don Harper (w4ett) has donated money to register this domain and should be swarmed with alcoholic gifts when ever you see him. In another thread the great Rich Gray (netritious) has offered to donate space to host the website, Seeing all this buzz is so awesome that I've decided to create a repository in the spirit of collaboration. In the Ubuntu fashion the code repository is hosted by Launchpad, found here:
https://launchpad.net/www-ubuntu-us-tn
Bazaar Usage
Since not everyone uses version control systems as much as I do.
This is a quick intro to using Bazaar that should get anyone up and collaborating within minutes.
First some short requirements:
Log on to Launchpad and navigate to your profile. Click "Change details" and then click "SSH Keys" and add your SSH key to your Launchpad. If you already have a key it's normally found in ~/.ssh/id_rsa.pub If you don't already have an SSH key then issue this command in a terminal:
Code:
ssh-keygen -t rsa -C "Your Name <your-email-address@wherever.com>"
Now it's time to install Bazaar.
Code:
sudo apt-get install bzr
Once it's installed issue this command so that bzr knows about your Launchpad account:
Code:
bzr launchpad-login <username>
Excellent, it's obviously time to rock. Grab the source code for the website, study it, edit it, make something great, most importantly have fun:
Code:
bzr branch lp:www-ubuntu-us-tn
After doing something to the code commit it. A commit tells others what changed:
Code:
bzr commit -m "This is my commit message"
and then upload it to your branch on Launchpad:
Code:
bzr push lp:~<username>/www-ubuntu-us-tn/trunk
in order keep current with the changing main branch issue this command (always stay current with the main branch please):
When you want to get the code onto our website go into your Launchpad profile and under the Code tab navigate to your branch of the website. There will be a button that says "Propose for merging into another branch". Follow the instructions from there on and send it out. We'll do a code review together and more than likely merge it into the main branch.
And that my friends is how Open Source Collaboration works
Of course bzr can do more than I can write in a thread, so please check out https://help.launchpad.net/Code for a deeper understanding.
We will rock
It's about collaboration
Alright now that I've shown how collaboration works, you've probably seen my crappy code. I'm not really a dev (service industry for life) so please be gentle with me and any other collaborators This is the only definite rule.
I'm going to take the next section to write about why I did what I did and other proposed restrictions.
Flamewars start here
Joking
Directory layout: I started the original mockup for the site with one goal in mind: easy collaboration. Every section of the site is separated for this reason. Here's how it looks:
* banners/ - anyone can add any number of banners into this directory and in the future we can have a banner script rotate them. This folder should say "drop some files in me".
* styles/ - this is for anyone that wants to include their own css themes for the site, hopefully in the future we can have the ability to switch themes. And this folder yells "drop some files in me"
* images/ - is for images that aren't banners, this promotes easy access to the team's misc. images and screams "drop some images in me".
* scripts/ - is for scripts of any sort, this promotes easy access to the team's scripts and screams "try some stuff in here"
* static/ - this folder is for the necessary pages for the team, I created it to keep people away from it pretty much. Pages like join.html and contact.html are necessary for our webpage and should be included on all pages, this folder is for that. These pages, once released, should not be changed often. This folder should say "Keep out"
* stuff/ - I didn't create it yet, but there needs to be a folder that's opposite of static/. This folder should be for any unnecessary stuff that shouldn't be on everypage, it should also promote easy additions to the website and should scream "drop a file in me". Lets name this soon to be real folder stuff/ for now( I'm unsure of what to name it, so please help me out ).
Scripting Languages: I like to code and there are more people out there that do too, unfortunately though languages debates = flamewars which is why I want to have Rich Gray (netritious) host the site on his vps. I would like to be able to have any language supported so that we aren't turning down any potential collaborators, this would also keep us away from the flames.
Merges vs pushes: so that we don't step on toes please please please use the propose merge button in launchpad. This project is for collaboration only.
Standards vs Fun: HTML standards are great but sometimes contributors (like me ) don't want weed through references just to put up a page about their kitty. So I'm for fun on any page in stuff/. However. in order to keep certain parts of the website readable in all browsers though I propose we find a standard and apply it to everything under static/ (I don't care which standard, just trying to open the doors for discussion).
Content: Everything should be open sourced, public domain, free to share, etc. etc. etc. I would follow the DSFG if in doubt or maybe OSI's thing (idk what it's called)
Future Rules and Restrictions I'm open to any ideas but would like to say that this site should be about collaboration within the team and getting people involved in a fun project. Future rules and restrictions should not limit this fun, instead they should expand it.
Comments, suggestions, improvements are needed