[Chicago] Chipy.org site rework

Valentina Kibuyaga namusoke at hotmail.com
Mon May 21 21:38:06 CEST 2012

I would like to help in anyway possible; however, I am a novice at programming.    Please instruct me in how I can be of assistance.    
 Thank you, Valentina KibuyagaDate: Fri, 18 May 2012 11:06:49 -0500
From: emperorcezar at gmail.com
To: chicago at python.org
Subject: [Chicago] Chipy.org site rework

Few days ago. I did work and brought the Chipy.org up to date with master on Github. The current site has some real issues, the design being the most minor of them.

Code complication and organization

Currently the code[1] itself is way over complicated for what the site is. Pinax is an _ok_ platform, but in it's old incarnation, it's way overkill. Take a look at the code. There is lots of cruft in there that's unused or just not useful such as tribes, swap, bookmarks, etc. Even with all this in there, there isn't things that could be useful, such as presenter information, a place to propose a talk, etc.

The structure of the code has issues also. Settings aren't broken out correctly. The media directory lives in the code directory. The directory structure can go too many levels. There are no real db migrations. It uses django-piston (which can't be installed using pip). It goes on.

System administration tasks

The system it is on has some major issues. The first of all being that there are many permissions issues and the machine is behind on updates. The db and media isn't backed up. There's no staging setup, no real way to deploy.

What my plan is

All the above resulted in the situation where changes are difficult to implement, and even more difficult to deploy in an easy or automated maner.

There are two major things I'm planning to do with the site. The first is a clean state implementation. My plan is to start with the Symposium[2] project. Symposium is a new Pinax project for conference websites. It could be used to introduce some very useful features to the Chipy site such as talk proposals, easier meeting scheduling, etc.

Symposium is used for the Pycon and Djangocon sites. It's not the easiest thing to setup, but it provides a good starting point and I'm glad Pinax has finally gone in the correct direction by making the project a github repo that you can fork and develop on top of. Which in my opinion is the only real way to go with something that complicated.

The plan is to set that up, get some new templates in place, and port over code from the old site.

I plan to use the git flow development method and github pull requests/issues for features and code review 90% of things. On the old site there was a lot of development going on in the backend that people weren't communicating. If you remember the email from Carl recently about json of the talks. I implemented that and found out only when I went in to deploy that someone had setup piston in the repo, but it was never deployed.

The system itself. The Chipy site should not be a complicated piece of software. In the world of PaaS[3] there isn't really a reason that Chipy.org should be running on it's own VM/Slice. Chipy.org should be running on something like Heroku/Dotcloud/Gondor/Etc. to avoid the situation that we currently face on the system of it being out of date, permissions issues, etc. This would allow us to easily spin up staging instances. More importantly, it would remove the burden of admining a system that really shouldn't need admining.

What can you do to help
People with Django experience, and especially anyone with design experience would be greatly appreciated.

If you do want to help and don't have experience, you can submit a pull request and we can review it and make sure everything is in order. It would be a good chance for you to have your coding looked over and gather some great advice.

I'm also looking for feature suggestions and requests. The best way to bring something up is as an issue or a pull request in the repo, which you can find at https://github.com/chicagopython/chipy.org

I'm a huge fan of pull requests being feature requests, so if you have two lines of code ready to go, start a pull request and the discussion can start. For an idea of that workflow, take a look at http://zachholman.com/talk/how-github-uses-github-to-build-github


[1] https://github.com/brianray/Chipy
[2] https://github.com/pinax/symposion
[3] http://en.wikipedia.org/wiki/Platform_as_a_service

Chicago mailing list
Chicago at python.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/chicago/attachments/20120521/786dd8b7/attachment.html>

More information about the Chicago mailing list