Streamlining DJango Deployment — Novel idea from the world of CMSs

45 views
Skip to first unread message

Alec Taylor

unread,
Sep 7, 2011, 10:41:31 AM9/7/11
to django...@googlegroups.com
Good morning,

I have just recently starting migrating over from WordPress and Drupal to the world of DJango.

First of all, let me say that yes, I am aware that DJango is not a CMS!!!

Now, onto my suggestions on how to streamline DJango deployment.
____

= What's wrong with the current method? =

• Doesn't cater to people who don't know Python
• Requires the installer to be a developer (pretty much)
____

I'm building a social-network catering to student-groups, users-groups and game-clans. I will be releasing this under (probably) the New BSD license. Because I want as many people as possible to be able to use this project, I want to make it very easy for non-developers to setup this social-network on there servers.
____

= What are you suggesting? =

A four-step install process.
• Install pre-packaged Python+DJango-script package
http://i53.tinypic.com/2055fg8.png
http://i55.tinypic.com/e8lgtg.png
http://i55.tinypic.com/o0qiow.png
http://i55.tinypic.com/o0qiow.png
____

What are your thoughts on the DJango deployment redesign?

Would anyone be interested in getting involved (making this happen!)?

Best regards,

Alec Taylor

Donald Stufft

unread,
Sep 7, 2011, 10:51:16 AM9/7/11
to django...@googlegroups.com
We talked a little on IRC, but just thought i'd reiterate my thoughts.

This should not be in core, and I don't believe it ever has a chance of being in core.

That being said, I think that an external "installer" app like this wouldn't be the worst thing in the world, and could help to make an out out of the box Django Project (not django itself) an easier thing to distribute.

I think if you go forward with this you'll best serve yourself, and the community by not making it django specific, but instead make an easy way to create a self contained installer/runtime container for wsgi based projects and then someone who creates a project in Django (like say a wordpress like site, or a forum like site), and wants to prepackage it for the masses can then use your project to create an easy installer/deployment container to get started with the project.
--
You received this message because you are subscribed to the Google Groups "Django users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/_b3bjdPN5_AJ.
To post to this group, send email to django...@googlegroups.com.
To unsubscribe from this group, send email to django-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

Doug Ballance

unread,
Sep 7, 2011, 2:31:41 PM9/7/11
to Django users
I would agree with Donald, and expand on that to say that an installer
would probably be best written in php for widest compatibility. A php
based installer would run outof the box on most webservers, and be
able to give a guided overview of the python/web environment setup.
It would easily be able to detect the apache/webserver configuration
for required modules, make 'best practices' recommendations based on
the environment, download and setup virtualenv, etc. Not a php fan,
but it would seem to me to be a prime choice for an installer to let
django/python webdevelopment ease into a php dominated world.

Calvin Spealman

unread,
Sep 7, 2011, 3:45:46 PM9/7/11
to django...@googlegroups.com
Can you explain to those of us to whom it is not obvious, what is the
point of this proposal? I don't understand what problem it would
solve.

> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/django-users/-/_b3bjdPN5_AJ.
> To post to this group, send email to django...@googlegroups.com.
> To unsubscribe from this group, send email to
> django-users...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/django-users?hl=en.
>

--
Read my blog! I depend on your acceptance of my opinion! I am interesting!
http://techblog.ironfroggy.com/
Follow me if you're into that sort of thing: http://www.twitter.com/ironfroggy

Alec Taylor

unread,
Sep 8, 2011, 1:35:35 AM9/8/11
to django...@googlegroups.com, ironf...@gmail.com

Looks like the initial mockup for the final display didn't Ctrl+V properly, here it is: http://i55.tinypic.com/s5fivd.png

The problem I'm trying to solve is one of deployment (and minimalist overview management).

When I write a project, I want whoever needs to install it to be able to install it, and get it up and running with as little skill as possible. Since what I'm writing isn't just for developers but are also for other enthusiasts and conference organisers; simple install is a must.

Also, for development, it would be quicker+easier to get a development environment/build up and running on a new machine with the aforementioned interface.

graeme

unread,
Sep 8, 2011, 7:20:41 AM9/8/11
to Django users
On Sep 8, 12:45 am, Calvin Spealman <ironfro...@gmail.com> wrote:
> Can you explain to those of us to whom it is not obvious, what is the
> point of this proposal? I don't understand what problem it would
> solve.

The commonest use case would be something like this:

Someone wants to use a Django app to run a site: e.g. using a Django
based CMS or forum, or something similar. They have the level of
knowledge required to set up a database using their hosts control
panel, upload some files, and then navigate to a URL. If they are
installing a typical PHP based CMS the rest is a relatively simple GUI
install (the most complicated bit is remembering the database username
and password).
> Read my blog! I depend on your acceptance of my opinion! I am interesting!http://techblog.ironfroggy.com/

graeme

unread,
Sep 8, 2011, 7:21:14 AM9/8/11
to Django users


On Sep 8, 12:45 am, Calvin Spealman <ironfro...@gmail.com> wrote:
> Read my blog! I depend on your acceptance of my opinion! I am interesting!http://techblog.ironfroggy.com/

graeme

unread,
Sep 8, 2011, 7:34:43 AM9/8/11
to Django users
He wants to be able to emulate the installation of a typical PHP CMS.
This is often 1) get database username and poassword, 2) copyfiles to
server, 3) navigate to an install URL, 4) fill in db username and
password and other config on a set of forms on web page.

Installing Django and the app you want to use is much more complex and
forbidding requiring use of the command line and editing settings.py.

One question is what server configurations this will support.
mod_wsgi? fastcgi? others? Will this type of user be able to pick the
right choice?

On Sep 8, 12:45 am, Calvin Spealman <ironfro...@gmail.com> wrote:
> Read my blog! I depend on your acceptance of my opinion! I am interesting!http://techblog.ironfroggy.com/

Donald Stufft

unread,
Sep 8, 2011, 7:37:09 AM9/8/11
to django...@googlegroups.com
This is a hard question. It would probably be nice to offer a self contained deployment that nginx/apache could just proxy too, maybe pick that as the default, and then add in writing a fcgi or wsgi file for use with regular hosting.

Cal Leeming [Simplicity Media Ltd]

unread,
Sep 8, 2011, 7:52:21 AM9/8/11
to django...@googlegroups.com
The subject of self contained deployments has already been *heavily* discussed in other threads. Self contained / single binary deployments is something that Roberto @ UNBIT is currently working on (and myself), and if you do a search on the mailing list, you'll see tons of ideas on this already. And believe me, it's not as simple as it may seem. (consider cross OS libs, file system loaders etc).

Secondly, the OP said the following things are wrong:

- Doesn't cater to people who don't know Python
This is absolutely absurd, Django is a *python web framework*.

Requires the installer to be a developer (pretty much)
Again, the developer would be the one 'creating' the project. If they didn't understand the concepts behind how to make django talk to a webapp server, then they need to learn. Simple.

Without being too rude, if you are looking to automate the install of a framework, then you need to understand what the framework does. I am completely against your proposed concept, because you are attempting to take away the *need to understand* how things work.

Cal

Donald Stufft

unread,
Sep 8, 2011, 7:57:01 AM9/8/11
to django...@googlegroups.com
Cal,

He's not looking to automate the install for the Developer of a Django Project, but for the End Users of a Django Project.

So if I, or another developer wrote a WordPress clone using Django and then allow a third party to come and download my Wordpress clone and easily install it.

Cal Leeming [Simplicity Media Ltd]

unread,
Sep 8, 2011, 8:26:39 AM9/8/11
to django...@googlegroups.com
Again - that subject has already been heavily discussed and is already a work in progress :X

Automating the install for the end user is not a simple task - unless you want to go down the VM Appliance route.

See the following threads:


Time would be better spent focusing on contributing to efforts already spent in this area.

Hope this helps.

Cal

Cal Leeming [Simplicity Media Ltd]

unread,
Sep 8, 2011, 8:36:01 AM9/8/11
to django...@googlegroups.com
Also, my apologies to OP for misunderstanding his original request :)

Cal
Reply all
Reply to author
Forward
0 new messages