ports/119598: New Port: devel/p5-CGI-Ajax, for writing Asynchronous web applications

Ruben de Groot rdg at bzerk.org
Sat Jan 12 15:40:01 UTC 2008


>Number:         119598
>Category:       ports
>Synopsis:       New Port: devel/p5-CGI-Ajax, for writing Asynchronous web applications
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 12 15:40:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Ruben de Groot
>Release:        FreeBSD 7.0-BETA3
>Organization:
Bzerk
>Environment:
FreeBSD morninglightmountain.hacktor.net 7.0-BETA3 FreeBSD 7.0-BETA3 #4: Fri Nov 30 14:04:56 UTC 2007   root at morninglightmountain.hacktor.net:/usr/obj/usr/src/sys/MORNINGLIGHTMOUNTAIN  sparc64
>Description:
CGI::Ajax is an object-oriented module that provides a unique mechanism for using perl code asynchronously from javascript- enhanced HTML pages. CGI::Ajax unburdens the user from having to write extensive javascript, except for associating an exported method with a document-defined event (such as onClick, onKeyUp, etc). CGI::Ajax also mixes well with HTML containing more complex javascript.

CGI::Ajax supports methods that return single results or multiple results to the web page, and supports returning values to multiple DIV elements on the HTML page.

Using CGI::Ajax, the URL for the HTTP GET/POST request is automatically generated based on HTML layout and events, and the page is then dynamically updated with the output from the perl function. Additionally, CGI::Ajax supports mapping URL's to a CGI::Ajax function name, so you can separate your code processing over multiple scripts.

Other than using the Class::Accessor module to generate CGI::Ajax' accessor methods, CGI::Ajax is completely self-contained - it does not require you to install a larger package or a full Content Management System, etc.

We have added support for other CGI handler/decoder modules, like CGI::Simple or CGI::Minimal, but we can't test these since we run mod_perl2 only here. CGI::Ajax checks to see if a header() method is available to the CGI object, and then uses it. If method() isn't available, it creates it's own minimal header.

A primary goal of CGI::Ajax is to keep the module streamlined and maximally flexible. We are trying to keep the generated javascript code to a minimum, but still provide users with a variety of methods for deploying CGI::Ajax. And VERY little user javascript.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	devel/p5-CGI-Ajax/Makefile
#	devel/p5-CGI-Ajax/distinfo
#	devel/p5-CGI-Ajax/pkg-descr
#	devel/p5-CGI-Ajax/pkg-plist
#
echo x - devel/p5-CGI-Ajax/Makefile
sed 's/^X//' >devel/p5-CGI-Ajax/Makefile << 'END-of-devel/p5-CGI-Ajax/Makefile'
X# New ports collection makefile for:	p5-CGI-Ajax
X# Date created:				12 Januari 2008
X# Whom:	      				Ruben de Groot <rdg at bzerk.org>
X#
X# $FreeBSD$
X#
X
XPORTNAME=	CGI-Ajax
XPORTVERSION=	0.701
XCATEGORIES=	devel perl5
XMASTER_SITES=	CPAN
XPKGNAMEPREFIX=	p5-
X
XMAINTAINER=	rdg at bzerk.org
XCOMMENT=	CGI::Ajax - a perl-specific system for writing Asynchronous web applications
X
XBUILD_DEPENDS=	${SITE_PERL}/Test/More.pm:${PORTSDIR}/devel/p5-Test-Simple
XRUN_DEPENDS=	${SITE_PERL}/Class/Accessor.pm:${PORTSDIR}/devel/p5-Class-Accessor
X
XPERL_CONFIGURE=	yes
X
XMAN3=		CGI::Ajax.3
X
X.include <bsd.port.mk>
END-of-devel/p5-CGI-Ajax/Makefile
echo x - devel/p5-CGI-Ajax/distinfo
sed 's/^X//' >devel/p5-CGI-Ajax/distinfo << 'END-of-devel/p5-CGI-Ajax/distinfo'
XMD5 (CGI-Ajax-0.701.tar.gz) = e4922d9ea9e45c68387d3682a7adbacf
XSHA256 (CGI-Ajax-0.701.tar.gz) = 0fa1320dab13501b43a63d6c5dba0a4370e6baeb3bddd15cbb1a0db1fd752c54
XSIZE (CGI-Ajax-0.701.tar.gz) = 37303
END-of-devel/p5-CGI-Ajax/distinfo
echo x - devel/p5-CGI-Ajax/pkg-descr
sed 's/^X//' >devel/p5-CGI-Ajax/pkg-descr << 'END-of-devel/p5-CGI-Ajax/pkg-descr'
XCGI::Ajax is an object-oriented module that provides a unique mechanism for using perl code asynchronously from javascript- enhanced HTML pages. CGI::Ajax unburdens the user from having to write extensive javascript, except for associating an exported method with a document-defined event (such as onClick, onKeyUp, etc). CGI::Ajax also mixes well with HTML containing more complex javascript.
X
XCGI::Ajax supports methods that return single results or multiple results to the web page, and supports returning values to multiple DIV elements on the HTML page.
X
XUsing CGI::Ajax, the URL for the HTTP GET/POST request is automatically generated based on HTML layout and events, and the page is then dynamically updated with the output from the perl function. Additionally, CGI::Ajax supports mapping URL's to a CGI::Ajax function name, so you can separate your code processing over multiple scripts.
X
XOther than using the Class::Accessor module to generate CGI::Ajax' accessor methods, CGI::Ajax is completely self-contained - it does not require you to install a larger package or a full Content Management System, etc.
X
XWe have added support for other CGI handler/decoder modules, like CGI::Simple or CGI::Minimal, but we can't test these since we run mod_perl2 only here. CGI::Ajax checks to see if a header() method is available to the CGI object, and then uses it. If method() isn't available, it creates it's own minimal header.
X
XA primary goal of CGI::Ajax is to keep the module streamlined and maximally flexible. We are trying to keep the generated javascript code to a minimum, but still provide users with a variety of methods for deploying CGI::Ajax. And VERY little user javascript.
END-of-devel/p5-CGI-Ajax/pkg-descr
echo x - devel/p5-CGI-Ajax/pkg-plist
sed 's/^X//' >devel/p5-CGI-Ajax/pkg-plist << 'END-of-devel/p5-CGI-Ajax/pkg-plist'
X%%SITE_PERL%%/CGI/Ajax.pm
X%%SITE_PERL%%/%%PERL_ARCH%%/auto/CGI/Ajax/.packlist
X at dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/CGI/Ajax
END-of-devel/p5-CGI-Ajax/pkg-plist
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list