New Karrigel page in Wikipedia

  • Thread starter =?iso-8859-1?q?Luis_M._Gonz=E1lez?=
  • Start date
E

Eric S. Johansson

Luis said:
For those interested in the simplest, easiest and most pythonic web
framework out there, there's a new page in Wikipedia:

this all depends on your criteria for simplest and easiest. For me HTML
is pure hell. I avoid it whenever possible because it literally makes
my hands hurt (worse). It's a pain to modify unless you have a WYSIWYG
editor and even then it's still difficult. Stuffing it into Python
strings is a double pain because you have to figure out how may times
you have to quote your percent signs depending on how may times you
render a string.

A year or so ago, I discovered aether (google aether manual) and my
heart was filled with joy because here was a markup language I could
dictate using speech recognition and save myself a great deal of pain
when producing web applications. Or so I thought.

[bold language is reasonably [bigger simple]] and unlike most
higher-level markup languages, it's built out of English words,'[', and
']' which is why it is handicapped friendly. The other advantage of this
framework is that it is easy to build your own [words and build
application specific vocabularies.

But aether by itself brought sorrow with it as well. The original
creator was no longer interested in extensions and the ability to create
CGI programs was flawed. So in conjunction with an unnamed accomplice,
we set about expanding aether and renamed the project Akasha.

I simplified the CGI environment significantly. the simplifications
make creating CGI significantly easier than with the traditional python
module. Each displayed page or page hierarchy is associated with an
object. Each object uses the __init__ method for the usual (i.e.
instance, and variable initialization). The page_init method is called
before a page is rendered and displayed. This gives you the ability to
dynamically create markup elements before rendering the page the first
time. additional methods can be added and provided one follows the
right naming convention, associates each method with a HTML form button.

once the button has been pushed, all of the CGI variables are stuffed
into a dictionary. Returning data from CGI is simple as well. there is
a dedicated dictionary which contains information that can be revealed
in a rendered page.

The nice thing about this structure for me is that the markup
environment doesn't embed any Python but there is a clear channel for
communicating both data and markup notation to the display side of the
house. I'm not happy that I have markup in my Python but at least I can
restrict how far it spreads.

Akasha is not perfect, it's not full-featured, it doesn't have any
databases associated with it (thank god), but for me it's a dream to use
in contrast to the half a dozen web frameworks I tried.

if you want to play with it, let me know and I will update CVS at
https://savannah.nongnu.org/projects/akasha with the current work in
progress

--- eric

ps. If you check wikipedia it has some rather amusing uplifting
definitions for Akasha and Akasha records. Although on bad days I think
of Akasha as a code sucking vampire draining the life out of my hands.
 
R

Ravi Teja

editor and even then it's still difficult. Stuffing it into Python
strings is a double pain because you have to figure out how may times
you have to quote your percent signs depending on how may times you
render a string.

You don't need to do that. You can always use your favorite templating
system. I am using Cheetah.
Akasha is not perfect, it's not full-featured, it doesn't have any
databases associated with it (thank god), but for me it's a dream to use
in contrast to the half a dozen web frameworks I tried.

Karrigell's KirbyBase is strictly optional. I don't use it. And it is
not bound to Karrigell either. You can use it stand alone in any other
app by itself. It just happens to be bundled along and is meant solely
for storage needs between a config file and a small database. So it is
not intended for everything.
if you want to play with it, let me know and I will update CVS at
https://savannah.nongnu.org/projects/akasha with the current work in
progress

Please do. I switched to Karrigell after problems with CherryPy in
'development mode'. I did find Karrigell amazingly simple and it just
stepped out of the way but had all the things I thought were nice about
CherryPy. Because of the simplicity, I did not have to deal with a
single quirk so far. But maybe, I will like your framework better once
I see it.
ps. If you check wikipedia it has some rather amusing uplifting
definitions for Akasha and Akasha records. Although on bad days I think
of Akasha as a code sucking vampire draining the life out of my hands.

Akasha in many [Asian] Indian languages means 'Sky' :).
 
E

Eric S. Johansson

Ravi said:
You don't need to do that. You can always use your favorite templating
system. I am using Cheetah.

actually, I got burned lots of times using template systems. I think I
live by the minimum new scar tissue metric. After all, the only
intuitive user interface is the mammalian nipple; everything else is
scar tissue.
Please do. I switched to Karrigell after problems with CherryPy in
'development mode'. I did find Karrigell amazingly simple and it just
stepped out of the way but had all the things I thought were nice about
CherryPy. Because of the simplicity, I did not have to deal with a
single quirk so far. But maybe, I will like your framework better once
I see it.

okay then. I uploaded it but you must promise me that you will talk
with me the instant you have any problems. It's still in the "you must
live in Eric's brain" documentation state. I would not say no to any
help bringing this into a more human friendly state.
ps. If you check wikipedia it has some rather amusing uplifting
definitions for Akasha and Akasha records. Although on bad days I think
of Akasha as a code sucking vampire draining the life out of my hands.

Akasha in many [Asian] Indian languages means 'Sky' :).

the two references I thought were the best was that a Akasha was the
same is aether and that Akasha records are thought to hold all of the
knowledge of mankind, known and unknown. While I do expect that Akasha
will be useful to some people as a small to medium scale web application
environment, I do have enough visions of grandeur to think it might go
bigger. ;-)

---eric
 
D

Dennis Lee Bieber

this all depends on your criteria for simplest and easiest. For me HTML
is pure hell. I avoid it whenever possible because it literally makes
my hands hurt (worse). It's a pain to modify unless you have a WYSIWYG

UGH... WYSIWYG HTML editors, that I've experienced, generate some of
the worst HTML around...

A good non-wysiwyg editor should be able to match tags and allow for
editing contents on a tag related basis, not just raw typing...
--
 
B

Ben Sizer

Luis said:
For those interested in the simplest, easiest and most pythonic web
framework out there, there's a new page in Wikipedia:

http://en.wikipedia.org/wiki/Karrigell

Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.
 
P

Paul Rubin

Ben Sizer said:
Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.

Yes, that article needs some rewriting to fit Wikipedia style. Some
of the content might be better in wikibooks.org instead of Wikipedia.
 
F

Fredrik Lundh

Ben said:
Why is Wikipedia being abused for software promotion and documentation?
Articles on Wikipedia are supposed to be from a neutral point of view
and purely informative, not biased or instructive.

check the page history. it's already been nominated for speedy removal, but the
Karrigell folks deleted the "prod" template ("it's free software!").

</F>
 
P

Pierre Quentel

I added an entry in Wikipedia for information, just like other Python
web frameworks have already done. If the style doesn't fit Wikipedia's
I'm sorry and willing to learn how to improve it ; the reason I read
was "Obvious, if elaborate, link spam. Really should be speedied, but I
can't find a CSD that fits this". I don't really understand why it's
called a spam, I don't know what a CSD is and I don't know either who
deleted the prod template, not me anyway. I'll take wikipedia people's
advice into account anyway
 
P

Paul Rubin

Pierre Quentel said:
I added an entry in Wikipedia for information, just like other Python
web frameworks have already done. If the style doesn't fit Wikipedia's
I'm sorry and willing to learn how to improve it ; the reason I read
was "Obvious, if elaborate, link spam. Really should be speedied, but I
can't find a CSD that fits this". I don't really understand why it's
called a spam, I don't know what a CSD is and I don't know either who
deleted the prod template, not me anyway. I'll take wikipedia people's
advice into account anyway

CSD = criteria for speedy deletion, <http://en.wikipedia.org/WP:CSD>

Prod = proposed deletion. Anyone is allowed to un-prod it, and in
this case someone did. If nobody un-prods it after 5 days, it gets
deleted automatically. That doesn't apply here, because the article
did get un-prodded.

Next probably comes AFD, article for deletion. That's a consensus
process: there's a 5 day community discussion about what to do about
the article and then an admin comes along and implements the decision.

This article will probably get AFD'd (i.e. entered into the discussion
process). When that happens, I'll recommend keeping the article but
editing it considerably. Basically it needs to be rewritten as a
straightforward description that doesn't sound like advertising.

If there's an AFD, a notice will appear at the top of the article
announcing the AFD and giving a link to participate in the discussion.
 
P

Pierre Quentel

Ok, thanks for the information. I have rewritten the page in a more
neutral way and removed the tutorial-like part, I'll put in in wikibooks
 
P

Paul Rubin

Pierre Quentel said:
Ok, thanks for the information. I have rewritten the page in a more
neutral way and removed the tutorial-like part, I'll put in in wikibooks

It's much better now, and I think it won't be deleted.
 
P

Paul Rubin

Pierre Quentel said:
Ok, thanks for the information. I have rewritten the page in a more
neutral way and removed the tutorial-like part, I'll put in in wikibooks

I don't know if you really want to put the tutorial in wikibooks,
since there's already documentation on karrigell.com. The idea of
wikibooks is to develop books on the wiki. That's maybe a reasonable
way to create new documentation, but in this case it would mean you
have two parallel documents being developed separately.
 
R

Roy Smith

"Pierre Quentel said:
I added an entry in Wikipedia for information, just like other Python
web frameworks have already done. If the style doesn't fit Wikipedia's
I'm sorry and willing to learn how to improve it ; the reason I read
was "Obvious, if elaborate, link spam. Really should be speedied, but I
can't find a CSD that fits this". I don't really understand why it's
called a spam, I don't know what a CSD is and I don't know either who
deleted the prod template, not me anyway. I'll take wikipedia people's
advice into account anyway

Hi Pierre,

As the guy who put the deletion notice on the article, let me explain how
this works, and why I did what I did. My apologies if my comment appeared
abrupt or rude.

CSD stands for "Criteria for Speedy Deletion". It's a set of specific
rules describing types of articles which don't fit Wikipedia's charter. If
an article fits one of the CSD rules, any Wikipedia admin (which I am), can
delete the article on their own, with no further ado. Hundreds of articles
a day are deleted under CSD. Your article did not meet any of those
specific rules. You can read more at http://en.wikipedia.org/wiki/Wp:csd

CSD or not, I still felt that the article was not appropriate for
Wikipedia. Wikipedia is an encyclopedia; it's meant to collect, organize,
and present information about significant things. It is explicitly NOT
meant to be used as a tool to promote things, even things which are being
given away for free. Wikipedia has become one of the most well-known web
sites on the Internet, and is thus often used by people with things to
promote as an easy way to get some free publicity. That is what your
article looked like. I thus took the step of proposing that it be deleted.
I used a relatively new process which gives people 5 days to object to the
proposal, and if anybody does, the article is kept. That's what happened
here. It also prompted it to get cleaned up a lot, which is a Good Thing.

The next step I could take would be to bring the article to what's called
AFD, or Articles For Deletion. At that point, there would be a more formal
debate about the pros and cons of the article vis-a-vis Wikipedia's
charter, and finally some other (neutral) admin would come along and make a
final determination. The article has improved enough that I don't think
I'm going to do that. It still concerns me that you appear to be using
Wikipedia to promote your own work, but I'll leave that up to other editors
to decide what they want to do.

Please don't misunderstand my actions. I'm all for promoting Python, and
your Karrigel system looks interesting. Wikipedia is just not the correct
forum for such promotion. There is a fine line between promotion and
documentation. It's often difficult to know where that line is, especially
when you're personally close to a project.
 
R

Roel Schroeven

Luis M. González schreef:
For those interested in the simplest, easiest and most pythonic web
framework out there, there's a new page in Wikipedia:

http://en.wikipedia.org/wiki/Karrigell

There's something I don't quite get regarding the Karrigell- and
CherryPy-style frameworks. With PHP or mod_python I can put any number
of different applications in different directories on a web server,
which is very convenient: all kinds of things I want to use can live
perfectly together (static content, webmail, phpmysql etc etc), all
under Apache which either servers the static content directly or uses
PHP or Python or Perl or whatever for dynamic content.

If I understand everything correctly, Karrigell is meant to be run as
its own server which runs one application. I guess I can run different
Karrigell servers on different ports, and possibly use mod_rewrite to
forward e.g. http://foo.example.com/app1 and http://foo.example.com/app2
to different instances. That's absolutely not elegant though, I think.
Ideally, installing an application should consist of just putting it in
its directory and making that directory available to the webserver.

How do other people do this? Only one application on each (virtual)
server? Or is there something I am missing?
 
P

Paul Rubin

Roy Smith said:
Please don't misunderstand my actions. I'm all for promoting
Python, and your Karrigel system looks interesting. Wikipedia is
just not the correct forum for such promotion. There is a fine line
between promotion and documentation. It's often difficult to know
where that line is, especially when you're personally close to a
project.

I think the current version of the article is ok. The documentation
(past a few illustrative examples) and most of the advocacy is
removed. The program itself is notable and the article is now
comparable to other Wikipedia articles about similar programs.
 
R

Roel Schroeven

Tim Williams (gmail) schreef:
On 13/04/06, *Roel Schroeven* < (e-mail address removed)



There's something I don't quite get regarding the Karrigell- and
CherryPy-style frameworks. With PHP or mod_python I can put any number
of different applications in different directories on a web server,
which is very convenient:

[SNIP]
How do other people do this? Only one application on each (virtual)
server? Or is there something I am missing?


Karrigell will happily run multiple karrigell "applications" on a single
server . In your example simply by having different applications at
http://foo.example.com/app1 and http://foo.example.com/app2 will do the
trick.

But I still need to allocate a port for each one, right? And write
rewrite rules to rewrite the urls:
http://foo.example.com/app1 -> http://foo.example.com:port1
http://foo.example.com/app2 -> http://foo.example.com:port2

I don't like to have to run separate processes for each application, but
I guess it will work.
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

When you talk about the "Karrigell folks" it looks like there's a bunch
of guys out there ploting to rule the world. It's nothing like that.
I just read Pierre's comments about this article, and decided to post a
message in comp.lang.python to let everybody know about it.

Perhaps my post looked like a sales pitch... well, I'm sorry! I think
Karrigel needs some promotion. It's an excellent product and it's been
almost ignored by the community...

I appreciate all the observations regarding Wikipedia's nature, but I
confess that I'm surprised to see you, "python folks", so annoyed by
this article.
 
P

Pierre Quentel

The web server in Karrigell is actually application-independant. An
application is a set of scripts or static files, generally stored in
the same directory ; the server parses the http requests, searches for
a file matching this request, processes the file according to its
extension and sends the response

For instance, the distribution provides a number of demo applications
(a calendar, a wiki server, a forum etc) that can be all used when you
start the server

If you want to add a new application you just have to add the files, it
will run without having to restart the server ; if you modify a script
with a text editor, you see the result of the change the next time you
reload the page

Pierre
 
P

Pierre Quentel

No, in the document root you create a folder "app1" and put all the
files for the first application in it, and a folder "app2" for the
second application

For http://foo.example.com/app1 the server will search for an index
file in this directory and serve it. You can also specify the script
you want : http://foo.example.com/app1/default.py. Same thing for app2
of course. Absolutely no need to start two instances of the server on
different ports

Pierre
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,767
Messages
2,569,570
Members
45,045
Latest member
DRCM

Latest Threads

Top