I am certain that your non-confrontational tone and obvious appreciation for all the hard work done for free by volunteers has endeared you to all of us.
One minor suggestion: In the community, we like to see people who identify room for improvement step up and volunteer their own time to fix the things they want fixed. Do you have any spare time?
Shawn
> frameworks I'm used to have at least a well structed API documention listing
> all methods and members of classes with some comment attached to them. They
> also show the class heirachy, quick and simple.
I just look at the source itself for this.
cheers
sam_w
cheers
sam_w
--
You received this message because you are subscribed to the Google Groups "Django users" group.
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.
right.
i think what Simon means (but still can't articulate) is the
difference between explanations (which are great in the Django docs)
and references (which aren't so good).
but the right tool for Python code references is pydoc, which _is_
very complete in Django.
maybe it would be a nice gesture to add pydoc's output to the online docs?
--
Javier
--
--
You received this message because you are subscribed to the Google Groups "Django users" group.
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.
> Yes, being part of the community is good. But to base help and
> solutions by ask&answer is not good for documentation IMO. I don't
> like to ask questions because then I have to explain the problem, word
> everything right and then wait for an answer. I prefer to find the
> answer quick on my own and only ask as a last resort and I think many
> people agree with this.
I totally agree with this myself. And there are plenty of resources -- the Apress books, the official docs, stack overflow, and all the blogs.
If there's something you're lacking in Django education after availing yourself of those things, then being a part of the living community embodied in this list and DjangoCon is the best way to keep current and learn the clever solutions others have developed for common "problems" that haven't been baked into Django proper for whatever reason.
Shawn
The way I see it, there are two types of documentation:
1. Documentation which must be written by human beings.
2. Documentation which can be generated automatically by software.
The documentation you'll find on docs.djangoproject.com is the first
type. It consists, in large part, of things people want to know about
Django but which can't be worked out automatically by a piece of
software scanning over the code and docstrings. Much of this is in the
form of how-to documents, broad overviews, tutorials, etc. which walk
you through some feature and provide example code for common use
cases; this sort of documentation can only be produced by human beings
who know Django fairly well and put in the time and effort to write.
The second type of documentation seems to be what you're looking for.
Things like big lists of classes and members with docstrings are
useful, certainly, but they're not something which requires human
effort to produce; as others in the thread have pointed out, there are
quite a few good tools for Python which will scan over a codebase and
spit out this information into the output format of your choice. And
since this type of documentation can be generated by software any time
you need it, there's not a whole lot of utility to putting it up on
the site.
So my recommendation for you would be to look at tools like epydoc,
since they do exactly what you appear to be asking for; meanwhile
we'll keep putting the efforts of the Django dev team into producing
the documentation epydoc can't :)
--
"Bureaucrat Conrad, you are technically correct -- the best kind of correct."
I'll address this one.
I am yet to meet an online forum interface that doesn't make me want
to gouge my own eyes out. For my money, email is a vastly preferable
interface in almost every respect. Google's Groups could certainly do
with some work, but it's a lot more serviceable than any forum
interface I've ever used.
Yours,
Russ Magee %-)
wholeheartedly agree. (and i'm sure not to be the only one)
--
Javier
I couldn't agree with you more. I never do well keeping up with
online forums, but I'm on umpteen mailing lists. My local mail
archives serve me well.
My main complaint about Google Groups is that I can't download message
archives when I join a group. That option is available with most
Mailman based mailing lists, and I've even found a script for
downloading Yahoo Groups message archives. My local archive of this
mailing list only goes back to 2009. I'd love to have the full
archive of this list at my fingertips.
--
Kevin
http://www.RawFedDogs.net
http://www.WacoAgilityGroup.org
Bruceville, TX
What's the definition of a legacy system? One that works!
Errare humanum est, ignoscere caninum.
> For such a good web framework it's a shame that the documention is not structured well .. at all.
I have no doubt that the project would be more than receptive to doc patches to fix the problem.
--
-- Christophe Pettus
x...@thebuild.com
Kevin Monceaux writes:
> [...]
>
> My main complaint about Google Groups is that I can't download
> message archives when I join a group.
You can ready it as a newsgroup through Gmane.
Tsch�,
Torsten.
--
Torsten Bronger, aquisgrana, europa vetus
Jabber ID: torsten...@jabber.rwth-aachen.de
or http://bronger-jmp.appspot.com
This isn't about patches to the existing docs (which are great for
their purpose). It is about Django missing an API reference manual,
something like .NET Class Library Reference
(http://msdn.microsoft.com/en-us/library/gg145045.aspx), PHP's
Function Reference (http://www.php.net/manual/en/funcref.php) or
Java's (rather hideous looking) API reference
(http://download.oracle.com/javase/6/docs/api/).
I'm glad someone brought this up (although 'horrible' seems like too
strong a word). I miss not having these docs in some online form
because once you know enough about Django, you often know that Django
has capability x but you don't remember what class/namespace it is in.
You end up having to google and spend a while locating the info in the
existing docs. Browsing or grepping the code isn't much better (maybe
I'm missing an app or two here).
API docs also tend to be more structured and concise so you can
instantly see what parameters take what, what exceptions might be
thrown, what the return value is/represents etc.
Right now, I almost always have a browser tab open to
code.djangoproject.com for this purpose.
Talk/ideas are cheap, so here's my take on possible API docs for Django -
An API reference site structured in a similar manner to the above
examples, with the ability to easily search; integrated pydocs; links
to relevant sections of the Django docs; a link to see the code of the
function/class/method etc. A wiki-style section for each page would be
nice too to document caveats, tips, tricks, relevant snippets etc.
Of course the dynamic nature of the code makes this harder to do and
will probably require some human intervention to ensure an entry
exists for every parameter, mapped method etc.
P.S. what's the short answer to why the current Django docs aren't on
a wiki site instead of being versioned inside SVN?
There are some minor clarifications here and there that I'd like to
add, but the overhead of producing a patch, creating a ticket,
flagging down a committer, getting a consensus, and finally having the
patch committed is a bit off-putting. I can understand the process for
code, but it just seems a bit over-the-top for docs. Maybe a
compromise would be adding something like the per-paragraph comments
that The Django Book site has; that way the docs stay official, yet
there's still a way for users to add to them.
> --
> -- Christophe Pettus
> x...@thebuild.com
>
the documentation is excellent - structure needs revamping as it is very
difficult to find any thing unless one knows the key words. It was far
better uptil circa .96. I have been working on a small scheme on how to
structure it better - because I know how busy the devs are here, I
refrained from criticising without giving a possible solution.
--
regards
KG
http://lawgon.livejournal.com
Coimbatore LUG rox
http://ilugcbe.techstud.org/
I've already addressed this point politely, so perhaps it's time to
turn it up a notch:
If your computer is incapable of running pydoc, epydoc or other
similar scripts, how is it simultaneously able to run Django?
Or, not quite so snarkily:
If your computer *is* capable of running pydoc, epydoc, etc., why
aren't you using those tools? And if you're not using them now, why
should I believe you'll make use of epydoc-generated API references if
someone else generates them for you?
(OK, so that was pretty snarky, but I think it's a valid question to ask)
> P.S. what's the short answer to why the current Django docs aren't on
> a wiki site instead of being versioned inside SVN?
There's already a wiki on code.djangoproject.com; it's part of Trac.
If you think wikified documentation would be a good idea, you should
feel free to start putting some up there.
What you'll find pretty quickly, though, is that there's a good reason
why the official docs live in the repo and are maintained by the core
team rather than being on a community-edited wiki: the wiki is where
useful things go to die. It's full of half-baked solutions, code that
only (maybe) runs on Django 0.96, etc., etc., because the nature of a
wiki doesn't really encourage people to make long-term maintenance
commitments. Those of us who have commit bits *have* made such
commitments, and incidentally do a lot more than just committing
documentation patches as they come in; for anything bigger than a typo
fix, there's almost always heavy editing going on for style,
consistency, readability and a bunch of other factors that a wiki can
only manage at the cost of massive bureaucracy and high barrier to
entry (it's no coincidence that Wikipedia is notoriously hard to edit
successfully -- I'm pretty sure they have more documentation on
policies than we have documentation, period).
> P.S. what's the short answer to why the current Django docs aren't on
> a wiki site instead of being versioned inside SVN?
Because wikis stink and a documented versioning means it's easy to keep in sync with the corresponding source, it's easy to package documentation with the corresponding release, documentation fixes can go through the same process as code fixes (including documentation bugs on the tracker) and documentation contributions are treated as first-class contributions and have the same status as code one, also serving as a "gateway drug" to contribution to Django's code?
> There are some minor clarifications here and there that I'd like to
> add, but the overhead of producing a patch, creating a ticket,
> flagging down a committer, getting a consensus, and finally having the
> patch committed is a bit off-putting.
Only the first two are your job (why would you have to "flag down a committer"?) and unless your changes are extensive and/or controversial in my experience getting a document patch in is trivial.
Which leaves three tasks: 1. editing the rst files, 2. running `svn diff` and 3. creating a ticket. Last time I did it, it was pretty painless.
In fact the APIDocs are pretty irrelevant to a new Django user, and the handcrafted guides will likely be much more valuable.
Hell, there are lists (hg's for instance) where code review is handled
by posting patchbombs inline on the list and reviewers commenting on
the patch. And it works pretty damn well too.
> ASIDE: you'd think there'd be a djangonaut smart enough to amend the
> existing forum code im sure i've seen (in pinax maybe) to add in a
> [stacktrace][/stacktrace] and then start a community helpsite.
I'm sure there is, the question is if there's a djangonaut able to do
that who sees *value* in doing this. Apparently hasn't been the case
so far, you might be the one to change this no?
> all im doig here is pointing out that it is hard to find working
> examples of code on the web for many reasons.
And a forum would *not* help with that: forum posts get outdated just
as anything else, and people aren't going to go edit their old code
all the time in order to ensure it stays current. Just as bloggers
rarely go through their archive to cleanup or fix breakage in their
previous code.
Furthermore, form management is much more heavyweight than a mailing
list in that you have to deal with more extensive moderation and spam
management needs. And the bigger the community using them, the harder
and more expensive (in terms of time) it is.
If you have the time to launch yourself into such a project, you
should go ahead, I don't think the django core team really has that
kind of time on their hands. Especially while they're trying to
release 1.3.
> I guess your post should be replaced by my first one :). It's exactly
> what I was trying to say: django need a reference manual to complement
> the existing documentation.
Do you mean like the reference manual one can build from Django
source? I think it can be built in several formats. I've only tried
the PDF version myself. The PDF manual for Django 1.2.3 weighs in at 945
pages, complete with index. Chapter 5 is titled API Reference.
The above wasn't entirely clear. I meant the manual one can build
from the documentation source code which is included the Django source
tarball.
*typical - I know there ain't such a person. However, there ought to be
a "target audience" the Django Foundation wants to reach. That person
becomes the target audience for the intro and gets described in the
intro to the intro.
If the intro works other "typical" devs can be described for alternative
intros. Too meta huh?
Problem is there are too many small operators who need more than Django.
Such as aesthetic guidance, CSS etc etc
It's a quite daunting curve but really all anyone needs is to know where
to find the docs appropriate to their current stage.
How about a survey where people tick boxes which describe where they
currently sit on the continuum so that existing gurus can see how the
first "typical" dev can be described.
BTW - Django docs rock.
Mike