Web application to manage software distribution

web-applications

I'm the IT guy for a small software development company. We have software that is downloadable by customers that purchased a license via our web site. I'm trying to find a solution to better manage the software download process. With each new release we have builds for various platforms and configurations (totaling about 50 different individually downloadable components). Each customer only has access to a small subset of these components. I'm currently "managing" all of this with some perl scripts but it's pretty crude.

I'm thinking about a web application that would allow customers to login and view the downloadable components that they have purchased. I don't need anything fancy for dealing with purchasing the software through our web site or anything like that. At least initially the access to the individual downloads will be manually managed on a per customer basis. I'm thinking about using the Project Drupal module but it would need some heavy modifications to do what we need. Is there anything better suited for this?

Best Answer

Why not Django?

A model consisting of all the parameters (build number, filesystem location, name, and so on), and use built-in admin to edit and add those objects (or do it programmatically with a build script). Extend the built-in user object, wrap some generic views (object_detail, object_list) to display the list(s) of your products, etc. A simple join is all you need to display the list of products per user, which is abstracted with a decent ORM (or, use SQLAlchemy, if that's your bag.)

That's just an elevator pitch of how I personally would go about it. Django is designed to be "batteries included", so you'll find that most things (tedium you wouldn't really care about much for this application, really) are all set to go. User authentication, admin panel, etc.

It's Python, so I'm unsure if that's your skillset. However, I think it would be a solid tool for the job, given the information provided. If you're a fulltime sysadmin, I highly recommend learning it.

Related Topic