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