See All Titles |
![]() ![]() Third-Party Internet ApplicationsSome completely developed Web applications, written in Python, are available for general use. You don't need to do any programming to use them. You just have to install, configure, and use them. Grail Web BrowserGrail is a free Web browser written entirely in Python, using the Tkinter GUI (Tk, which is a free UI toolkit developed by John Ousterhout). Grail has the capability to manipulate SGML, HTML, URL's, images, and sound. Besides, it is easily extended to offer new functionality. Being written in Python helps Grail to have a high adhesion to the Python language. Something similar happens to HotJava, which is a browser written entirely in Java. For documentation and downloads, check out the following sites: http://grail.python.org and http://grail.cnri.reston.va.us/grail/ Grail should run on any UNIX system to which Python and Tk have been ported—that is, almost all UNIX systems supporting X11. In particular, Grail is one of the few Web browsers that supports Solaris for Intel x86 processors. It now also runs on Windows and Macintosh because there are now stable ports of Tk to those platforms (you need a lot of RAM though). Grail supports the protocols and file formats commonly found on the World Wide Web, such as HTTP, FTP, and HTML. However, it is easily extended to support new protocols or file formats. Grail is distributed by CNRI in source form, free of charge (without warranties), and can be freely redistributed (within reason). Grail has not been worked on for a while, and doesn't support any of the latest standards you might expect in a browser. Grail's design tries to provide a plug-in architecture, which allows the browser to easily support applets written in Python. Grail lets you download Python programs that execute inside Grail on your local machine. These little applications, which are called applets can do things such as display animations, interact with the user in new ways, even create additional menus that pop up dialogs if you like. Grail applets run in a restricted execution environment, so broken or malicious applets (Trojan Horses) can't erase your files or crash your computer. Grail's Web site has an applet demo collection that you can explore. Grail has many positive qualities, such as support to full HTML 2.0, including images, forms and image maps, as well as many HTML 3.2 features. It uses asynchronous document transfer and supports printing and saving documents, searching, bookmarks, history, and more. It also supports frames, file upload in forms, support for JPEG, TIFF, and XBM images, image printing, and tables (within the limitations of the Tk toolkit). It has preference panels, an I/O status display, a remote control interface, and many other nice features. Apart from running applets, Grail is extensible in other areas, by writing so-called Grail plug-in modules. Grail plug-ins can be written for a number of new implementations, such as protocols (for example, CNRI's handle protocol), file formats (for example, for handling JPEG or sound directly), HTML tags (for example, tables), and preference panels. Check out the following site for more information: Grail—The Browser For The Rest Of Us (DRAFT), by Guido van Rossum http://grail.cnri.reston.va.us/grail/info/papers/restofus.html Zope Web Application ServerThe Z Object Publishing Environment, also known as Zope, is an open source object publishing system for the Web, developed by a company called Digital Creations. Zope is a complete dynamic Web site management Web platform used for building high-performance, dynamic Web sites. Essentially, it is a very complete framework for building Web applications, written in Python. Check out the following sites for details: http://www.digicool.com and http://www.zope.org Zope is the leading Open Source Web-application server. Zope enables teams to collaborate in the creation and management of dynamic Web-based business applications such as intranets and portals. It also makes it easy to build features such as site search, news, personalization, and e-commerce into your Web applications. Zope is a long running process, has a sophisticated authentication/authorization model, and has a useful SQL related product called ZSQLMethod, which provides an easy way to access a database from the Web application. The following link is a technical introduction to object publishing with Zope. The document introduces Zope's object publishing facilities and shows you how to write and publish your own objects in Python. It has an excellent tutorial on integrating a Python module with the Zope ORB, Templates and Object Database. http://www.zope.org/Members/Amos/WhatIsObjectPublishing All requests made to the application server are mapped to Python objects. Therefore, whenever you make a call to a URL, as demonstrated in the following line of code http://host/path/to/object?name1=value1&name2=value2 The server internally calls an object passing the pairs (name, value) as arguments. Zope is not monolithic. Instead, it is composed of parts which can be deployed standalone with your own Python code support; for example, the Object Request Broker, HTML Templates (DTML) and the Object Database (ZOBD, Z Object Database, which stores Python objects) can all be abstracted from the mix. Zope's templates are somehow similar to IIS ASP files. However, instead of being associated to Web pages, they are associated to Python objects. You don't need to use Apache (PyApache/Httpdapy) in conjunction with Zope. In fact, Zope comes with a fast Web server of its own, which supports multiple protocols. On the other hand, it can also work with other Web servers as well. Most users do put Apache in front of Zope for reasons of flexibility. Because Zope is a long running process, they implement Persistent CGI, FastCGI, or ProxyPass. If you need to find Web Hosting companies that support Zope, this might help: http://www.zope.org/Resources/ZSP. Mailman—GNU Mailing List ManagerMailman is a Web integrated mailing list manager that helps manage email discussion lists, much like Majordomo and Smartmail. Unlike most similar products, Mailman gives each mailing list a Web page, and allows users to subscribe, unsubscribe, and so on, over the Web. Even the list manager can administer his list entirely from the Web. Both users and system administrator can do almost everything through an Internet connection. Mailman also integrates most things people want to do with mailing lists, including archiving, mail-to-news gateways, and so on. Mailing lists are great for meeting people and sharing common interests. Within Mailman, each mailing list has its own page that makes it much simpler to use. Each mailing list's Web page has an extensive Web-based user interface that is customizable on a per-list basis. This allows users to manage their own subscriptions, with support for temporarily disabling their accounts, selecting digest modes, hiding their email addresses from other members, and so on. All Mailman actions—including subscription requests, list administration, and management reports—can be performed either through a Web interface or more traditional textual commands. In order to use Mailman, you will need the following:
Mailman currently doesn't work on Windows. Instead, it runs on most UNIX-like systems. It is also compatible with most Web servers, browsers, and most SMTP servers. Actually, the only thing Mailman really requires of the mail server is the ability to setup aliases that execute commands. Mailman is written primary in Python (in approximately 13,000 lines) with a few modules written in C (600 lines) for improved security (the C parts are the wrappers that handle securely changing to the correct permissions). Mailman exposes Python as an extension language that allows for customization of Mailman's interfaces. In case you need to build Mailman from the source, it is necessary to have in hand: the GNU-make utility, an ANSI C Compiler, such as gcc, and Python 1.5 or higher. Mailman is brought to you by the Mailman Cabal, which is currently composed of the following core developers: Barry Warsaw, Harald Meland, Ken Manheimer, Scott Cotton, and John Viega. Mailman was originally written by John Viega. Mailman is free software. It is distributed under the GNU General Public License. The following lists some of the main features implemented by Mailman:
Among other responsibilities, Mailman keeps track of the mailing lists of all python.org activities, including the Python Special Interest Groups (Python SIGs). As a practical matter, you'll need root access on your host to configure Mailman properly. Most open source products can be generated and initially tested by ordinary UNIX users. Some organizations have a policy that requires this. With Mailman, though, you'll at least need to create a new account and group (the default for both is "mailman") for Mailman's use. Mailman, of course, powers the Python-list, which is a general discussion list for the Python programming language. You can see it working at http://www.python.org/mailman/listinfo/python-list Also check out the Mailman home page: http://www.gnu.org/software/mailman/mailman.html More information is also available at: http://www.list.org Christopher Kolar has made Mailman documentation available, primarily for list owners who aren't necessarily technical, but who own Mailman mailing lists. The GNU Mailman Documentation can be found at the following site: http://www.aurora.edu/~ckolar/mailman/ Medusa Internet ServerMedusa is a Web server application that can be embeddable into a Python program, offering high-performance for HTTP, FTP, and other IP services. Medusa was written entirely in Python by Sam Rushing. Medusa provides an Internet server framework for implementing asynchronous socket-based servers—TCP/IP, and on UNIX, UNIX domain sockets. The first release includes HTTP, FTP, and monitor servers. Medusa can simultaneously support several instances of either the same or different server types. For example, you could start up two HTTP servers, an FTP server, and a monitor server. Then you could connect to the monitor server to control and manipulate Medusa while it is running, entering and evaluating Python expressions (basically, a remote Python interpreter capability). Out of the box, Medusa can run an unlimited number of HTTP and FTP servers within a single address space, without the use of threads. Capable of impressive hit rates, this server can solve your performance problems while handing you the most powerful server-side scripting language available. Because Medusa is written entirely in Python, it is portable to any platform that implements the socket and select modules correctly. It has been tested on several UNIX platforms, Windows NT, and Windows 95. Medusa is an elegant and efficient solution to a difficult programming problem. Medusa's core async-socket library is very stable because it has been in use virtually unchanged since 1995. Medusa is an architecture for building long-running, very high-performance TCP/IP network servers (such as HTTP, FTP, and NNTP) in Python. Medusa is different from most other servers because it runs as a single process, multiplexing I/O with its various client and server connections within a single process/thread. Medusa is in use now in several mission-critical applications, ranging from custom Web servers at extremely high-traffic sites to distributed data processing systems. As Medusa is written in Python, it can be extended and modified at runtime, even by the end user. User scripts can be used to completely change the behavior of the server, and even add in completely new server types. Note
According to http://www.nightmare.com/medusa/license.html, Medusa is now Free Software under the same license as Python, so you don't need a commercial use license. For more details, check out the following site: http://www.nightmare.com/medusa/
|
© 2002, O'Reilly & Associates, Inc. |