codehosting
Django app for hosting code projects
This django application is intended to assist developers who want to host releases of their own projects, instead of relying on SourceForge. Using the django admin interface, one creates "projects" and "releases" of those projects. Projects may consist of source/binary releases, or may refer to an externally hosted site for web services where code is not released.
Current Version: 1.13
Released: Sun Dec 16 18:36:56 2007
Download version
1.13
Related Links
- two new releases (2007-12-16)
- I'm working on another django project and need some head features for it, so I needed to update my server from 0.96 to use an svn checkout (I wish there were more frequent formal releases of django - they need a release manager). As a result, I spent a while today updating a couple of my applications to be compatible with the head version. ...
- codehosting now supports feedburner (2007-09-03)
- I just posted a new version of my codehosting project for django which supports passing the Atom feeds for release updates through feedburner.com. There isn't anything tying the implementation to FeedBurner, of course, but since that's why I wanted the feature that's how I am describing it.
One tricky bit was I wanted all of the existing subscribers to my feed(s) to be redirected to the FeedBurner URL. I couldn't just add a redirect rule in Apache, since not all of the feeds are set up with FeedBurner yet. So I opted for letting the django code handle the redirection. If a project has an external_feed property that is not null, that value is used as the URL for feeds for the project. So when someone accesses the old URL for the codehosting release feed (http://www.doughellmann.com/projects/feed/atom/codehosting/) they are redirected to http://feeds.feedburner.com/DougHellmann-codehosting instead. And FeedBurner looks at http://www.doughellmann.com/projects/local_feed/atom/codehosting/, which always produces the Atom content locally.
The "local_feed" URL is never included in any templates, so no web crawlers should ever find it by themselves.
This is one of those cases where I had thought to include this feature from the beginning, since migrating the existing readers of the feed(s) required this hackish change. But, it looks like it is working. I would be interested in any feedback anyone else might have on other ways I could have handled the redirects. - Distsributing django applications (2007-09-03)
- I had a report that version 1.2 of my codehosting package did not include all of the required files. It turns out I messed up the setup.py file and left out the templates, images, and CSS files. Oops.
In the process of trying to fix the setup file, I discovered that distutils does not include package data in sdist. Not a big deal, since I just created a MANIFEST.in file to get around it.
My next challenge (for this project) is how to write the templates in a way that would let anyone actually reuse them. For example, the project details page shows info about the most current release and a complete release history. It uses a 2 column layout for that, but the way I have it implemented the layout is defined in the base template for my site. I want to move that layout from the site base template down into the application base template, but I do not want to repeat myself if I can avoid it. Maybe I need to get over that and just repeat the layout instructions. Or refactor the site base template somehow. Obviously that needs more thought. I did find some useful advice in DosAndDontsForApplicationWriters, but have not implemented all of those suggestions.
In the mean time, release 1.4 of codehosting is more flexible than the previous releases and is probably closer to something useful for people other than me. - project site with django (2007-09-03)
- While I'm at it, I ought to go ahead and release the code I wrote to host my projects site.
- Featuritis (2007-09-03)
- My project site is finally online, and I find myself falling into precisely the trap I was hoping to avoid. I originally wanted to find some existing software to host the site, so I could concentrate on the myriad projects cluttering up the back of my brain. Since I opted to build my own, I've found myself focusing on building more features into the site management tool instead of those other projects.
In any event, today I added Atom feeds to track releases for each project, as well as a global feed to track all releases from the site. The feeds include download links to each released software bundle as enclosures, because it was easy not because it seems especially useful. - code hosting (2007-09-03)
- I spent some time over the weekend building a rough tool with django to host my code projects. It is only at http://www.doughellmann.com, though that domain may not be available in your DNS cache, yet. I'm happy with the schema for the results, but will probably tweak the colors and layout for a while.
- code hosting tool (2006-12-22)
- I am looking for a tool to build out a site to host my code projects. None of these projects are large enough to warrant anything like the features provided by SourceForge. I don't think my requirements are very strict, but I haven't been able to find anything to do what I want (sort of a sourceforge-lite):
Related Projects
- django-links - Django app for managing "related links"