arsperl-devel Mailing List for ARSperl (Page 5)
Brought to you by:
jeffmurphy
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(48) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(3) |
Sep
(10) |
Oct
|
Nov
(4) |
Dec
(2) |
2007 |
Jan
|
Feb
(5) |
Mar
(8) |
Apr
(2) |
May
|
Jun
|
Jul
(18) |
Aug
(22) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(5) |
Nov
(5) |
Dec
|
2009 |
Jan
(1) |
Feb
|
Mar
(14) |
Apr
(26) |
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Michiel B. <mb...@us...> - 2007-07-30 20:26:02
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv30097 Modified Files: ARS.pm ARS.xs Log Message: Removed NT calls from ARS.xs and ARS.pm Index: ARS.xs =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.xs,v retrieving revision 1.114 retrieving revision 1.115 diff -C2 -d -r1.114 -r1.115 *** ARS.xs 24 Jul 2007 20:48:27 -0000 1.114 --- ARS.xs 30 Jul 2007 20:25:23 -0000 1.115 *************** *** 7159,7520 **** RETVAL - ################################################### - # NT (Notifier) ROUTINES. - # when compiled against a 5.x API or greater, - # these routines are stubbed to return - # errors. - # - - int - ars_NTInitializationClient() - CODE: - { - #if AR_EXPORT_VERSION < 6 - NTStatusList status; - int ret = 0; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; - # if AR_EXPORT_VERSION < 3 - ret = NTInitializationClient(&status); - if(!NTError( ret, status)) { - RETVAL = 1; - } - # else - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTInitializationClient() is only available in ARS2.x"); - # endif - #else /* >=5.0 */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTInitializationClient() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - - int - ars_NTDeregisterClient(user, password, filename) - char * user - char * password - char * filename - CODE: - { - #if AR_EXPORT_VERSION < 6 - NTStatusList status; - int ret = 0; - - (void) ARError_reset(); - RETVAL = 0; - Zero(&status, 1,NTStatusList); - # if AR_EXPORT_VERSION < 3 - if(user && password && filename) { - ret = NTDeregisterClient(user, password, filename, &status); - if(!NTError( ret, status)) { - RETVAL = 1; - } - } - # else - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTDeregisterClient() is only available in ARS2.x"); - # endif - #else /* >= 5.0 */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTDeregisterClient() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - int - ars_NTRegisterClient(user, password, filename) - char * user - char * password - char * filename - CODE: - { - #if AR_EXPORT_VERSION < 6 - NTStatusList status; - int ret = 0; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; - # if AR_EXPORT_VERSION < 3 - if(user && password && filename) { - ret = NTRegisterClient(user, password, filename, &status); - if(!NTError( ret, status)) { - RETVAL = 1; - } - } - # else - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTRegisterClient() is only available in ARS2.x"); - # endif - #else /* >= 5.0 */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTRegisterClient() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - int - ars_NTTerminationClient() - CODE: - { - #if AR_EXPORT_VERSION < 6 - NTStatusList status; - int ret = 0; - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; - # if AR_EXPORT_VERSION < 3 - ret = NTTerminationClient(&status); - if(!NTError( ret, status)) { - RETVAL = 1; - } - # else - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTTerminationClient() is only available in ARS2.x"); - # endif - #else /* >= 5.0 */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTTerminationClient() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - int - ars_NTRegisterServer(serverHost, user, password, ...) - char * serverHost - char * user - char * password - CODE: - { - #if AR_EXPORT_VERSION < 6 - NTStatusList status; - int ret = 0; - # if AR_EXPORT_VERSION < 3 - Zero(&status, 1, NTStatusList); - (void) ARError_reset(); - RETVAL = 0; - if(serverHost && user && password && items == 3) { - ret = NTRegisterServer(serverHost, user, password, &status); - if(!NTError(ret, status)) { - RETVAL = 1; - } - } else { - (void) ARError_add(AR_RETURN_ERROR, AP_ERR_USAGE, - "usage: ars_NTRegisterServer(serverHost, user, password)"); - } - # else /* >= 3 */ - NTPortAddr clientPort; - unsigned int clientCommunication = 0; - unsigned int protocol = 0; - int multipleClients = 0; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; - - if (items < 4 || items > 7) { - (void) ARError_add(AR_RETURN_ERROR, AP_ERR_BAD_ARGS); - goto ntregserver_end; - } - - clientPort = (unsigned int)SvIV(ST(3)); - - if (items < 5) { - clientCommunication = NT_CLIENT_COMMUNICATION_SOCKET; - } else { - clientCommunication = (unsigned int)SvIV(ST(4)); - } - - if (items < 6) { - protocol = NT_PROTOCOL_TCP; - } else { - protocol = (unsigned int)SvIV(ST(5)); - } - - if (items < 7) { - multipleClients = 1; - } else { - multipleClients = (unsigned int)SvIV(ST(6)); - } - - if(clientCommunication == NT_CLIENT_COMMUNICATION_SOCKET) { - if(protocol == NT_PROTOCOL_TCP) { - ret = NTRegisterServer(serverHost, user, password, - clientCommunication, clientPort, protocol, - multipleClients, &status); - if(!NTError(ret, status)) { - RETVAL = 1; - } - } else - (void) ARError_add(AR_RETURN_ERROR, AP_ERR_INV_ARGS, - "protocol arg invalid."); - } else - (void) ARError_add(AR_RETURN_ERROR, AP_ERR_INV_ARGS, - "clientCommunication arg invalid."); - # endif /* pre/post 3.0 selection */ - ntregserver_end:; - #else /* >= 5.0 */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTRegisterServer() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - int - ars_NTTerminationServer() - CODE: - { - #if AR_EXPORT_VERSION < 6 - int ret = 0; - NTStatusList status; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; - ret = NTTerminationServer(&status); - if(!NTError( ret, status)) { - RETVAL = 1; - } - #else /* >= 5.0 */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTTerminationServer() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - int - ars_NTDeregisterServer(serverHost, user, password, port=0) - char * serverHost - char * user - char * password - unsigned long port - CODE: - { - #if AR_EXPORT_VERSION < 6 - int ret = 0; - NTStatusList status; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; /* assume error */ - if(serverHost && user && password) { - ret = NTDeregisterServer(serverHost, user, password, - # if AR_EXPORT_VERSION >= 4 - &port, - # endif /* < 4 */ - &status); - if(!NTError( ret, status)) { - RETVAL = 1; /* success */ - } - } - #else /* >= 5.0 */ - RETVAL = 0; /* assume error */ - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTDeregisterServer() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - void - ars_NTGetListServer() - PPCODE: - { - #if AR_EXPORT_VERSION < 6 - NTServerNameList serverList; - NTStatusList status; - int ret = 0, i = 0; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - ret = NTGetListServer(&serverList, &status); - if(!NTError( ret, status)) { - for(i=0; i<serverList.numItems; i++) { - XPUSHs(sv_2mortal(newSVpv(serverList.nameList[i], 0))); - } - FreeNTServerNameList(&serverList, FALSE); - } - #else /* >= 5.0 */ - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTGetListServer() is only available in ARSystem < 5.0"); - #endif - } - - int - ars_NTInitializationServer() - CODE: - { - #if AR_EXPORT_VERSION < 6 - NTStatusList status; - int ret = 0; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; /* error */ - ret = NTInitializationServer(&status); - if(!NTError( ret, status)) { - RETVAL = 1; /* success */ - } - #else /* >= 5.0 */ - RETVAL = 0; /* error */ - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTInitializationServer() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - - int - ars_NTNotificationServer(serverHost, user, notifyText, notifyCode, notifyCodeText) - char * serverHost - char * user - char * notifyText - int notifyCode - char * notifyCodeText - CODE: - { - #if AR_EXPORT_VERSION < 6 - NTStatusList status; - int ret = 0; - - (void) ARError_reset(); - Zero(&status, 1, NTStatusList); - RETVAL = 0; - if(serverHost && user && notifyText) { - ret = NTNotificationServer(serverHost, user, notifyText, notifyCode, - notifyCodeText, &status); - if(!NTError( ret, status)) { - RETVAL = 1; - } - } - #else - RETVAL = 0; /* error */ - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, - "NTNotificationServer() is only available in ARSystem < 5.0"); - #endif - } - OUTPUT: - RETVAL - # # Destructors for Blessed C structures --- 7159,7162 ---- Index: ARS.pm =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.pm,v retrieving revision 1.69 retrieving revision 1.70 diff -C2 -d -r1.69 -r1.70 *** ARS.pm 21 Apr 2007 22:22:06 -0000 1.69 --- ARS.pm 30 Jul 2007 20:25:23 -0000 1.70 *************** *** 1,6 **** # ! # ARSperl - An ARS v2-v5 / Perl5 Integration Kit # ! # Copyright (C) 1995-2003 Joel Murphy, jm...@ac... # Jeff Murphy, jcm...@ac... # --- 1,6 ---- # ! # ARSperl - An ARS v5-v7 / Perl5 Integration Kit # ! # Copyright (C) 1995-2007 Joel Murphy, jm...@ac... # Jeff Murphy, jcm...@ac... # *************** *** 86,93 **** ars_GetListEntryWithFields ars_GetMultipleEntries ars_GetProfileInfo ars_Import ars_GetCharMenu ars_GetServerStatistics ! ars_NTDeregisterServer ars_NTGetListServer ars_NTInitializationServer ! ars_NTNotificationServer ars_NTTerminationServer ars_NTDeregisterClient ! ars_NTInitializationClient ars_NTRegisterClient ars_NTTerminationClient ! ars_NTRegisterServer ars_GetCurrentServer ars_EncodeDiary ars_CreateEntry ars_MergeEntry ars_DeleteFilter ars_DeleteMultipleFields ars_DeleteActiveLink --- 86,90 ---- ars_GetListEntryWithFields ars_GetMultipleEntries ars_GetProfileInfo ars_Import ars_GetCharMenu ars_GetServerStatistics ! ars_GetCurrentServer ars_EncodeDiary ars_CreateEntry ars_MergeEntry ars_DeleteFilter ars_DeleteMultipleFields ars_DeleteActiveLink *************** *** 110,113 **** --- 107,112 ---- ars_decodeStatusHistory ars_APIVersion ars_encodeStatusHistory ars_BeginBulkEntryTransaction ars_EndBulkEntryTransaction + ars_GetAlertCount ars_RegisterForAlerts ars_DeregisterForAlerts ars_GetListAlertUser + ars_DecodeAlertMessage ars_CreateAlertEvent ); |
From: Jeff M. <jcm...@je...> - 2007-07-25 13:36:21
|
Michiel Beijen wrote: > Hi All, > > I was looking into improving the documentation available for ARSperl > and had the following I would like to discuss. > ** There are lots of 2.x and 3.x api calls in the current package and > current documentation, this is confusing and the current version is > only meant to compile against the >= 5.0 API . If people would still > need those calls, they can of course just download ARSperl 1.old if > they want to... My proposal is to remove the old calls from the > package and the documentation. > Feel free. > ** The OO stuff that is in the package seems to be broken; my proposal > is to remove that as well. What's broken? I use the OO stuff, and it seems to work. > > ** Some stuff like ars_GetAlertCount and ars_RegisterForAlerts is not > exported in ARS.pm, although it is in the docs and in ARS.xs. If I add > it and recompile; a sample script that just uses ars_GetAlertCount > gives > "Attempt to free unreferenced scalar: SV 0x187e224, Perl interpreter: 0x223e5c." > It looks like these calls were not completely implemented? My proposal > is to either remove or fix. > Thilo can comment.. > ** Also; I altered ars_APIVersion: it now uses AR_CURRENT_API_VERSION > rather than AR_EXPORT_VERSION so the version level that comes back is > more useful. > It now matches the Minimum-Api-Version setting in ar.conf. This seemed > better to me; however I might be off here; especially since I noticed > AR_EXPORT_VERSION being used in ARS.xs all over the place. Please > comment. AR_EXPORT_VERSION is only used during the C-compile stage. We can look into migrating to API_VERSION, but we don't have to do that right away (unless EXPORT_VERSION goes away) > > Please note that I do not want to delete hard work of people, but I > think that ARSperl is really useful and that it would be nice to have > a clean and all-working version; that would improve the quality of the > product in my opinion. > Pitch in! :-) > Kind regards, > > Michiel > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Arsperl-devel mailing list > Ars...@ar... > https://lists.sourceforge.net/lists/listinfo/arsperl-devel |
From: Thilo S. <thi...@ap...> - 2007-07-25 11:41:48
|
Hi Michiel, here are my opinions about your points: ** The 2.x/3.x relics should indeed be removed. ** I agree absolutely that the OO stuff is broken. OTOH we shouldn't force people to rewrite existing scripts. I'd recommend that the OO modules should be moved to a subdirectory "ARS/OO_old" or something like that, and be clearly labeled as deprecated. Most importantly, all example scripts that use the OO modules should be rewritten. While we're at it, the ARS*-h.pm files should be moved to the ARS/ subdirectory, so that all installation files except "ARS.pm" are contained under a single directory tree. ** The Alert functions should be kept, but of course exported in ARS.pm. As I see it, those are mostly working well (but are rather poorly documented). The ars_GetAlertCount function should, of course, be fixed. I'll take a look into this. Here's a sample code snippet for inclusion into the documentation of ars_RegisterForAlert: my $sock = IO::Socket::INET->new( Listen => 20, Proto => 'tcp', LocalAddr => $LOCAL_ADDR, LocalPort => $PORT ); die "Cannot open Socket\n" unless $sock; ARS::ars_RegisterForAlerts( $ctrl, $PORT, 0 ); die "ars_RegisterForAlerts( $PORT ): $ars_errstr\n" if $ars_errstr; my( $client, $text ); while( $client = $sock->accept ){ my( $port, $iaddr ) = unpack_sockaddr_in($client->peername); my $clientAddr = inet_ntoa($iaddr); print "Connection from $clientAddr $port\n"; print $client 'ack'; my $size = read($client,$text,$MAX_LENGTH); print $client 'ack'; close $client; my $alert = ARS::ars_DecodeAlertMessage( $ctrl, $text, $size ); print Data::Dumper->Dump( [$alert], ['alert'] ); } ** The point about ars_APIVersion sounds sensible to me. I guess that the reason for the prevalent use of AR_EXPORT_VERSION is that AR_CURRENT_API_VERSION wasn't available in earlier versions. However, changing all #ifdef conditions depending on AR_EXPORT_VERSION would, in my opinion, not be worth the effort (and likely cause some bugs). Best regards, Thilo Michiel Beijen wrote: > Hi All, > > I was looking into improving the documentation available for ARSperl > and had the following I would like to discuss. > ** There are lots of 2.x and 3.x api calls in the current package and > current documentation, this is confusing and the current version is > only meant to compile against the >= 5.0 API . If people would still > need those calls, they can of course just download ARSperl 1.old if > they want to... My proposal is to remove the old calls from the > package and the documentation. > > ** The OO stuff that is in the package seems to be broken; my proposal > is to remove that as well. > > ** Some stuff like ars_GetAlertCount and ars_RegisterForAlerts is not > exported in ARS.pm, although it is in the docs and in ARS.xs. If I add > it and recompile; a sample script that just uses ars_GetAlertCount > gives > "Attempt to free unreferenced scalar: SV 0x187e224, Perl interpreter: 0x223e5c." > It looks like these calls were not completely implemented? My proposal > is to either remove or fix. > > ** Also; I altered ars_APIVersion: it now uses AR_CURRENT_API_VERSION > rather than AR_EXPORT_VERSION so the version level that comes back is > more useful. > It now matches the Minimum-Api-Version setting in ar.conf. This seemed > better to me; however I might be off here; especially since I noticed > AR_EXPORT_VERSION being used in ARS.xs all over the place. Please > comment. > > Please note that I do not want to delete hard work of people, but I > think that ARSperl is really useful and that it would be nice to have > a clean and all-working version; that would improve the quality of the > product in my opinion. > > Kind regards, > > Michiel > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Arsperl-devel mailing list > Ars...@ar... > https://lists.sourceforge.net/lists/listinfo/arsperl-devel > |
From: Michiel B. <mic...@gm...> - 2007-07-25 07:59:52
|
Hi All, I was looking into improving the documentation available for ARSperl and had the following I would like to discuss. ** There are lots of 2.x and 3.x api calls in the current package and current documentation, this is confusing and the current version is only meant to compile against the >= 5.0 API . If people would still need those calls, they can of course just download ARSperl 1.old if they want to... My proposal is to remove the old calls from the package and the documentation. ** The OO stuff that is in the package seems to be broken; my proposal is to remove that as well. ** Some stuff like ars_GetAlertCount and ars_RegisterForAlerts is not exported in ARS.pm, although it is in the docs and in ARS.xs. If I add it and recompile; a sample script that just uses ars_GetAlertCount gives "Attempt to free unreferenced scalar: SV 0x187e224, Perl interpreter: 0x223e5c." It looks like these calls were not completely implemented? My proposal is to either remove or fix. ** Also; I altered ars_APIVersion: it now uses AR_CURRENT_API_VERSION rather than AR_EXPORT_VERSION so the version level that comes back is more useful. It now matches the Minimum-Api-Version setting in ar.conf. This seemed better to me; however I might be off here; especially since I noticed AR_EXPORT_VERSION being used in ARS.xs all over the place. Please comment. Please note that I do not want to delete hard work of people, but I think that ARSperl is really useful and that it would be nice to have a clean and all-working version; that would improve the quality of the product in my opinion. Kind regards, Michiel |
From: Michiel B. <mb...@us...> - 2007-07-24 20:49:24
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv22211 Modified Files: ars_APIVersion.html Log Message: Contains the return values and their corresponding API versions. Index: ars_APIVersion.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_APIVersion.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ars_APIVersion.html 30 Mar 2003 16:36:30 -0000 1.3 --- ars_APIVersion.html 24 Jul 2007 20:49:25 -0000 1.4 *************** *** 1,44 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Programmer's Manual</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> - <H2><CODE>$version = ars_APIVersion()</CODE></H2> ! This routine returns the "major" version of the API that ! the ARSperl module was compiled against. For example, it ! should return 2, 3, 4 etc. ARSperl doesn't work against pre-2.0 ! libraries, so it shouldn't return anything less that 2. ! <P> ! <DL> ! <DT><B>On success</B><DD> ! Returns an integer. ! <DT><B>On failure</B><DD> ! Returns undef. ! </DL> ! <P>Example: ! <PRE> ! $v = ars_APIVersion(); ! print "This installation of ARSperl was compiled against ARS API version $v\n"; ! </PRE> ! <I>ars_APIVersion was introduced in version 1.62 of ARSperl</I> ! <P> ! <HR WIDTH="30%"> ! <P> ! <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> ! <p> ! <address> ! Last changes to this page 28 December 1998 by ! jcm...@ar...<BR> ! © J.C.Murphy, J.W.Murphy 1995-1999 ar...@ar... </address> ! </BODY> ! </HTML> --- 1,72 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! <title>ARSperl Programmer's Manual</title> ! </head> ! <body style="background-color: rgb(255, 255, 255);"> ! <h2><code>$version = ars_APIVersion()</code></h2> ! This routine returns the "major" version of the API that the ARSperl ! module was compiled against. <br> ! The corresponding API and AR System versions are as follows: ! <br> ! <ul> ! <li>API 12 and AR System 7.0</li> ! <li>API 11 and AR System 6.3</li> ! ! <li>API 10 and AR System 6.0</li> ! ! <li>API 9 and AR System 5.1</li> ! ! <li>API 8 and AR System 5.0</li> ! ! <li>API 7 and AR System 4.5</li> ! ! <li>API 6 and AR System 4.0</li> ! ! <li>API 5 and AR System 3.2</li> ! ! <li>API 4 and AR System 3.0 and 3.1</li> ! ! </ul> ! ! ! <dl> ! ! <dt><b>On success</b></dt> ! ! <dd> Returns an integer. </dd> ! ! <dt><b>On failure</b></dt> ! ! <dd> Returns undef. </dd> ! ! </dl> ! ! <p>Example: </p> ! ! <pre> $v = ars_APIVersion();<br> print "This installation of ARSperl was compiled against ARS API version $v\n";<br> </pre> ! ! <i>ars_APIVersion was introduced in version 1.62 of ARSperl</i> ! <p></p> ! ! <hr width="30%"> ! <p><a href="toc.html"><img alt="<--" src="arrow.gif" align="middle"> Table of Contents </a> ! </p> ! ! <p></p> ! ! <address>Last changes to this page 24 July 2007 by mic...@ma...<br> ! ! © J.C.Murphy, J.W.Murphy 1995-2007 ar...@ar... </address> ! </body> ! </html> |
From: Michiel B. <mb...@us...> - 2007-07-24 20:48:39
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv21778 Modified Files: ARS.xs Log Message: ars_APIVersion now uses AR_CURRENT_API_VERSION rather than AR_EXPORT_VERSION so the version level that comes back is more useful. It now matches the Minimum-Api-Version setting in ar.conf. However this means the number for v7 is 12 instead of 9. Index: ARS.xs =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.xs,v retrieving revision 1.113 retrieving revision 1.114 diff -C2 -d -r1.113 -r1.114 *** ARS.xs 21 Apr 2007 22:22:06 -0000 1.113 --- ARS.xs 24 Jul 2007 20:48:27 -0000 1.114 *************** *** 154,158 **** CODE: { ! RETVAL = AR_EXPORT_VERSION; } OUTPUT: --- 154,158 ---- CODE: { ! RETVAL = AR_CURRENT_API_VERSION; } OUTPUT: *************** *** 6847,6851 **** } /* SetSessionConfiguration_fail:; */ ! #else /* < 5.0 */ XPUSHs(sv_2mortal(newSViv(0))); /* ERR */ (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, --- 6847,6851 ---- } /* SetSessionConfiguration_fail:; */ ! #else /* < 7.0 */ XPUSHs(sv_2mortal(newSViv(0))); /* ERR */ (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, |
From: jeff m. <jef...@us...> - 2007-07-20 19:58:06
|
Update of /cvsroot/arsperl/ARSperl/html In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv17061/html Modified Files: index.html install.html Log Message: minor doc edits Index: install.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/install.html,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** install.html 30 Sep 2004 19:18:03 -0000 1.9 --- install.html 20 Jul 2007 19:58:00 -0000 1.10 *************** *** 8,14 **** <OL> ! <LI> <A HREF="http://www.arsperl.org/ftp/pub/utils/Perl/">Download the distribution</A> ! (<A HREF="ftp://www.arsperl.org/pub/utils/Perl/">also available via ftp</A>)<P> ! <a href="http://www.arutil.com/arsperl.asp">Pre-compiled binaries for Windows NT</A> <LI> Unpack (requires gzip and tar on Unix or <a href="http://www.winzip.com">WinZip</A> under Windows) --- 8,13 ---- <OL> ! <LI> <A HREF="http://sourceforge.net/project/showfiles.php?group_id=116013&package_id=125945">Download the distribution</A><P>It's also available via <a href="http://www.cpan.org/">CPAN</a>. There are ! <a href="http://sourceforge.net/project/showfiles.php?group_id=116013&package_id=125945">pre-compiled binaries</A> available too. <LI> Unpack (requires gzip and tar on Unix or <a href="http://www.winzip.com">WinZip</A> under Windows) *************** *** 18,23 **** <LI> Type "make" <LI> Type "make install" (may require special permission). This will ! install the perl extension into the perl lib directory (typically, ! /usr/local/lib/perl5) <LI> Try one of the example scripts. </OL> --- 17,21 ---- <LI> Type "make" <LI> Type "make install" (may require special permission). This will ! install the perl extension into the perl lib directory. <LI> Try one of the example scripts. </OL> *************** *** 25,34 **** <H2> Notes </H2> ! HPUX users will need to compile the extension statically into the Perl binary. ! See <A HREF="http://arsinfo.cit.buffalo.edu/perl/FAQs/">the ARSperl FAQ</A> ! section for details. <P> ! Windows NT users can use the <I>binary kit</I> available by following the ! lines in step 1, above, instead of compiling it. </BODY> --- 23,29 ---- <H2> Notes </H2> ! HPUX users may need to compile the extension statically into the Perl binary. ! Windows users can use the <I>binary distribution</I> along with ActiveState Perl. </BODY> Index: index.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/index.html,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** index.html 12 Mar 2007 17:27:43 -0000 1.29 --- index.html 20 Jul 2007 19:58:00 -0000 1.30 *************** *** 40,48 **** </UL> - <H2> FAQs </H2> - - We have some <A HREF="http://www.oss.buffalo.edu/~jcmurphy/FAQ/faq.cgi?pkg=ARSperl"> - useful excerpts from the mailing lists online.</A> - <H2> Bug Reports </H2> --- 40,43 ---- |
From: jeff m. <jef...@us...> - 2007-07-20 19:58:06
|
Update of /cvsroot/arsperl/ARSperl/example In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv17061/example Modified Files: ars_MergeEntry.pl Log Message: minor doc edits Index: ars_MergeEntry.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/ars_MergeEntry.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_MergeEntry.pl 9 Feb 1998 17:57:04 -0000 1.1 --- ars_MergeEntry.pl 20 Jul 2007 19:57:59 -0000 1.2 *************** *** 16,19 **** --- 16,22 ---- # # $Log$ + # Revision 1.2 2007/07/20 19:57:59 jeffmurphy + # minor doc edits + # # Revision 1.1 1998/02/09 17:57:04 jcmurphy # Initial revision *************** *** 62,66 **** # see html doc page for explanation of numeric flags. ! # http://arsinfo.cit.buffalo.edu/perl/manual/ars_MergeEntry.html # ... mergeType=4, eid-fid, entryid, diary-fid, encoded-diary --- 65,69 ---- # see html doc page for explanation of numeric flags. ! # http://www.arsperl.org/manual/ars_MergeEntry.html # ... mergeType=4, eid-fid, entryid, diary-fid, encoded-diary |
From: jeff m. <jef...@us...> - 2007-07-20 19:58:05
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv17061 Modified Files: ARSOOform.pm ARSOOmsgs.pm ARSOOsup.pm ARSnparm.pm INSTALLATION Removed Files: USAGE Log Message: minor doc edits Index: INSTALLATION =================================================================== RCS file: /cvsroot/arsperl/ARSperl/INSTALLATION,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** INSTALLATION 28 Mar 2003 05:51:56 -0000 1.8 --- INSTALLATION 20 Jul 2007 19:57:56 -0000 1.9 *************** *** 51,58 **** under a new OS. - * Must be built statically under HP-UX. See the FAQ pages at - http://arsinfo.cit.buffalo.edu/perl/FAQs/index.html - for details. - BUILDING --- 51,54 ---- Index: ARSOOmsgs.pm =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARSOOmsgs.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ARSOOmsgs.pm 3 Oct 1999 04:00:27 -0000 1.2 --- ARSOOmsgs.pm 20 Jul 2007 19:57:56 -0000 1.3 *************** *** 13,20 **** # # Official Home Page: ! # http://arsinfo.cit.buffalo.edu/perl # # Mailing List (must be subscribed to post): ! # ar...@ar... # --- 13,20 ---- # # Official Home Page: ! # http://www.arsperl.org/ # # Mailing List (must be subscribed to post): ! # See URL above. # Index: ARSOOsup.pm =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARSOOsup.pm,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ARSOOsup.pm 22 Oct 2001 05:59:25 -0000 1.4 --- ARSOOsup.pm 20 Jul 2007 19:57:56 -0000 1.5 *************** *** 13,20 **** # # Official Home Page: ! # http://arsinfo.cit.buffalo.edu/perl # # Mailing List (must be subscribed to post): ! # ar...@ar... # --- 13,20 ---- # # Official Home Page: ! # http://www.arsperl.org # # Mailing List (must be subscribed to post): ! # See URL above. # --- USAGE DELETED --- Index: ARSnparm.pm =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARSnparm.pm,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ARSnparm.pm 3 Oct 1999 04:00:27 -0000 1.2 --- ARSnparm.pm 20 Jul 2007 19:57:56 -0000 1.3 *************** *** 13,20 **** # # Official Home Page: ! # http://arsinfo.cit.buffalo.edu/perl # # Mailing List (must be subscribed to post): ! # ar...@ar... # --- 13,20 ---- # # Official Home Page: ! # http://www.arsperl.org/ # # Mailing List (must be subscribed to post): ! # See URL above. # Index: ARSOOform.pm =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARSOOform.pm,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** ARSOOform.pm 13 Aug 2004 01:09:42 -0000 1.11 --- ARSOOform.pm 20 Jul 2007 19:57:56 -0000 1.12 *************** *** 13,20 **** # # Official Home Page: ! # http://arsinfo.cit.buffalo.edu/perl # # Mailing List (must be subscribed to post): ! # ar...@ar... # --- 13,20 ---- # # Official Home Page: ! # http://www.arsperl.org/ # # Mailing List (must be subscribed to post): ! # See URL above. # |
From: jeff m. <jef...@us...> - 2007-07-20 19:44:35
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv13307 Modified Files: CHANGES MANIFEST Makefile.PL changes.dat support.c Log Message: buffer overrun, malloc-on-windows fix Index: support.c =================================================================== RCS file: /cvsroot/arsperl/ARSperl/support.c,v retrieving revision 1.63 retrieving revision 1.64 diff -C2 -d -r1.63 -r1.64 *** support.c 21 Apr 2007 22:22:06 -0000 1.63 --- support.c 20 Jul 2007 19:44:34 -0000 1.64 *************** *** 69,72 **** --- 69,75 ---- mallocnn(int s) { + #if defined(malloc) && defined(_WIN32) + #undef malloc + #endif void *m = malloc(s ? s : 1); *************** *** 2626,2630 **** entryList->numItems = 1; entryList->entryIdList = MALLOCNN(sizeof(AREntryIdType) * 1); ! strcpy(entryList->entryIdList[0], entry_id); return 0; --- 2629,2634 ---- entryList->numItems = 1; entryList->entryIdList = MALLOCNN(sizeof(AREntryIdType) * 1); ! strncpy(entryList->entryIdList[0], entry_id, sizeof(AREntryIdType)); ! *(entryList->entryIdList[0] + AR_MAX_ENTRYID_SIZE) = 0; return 0; Index: MANIFEST =================================================================== RCS file: /cvsroot/arsperl/ARSperl/MANIFEST,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** MANIFEST 21 Apr 2007 22:22:06 -0000 1.31 --- MANIFEST 20 Jul 2007 19:44:34 -0000 1.32 *************** *** 2,5 **** --- 2,67 ---- ARS.pm ARS.xs + ARS/CodeTemplate.pm + ARSOOmsgs.pm + ARSOOsup.pm + ARSnparm.pm + Artistic + CHANGES + INSTALLATION + LICENSE + MANIFEST + Makefile.PL + README + RELNOTES + StructDef.pl + TODO + USAGE + changes.dat + rev_AR_template.pl + support-h.template + support.c + supportrev.c + supportrev.h + supportrev_generated.c + supportrev_generated.h + typemap + example/2.x/Notifier.pl + example/3.x/Notifier.pl + example/3.x/SendNotification.pl + example/00-ReadMe + example/AddUsersToGroup.pl + example/DelUsersFromGroup.pl + example/Dump_Setup.pl + example/Dump_Users.pl + example/Dump_Users_OO.pl + example/GetCharMenu.pl + example/GetField.pl + example/GetFilter.pl + example/GetServerStatistics.pl + example/Get_Diary.pl + example/ListNTServers.pl + example/List_Entries.pl + example/PrintQual.pl + example/Show_ALink.pl + example/Show_Menu.pl + example/WhoUsesIt.pl + example/ars_CopyActiveLink.pl + example/ars_ExecuteProcess.pl + example/ars_GetControlStructFields.pl + example/ars_GetEntryBLOB.pl + example/ars_GetFullTextInfo.pl + example/ars_GetListContainer.pl + example/ars_GetListEntry.pl + example/ars_GetListGroup.pl + example/ars_GetListSQL.pl + example/ars_GetListUser.pl + example/ars_GetServerInfo.pl + example/ars_MergeEntry.pl + example/ars_QualDecode.pl + example/ars_SetServerInfo.pl + example/ars_decodeStatusHistory.pl + example/attachTest.pl + example/del_all.pl + example/getAttachment-OO.pl html/manual/OO/connection.html html/manual/OO/form.html *************** *** 9,26 **** html/manual/arrow.gif html/manual/ars_APIVersion.html - html/manual/ars_BeginBulkEntryTransaction.html html/manual/ars_CreateActiveLink.html html/manual/ars_CreateAdminExtension.html html/manual/ars_CreateAlertEvent.html - html/manual/ars_CreateCharMenu.html - html/manual/ars_CreateContainer.html html/manual/ars_CreateEntry.html - html/manual/ars_CreateEscalation.html - html/manual/ars_CreateField.html - html/manual/ars_CreateFilter.html - html/manual/ars_CreateSchema.html - html/manual/ars_CreateVUI.html html/manual/ars_DecodeAlertMessage.html - html/manual/ars_decodeStatusHistory.html html/manual/ars_DeleteActiveLink.html html/manual/ars_DeleteAdminExtension.html --- 71,79 ---- *************** *** 36,41 **** html/manual/ars_DeregisterForAlerts.html html/manual/ars_EncodeDiary.html - html/manual/ars_encodeStatusHistory.html - html/manual/ars_EndBulkEntryTransaction.html html/manual/ars_ExecuteAdminExtension.html html/manual/ars_ExecuteProcess.html --- 89,92 ---- *************** *** 68,74 **** html/manual/ars_GetListFilter.html html/manual/ars_GetListGroup.html html/manual/ars_GetListSchema.html html/manual/ars_GetListServer.html - html/manual/ars_GetListSQL.html html/manual/ars_GetListUser.html html/manual/ars_GetListVUI.html --- 119,125 ---- html/manual/ars_GetListFilter.html html/manual/ars_GetListGroup.html + html/manual/ars_GetListSQL.html html/manual/ars_GetListSchema.html html/manual/ars_GetListServer.html html/manual/ars_GetListUser.html html/manual/ars_GetListVUI.html *************** *** 96,115 **** html/manual/ars_NTTerminationClient.html html/manual/ars_NTTerminationServer.html - html/manual/ars_padEntryid.html - html/manual/ars_perl_qualifier.html html/manual/ars_RegisterForAlerts.html - html/manual/ars_SetActiveLink.html - html/manual/ars_SetCharMenu.html - html/manual/ars_SetContainer.html html/manual/ars_SetEntry.html - html/manual/ars_SetEscalation.html - html/manual/ars_SetField.html - html/manual/ars_SetFilter.html - html/manual/ars_SetImpersonatedUser.html html/manual/ars_SetLogging.html - html/manual/ars_SetSchema.html html/manual/ars_SetServerInfo.html ! html/manual/ars_SetSessionConfiguration.html ! html/manual/ars_SetVUI.html html/manual/ars_simpleMenu.html html/manual/ds_afs.html --- 147,158 ---- html/manual/ars_NTTerminationClient.html html/manual/ars_NTTerminationServer.html html/manual/ars_RegisterForAlerts.html html/manual/ars_SetEntry.html html/manual/ars_SetLogging.html html/manual/ars_SetServerInfo.html ! html/manual/ars_decodeStatusHistory.html ! html/manual/ars_encodeStatusHistory.html ! html/manual/ars_padEntryid.html ! html/manual/ars_perl_qualifier.html html/manual/ars_simpleMenu.html html/manual/ds_afs.html *************** *** 126,129 **** --- 169,173 ---- html/manual/ds_charmenu_sql_hash.html html/manual/ds_container.html + html/manual/ds_container_info.html html/manual/ds_coord_hash.html html/manual/ds_diaryentry_hash.html *************** *** 151,162 **** html/manual/ds_getlistsql_hash.html html/manual/ds_getlistuser_hash.html - html/manual/ds_getvui_hash.html html/manual/ds_is.html html/manual/ds_mps.html html/manual/ds_msgstruct_hash.html html/manual/ds_profile_hash.html - html/manual/ds_schema.html html/manual/ds_prop_hash.html html/manual/ds_reference.html html/manual/ds_schematype.html html/manual/ds_shv.html --- 195,206 ---- html/manual/ds_getlistsql_hash.html html/manual/ds_getlistuser_hash.html html/manual/ds_is.html + html/manual/ds_getvui_hash.html html/manual/ds_mps.html html/manual/ds_msgstruct_hash.html html/manual/ds_profile_hash.html html/manual/ds_prop_hash.html html/manual/ds_reference.html + html/manual/ds_schema.html html/manual/ds_schematype.html html/manual/ds_shv.html *************** *** 167,172 **** html/manual/toc.html html/manual/variables.html ! html/manual/ars_SetLogging.html ! html/manual/ars_encodeStatusHistory.html html/AddUsersToGroup.html html/DelUsersFromGroup.html --- 211,233 ---- html/manual/toc.html html/manual/variables.html ! html/manual/ars_BeginBulkEntryTransaction.html ! html/manual/ars_CreateCharMenu.html ! html/manual/ars_CreateContainer.html ! html/manual/ars_CreateEscalation.html ! html/manual/ars_CreateField.html ! html/manual/ars_CreateFilter.html ! html/manual/ars_CreateSchema.html ! html/manual/ars_CreateVUI.html ! html/manual/ars_EndBulkEntryTransaction.html ! html/manual/ars_SetActiveLink.html ! html/manual/ars_SetCharMenu.html ! html/manual/ars_SetContainer.html ! html/manual/ars_SetEscalation.html ! html/manual/ars_SetField.html ! html/manual/ars_SetFilter.html ! html/manual/ars_SetImpersonatedUser.html ! html/manual/ars_SetSchema.html ! html/manual/ars_SetSessionConfiguration.html ! html/manual/ars_SetVUI.html html/AddUsersToGroup.html html/DelUsersFromGroup.html *************** *** 179,244 **** html/index.html html/install.html - ARSOOmsgs.pm - ARSOOsup.pm - ARSnparm.pm - Artistic - CHANGES - INSTALLATION - LICENSE - MANIFEST - Makefile.PL - README - RELNOTES - TODO - USAGE - changes.dat - support-h.template - support.c - supportrev.c - supportrev.h - supportrev_generated.c - supportrev_generated.h - rev_AR_template.pl - StructDef.pl - typemap - ARS/CodeTemplate.pm - example/2.x/Notifier.pl - example/3.x/Notifier.pl - example/3.x/SendNotification.pl - example/00-ReadMe - example/AddUsersToGroup.pl - example/DelUsersFromGroup.pl - example/Dump_Setup.pl - example/Dump_Users.pl - example/Dump_Users_OO.pl - example/GetCharMenu.pl - example/GetField.pl - example/GetFilter.pl - example/GetServerStatistics.pl - example/Get_Diary.pl - example/ListNTServers.pl - example/List_Entries.pl - example/PrintQual.pl - example/Show_ALink.pl - example/Show_Menu.pl - example/WhoUsesIt.pl - example/ars_CopyActiveLink.pl - example/ars_ExecuteProcess.pl - example/ars_GetControlStructFields.pl - example/ars_GetEntryBLOB.pl - example/ars_GetFullTextInfo.pl - example/ars_GetListContainer.pl - example/ars_GetListEntry.pl - example/ars_GetListGroup.pl - example/ars_GetListSQL.pl - example/ars_GetListUser.pl - example/ars_GetServerInfo.pl - example/ars_MergeEntry.pl - example/ars_QualDecode.pl - example/ars_SetServerInfo.pl - example/ars_decodeStatusHistory.pl - example/attachTest.pl - example/del_all.pl - example/getAttachment-OO.pl infra/c4asp.bat infra/c4asp.sh --- 240,243 ---- *************** *** 270,275 **** t/38createescalation.t t/39setescalation.t - t/40createcharmenu.t - t/41setcharmenu.t t/aptest.def t/aptest40.def --- 269,272 ---- *************** *** 277,280 **** t/aptest50.def t/aptest51.def ! ! --- 274,277 ---- t/aptest50.def t/aptest51.def ! t/40createcharmenu.t ! t/41setcharmenu.t Index: CHANGES =================================================================== RCS file: /cvsroot/arsperl/ARSperl/CHANGES,v retrieving revision 1.61 retrieving revision 1.62 diff -C2 -d -r1.61 -r1.62 *** CHANGES 13 Mar 2007 13:20:29 -0000 1.61 --- CHANGES 20 Jul 2007 19:44:34 -0000 1.62 *************** *** 13,16 **** --- 13,49 ---- + Released: xx/xx/xxx Version: 1.91 + + + (JCM) buffer overflow in perl_BuildEntryList + + (JCM) malloc-on-windows patch by John Unsworth + + (TS) fixed memory leak in ars_Get... functions (added "sv_2mortal( (SV*) RETVAL )") + + (TS) bugfix in dup_Value (support.c) for API version <= 5.0.1 + + (TS) changed enum limits processing in perl_ARFieldLimitStruct for API version <= 5.0.1 + + (TS) updated MANIFEST file + + (TS) replaced strdup() by arsperl_strdup() form win32 to fix problems with VisualStudio8 + + (TS) changed type of "owner" attribute: ARNameType -> ARAccessNameType + + (TS) corrected function signature for ars_SetVUI, ars_CreateSchema + + (TS) fixed memory leak in sv_to_ARValue (support.c) + + (TS) fixed memory leak in ars_GetMultipleEntries, ars_GetListEntryWithFields + XPUSHs(newRV_noinc(...)) -> XPUSHs(sv_2mortal(newRV_noinc(...))) + + (TS) added "name" value to schemaHash returned by ars_GetSchema + + (TS) fixed rev_ARArchiveInfo Struct, moved function from supportrev_generated.c to supportrev.c + + (TS) changed $ARS_LIBS variable for 7.0 Unix API in Makefile.pl (-licuuc -> -licuucbmc) + + Released: 03/12/2007 Version: 1.90 Index: Makefile.PL =================================================================== RCS file: /cvsroot/arsperl/ARSperl/Makefile.PL,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** Makefile.PL 21 Apr 2007 22:22:06 -0000 1.77 --- Makefile.PL 20 Jul 2007 19:44:34 -0000 1.78 *************** *** 31,35 **** #$ARSAPI = "/u1/project/ARSperl/api/linux/4.0"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api6.3"; ! #$ARSAPI = "/u1/project/ARSperl/api/linux/6.3"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api5.1.1"; # $ARSAPI = "/home/jcmurphy/arsperl/api/5.1"; --- 31,35 ---- #$ARSAPI = "/u1/project/ARSperl/api/linux/4.0"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api6.3"; ! $ARSAPI = "/u1/project/ARSperl/api/linux/7.0.1p1"; #$ARSAPI = "/u1/project/ARSperl/api/sol2/api5.1.1"; # $ARSAPI = "/home/jcmurphy/arsperl/api/5.1"; Index: changes.dat =================================================================== RCS file: /cvsroot/arsperl/ARSperl/changes.dat,v retrieving revision 1.54 retrieving revision 1.55 diff -C2 -d -r1.54 -r1.55 *** changes.dat 21 Apr 2007 22:22:06 -0000 1.54 --- changes.dat 20 Jul 2007 19:44:34 -0000 1.55 *************** *** 1,3 **** ! TS fixed memory leak in ars_Get... functions (added "sv_2mortal( (SV*) RETVAL )") TS bugfix in dup_Value (support.c) for API version <= 5.0.1 --- 1,5 ---- ! released=xx/xx/xxx version=1.91 ! JCM buffer overflow in perl_BuildEntryList ! JCM malloc-on-windows patch by John Unsworth TS fixed memory leak in ars_Get... functions (added "sv_2mortal( (SV*) RETVAL )") TS bugfix in dup_Value (support.c) for API version <= 5.0.1 |
From: jeff m. <jef...@us...> - 2007-07-20 19:44:34
|
Update of /cvsroot/arsperl/ARSperl/html In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv13307/html Modified Files: changes.html Log Message: buffer overrun, malloc-on-windows fix Index: changes.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/changes.html,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** changes.html 13 Mar 2007 13:20:33 -0000 1.30 --- changes.html 20 Jul 2007 19:44:34 -0000 1.31 *************** *** 29,32 **** --- 29,78 ---- <tr><td colspan='2'> <table width='100%' border='0'><tr> + <td width='50%'>Released: <B>xx/xx/xxx</B></td> + <td width='50%'>Version: <B>1.91</B></td> + </tr></table></td> + </tr><tr bgcolor='#eeeeee'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>buffer overflow in perl_BuildEntryList + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>malloc-on-windows patch by John Unsworth + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed memory leak in ars_Get... functions (added "sv_2mortal( (SV*) RETVAL )") + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in dup_Value (support.c) for API version <= 5.0.1 + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed enum limits processing in perl_ARFieldLimitStruct for API version <= 5.0.1 + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>updated MANIFEST file + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>replaced strdup() by arsperl_strdup() form win32 to fix problems with VisualStudio8 + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed type of "owner" attribute: ARNameType -> ARAccessNameType + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>corrected function signature for ars_SetVUI, ars_CreateSchema + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed memory leak in sv_to_ARValue (support.c) + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed memory leak in ars_GetMultipleEntries, ars_GetListEntryWithFields + XPUSHs(newRV_noinc(...)) -> XPUSHs(sv_2mortal(newRV_noinc(...))) </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added "name" value to schemaHash returned by ars_GetSchema + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed rev_ARArchiveInfo Struct, moved function from supportrev_generated.c to supportrev.c + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed $ARS_LIBS variable for 7.0 Unix API in Makefile.pl (-licuuc -> -licuucbmc) + </table></td></tr></table> + + <P> + + + <TABLE CELLSPACING='0' + CELLPADDING='2' + WIDTH='100%' + BORDER='0' + BGCOLOR='black'> + <TR> + <TD width='100%'> + <TABLE CELLSPACING='0' CELLPADDING='3' WIDTH='100%' BORDER='0' + BGCOLOR='lightblue'> + <tr><td colspan='2'> + <table width='100%' border='0'><tr> <td width='50%'>Released: <B>03/12/2007</B></td> <td width='50%'>Version: <B>1.90</B></td> |
From: Thilo S. <ts...@us...> - 2007-04-21 22:22:09
|
Update of /cvsroot/arsperl/ARSperl/t In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv10869/t Modified Files: 01import.t 21setlogging.t 31createschema.t 36createfilter.t aptest51.def Log Message: fixed memory leaks; bugfix for rev_ARArchiveInfoStruct Index: aptest51.def =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/aptest51.def,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** aptest51.def 3 Feb 2007 02:33:11 -0000 1.1 --- aptest51.def 21 Apr 2007 22:22:06 -0000 1.2 *************** *** 5069,5073 **** tablefield-server : $536870937$ tablefield-query : (null) ! samp-server : arsys63 samp-schema : @ permission : 0\1 --- 5069,5073 ---- tablefield-server : $536870937$ tablefield-query : (null) ! samp-server : @ samp-schema : @ permission : 0\1 Index: 31createschema.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/31createschema.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 31createschema.t 6 Mar 2007 01:54:27 -0000 1.2 --- 31createschema.t 21 Apr 2007 22:22:06 -0000 1.3 *************** *** 45,48 **** --- 45,49 ---- } + my $formType; sub copyForm { *************** *** 53,56 **** --- 54,58 ---- die "ars_GetSchema( $form ): $ars_errstr\n" if $ars_errstr; my $formType = $formObj->{schema}{schemaType}; + $formObj->{name} = $formNew; $formObj->{changeDiary} = "Init"; *************** *** 68,73 **** my( $ret, $rv ) = ( 1, 0 ); print "CREATE SCHEMA $formNew\n"; ! $ret = ars_CreateSchema( $ctrl, $formNew, $formObj ); if( $ars_errstr ){ my $errTxt = $ars_errstr; --- 70,77 ---- my( $ret, $rv ) = ( 1, 0 ); + + print "CREATE SCHEMA $formNew\n"; ! $ret = ars_CreateSchema( $ctrl, $formObj ); if( $ars_errstr ){ my $errTxt = $ars_errstr; *************** *** 82,85 **** --- 86,91 ---- } } + + print "\n"; printStatus( $ret, 2, 'create schema' ); *************** *** 89,92 **** --- 95,99 ---- # die "ars_DeleteVUI( $formNew, 536870912 ): $ars_errstr\n" if $ars_errstr; + my @views = ars_GetListVUI( $ctrl, $form, 0 ); die "ars_GetListVUI( $form ): $ars_errstr\n" if $ars_errstr; *************** *** 96,100 **** - my $vuiSt = ars_GetVUI( $ctrl, $formNew, $vuiId_New ); die "ars_GetVUI( $formNew, $vuiId_New ): $ars_errstr\n" if $ars_errstr; --- 103,106 ---- *************** *** 104,108 **** $vuiSt->{vuiName} .= " $vuiId_New"; print "SET VUI $vuiId_New\n"; ! $ret = ars_SetVUI( $ctrl, $formNew, $vuiSt ); die "ars_SetVUI( $formNew, $vuiId_New ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 3, 'set vui' ); --- 110,114 ---- $vuiSt->{vuiName} .= " $vuiId_New"; print "SET VUI $vuiId_New\n"; ! $ret = ars_SetVUI( $ctrl, $formNew, $vuiId_New, $vuiSt ); die "ars_SetVUI( $formNew, $vuiId_New ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 3, 'set vui' ); *************** *** 117,121 **** if( $vuiId == $vuiId_New ){ print "SET VUI $vuiId\n"; ! $rv = ars_SetVUI( $ctrl, $formNew, $vuiSt ); die "ars_SetVUI( $formNew, $vuiId ): $ars_errstr\n" if $ars_errstr; }else{ --- 123,127 ---- if( $vuiId == $vuiId_New ){ print "SET VUI $vuiId\n"; ! $rv = ars_SetVUI( $ctrl, $formNew, $vuiId, $vuiSt ); die "ars_SetVUI( $formNew, $vuiId ): $ars_errstr\n" if $ars_errstr; }else{ *************** *** 128,132 **** printStatus( $ret, 4, 'create vui' ); ! my @fieldIds = sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b00010000 ); # page_holder die "ars_GetListField( $form ): $ars_errstr\n" if $ars_errstr; push @fieldIds, sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b00001000 ); # page --- 134,139 ---- printStatus( $ret, 4, 'create vui' ); ! my @fieldIds; ! push @fieldIds, sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b00010000 ); # page_holder die "ars_GetListField( $form ): $ars_errstr\n" if $ars_errstr; push @fieldIds, sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b00001000 ); # page Index: 21setlogging.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/21setlogging.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 21setlogging.t 5 Sep 2005 21:14:47 -0000 1.1 --- 21setlogging.t 21 Apr 2007 22:22:06 -0000 1.2 *************** *** 8,12 **** --- 8,15 ---- # perl -w -Iblib/lib -Iblib/arch t/21setlogging.t + print "1..$maxtest\n"; + #print "ok [1]\nok [2]\nok [3]\nok [4]\nok [5]\nok [6]\nok [7]\n"; exit; + my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); Index: 01import.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/01import.t,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** 01import.t 3 Feb 2007 02:33:11 -0000 1.8 --- 01import.t 21 Apr 2007 22:22:06 -0000 1.9 *************** *** 21,25 **** # with an attachment field so we can test that out. ! if(ars_APIVersion() >= 7) { $d = "aptest51.def"; }elsif(ars_APIVersion() >= 4) { --- 21,25 ---- # with an attachment field so we can test that out. ! if(ars_APIVersion() >= 6) { $d = "aptest51.def"; }elsif(ars_APIVersion() >= 4) { *************** *** 35,43 **** ars_DeleteSchema($ctrl, "ARSperl Test-join", ARS::AR_SCHEMA_FORCE_DELETE); ars_DeleteSchema($ctrl, "ARSperl Test3", ARS::AR_SCHEMA_FORCE_DELETE); - ars_DeleteSchema($ctrl, "ARSperl Test3 (copy)", ARS::AR_SCHEMA_FORCE_DELETE); ars_DeleteFilter($ctrl, "ARSperl Test-Filter1"); ars_DeleteActiveLink($ctrl, "ARSperl Test-alink1"); ars_DeleteEscalation($ctrl, "ARSperl Test-escalation1"); ars_DeleteCharMenu($ctrl, "ARSperl Test-menu-search1"); # read in the schema definition --- 35,43 ---- ars_DeleteSchema($ctrl, "ARSperl Test-join", ARS::AR_SCHEMA_FORCE_DELETE); ars_DeleteSchema($ctrl, "ARSperl Test3", ARS::AR_SCHEMA_FORCE_DELETE); ars_DeleteFilter($ctrl, "ARSperl Test-Filter1"); ars_DeleteActiveLink($ctrl, "ARSperl Test-alink1"); ars_DeleteEscalation($ctrl, "ARSperl Test-escalation1"); ars_DeleteCharMenu($ctrl, "ARSperl Test-menu-search1"); + ars_DeleteContainer($ctrl,"ARSperl Test-FilterGuide1"); # read in the schema definition Index: 36createfilter.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/36createfilter.t,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** 36createfilter.t 6 Mar 2007 01:54:27 -0000 1.2 --- 36createfilter.t 21 Apr 2007 22:22:06 -0000 1.3 *************** *** 38,42 **** my( $ctrl, $obj, $objNew ) = @_; print '-' x 60, "\n"; ! # print "GET FILTER $ctnr\n"; my $wfObj = ars_GetFilter( $ctrl, $obj ); die "ars_GetFilter( $obj ): $ars_errstr\n" if $ars_errstr; --- 38,42 ---- my( $ctrl, $obj, $objNew ) = @_; print '-' x 60, "\n"; ! # print "GET FILTER $obj\n"; my $wfObj = ars_GetFilter( $ctrl, $obj ); die "ars_GetFilter( $obj ): $ars_errstr\n" if $ars_errstr; *************** *** 49,53 **** @{$wfObj->{objPropList}} = grep {$_->{prop} < 90000} @{$wfObj->{objPropList}}; ! # foreach my $prop ( @{$ctnrObj->{objPropList}} ){ # $prop->{value} .= 'xCopy' if $prop->{prop} == 60020 && $prop->{value} ne ''; # } --- 49,53 ---- @{$wfObj->{objPropList}} = grep {$_->{prop} < 90000} @{$wfObj->{objPropList}}; ! # foreach my $prop ( @{$wfObj->{objPropList}} ){ # $prop->{value} .= 'xCopy' if $prop->{prop} == 60020 && $prop->{value} ne ''; # } |
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv10869/html/manual Modified Files: ars_CreateVUI.html ars_LoadQualifier.html ars_SetField.html ars_SetFilter.html ars_SetSchema.html ars_SetVUI.html Log Message: fixed memory leaks; bugfix for rev_ARArchiveInfoStruct Index: ars_SetSchema.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_SetSchema.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_SetSchema.html 6 Mar 2007 01:54:26 -0000 1.1 --- ars_SetSchema.html 21 Apr 2007 22:22:06 -0000 1.2 *************** *** 10,14 **** populate the <CODE>schemaHash</CODE> before calling this routine. <P><CODE>name</CODE> is the schema name. ! <P><CODE>schemaHash</CODE> is a <A HREF="ds_schema.html">Schema Attributes</a> hash. --- 10,14 ---- populate the <CODE>schemaHash</CODE> before calling this routine. <P><CODE>name</CODE> is the schema name. ! <P><CODE>schemaHash</CODE> is a partially assigned <A HREF="ds_schema.html">Schema Attributes</a> hash. Index: ars_LoadQualifier.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_LoadQualifier.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ars_LoadQualifier.html 4 Sep 1997 00:12:34 -0000 1.2 --- ars_LoadQualifier.html 21 Apr 2007 22:22:06 -0000 1.3 *************** *** 8,14 **** Converts a qualifier string into a scalar qualifier record.<P> ! When mapping field names, the server will refer to the view specified ! in displayTag. If no view is specified, the server will use the ! default admin view. <DL> --- 8,18 ---- Converts a qualifier string into a scalar qualifier record.<P> ! The qualifier string may contain field IDs or field labels. Using field labels, ! however, does reportedly not always work reliable, so it is strongly recommended ! to use field IDs.<P> ! When mapping field labels, the server will refer to the view specified ! in <code>displayTag</code>. If no view is specified, the server will use the ! default admin view. It is NOT possible to use database names (returned as "fieldName" ! by <a href="ars_GetField.html"><code>ars_GetField</code></a>) in a qualifier string. <DL> *************** *** 22,26 **** <PRE> ! ($q = ars_LoadQualifier($c, "User", "'Login name' = \"jmurphy\"")) || die $ars_errstr; </PRE> --- 26,30 ---- <PRE> ! ($q = ars_LoadQualifier($c, "User", "'101' = \"jmurphy\"")) || die $ars_errstr; </PRE> *************** *** 37,39 **** <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> ! </HTML> \ No newline at end of file --- 41,43 ---- <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> ! </HTML> Index: ars_SetField.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_SetField.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_SetField.html 6 Mar 2007 01:54:26 -0000 1.1 --- ars_SetField.html 21 Apr 2007 22:22:06 -0000 1.2 *************** *** 10,15 **** populate the <CODE>fieldHash</CODE> before calling this routine. <P><CODE>schema</CODE> is the name of the schema containing the field. ! <P><CODE>fieldId</CODE> is numeric id of the field. ! <P><CODE>fieldHash</CODE> is an <A HREF="ds_field_hash.html">Field Attributes</a> hash. --- 10,15 ---- populate the <CODE>fieldHash</CODE> before calling this routine. <P><CODE>schema</CODE> is the name of the schema containing the field. ! <P><CODE>fieldId</CODE> is the numeric id of the field. ! <P><CODE>fieldHash</CODE> is a partially assigned <A HREF="ds_field_hash.html">Field Attributes</a> hash. Index: ars_CreateVUI.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_CreateVUI.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_CreateVUI.html 6 Mar 2007 01:54:26 -0000 1.1 --- ars_CreateVUI.html 21 Apr 2007 22:22:06 -0000 1.2 *************** *** 5,12 **** <BODY BGCOLOR="#FFFFFF"> ! <H2><CODE>ars_CreateVUI(ctrl, vuiHash)</CODE></H2> This function creates a new VUI. You must first populate the <CODE>vuiHash</CODE> before calling this routine. <P><CODE>vuiHash</CODE> is an <A HREF="ds_getvui_hash.html">VUI Attributes</a> hash. --- 5,13 ---- <BODY BGCOLOR="#FFFFFF"> ! <H2><CODE>ars_CreateVUI(ctrl, schema, vuiHash)</CODE></H2> This function creates a new VUI. You must first populate the <CODE>vuiHash</CODE> before calling this routine. + <P><CODE>schema</CODE> is the name of the schema containing the VUI. <P><CODE>vuiHash</CODE> is an <A HREF="ds_getvui_hash.html">VUI Attributes</a> hash. Index: ars_SetVUI.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_SetVUI.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_SetVUI.html 6 Mar 2007 01:54:27 -0000 1.1 --- ars_SetVUI.html 21 Apr 2007 22:22:06 -0000 1.2 *************** *** 5,13 **** <BODY BGCOLOR="#FFFFFF"> ! <H2><CODE>ars_SetVUI(ctrl, vuiHash)</CODE></H2> This function modifies an existing VUI. You must first populate the <CODE>vuiHash</CODE> before calling this routine. ! <P><CODE>vuiHash</CODE> is an <A HREF="ds_getvui_hash.html">VUI Attributes</a> hash. --- 5,15 ---- <BODY BGCOLOR="#FFFFFF"> ! <H2><CODE>ars_SetVUI(ctrl, schema, vuiId, vuiHash)</CODE></H2> This function modifies an existing VUI. You must first populate the <CODE>vuiHash</CODE> before calling this routine. ! <P><CODE>schema</CODE> is the name of the schema containing the VUI. ! <P><CODE>vuiId</CODE> is the numeric VUI id. ! <P><CODE>vuiHash</CODE> is a partially assigned <A HREF="ds_getvui_hash.html">VUI Attributes</a> hash. Index: ars_SetFilter.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_SetFilter.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_SetFilter.html 6 Mar 2007 01:54:26 -0000 1.1 --- ars_SetFilter.html 21 Apr 2007 22:22:06 -0000 1.2 *************** *** 10,14 **** populate the <CODE>filterHash</CODE> before calling this routine. <P><CODE>name</CODE> is the name of the filter. ! <P><CODE>filterHash</CODE> is a <A HREF="ds_getfilter_hash.html">Filter Attributes</a> hash. --- 10,14 ---- populate the <CODE>filterHash</CODE> before calling this routine. <P><CODE>name</CODE> is the name of the filter. ! <P><CODE>filterHash</CODE> is a partially assigned <A HREF="ds_getfilter_hash.html">Filter Attributes</a> hash. |
From: jeff m. <jef...@us...> - 2007-03-13 13:20:46
|
Update of /cvsroot/arsperl/ARSperl/infra In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv3163/infra Modified Files: mkchanges.pl Log Message: minor update to example scripts Index: mkchanges.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/infra/mkchanges.pl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** mkchanges.pl 19 Sep 2005 15:01:05 -0000 1.7 --- mkchanges.pl 13 Mar 2007 13:20:33 -0000 1.8 *************** *** 184,190 **** <tr><td>BM</td><td>=</td><td>Bill Middleton {wjm at metronet.com}</td></tr> <tr><td>GDF</td><td>=</td><td>G. David Frye {gdf at uiuc.edu}</td></tr> ! <tr><td>JCM</td><td>=</td><td>Jeff Murphy {jcmurphy at buffalo.edu}</td></tr> <tr><td>JWM</td><td>=</td><td>Joel Murphy {jmurphy at buffalo.edu}</td></tr> ! <tr><td>TS</td><td>=</td><td>Thilo Stapff {thilo.stapff at t-online.de}</td></tr> </table> <P> --- 184,190 ---- <tr><td>BM</td><td>=</td><td>Bill Middleton {wjm at metronet.com}</td></tr> <tr><td>GDF</td><td>=</td><td>G. David Frye {gdf at uiuc.edu}</td></tr> ! <tr><td>JCM</td><td>=</td><td>Jeff Murphy {jeffmurphy at sourceforge.net}</td></tr> <tr><td>JWM</td><td>=</td><td>Joel Murphy {jmurphy at buffalo.edu}</td></tr> ! <tr><td>TS</td><td>=</td><td>Thilo Stapff {tstapff at sourceforge.net}</td></tr> </table> <P> |
From: jeff m. <jef...@us...> - 2007-03-13 13:20:38
|
Update of /cvsroot/arsperl/ARSperl/example In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv3163/example Modified Files: Dump_Users.pl Dump_Users_OO.pl Log Message: minor update to example scripts Index: Dump_Users_OO.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/Dump_Users_OO.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Dump_Users_OO.pl 26 May 1999 03:42:46 -0000 1.2 --- Dump_Users_OO.pl 13 Mar 2007 13:20:32 -0000 1.3 *************** *** 13,16 **** --- 13,19 ---- # # $Log$ + # Revision 1.3 2007/03/13 13:20:32 jeffmurphy + # minor update to example scripts + # # Revision 1.2 1999/05/26 03:42:46 jcmurphy # minor change to exception handler *************** *** 33,36 **** --- 36,41 ---- } + my $LoginNameField = "Login name"; # earlier versions of ars used "Login Name" + my $connection = new ARS (-server => shift, -username => shift, *************** *** 38,42 **** -catch => { ARS::AR_RETURN_ERROR => "main::mycatch" }, -ctrl => undef, ! -debug => 1); print "Opening \"User\" form ..\n"; --- 43,47 ---- -catch => { ARS::AR_RETURN_ERROR => "main::mycatch" }, -ctrl => undef, ! -debug => undef); print "Opening \"User\" form ..\n"; *************** *** 44,54 **** my ($u) = $connection->openForm(-form => "User"); ! $u->setSort("Login Name", &ARS::AR_SORT_ASCENDING); my @entries = $u->query(); # empty query means "get everything" ! printf("%-30s %-45s\n", "Login Name", "Full name"); foreach my $id (@entries) { ! my($fullname, $loginname) = $u->get($id, ['Full Name', 'Login Name'] ); printf("%-30s %-45s\n", $loginname, $fullname); } --- 49,59 ---- my ($u) = $connection->openForm(-form => "User"); ! $u->setSort($LoginNameField, &ARS::AR_SORT_ASCENDING); my @entries = $u->query(); # empty query means "get everything" ! printf("%-30s %-45s\n", $LoginNameField, "Full name"); foreach my $id (@entries) { ! my($fullname, $loginname) = $u->get($id, ['Full Name', $LoginNameField] ); printf("%-30s %-45s\n", $loginname, $fullname); } Index: Dump_Users.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/Dump_Users.pl,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Dump_Users.pl 27 Mar 2003 17:58:42 -0000 1.6 --- Dump_Users.pl 13 Mar 2007 13:20:32 -0000 1.7 *************** *** 20,23 **** --- 20,26 ---- # # $Log$ + # Revision 1.7 2007/03/13 13:20:32 jeffmurphy + # minor update to example scripts + # # Revision 1.6 2003/03/27 17:58:42 jcmurphy # 5.0 changes, bug fixes *************** *** 77,81 **** # Retrieve all of the entry-id's for the schema. ! @entries = ars_GetListEntry($ctrl, $SCHEMA, $qual, 0, [], $loginname_fid, &ARS::AR_SORT_ASCENDING); --- 80,84 ---- # Retrieve all of the entry-id's for the schema. ! @entries = ars_GetListEntry($ctrl, $SCHEMA, $qual, 0, 0, [], $loginname_fid, &ARS::AR_SORT_ASCENDING); |
From: jeff m. <jef...@us...> - 2007-03-13 13:20:35
|
Update of /cvsroot/arsperl/ARSperl/html In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv3163/html Modified Files: changes.html Log Message: minor update to example scripts Index: changes.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/changes.html,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** changes.html 12 Mar 2007 17:27:43 -0000 1.29 --- changes.html 13 Mar 2007 13:20:33 -0000 1.30 *************** *** 5,11 **** <tr><td>BM</td><td>=</td><td>Bill Middleton {wjm at metronet.com}</td></tr> <tr><td>GDF</td><td>=</td><td>G. David Frye {gdf at uiuc.edu}</td></tr> ! <tr><td>JCM</td><td>=</td><td>Jeff Murphy {jcmurphy at buffalo.edu}</td></tr> <tr><td>JWM</td><td>=</td><td>Joel Murphy {jmurphy at buffalo.edu}</td></tr> ! <tr><td>TS</td><td>=</td><td>Thilo Stapff {thilo.stapff at t-online.de}</td></tr> </table> <P> --- 5,11 ---- <tr><td>BM</td><td>=</td><td>Bill Middleton {wjm at metronet.com}</td></tr> <tr><td>GDF</td><td>=</td><td>G. David Frye {gdf at uiuc.edu}</td></tr> ! <tr><td>JCM</td><td>=</td><td>Jeff Murphy {jeffmurphy at sourceforge.net}</td></tr> <tr><td>JWM</td><td>=</td><td>Joel Murphy {jmurphy at buffalo.edu}</td></tr> ! <tr><td>TS</td><td>=</td><td>Thilo Stapff {tstapff at sourceforge.net}</td></tr> </table> <P> *************** *** 116,143 **** <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed Makefile.PL to work with $ARSAPI containing spaces on Windows </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>ARS.pm: changed $VERSION to '1.85' ! </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_DeleteContainer (changes to ARS.xs, ARS.pm) </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed Makefile.PL to use $ra_arlibs for Version <= 5.0 on Windows </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed rev_ARValueStructStr2Type: use strcasecmp instead of strncasecmp (failure to differentiate between string and substring) </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added "case AR_DATA_TYPE_CURRENCY" to perl_ARValueStruct </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>moved existing code for AR_DATA_TYPE_CURRENCY from sv_to_ARValueStruct to new function sv_to_ARCurrencyStruct, completed ARCurrencyStruct handling </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added handling of AR_DATA_TYPE_DATE, AR_DATA_TYPE_TIME_OF_DAY, to rev_ARValueStruct, sv_to_ARValueStruct </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added conversion functions rev_ARDisplayInstanceList, rev_ARDisplayInstanceStruct and rev_ARPermissionList </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed DESTROY(ctrl) (use safefree if allocated with safemalloc) </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>minor fix in in rev_ARValueStructKW2KN (*keyword == '\0') </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>minor fix in rev_ARCoordList_helper ( if (hv_exists("x"... ) </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed handling of keyword values in rev_ARValueStruct ! (assume "keyword" if first character == '\0' and length > 0) </table></td></tr></table> <P> --- 116,143 ---- <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed Makefile.PL to work with $ARSAPI containing spaces on Windows </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_DeleteContainer (changes to ARS.xs, ARS.pm) </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed Makefile.PL to use $ra_arlibs for Version <= 5.0 on Windows </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed rev_ARValueStructStr2Type: use strcasecmp instead of strncasecmp (failure to differentiate between string and substring) </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added "case AR_DATA_TYPE_CURRENCY" to perl_ARValueStruct </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>moved existing code for AR_DATA_TYPE_CURRENCY from sv_to_ARValueStruct to new function sv_to_ARCurrencyStruct, completed ARCurrencyStruct handling </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added handling of AR_DATA_TYPE_DATE, AR_DATA_TYPE_TIME_OF_DAY, to rev_ARValueStruct, sv_to_ARValueStruct </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added conversion functions rev_ARDisplayInstanceList, rev_ARDisplayInstanceStruct and rev_ARPermissionList </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed DESTROY(ctrl) (use safefree if allocated with safemalloc) </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>minor fix in in rev_ARValueStructKW2KN (*keyword == '\0') </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>minor fix in rev_ARCoordList_helper ( if (hv_exists("x"... ) </font></td></tr> ! <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed handling of keyword values in rev_ARValueStruct ! (assume "keyword" if first character == '\0' and length > 0) </font></td></tr> ! <tr bgcolor='#dddddd'><td width='10%'>(JCM)</td><td width='90%'><font color='black'>minor update to example scripts Dump_User*.pl ! </table></td></tr></table> <P> |
From: jeff m. <jef...@us...> - 2007-03-13 13:20:34
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv3163 Modified Files: CHANGES changes.dat Log Message: minor update to example scripts Index: changes.dat =================================================================== RCS file: /cvsroot/arsperl/ARSperl/changes.dat,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** changes.dat 12 Mar 2007 17:27:43 -0000 1.52 --- changes.dat 13 Mar 2007 13:20:29 -0000 1.53 *************** *** 56,60 **** instead of the pointer to a C structure. TS fixed Makefile.PL to work with $ARSAPI containing spaces on Windows - TS ARS.pm: changed $VERSION to '1.85' TS added ars_DeleteContainer (changes to ARS.xs, ARS.pm) TS fixed Makefile.PL to use $ra_arlibs for Version <= 5.0 on Windows --- 56,59 ---- *************** *** 73,76 **** --- 72,76 ---- TS changed handling of keyword values in rev_ARValueStruct (assume "keyword" if first character == '\0' and length > 0) + JCM minor update to example scripts Dump_User*.pl released=09/20/2005 version=1.85 Index: CHANGES =================================================================== RCS file: /cvsroot/arsperl/ARSperl/CHANGES,v retrieving revision 1.60 retrieving revision 1.61 diff -C2 -d -r1.60 -r1.61 *** CHANGES 12 Mar 2007 17:27:43 -0000 1.60 --- CHANGES 13 Mar 2007 13:20:29 -0000 1.61 *************** *** 113,118 **** (TS) fixed Makefile.PL to work with $ARSAPI containing spaces on Windows - (TS) ARS.pm: changed $VERSION to '1.85' - (TS) added ars_DeleteContainer (changes to ARS.xs, ARS.pm) --- 113,116 ---- *************** *** 142,145 **** --- 140,145 ---- (assume "keyword" if first character == '\0' and length > 0) + (JCM) minor update to example scripts Dump_User*.pl + Released: 09/20/2005 Version: 1.85 |
From: jeff m. <jef...@us...> - 2007-03-12 17:27:50
|
Update of /cvsroot/arsperl/ARSperl/html In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv1319/html Modified Files: changes.html index.html Log Message: minor 1.90 release prep Index: index.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/index.html,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** index.html 19 Sep 2005 14:42:28 -0000 1.28 --- index.html 12 Mar 2007 17:27:43 -0000 1.29 *************** *** 10,14 **** <B>ARSperl</B> is an integration kit for <A HREF="http://www.perl.com/perl">Perl5</A> and ! <A HREF="http://www.remedy.com">Remedy ARS</A> version 2 - version 6 API. It provides a large subset of the functionality found in the ARS C API. The source code to the integration kit and example scripts is made available under the --- 10,14 ---- <B>ARSperl</B> is an integration kit for <A HREF="http://www.perl.com/perl">Perl5</A> and ! <A HREF="http://www.remedy.com">Remedy ARS</A> version 2 - version 7 API. It provides a large subset of the functionality found in the ARS C API. The source code to the integration kit and example scripts is made available under the *************** *** 19,23 **** <H2> Version </H2> ! The current release is Version 1.85 and has support for the AR 5.0 through 6.3 API. --- 19,23 ---- <H2> Version </H2> ! The current release is Version 1.90 and has support for the AR 5.0 through 7.0 API. Index: changes.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/changes.html,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** changes.html 19 Sep 2005 15:01:05 -0000 1.28 --- changes.html 12 Mar 2007 17:27:43 -0000 1.29 *************** *** 29,32 **** --- 29,158 ---- <tr><td colspan='2'> <table width='100%' border='0'><tr> + <td width='50%'>Released: <B>03/12/2007</B></td> + <td width='50%'>Version: <B>1.90</B></td> + </tr></table></td> + </tr><tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added missing ARError_reset() to ars_GetListVUI + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_CreateCharMenu, ars_SetCharMenu + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added handling of case AR_CHAR_MENU_LIST in ars_GetCharMenu + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed handling of qualifier struct in ars_GetCharMenu, case AR_CHAR_MENU_QUERY + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>corrected function signature for ars_SetField, ars_CreateContainer + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in ars_GetCharMenu (incorrect array length for "labelFields", "labelIndex") + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_SetImpersonatedUser + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in ARError (support.c, memory violation if appendedText == NULL) + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>ars_SetLogging: changed declaration "int len" to "STRLEN len" because of + compilation problems on Solaris </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_BeginBulkEntryTransaction, ars_EndBulkEntryTransaction + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added AR_FIELD_OFFSET handling in perl_ARFieldValueOrArithStruct (support.c) + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_SetSessionConfiguration + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>completed sv_to_ARCurrencyStruct (support.c) + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>ARS.pm: set $ARS::logging_file_ptr = 0 to avoid "uninitialized" warning + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed t/01import.t to import form "ARSperl Test3" + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_CreateContainer, ars_SetContainer + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_CreateFilter, ars_SetFilter, ars_CreateEscalation, ars_SetEscalation, + ars_SetActiveLink </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added declaration of boolcpyHVal(...) to supportrev.h + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added declaration of revTypeName(...) to supportrev.h + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added "rev_ARReferenceStruct" to supportrev.c + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed perl_ARReferenceStruct (added "value_dataType" key, necessary for + ars_CreateContainer) </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed ars_CreateActiveLink to read "schemaList" from alDef struct + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARMessageStruct + ( hv_exists(h,"messageType"... -> hv_exists(a,"messageType"... ) </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>moved declaration of rev_ARMessageStruct from supportrev.c to supportrev.h + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARAssignFieldStruct_helper: hv_exists needs key length + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARAssignFieldStruct_helper: hv_exists needs key length + (dup_qualifier2(...) != NULL ... return ...) </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added case: AR_COND_OP_FROM_FIELD to dup_qualifier2 + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added functions perl_ARSetFieldsActionStruct, perl_ARPushFieldsActionStruct; + changed perl_ARFilterActionStruct accordingly. </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARFunctionAssignStruct (parameterList[i] -> parameterList[i-1]) + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARArithOpAssignStruct_helper (AR_ARITH_OP_NEGATE uses operandRight, + not operandLeft), fixed condition for AR_ARITH_OP_NEGATE. </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARAssignSQLStruct + (strcpyHVal(hr,"sqlCommand"...) -> strmakHVal(hr, "sqlCommand"...)) </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARActiveLinkMacroParmList (... == SVt_PVAV -> ... == SVt_PVHV) + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>bugfix in rev_ARActiveLinkMacroParmList (copymem -> strdup) + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed rev_ARValueStructDiary to support non-hashref diary values + (necessary in ARAssignStruct context) </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_CreateSchema, ars_SetSchema, ars_CreateField, ars_SetField, + ars_CreateVUI, ars_SetVUI </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added scripts (StructDef.pl, rev_AR_template.pl) for automatic generation of + conversion code (perl data structures -> AR API structs) </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added module (ARS/CodeTemplate.pm) for code generation + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>change in perl_ARFieldValueOrArithStruct; if tag == AR_VALUE, put dataType into hash + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added check for h != NULL to strcpyHVal + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added "case AR_COND_OP_FROM_FIELD" to perl_qualifier() + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed handling of qualifier structs in perl_ARFieldLimitStruct, perl_ARJoinSchema, + perl_ARArchiveInfoStruct; those functions now return the converted perl structure instead of the pointer to a C structure. </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed Makefile.PL to work with $ARSAPI containing spaces on Windows + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>ARS.pm: changed $VERSION to '1.85' + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added ars_DeleteContainer (changes to ARS.xs, ARS.pm) + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed Makefile.PL to use $ra_arlibs for Version <= 5.0 on Windows + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed rev_ARValueStructStr2Type: use strcasecmp instead of strncasecmp + (failure to differentiate between string and substring) </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added "case AR_DATA_TYPE_CURRENCY" to perl_ARValueStruct + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>moved existing code for AR_DATA_TYPE_CURRENCY from sv_to_ARValueStruct + to new function sv_to_ARCurrencyStruct, completed ARCurrencyStruct handling </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added handling of AR_DATA_TYPE_DATE, AR_DATA_TYPE_TIME_OF_DAY, + to rev_ARValueStruct, sv_to_ARValueStruct </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>added conversion functions rev_ARDisplayInstanceList, + rev_ARDisplayInstanceStruct and rev_ARPermissionList </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>fixed DESTROY(ctrl) (use safefree if allocated with safemalloc) + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>minor fix in in rev_ARValueStructKW2KN (*keyword == '\0') + </font></td></tr> + <tr bgcolor='#eeeeee'><td width='10%'>(TS)</td><td width='90%'><font color='black'>minor fix in rev_ARCoordList_helper ( if (hv_exists("x"... ) + </font></td></tr> + <tr bgcolor='#dddddd'><td width='10%'>(TS)</td><td width='90%'><font color='black'>changed handling of keyword values in rev_ARValueStruct + (assume "keyword" if first character == '\0' and length > 0) </table></td></tr></table> + + <P> + + + <TABLE CELLSPACING='0' + CELLPADDING='2' + WIDTH='100%' + BORDER='0' + BGCOLOR='black'> + <TR> + <TD width='100%'> + <TABLE CELLSPACING='0' CELLPADDING='3' WIDTH='100%' BORDER='0' + BGCOLOR='lightblue'> + <tr><td colspan='2'> + <table width='100%' border='0'><tr> <td width='50%'>Released: <B>09/20/2005</B></td> <td width='50%'>Version: <B>1.85</B></td> |
From: jeff m. <jef...@us...> - 2007-03-12 17:27:46
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv1319 Modified Files: CHANGES changes.dat Log Message: minor 1.90 release prep Index: changes.dat =================================================================== RCS file: /cvsroot/arsperl/ARSperl/changes.dat,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** changes.dat 6 Mar 2007 01:54:26 -0000 1.51 --- changes.dat 12 Mar 2007 17:27:43 -0000 1.52 *************** *** 1,3 **** --- 1,4 ---- + released=03/12/2007 version=1.90 TS added missing ARError_reset() to ars_GetListVUI TS added ars_CreateCharMenu, ars_SetCharMenu *************** *** 7,11 **** TS bugfix in ars_GetCharMenu (incorrect array length for "labelFields", "labelIndex") TS added ars_SetImpersonatedUser - TS bugfix in ARError (support.c, memory violation if appendedText == NULL) TS ars_SetLogging: changed declaration "int len" to "STRLEN len" because of --- 8,11 ---- *************** *** 44,48 **** TS changed rev_ARValueStructDiary to support non-hashref diary values (necessary in ARAssignStruct context) - TS added ars_CreateSchema, ars_SetSchema, ars_CreateField, ars_SetField, ars_CreateVUI, ars_SetVUI --- 44,47 ---- *************** *** 56,60 **** perl_ARArchiveInfoStruct; those functions now return the converted perl structure instead of the pointer to a C structure. - TS fixed Makefile.PL to work with $ARSAPI containing spaces on Windows TS ARS.pm: changed $VERSION to '1.85' --- 55,58 ---- Index: CHANGES =================================================================== RCS file: /cvsroot/arsperl/ARSperl/CHANGES,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** CHANGES 19 Sep 2005 15:01:05 -0000 1.59 --- CHANGES 12 Mar 2007 17:27:43 -0000 1.60 *************** *** 13,16 **** --- 13,146 ---- + Released: 03/12/2007 Version: 1.90 + + + (TS) added missing ARError_reset() to ars_GetListVUI + + (TS) added ars_CreateCharMenu, ars_SetCharMenu + + (TS) added handling of case AR_CHAR_MENU_LIST in ars_GetCharMenu + + (TS) changed handling of qualifier struct in ars_GetCharMenu, case AR_CHAR_MENU_QUERY + + (TS) corrected function signature for ars_SetField, ars_CreateContainer + + (TS) bugfix in ars_GetCharMenu (incorrect array length for "labelFields", "labelIndex") + + (TS) added ars_SetImpersonatedUser + + (TS) bugfix in ARError (support.c, memory violation if appendedText == NULL) + + (TS) ars_SetLogging: changed declaration "int len" to "STRLEN len" because of + compilation problems on Solaris + + (TS) added ars_BeginBulkEntryTransaction, ars_EndBulkEntryTransaction + + (TS) added AR_FIELD_OFFSET handling in perl_ARFieldValueOrArithStruct (support.c) + + (TS) added ars_SetSessionConfiguration + + (TS) completed sv_to_ARCurrencyStruct (support.c) + + (TS) ARS.pm: set $ARS::logging_file_ptr = 0 to avoid "uninitialized" warning + + (TS) changed t/01import.t to import form "ARSperl Test3" + + (TS) added ars_CreateContainer, ars_SetContainer + + (TS) added ars_CreateFilter, ars_SetFilter, ars_CreateEscalation, ars_SetEscalation, + ars_SetActiveLink + + (TS) added declaration of boolcpyHVal(...) to supportrev.h + + (TS) added declaration of revTypeName(...) to supportrev.h + + (TS) added "rev_ARReferenceStruct" to supportrev.c + + (TS) changed perl_ARReferenceStruct (added "value_dataType" key, necessary for + ars_CreateContainer) + + (TS) changed ars_CreateActiveLink to read "schemaList" from alDef struct + + (TS) bugfix in rev_ARMessageStruct + ( hv_exists(h,"messageType"... -> hv_exists(a,"messageType"... ) + + (TS) moved declaration of rev_ARMessageStruct from supportrev.c to supportrev.h + + (TS) bugfix in rev_ARAssignFieldStruct_helper: hv_exists needs key length + + (TS) bugfix in rev_ARAssignFieldStruct_helper: hv_exists needs key length + (dup_qualifier2(...) != NULL ... return ...) + + (TS) added case: AR_COND_OP_FROM_FIELD to dup_qualifier2 + + (TS) added functions perl_ARSetFieldsActionStruct, perl_ARPushFieldsActionStruct; + changed perl_ARFilterActionStruct accordingly. + + (TS) bugfix in rev_ARFunctionAssignStruct (parameterList[i] -> parameterList[i-1]) + + (TS) bugfix in rev_ARArithOpAssignStruct_helper (AR_ARITH_OP_NEGATE uses operandRight, + not operandLeft), fixed condition for AR_ARITH_OP_NEGATE. + + (TS) bugfix in rev_ARAssignSQLStruct + (strcpyHVal(hr,"sqlCommand"...) -> strmakHVal(hr, "sqlCommand"...)) + + (TS) bugfix in rev_ARActiveLinkMacroParmList (... == SVt_PVAV -> ... == SVt_PVHV) + + (TS) bugfix in rev_ARActiveLinkMacroParmList (copymem -> strdup) + + (TS) changed rev_ARValueStructDiary to support non-hashref diary values + (necessary in ARAssignStruct context) + + (TS) added ars_CreateSchema, ars_SetSchema, ars_CreateField, ars_SetField, + ars_CreateVUI, ars_SetVUI + + (TS) added scripts (StructDef.pl, rev_AR_template.pl) for automatic generation of + conversion code (perl data structures -> AR API structs) + + (TS) added module (ARS/CodeTemplate.pm) for code generation + + (TS) change in perl_ARFieldValueOrArithStruct; if tag == AR_VALUE, put dataType into hash + + (TS) added check for h != NULL to strcpyHVal + + (TS) added "case AR_COND_OP_FROM_FIELD" to perl_qualifier() + + (TS) changed handling of qualifier structs in perl_ARFieldLimitStruct, perl_ARJoinSchema, + perl_ARArchiveInfoStruct; those functions now return the converted perl structure + instead of the pointer to a C structure. + + (TS) fixed Makefile.PL to work with $ARSAPI containing spaces on Windows + + (TS) ARS.pm: changed $VERSION to '1.85' + + (TS) added ars_DeleteContainer (changes to ARS.xs, ARS.pm) + + (TS) fixed Makefile.PL to use $ra_arlibs for Version <= 5.0 on Windows + + (TS) fixed rev_ARValueStructStr2Type: use strcasecmp instead of strncasecmp + (failure to differentiate between string and substring) + + (TS) added "case AR_DATA_TYPE_CURRENCY" to perl_ARValueStruct + + (TS) moved existing code for AR_DATA_TYPE_CURRENCY from sv_to_ARValueStruct + to new function sv_to_ARCurrencyStruct, completed ARCurrencyStruct handling + + (TS) added handling of AR_DATA_TYPE_DATE, AR_DATA_TYPE_TIME_OF_DAY, + to rev_ARValueStruct, sv_to_ARValueStruct + + (TS) added conversion functions rev_ARDisplayInstanceList, + rev_ARDisplayInstanceStruct and rev_ARPermissionList + + (TS) fixed DESTROY(ctrl) (use safefree if allocated with safemalloc) + + (TS) minor fix in in rev_ARValueStructKW2KN (*keyword == '\0') + + (TS) minor fix in rev_ARCoordList_helper ( if (hv_exists("x"... ) + + (TS) changed handling of keyword values in rev_ARValueStruct + (assume "keyword" if first character == '\0' and length > 0) + + Released: 09/20/2005 Version: 1.85 |
From: Thilo S. <ts...@us...> - 2007-03-06 01:54:35
|
Update of /cvsroot/arsperl/ARSperl/t In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv3915/t Modified Files: 31createschema.t 32createcontainer.t 33setcontainer.t 34createactlink.t 35setactlink.t 36createfilter.t 37setfilter.t 38createescalation.t 39setescalation.t Added Files: 40createcharmenu.t 41setcharmenu.t Log Message: added ars_Create/SetCharMenu, ars_SetImpersonatedUser --- NEW FILE: 40createcharmenu.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/40createcharmenu.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} ars_GetListCharMenu( $ctrl ); #die "ars_GetListCharMenu( ALL ): $ars_errstr\n" if $ars_errstr; #my @objects = ( 'zTEST:CharMenu_List' ); my @objects = ( 'ARSperl Test-menu-search1' ); $| = 1; foreach my $obj ( @objects ){ next if $obj =~ / \((copy|renamed)\)$/; my $objNew = "$obj (copy)"; ars_DeleteCharMenu( $ctrl, $objNew ); copyObject( $ctrl, $obj, $objNew ); } sub copyObject { my( $ctrl, $obj, $objNew ) = @_; print '-' x 60, "\n"; # print "GET MENU $ctnr\n"; my $wfObj = ars_GetCharMenu( $ctrl, $obj ); die "ars_GetCharMenu( $obj ): $ars_errstr\n" if $ars_errstr; #use Data::Dumper; #$Data::Dumper::Sortkeys = 1; #print Data::Dumper->Dump( [$wfObj], ['wfObj'] ); $wfObj->{name} = $objNew; @{$wfObj->{objPropList}} = grep {$_->{prop} < 90000} @{$wfObj->{objPropList}}; # foreach my $prop ( @{$ctnrObj->{objPropList}} ){ # $prop->{value} .= 'xCopy' if $prop->{prop} == 60020 && $prop->{value} ne ''; # } $wfObj->{changeDiary} = "Init"; my $ret = 1; print "CREATE MENU $objNew\n"; $ret = ars_CreateCharMenu( $ctrl, $wfObj ); if( $ars_errstr ){ if( $ars_errstr =~ /\[ERROR\]/ ){ die "ars_CreateCharMenu( $objNew ): $ars_errstr\n"; }else{ warn "ars_CreateCharMenu( $objNew ): $ars_errstr\n"; } } printStatus( $ret, 2, 'create menu' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } #ars_Logoff($ctrl); sleep 5; exit(0); Index: 37setfilter.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/37setfilter.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 37setfilter.t 3 Feb 2007 02:33:11 -0000 1.1 --- 37setfilter.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 28,46 **** foreach my $obj ( @objects ){ ! modifyObject( $ctrl, $obj ); } sub modifyObject { ! my( $ctrl, $obj ) = @_; print '-' x 60, "\n"; ! # print "GET FILTER $obj\n"; ! my $wfObj = ars_GetFilter( $ctrl, $obj ); ! die "ars_GetFilter( $obj ): $ars_errstr\n" if $ars_errstr; ! ! my( $name, $newName ); ! $newName = $name = $wfObj->{name}; ! $newName .= '_TEST'; ! my $ret = 1; --- 28,45 ---- foreach my $obj ( @objects ){ ! next if $obj !~ / \(copy\)$/; ! my $objNew = $obj; ! $objNew =~ s/ \(copy\)$/ (renamed)/; ! ars_DeleteFilter( $ctrl, $objNew ); ! modifyObject( $ctrl, $obj, $objNew ); } sub modifyObject { ! my( $ctrl, $name, $newName ) = @_; print '-' x 60, "\n"; ! # print "GET FILTER $name\n"; ! my $wfObj = ars_GetFilter( $ctrl, $name ); ! die "ars_GetFilter( $name ): $ars_errstr\n" if $ars_errstr; my $ret = 1; Index: 38createescalation.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/38createescalation.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 38createescalation.t 3 Feb 2007 02:33:11 -0000 1.1 --- 38createescalation.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 21,25 **** #my @objects = sort {lc($a) cmp lc($b)} ars_GetListEscalation( $ctrl ); #die "ars_GetListEscalation( ALL ): $ars_errstr\n" if $ars_errstr; - #my @objects = ( 'ARSperl Test-escalation1', 'MSR:SRJ:Zuweisung_Wartend' ); #my @objects = ( 'zTEST:TimeInterval', 'zTEST:TimeDate' ); my @objects = ( 'ARSperl Test-escalation1' ); --- 21,24 ---- *************** *** 30,33 **** --- 29,33 ---- foreach my $obj ( @objects ){ + next if $obj =~ / \((copy|renamed)\)$/; my $objNew = "$obj (copy)"; ars_DeleteEscalation( $ctrl, $objNew ); --- NEW FILE: 41setcharmenu.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/41setcharmenu.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} grep {/\(copy\)/} ars_GetListCharMenu( $ctrl ); #die "ars_GetListCharMenu( ALL ): $ars_errstr\n" if $ars_errstr; #my @objects = ( 'zTEST:CharMenu_List (copy)' ); my @objects = ( 'ARSperl Test-menu-search1 (copy)' ); $| = 1; foreach my $obj ( @objects ){ next if $obj !~ / \(copy\)$/; my $objNew = $obj; $objNew =~ s/ \(copy\)$/ (renamed)/; ars_DeleteCharMenu( $ctrl, $objNew ); modifyObject( $ctrl, $obj, $objNew ); } sub modifyObject { my( $ctrl, $name, $newName ) = @_; print '-' x 60, "\n"; # print "GET MENU $name\n"; my $wfObj = ars_GetCharMenu( $ctrl, $name ); die "ars_GetCharMenu( $name ): $ars_errstr\n" if $ars_errstr; my $ret = 1; print "SET MENU $name\n"; $ret = ars_SetCharMenu( $ctrl, $wfObj->{name}, {name => $newName} ); die "ars_SetCharMenu( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set menu' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } sub makeRef { my( %args ) = @_; $args{label} = '' if !exists $args{label}; $args{description} = '' if !exists $args{description}; if( $args{dataType} == 1 ){ $args{permittedGroups} = [] if !exists $args{permittedGroups}; $args{value} = undef if !exists $args{value}; $args{value_dataType} = 'null' if !exists $args{value_dataType}; } return \%args; } #ars_Logoff($ctrl); exit(0); Index: 39setescalation.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/39setescalation.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 39setescalation.t 3 Feb 2007 02:33:11 -0000 1.1 --- 39setescalation.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 28,46 **** foreach my $obj ( @objects ){ ! modifyObject( $ctrl, $obj ); } sub modifyObject { ! my( $ctrl, $obj ) = @_; print '-' x 60, "\n"; ! # print "GET ESCALATION $obj\n"; ! my $wfObj = ars_GetEscalation( $ctrl, $obj ); ! die "ars_GetEscalation( $obj ): $ars_errstr\n" if $ars_errstr; ! ! my( $name, $newName ); ! $newName = $name = $wfObj->{name}; ! $newName =~ s/\(copy\)/(renamed)/; ! my $ret = 1; --- 28,45 ---- foreach my $obj ( @objects ){ ! next if $obj !~ / \(copy\)$/; ! my $objNew = $obj; ! $objNew =~ s/ \(copy\)$/ (renamed)/; ! ars_DeleteEscalation( $ctrl, $objNew ); ! modifyObject( $ctrl, $obj, $objNew ); } sub modifyObject { ! my( $ctrl, $name, $newName ) = @_; print '-' x 60, "\n"; ! # print "GET ESCALATION $name\n"; ! my $wfObj = ars_GetEscalation( $ctrl, $name ); ! die "ars_GetEscalation( $name ): $ars_errstr\n" if $ars_errstr; my $ret = 1; Index: 35setactlink.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/35setactlink.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 35setactlink.t 3 Feb 2007 02:33:11 -0000 1.1 --- 35setactlink.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 28,50 **** foreach my $obj ( @objects ){ ! modifyObject( $ctrl, $obj ); } sub modifyObject { ! my( $ctrl, $obj ) = @_; print '-' x 60, "\n"; # print "GET ACTIVE LINK $obj\n"; ! my $wfObj = ars_GetActiveLink( $ctrl, $obj ); ! die "ars_GetActiveLink( $obj ): $ars_errstr\n" if $ars_errstr; ! ! my( $name, $newName ); ! $newName = $name = $wfObj->{name}; ! $newName =~ s/\(copy\)/(renamed)/; ! my $ret = 1; print "SET ACTIVE LINK $name\n"; ! $ret = ars_SetActiveLink( $ctrl, $name, {enable => 0, order => 327} ); die "ars_SetActiveLink( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set active link' ); --- 28,49 ---- foreach my $obj ( @objects ){ ! next if $obj !~ / \(copy\)$/; ! my $objNew = $obj; ! $objNew =~ s/ \(copy\)$/ (renamed)/; ! ars_DeleteActiveLink( $ctrl, $objNew ); ! modifyObject( $ctrl, $obj, $objNew ); } sub modifyObject { ! my( $ctrl, $name, $newName ) = @_; print '-' x 60, "\n"; # print "GET ACTIVE LINK $obj\n"; ! my $wfObj = ars_GetActiveLink( $ctrl, $name ); ! die "ars_GetActiveLink( $name ): $ars_errstr\n" if $ars_errstr; my $ret = 1; print "SET ACTIVE LINK $name\n"; ! $ret = ars_SetActiveLink( $ctrl, $name, {name => $newName, enable => 0, order => 327} ); die "ars_SetActiveLink( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set active link' ); Index: 33setcontainer.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/33setcontainer.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 33setcontainer.t 3 Feb 2007 02:33:11 -0000 1.1 --- 33setcontainer.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 20,26 **** ! #my @containers = sort {lc($a) cmp lc($b)} grep {/\(copy\)/} map {$_->{containerName}} grep {$_->{type} =~ /guide/} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; ! my @containers = ( 'ARSperl Test-FilterGuide1 (copy)' ); --- 20,26 ---- ! #my @objects = sort {lc($a) cmp lc($b)} grep {/\(copy\)/} map {$_->{containerName}} grep {$_->{containerType} =~ /guide/} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; ! my @objects = ( 'ARSperl Test-FilterGuide1 (copy)' ); *************** *** 28,47 **** ! foreach my $ctnr ( @containers ){ ! addReferences( $ctrl, $ctnr ); } ! sub addReferences { ! my( $ctrl, $ctnr ) = @_; print '-' x 60, "\n"; # print "GET CONTAINER $ctnr\n"; ! my $ctnrObj = ars_GetContainer( $ctrl, $ctnr ); ! die "ars_GetContainer( $ctnr ): $ars_errstr\n" if $ars_errstr; # my $ctnrType = $ctnrObj->{containerType}; - my( $name, $newName ); - $newName = $name = $ctnrObj->{name}; - $newName =~ s/\(copy\)/(renamed)/; my @refList = @{$ctnrObj->{referenceList}}; --- 28,48 ---- ! foreach my $obj ( @objects ){ ! next if $obj !~ / \(copy\)$/; ! my $objNew = $obj; ! $objNew =~ s/ \(copy\)$/ (renamed)/; ! ars_DeleteContainer( $ctrl, $objNew ); ! modifyObject( $ctrl, $obj, $objNew ); } ! sub modifyObject { ! my( $ctrl, $name, $newName ) = @_; print '-' x 60, "\n"; # print "GET CONTAINER $ctnr\n"; ! my $ctnrObj = ars_GetContainer( $ctrl, $name ); ! die "ars_GetContainer( $name ): $ars_errstr\n" if $ars_errstr; # my $ctnrType = $ctnrObj->{containerType}; my @refList = @{$ctnrObj->{referenceList}}; *************** *** 80,84 **** my $ret = 1; print "SET CONTAINER $name\n"; ! $ret = ars_SetContainer( $ctrl, $ctnrObj->{name}, {name => $newName, referenceList => \@refList} ); die "ars_SetContainer( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set container' ); --- 81,85 ---- my $ret = 1; print "SET CONTAINER $name\n"; ! $ret = ars_SetContainer( $ctrl, $name, {name => $newName, referenceList => \@refList} ); die "ars_SetContainer( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set container' ); Index: 34createactlink.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/34createactlink.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 34createactlink.t 3 Feb 2007 02:33:11 -0000 1.1 --- 34createactlink.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 28,31 **** --- 28,32 ---- foreach my $obj ( @objects ){ + next if $obj =~ / \((copy|renamed)\)$/; my $objNew = "$obj (copy)"; ars_DeleteActiveLink( $ctrl, $objNew ); Index: 32createcontainer.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/32createcontainer.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 32createcontainer.t 3 Feb 2007 02:33:11 -0000 1.1 --- 32createcontainer.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 22,26 **** #my @containers = sort {lc($a) cmp lc($b)} map {$_->{containerName}} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; ! #my @containers = sort {lc($a) cmp lc($b)} map {$_->{containerName}} grep {$_->{type} =~ /guide/} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; my @containers = ( 'ARSperl Test-FilterGuide1' ); --- 22,26 ---- #my @containers = sort {lc($a) cmp lc($b)} map {$_->{containerName}} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; ! #my @containers = sort {lc($a) cmp lc($b)} map {$_->{containerName}} grep {$_->{containerType} =~ /guide/} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; my @containers = ( 'ARSperl Test-FilterGuide1' ); *************** *** 31,34 **** --- 31,35 ---- foreach my $ctnr ( @containers ){ + next if $ctnr =~ / \((copy|renamed)\)$/; my $ctnrNew = "$ctnr (copy)"; ars_DeleteContainer( $ctrl, $ctnrNew ); *************** *** 49,52 **** --- 50,55 ---- # print Data::Dumper->Dump( [$ctnrObj], ['ctnrObj'] ); + $ctnrObj->{name} = $ctnrNew; + @{$ctnrObj->{objPropList}} = grep {$_->{prop} < 90000} @{$ctnrObj->{objPropList}}; foreach my $prop ( @{$ctnrObj->{objPropList}} ){ *************** *** 57,61 **** my $ret = 1; print "CREATE CONTAINER $ctnrNew\n"; ! $ret = ars_CreateContainer( $ctrl, $ctnrNew, $ctnrObj ); die "ars_CreateContainer( $ctnrNew ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'create container' ); --- 60,64 ---- my $ret = 1; print "CREATE CONTAINER $ctnrNew\n"; ! $ret = ars_CreateContainer( $ctrl, $ctnrObj ); die "ars_CreateContainer( $ctnrNew ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'create container' ); Index: 31createschema.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/31createschema.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 31createschema.t 3 Feb 2007 02:33:11 -0000 1.1 --- 31createschema.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 28,41 **** # 'AR System Administrator Preference', #); - #my @forms = ( 'ARSperl Test', 'ARSperl Test2', 'ARSperl Test-join', 'ARSperl Test3' ); - #my @forms = sort {lc($a) cmp lc($b)} grep {/^BPM:/} ars_GetListSchema( $ctrl, 0, 1024 ); # all #my @forms = sort {lc($a) cmp lc($b)} grep {$_ ge "BPM:MA:"} grep {/^BPM:/} ars_GetListSchema( $ctrl, 0, 1024 ); # all #die "ars_GetListSchema( ALL ): $ars_errstr\n" if $ars_errstr; my @forms = ( 'ARSperl Test3' ); $| = 1; foreach my $form ( @forms ){ my $formNew = "$form (copy)"; ars_DeleteSchema( $ctrl, $formNew, 1 ); --- 28,43 ---- # 'AR System Administrator Preference', #); #my @forms = sort {lc($a) cmp lc($b)} grep {$_ ge "BPM:MA:"} grep {/^BPM:/} ars_GetListSchema( $ctrl, 0, 1024 ); # all + #my @forms = sort {lc($a) cmp lc($b)} grep {/^BPM:/} ars_GetListSchema( $ctrl, 0, 1024 ); # all #die "ars_GetListSchema( ALL ): $ars_errstr\n" if $ars_errstr; + #my @forms = ( 'ARSperl Test', 'ARSperl Test2', 'ARSperl Test-join', 'ARSperl Test3' ); my @forms = ( 'ARSperl Test3' ); + $| = 1; foreach my $form ( @forms ){ + next if $form =~ / \((copy|renamed)\)$/; my $formNew = "$form (copy)"; ars_DeleteSchema( $ctrl, $formNew, 1 ); *************** *** 68,72 **** print "CREATE SCHEMA $formNew\n"; $ret = ars_CreateSchema( $ctrl, $formNew, $formObj ); ! die "ars_CreateSchema( $formNew ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'create schema' ); sleep 5; --- 70,86 ---- print "CREATE SCHEMA $formNew\n"; $ret = ars_CreateSchema( $ctrl, $formNew, $formObj ); ! if( $ars_errstr ){ ! my $errTxt = $ars_errstr; ! # $errTxt =~ s/\[WARNING\].*?\(ARERR #50\)/ (admin only)/; ! # $errTxt =~ s/\[WARNING\] rev_ARQualifierStruct: hv_fetch \(hval\) returned null \(ARERR #80020\)//; ! $errTxt =~ s/\[WARNING\].*?\(ARERR #8985\)/ (roles removed)/; ! $errTxt =~ s/\[WARNING\].*?\(ARERR #8981\)/ (app owner property)/; ! if( $errTxt =~ /ARERR/ ){ ! print "ars_CreateSchema( $formNew ): $ars_errstr\n"; ! }else{ ! print $errTxt; ! } ! } ! print "\n"; printStatus( $ret, 2, 'create schema' ); sleep 5; *************** *** 132,147 **** die "ars_GetField( $form, $fieldId ): $ars_errstr\n" if $ars_errstr; - # test_DisplayInstanceList( $ctrl, $form, $fieldSt ); # next; - - $fieldSt->{changeDiary} = "COPY"; if( ($formType ne 'join' && $fieldId <= 8) || $fieldId == 1 ){ print "SET FIELD $fieldId $fieldSt->{dataType}\n"; ! $rv = ars_SetField( $ctrl, $formNew, { ! fieldId => $fieldId, fieldName => $fieldSt->{fieldName}, limit => $fieldSt->{limit}, --- 146,157 ---- die "ars_GetField( $form, $fieldId ): $ars_errstr\n" if $ars_errstr; # test_DisplayInstanceList( $ctrl, $form, $fieldSt ); # next; $fieldSt->{changeDiary} = "COPY"; if( ($formType ne 'join' && $fieldId <= 8) || $fieldId == 1 ){ print "SET FIELD $fieldId $fieldSt->{dataType}\n"; ! $rv = ars_SetField( $ctrl, $formNew, $fieldId, { fieldName => $fieldSt->{fieldName}, limit => $fieldSt->{limit}, *************** *** 176,181 **** foreach my $fieldId ( keys %tableLimit ){ print "SET TABLE LIMIT $fieldId\n"; ! $rv = ars_SetField( $ctrl, $formNew, { ! fieldId => int($fieldId), # necessary for uintcpyHVal (SvIOK) option => 4, # necessary to avoid ARERR 118 limit => $tableLimit{$fieldId}, --- 186,190 ---- foreach my $fieldId ( keys %tableLimit ){ print "SET TABLE LIMIT $fieldId\n"; ! $rv = ars_SetField( $ctrl, $formNew, $fieldId, { option => 4, # necessary to avoid ARERR 118 limit => $tableLimit{$fieldId}, Index: 36createfilter.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/36createfilter.t,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** 36createfilter.t 3 Feb 2007 02:33:11 -0000 1.1 --- 36createfilter.t 6 Mar 2007 01:54:27 -0000 1.2 *************** *** 28,31 **** --- 28,32 ---- foreach my $obj ( @objects ){ + next if $obj =~ / \((copy|renamed)\)$/; my $objNew = "$obj (copy)"; ars_DeleteFilter( $ctrl, $objNew ); |
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv3915/html/manual Modified Files: ars_CreateActiveLink.html ars_GetCharMenu.html toc.html Added Files: ars_BeginBulkEntryTransaction.html ars_CreateCharMenu.html ars_CreateContainer.html ars_CreateEscalation.html ars_CreateField.html ars_CreateFilter.html ars_CreateSchema.html ars_CreateVUI.html ars_EndBulkEntryTransaction.html ars_SetActiveLink.html ars_SetCharMenu.html ars_SetContainer.html ars_SetEscalation.html ars_SetField.html ars_SetFilter.html ars_SetImpersonatedUser.html ars_SetSchema.html ars_SetSessionConfiguration.html ars_SetVUI.html Log Message: added ars_Create/SetCharMenu, ars_SetImpersonatedUser --- NEW FILE: ars_SetSessionConfiguration.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_SetSessionConfiguration</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetSessionConfiguration(ctrl, ...)</CODE></H2> Set specified client session configuration. <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <PRE> ars_SetSessionConfiguration( $ctrl, &ARS::AR_SESS_CLIENT_TYPE, 7000 ) || die "$ars_errstr"; </PRE> <P> <I>ars_SetSessionConfiguration was introduced in version 1.90 of ARSperl</I> <P> <HR WIDTH="30%"> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> <p> <address> Last changes to this page 30th August 2000 by jcm...@ar...<BR> © J.C.Murphy, J.W.Murphy 2000 ar...@ar... </address> </BODY> </HTML> Index: ars_GetCharMenu.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_GetCharMenu.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ars_GetCharMenu.html 30 Mar 2003 16:36:30 -0000 1.3 --- ars_GetCharMenu.html 6 Mar 2007 01:54:26 -0000 1.4 *************** *** 13,19 **** is the actual menu name as shown in the ARAdmin tool. <P> ! <B>Note</B>: This function returns information <I>about</I> the ! menu. It does not return the actual menu items. See ! <A HREF="ars_GetCharMenuItems.html">ars_GetCharMenuItems</A> for that. <DL> <DT><B>On success</B><DD> --- 13,17 ---- is the actual menu name as shown in the ARAdmin tool. <P> ! <DL> <DT><B>On success</B><DD> --- NEW FILE: ars_CreateCharMenu.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_CreateCharMenu</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_CreateCharMenu(ctrl, menuHash)</CODE></H2> This function creates a new menu. You must first populate the <CODE>menuHash</CODE> before calling this routine. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing menu to a new active link. I.e. it simply re-saves the menu under a new name. </I></BLOCKQUOTE> <PRE> ($m = ars_GetCharMenu($c, "C-foobar")) || die $ars_errstr; $m->{name} = "Copy of ".$m->{name}; ars_CreateCharMenu($c, $m) || die $ars_errstr; </PRE> <B>Notes</B>: Hash keys <CODE>helpText, owner</CODE> and <CODE>changeDiary</CODE> are optional when calling this routine. <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_CreateContainer.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_CreateContainer</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_CreateContainer(ctrl, containerHash, removeFlag=TRUE)</CODE></H2> This function creates a new container. You must first populate the <CODE>containerHash</CODE> before calling this routine. <P><CODE>containerHash</CODE> is a <A HREF="ds_container.html">Container Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing container to a new container. I.e. it simply re-saves the active link under a new name. </I></BLOCKQUOTE> <PRE> ($ct = ars_GetContainer($c, "C-foobar")) || die $ars_errstr; $ct->{name} = "Copy of ".$ct->{name}; ars_CreateContainer($c, $ct) || die $ars_errstr; </PRE> <B>Notes</B>: Hash keys <CODE>helpText, owner</CODE> and <CODE>changeDiary</CODE> are optional when calling this routine. <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_CreateVUI.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_CreateVUI</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_CreateVUI(ctrl, vuiHash)</CODE></H2> This function creates a new VUI. You must first populate the <CODE>vuiHash</CODE> before calling this routine. <P><CODE>vuiHash</CODE> is an <A HREF="ds_getvui_hash.html">VUI Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing VUI to a new VUI. I.e. it simply re-saves the VUI link under a new name. </I></BLOCKQUOTE> <PRE> ($v = ars_GetVUI( $c, "Schema", $vuiId )) || die $ars_errstr; $v->{vuiId} = $v->{vuiId} + 100000; $v->{vuiName} = "Copy of ".$v->{vuiName}; ars_CreateVUI( $c, "Schema", $v ) || die $ars_errstr; </PRE> <B>Notes</B>: Hash keys <CODE>helpText, owner</CODE> and <CODE>changeDiary</CODE> are optional when calling this routine. <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetSchema.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetSchema</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetSchema(ctrl, name, schemaHash)</CODE></H2> This function modifies an existing schema. You must first populate the <CODE>schemaHash</CODE> before calling this routine. <P><CODE>name</CODE> is the schema name. <P><CODE>schemaHash</CODE> is a <A HREF="ds_schema.html">Schema Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing schema to a new schema. I.e. it simply re-saves the schema under a new name. </I></BLOCKQUOTE> <PRE> ($a = ars_GetSchema($c, "AL-foobar")) || die $ars_errstr; $a->{name} = "Copy of ".$a->{name}; ars_SetSchema($c, $name, $a) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetFilter.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetFilter</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetFilter(ctrl, name, filterHash)</CODE></H2> This function modifies an existing filter. You must first populate the <CODE>filterHash</CODE> before calling this routine. <P><CODE>name</CODE> is the name of the filter. <P><CODE>filterHash</CODE> is a <A HREF="ds_getfilter_hash.html">Filter Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example changes the name and execution order of an existing filter. </I></BLOCKQUOTE> <PRE> ($f = ars_GetFilter($c, "TEST:Filter")) || die $ars_errstr; ars_SetFilter( $c, $f->{name}, { name => $f->{name} . "(renamed)", order => $f->{order} + 100, } ) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetActiveLink.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetActiveLink</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetActiveLink(ctrl, name, activeLinkHash)</CODE></H2> This function modifies an existing active link. You must first populate the <CODE>activeLinkHash</CODE> before calling this routine. <P><CODE>name</CODE> is the name of the active link. <P><CODE>activeLinkHash</CODE> is a partially assigned <A HREF="ds_al.html">Active Link Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example changes the name and execution mask of an existing active link. </I></BLOCKQUOTE> <PRE> ($al = ars_GetActiveLink($c, "TEST:ActiveLink")) || die $ars_errstr; ars_SetActiveLink( $c, $al->{name}, { name => $al->{name} . "(renamed)", executeMask => 1 + 16, # button, display } ) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> Index: ars_CreateActiveLink.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_CreateActiveLink.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_CreateActiveLink.html 4 Sep 1997 00:12:13 -0000 1.1 --- ars_CreateActiveLink.html 6 Mar 2007 01:54:26 -0000 1.2 *************** *** 9,13 **** This function creates an new active link. You must first populate the <CODE>activeLinkHash</CODE> before calling this routine. ! <CODE>activeLinkHash</CODE> is an <A HREF="ds_al.html">Active Link Attributes</a> hash. --- 9,13 ---- This function creates an new active link. You must first populate the <CODE>activeLinkHash</CODE> before calling this routine. ! <P><CODE>activeLinkHash</CODE> is an <A HREF="ds_al.html">Active Link Attributes</a> hash. *************** *** 29,36 **** <PRE> ! ($a = ars_GetActiveLink($c, "AL-foobar")) || die $ars_errstr; ! $a->{name} = "Copy of ".$a->{name}; ! ars_CreateActiveLink($c, $a) || die $ars_errstr; </PRE> --- 29,36 ---- <PRE> ! ($al = ars_GetActiveLink($c, "AL-foobar")) || die $ars_errstr; ! $al->{name} = "Copy of ".$al->{name}; ! ars_CreateActiveLink($c, $al) || die $ars_errstr; </PRE> --- NEW FILE: ars_CreateSchema.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_CreateSchema</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_CreateSchema(ctrl, schemaHash)</CODE></H2> This function creates a new schema. You must first populate the <CODE>schemaHash</CODE> before calling this routine. <P><CODE>schemaHash</CODE> is an <A HREF="ds_schema.html">Schema Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing schema to a new schema. I.e. it simply re-saves the active link under a new name. </I></BLOCKQUOTE> <PRE> ($s = ars_GetSchema($c, "F-foobar")) || die $ars_errstr; $s->{name} = "Copy of ".$s->{name}; ars_CreateSchema( $c, $s ) || die $ars_errstr; </PRE> <B>Notes</B>: Hash keys <CODE>helpText, owner</CODE> and <CODE>changeDiary</CODE> are optional when calling this routine. <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetField.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetField</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetField(ctrl, schema, fieldId, fieldHash)</CODE></H2> This function modifies an existing field. You must first populate the <CODE>fieldHash</CODE> before calling this routine. <P><CODE>schema</CODE> is the name of the schema containing the field. <P><CODE>fieldId</CODE> is numeric id of the field. <P><CODE>fieldHash</CODE> is an <A HREF="ds_field_hash.html">Field Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example increases the content length of a character field. It also specifies write permission for group 505 and read permission for group 506. </I></BLOCKQUOTE> <PRE> ($fd = ars_GetField($c, "Schema", $fieldId )) || die $ars_errstr; $fd->{limit}{maxLength} += 30; ars_SetField( $c, "Schema", $fieldId, { permissions => { 505 => "change", 506 => "view" }, limit => $fd->{limit}, } ) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> Index: toc.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/toc.html,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** toc.html 3 Feb 2007 02:33:11 -0000 1.24 --- toc.html 6 Mar 2007 01:54:27 -0000 1.25 *************** *** 64,71 **** --- 64,79 ---- <P> <UL> + <LI><A HREF="ars_BeginBulkEntryTransaction.html">ars_BeginBulkEntryTransaction</A> <LI><A HREF="ars_CreateActiveLink.html">ars_CreateActiveLink</A> <LI><A HREF="ars_CreateAdminExtension.html">ars_CreateAdminExtension</A> <B>(2.x/3.0)</B> <LI><A HREF="ars_CreateAlertEvent.html">ars_CreateAlertEvent</A> + <LI><A HREF="ars_CreateCharMenu.html">ars_CreateCharMenu</A> + <LI><A HREF="ars_CreateContainer.html">ars_CreateContainer</A> <LI><A HREF="ars_CreateEntry.html">ars_CreateEntry</A> + <LI><A HREF="ars_CreateEscalation.html">ars_CreateEscalation</A> + <LI><A HREF="ars_CreateField.html">ars_CreateField</A> + <LI><A HREF="ars_CreateFilter.html">ars_CreateFilter</A> + <LI><A HREF="ars_CreateSchema.html">ars_CreateSchema</A> + <LI><A HREF="ars_CreateVUI.html">ars_CreateVUI</A> <LI><A HREF="ars_DecodeAlertMessage.html">ars_DecodeAlertMessage</A> <LI><A HREF="ars_DeleteActiveLink.html">ars_DeleteActiveLink</A> *************** *** 81,84 **** --- 89,93 ---- <LI><A HREF="ars_DeleteVUI.html">ars_DeleteVUI</A> <LI><A HREF="ars_DeregisterForAlerts.html">ars_DeregisterForAlerts</A> + <LI><A HREF="ars_EndBulkEntryTransaction.html">ars_EndBulkEntryTransaction</A> <LI><A HREF="ars_ExecuteAdminExtension.html">ars_ExecuteAdminExtension</A> <LI><A HREF="ars_ExecuteProcess.html">ars_ExecuteProcess</A> *************** *** 137,144 **** <LI><A HREF="ars_NTTerminationServer.html">ars_NTTerminationServer</A> <B>(3.x)</B> <LI><A HREF="ars_RegisterForAlerts.html">ars_RegisterForAlerts</A> <LI><A HREF="ars_SetEntry.html">ars_SetEntry</A> <LI><A HREF="ars_SetLogging.html">ars_SetLogging</A> <LI><A HREF="ars_SetServerInfo.html">ars_SetServerInfo</A> ! </UL> <P> --- 146,162 ---- <LI><A HREF="ars_NTTerminationServer.html">ars_NTTerminationServer</A> <B>(3.x)</B> <LI><A HREF="ars_RegisterForAlerts.html">ars_RegisterForAlerts</A> + <LI><A HREF="ars_SetActiveLink.html">ars_SetActiveLink</A> + <LI><A HREF="ars_SetCharMenu.html">ars_SetCharMenu</A> + <LI><A HREF="ars_SetContainer.html">ars_SetContainer</A> <LI><A HREF="ars_SetEntry.html">ars_SetEntry</A> + <LI><A HREF="ars_SetEscalation.html">ars_SetEscalation</A> + <LI><A HREF="ars_SetField.html">ars_SetField</A> + <LI><A HREF="ars_SetFilter.html">ars_SetFilter</A> + <LI><A HREF="ars_SetImpersonatedUser.html">ars_SetImpersonatedUser</A> <LI><A HREF="ars_SetLogging.html">ars_SetLogging</A> + <LI><A HREF="ars_SetSchema.html">ars_SetSchema</A> <LI><A HREF="ars_SetServerInfo.html">ars_SetServerInfo</A> ! <LI><A HREF="ars_SetSessionConfiguration.html">ars_SetSessionConfiguration</A> ! <LI><A HREF="ars_SetVUI.html">ars_SetVUI</A> </UL> <P> --- NEW FILE: ars_SetEscalation.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetEscalation</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetEscalation(ctrl, name, escalationHash)</CODE></H2> This function modifies an existing escalation. You must first populate the <CODE>escalationHash</CODE> before calling this routine. <P><CODE>name</CODE> is the name of the escalation. <P><CODE>escalationHash</CODE> is a partially assigned <A HREF="ds_getescalation_hash.html">Escalation Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example changes the name and disables the escalation "TEST:Escalation". </I></BLOCKQUOTE> <PRE> ars_SetEscalation( $c, "TEST:Escalation", { name => "# TEST:Escalation", enable => 0, } ) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_CreateEscalation.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_CreateEscalation</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_CreateEscalation(ctrl, escalationHash)</CODE></H2> This function creates a new escalation. You must first populate the <CODE>escalationHash</CODE> before calling this routine. <P><CODE>escalationHash</CODE> is an <A HREF="ds_getescalation_hash.html">Escalation Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing escalation to a new escalation. I.e. it simply re-saves the escalation under a new name. </I></BLOCKQUOTE> <PRE> ($e = ars_GetEscalation($c, "E-foobar")) || die $ars_errstr; $e->{name} = "Copy of ".$e->{name}; ars_CreateEscalation($c, $e) || die $ars_errstr; </PRE> <B>Notes</B>: Hash keys <CODE>helpText, owner</CODE> and <CODE>changeDiary</CODE> are optional when calling this routine. <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_EndBulkEntryTransaction.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_EndBulkEntryTransaction</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_EndBulkEntryTransaction(ctrl,actionType)</CODE></H2> Starts or cancels the execution of the entry operations that have been called since the former <a href="ars_BeginBulkEntryTransaction.html">ars_BeginBulkEntryTransaction</a> call. <p>The <code>actionType</code> parameter specifies if the operations of the transaction will be cancelled or sent to the server for execution: <UL> AR_BULK_ENTRY_ACTION_SEND = send the queued entry calls to the server<br> AR_BULK_ENTRY_ACTION_CANCEL = cancel the transaction<br> </UL> <DL> <DT><B>On success</B><DD> Returns a list of return structures corresponding to the operations <DT><B>On failure</B><DD> Returns an empty list </DL> <P>Example: <PRE> @results = ars_EndBulkEntryTransaction( $ctrl, $actionType ); die "$ars_errstr" if ! $results; </PRE> <P> <I>ars_EndBulkEntryTransaction was introduced in version 1.90 of ARSperl</I> <P> <HR WIDTH="30%"> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> <p> <address> Last changes to this page 22th February 2007 by ts...@us...<BR> © J.C.Murphy, J.W.Murphy, T.Stapff 2007 ar...@ar... </address> </BODY> </HTML> --- NEW FILE: ars_BeginBulkEntryTransaction.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_BeginBulkEntryTransaction</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_BeginBulkEntryTransaction(ctrl)</CODE></H2> This command can be used to group several create, set, delete and merge entry operations together into a single transaction. The actual execution of these functions is deferred until <a href="ars_EndBulkEntryTransaction.html">ars_EndBulkEntryTransaction</a> is called. <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <PRE> ars_BeginBulkEntryTransaction( $ctrl ) || die "$ars_errstr"; </PRE> <P> <I>ars_BeginBulkEntryTransaction was introduced in version 1.90 of ARSperl</I> <P> <HR WIDTH="30%"> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> <p> <address> Last changes to this page 22th February 2007 by ts...@us...<BR> © J.C.Murphy, J.W.Murphy, T.Stapff 2007 ar...@ar... </address> </BODY> </HTML> --- NEW FILE: ars_CreateField.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_CreateField</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_CreateField(ctrl, schema, fieldHash, reservedIdOK=0 )</CODE></H2> This function creates a new field. You must first populate the <CODE>fieldHash</CODE> before calling this routine. <P><CODE>schema</CODE> is the name of the schema where the field is to be created. <P><CODE>fieldHash</CODE> is a <A HREF="ds_field_hash.html">Field Properties Structure</a> hash. <P><CODE>reservedIdOK</CODE> must be set to 1 if you want to create a field in the reserved field id range (i.e. <= 536870912). <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing field to a new field. I.e. it simply re-saves the field under a new name. </I></BLOCKQUOTE> <PRE> ($fd = ars_GetField($c, "Schema", 536870913)) || die $ars_errstr; $fd->{fieldId} = $fd->{fieldId} + 100000; $fd->{fieldName} = "Copy of ".$fd->{fieldName}; ars_CreateField( $c, "Schema", $fd ) || die $ars_errstr; </PRE> <B>Notes</B>: Hash keys <CODE>helpText, owner</CODE> and <CODE>changeDiary</CODE> are optional when calling this routine. <CODE>fieldId</CODE> can be specified as 0 if you want the the server to generate a field id. <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetVUI.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetVUI</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetVUI(ctrl, vuiHash)</CODE></H2> This function modifies an existing VUI. You must first populate the <CODE>vuiHash</CODE> before calling this routine. <P><CODE>vuiHash</CODE> is an <A HREF="ds_getvui_hash.html">VUI Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example changes the owner of the view "TEST:View". </I></BLOCKQUOTE> <PRE> ($v = ars_GetVUI($c,"Schema",$vuiId)) || die $ars_errstr; ars_SetVUI( $c, "Schema", $vuiId, {owner => "admin2"} ) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetCharMenu.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetCharMenu</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetCharMenu(ctrl, name, menuHash)</CODE></H2> This function modifies an existing menu. You must first populate the <CODE>menuHash</CODE> before calling this routine. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example changes the name and the refresh code of the menu "TEST:CharMenu". </I></BLOCKQUOTE> <PRE> ars_SetCharMenu( $c, "TEST:CharMenu, { name => "TEST:CharMenu2", refreshCode => "open", } ) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetContainer.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_SetContainer</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetContainer(ctrl, name, containerHash)</CODE></H2> This function modifies an existing container. You must first populate the <CODE>containerHash</CODE> before calling this routine. <P><CODE>name</CODE> is the name of the container. <P><CODE>containerHash</CODE> is a partially assigned <A HREF="ds_container.html">Container Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example changes the name of the container "TEST:FilterGuide". It also adds a filter to the end of the list.</I></BLOCKQUOTE> <PRE> ($ct = ars_GetContainer($c, "TEST:FilterGuide")) || die $ars_errstr; push @{$ct->{referenceList}}, { type => 3, name => "TEST:Filter", dataType => 0, description => "", label => "", }; ars_SetContainer( $c, "TEST:FilterGuide", { name => "TEST:FilterGuide 2", referenceList => $ct->{referenceList}, } ) || die $ars_errstr; </PRE> <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_CreateFilter.html --- <HTML> <HEAD> <TITLE>ARSperl Programmer's Manual - ars_CreateFilter</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_CreateFilter(ctrl, filterHash)</CODE></H2> This function creates a new filter. You must first populate the <CODE>filterHash</CODE> before calling this routine. <P><CODE>filterHash</CODE> is a <A HREF="ds_getfilter_hash.html">Filter Attributes</a> hash. <P> <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <P><BLOCKQUOTE> <I> This example copies an existing filter to a new filter. I.e. it simply re-saves the filter under a new name. </I></BLOCKQUOTE> <PRE> ($f = ars_GetFilter($c, "F-foobar")) || die $ars_errstr; $f->{name} = "Copy of ".$f->{name}; ars_CreateFilter($c, $f) || die $ars_errstr; </PRE> <B>Notes</B>: Hash keys <CODE>helpText, owner</CODE> and <CODE>changeDiary</CODE> are optional when calling this routine. <P> <I>This function was introduced in version 1.90 of ARSperl</I> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Back to Table of Contents </A> </BODY> </HTML> --- NEW FILE: ars_SetImpersonatedUser.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_SetServerInfo</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_SetImpersonatedUser(ctrl,loginName)</CODE></H2> This function enables an API program running under an administrator login to perform certain operations as a specific user. <P><CODE>loginName</CODE> is the login name of the impersonated user. Use "" (i.e. the empty string) to switch back to the admin user. <DL> <DT><B>On success</B><DD> Returns 1 <DT><B>On failure</B><DD> Returns 0 </DL> <P>Example: <PRE> ars_SetImpersonatedUser($ctrl,"TestUser") || die "$ars_errstr"; </PRE> <P> <I>ars_SetImpersonatedUser was introduced in version 1.90 of ARSperl</I> <P> <HR WIDTH="30%"> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> <p> <address> Last changes to this page 22th February 2007 by ts...@us...<BR> © J.C.Murphy, J.W.Murphy, T.Stapff 2007 ar...@ar... </address> </BODY> </HTML> |
From: Thilo S. <ts...@us...> - 2007-02-03 03:22:02
|
Update of /cvsroot/arsperl/ARSperl/ARS In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv381/ARS Added Files: CodeTemplate.pm Log Message: added ARS/CodeTemplate.pm --- NEW FILE: CodeTemplate.pm --- package ARS::CodeTemplate; use Exporter; @ISA = qw( Exporter ); @EXPORT = qw( include modByRegex ); *opt = *main::opt; #our $LINE_INDENT = ''; sub compile { my( $input ) = @_; my @input = split( /\n/, $input ); my( $pFlag, $pCode, $output ) = ( 0, '', '' ); my $line; foreach $line ( @input ){ if( $line =~ /^@@\s+(\S+)\s+(.*)$/ ){ my( $openMode, $outFile ) = ( $1, $2 ); if( $outFile =~ /^<@(.*)@>\s*$/ ){ eval( 'package '.caller()."; \$outFile = $1; package ARS::CodeTemplate;" ); # print "OUTFILE: $outFile\n"; } # print "OM($openMode) FILE($outFile)\n"; die "Syntax error in \"$line\"\n" unless $openMode =~ /^[>|]+$/; if( defined $opt{debug} ){ print "#------------------------------------------------------------\n"; print "# OUTPUT: $line\n"; print $pCode; print "#------------------------------------------------------------\n\n"; }else{ eval( 'package '.caller()."; $pCode; package ARWT::Template;" ); if( $@ ){ warn $@, "\n"; exit 1; } open( OUTPUT, "$openMode $outFile" ) or die "Open Error($openMode $outFile): $!\n"; print OUTPUT $output; close OUTPUT; } ( $pFlag, $pCode, $output ) = ( 0, '', '' ); }elsif( $line =~ s/^@>+// ){ $pCode .= "$line\n"; }else{ $pCode .= '$output .= $LINE_INDENT;'; $pCode .= '$output .= '; $pCode .= "'' . \"\\n\";\n" if $line eq ''; while( $line ){ if( $pFlag ){ if( $line =~ s/^(.*?)@>// ){ $pFlag = 0; $pCode .= "$1 ). "; $pCode .= "\"\\n\";\n" unless $line; }else{ $pCode .= $line . "\\n"; $line = ''; } }else{ if( $line =~ s/^(.*?)<@// ){ $pFlag = 1; my $str = $1; $str =~ s/\\/\\\\/g; $str =~ s/'/\\'/g; $pCode .= "'$str' .( "; }else{ $line =~ s/\\/\\\\/g; $line =~ s/'/\\'/g; $pCode .= "'$line' . \"\\n\";\n"; $line = ''; } } } } } if( defined $opt{debug} ){ print $pCode; exit; }else{ eval( 'package '.caller()."; $pCode; package ARWT::Template;" ); if( $@ ){ warn $@, "\n"; exit 1; } } return $output; } use Getopt::Long; sub init_template { %opt = (); Getopt::Long::Configure( 'no_ignore_case' ); Getopt::Long::GetOptions( \%opt, 'o=s', 'x!', 'debug!', @_ ); } sub procdef { my( $text ) = @_; my $outfile; if( defined $opt{'o'} ){ $outfile = $opt{'o'}; }else{ $outfile = '-'; } open( OUTFILE, ">$outfile" ) or die "$outfile: $!\n"; print OUTFILE get_header( $outfile, $0 ) if $opt{'o'}; print OUTFILE $text; close OUTFILE; } sub include { my( $file ) = @_; local $/ = undef; local *FILE; open( FILE, $file ) or do { warn "Cannot open \"$file\": $!\n"; return undef; }; my $data = <FILE>; close FILE; return $data; } sub modByRegex { package main; my( $val, @regex ) = @_; foreach my $regex ( @regex ){ eval "\$val =~ $regex"; warn $@, "\n" if $@; } return $val; } sub get_header { my( $of, $tpt ) = @_; my $HEADER = << "+"; /******************************************************************************* ** ** ** Automatically genenerated <OUTFILE> file. ** D O N O T E D I T ! ! ! ! ** ** Edit <TEMPLATE> instead. ** ** *******************************************************************************/ + my @HEADER = split( /\n/, $HEADER ); $HEADER = ''; $of =~ s|.*[\\/]||; $tpt =~ s|.*[\\/]||; foreach $line ( @HEADER ){ if( $line =~ s/<OUTFILE>/$of/ || $line =~ s/<TEMPLATE>/$tpt/ ){ $line .= ' ' x (78 - length($line)) . '*/'; } $HEADER .= "$line\n"; } return $HEADER; } 1; |
From: Thilo S. <ts...@us...> - 2007-02-03 02:33:15
|
Update of /cvsroot/arsperl/ARSperl/t In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14198/t Modified Files: 01import.t 02export.t Added Files: 31createschema.t 32createcontainer.t 33setcontainer.t 34createactlink.t 35setactlink.t 36createfilter.t 37setfilter.t 38createescalation.t 39setescalation.t aptest51.def Log Message: arsystem 7.0 port, new ars_Create/Set functions --- NEW FILE: aptest51.def --- # # File exported Tue Apr 1 15:27:05 2003 # begin schema name : ARSperl Test core-version : 2 upgrade-version: 0 num-fields : 112 timestamp : 1049205535 owner : jcmurphy last-changed : jcmurphy default-vui : Default Administrator View num-vuis : 1 export-version : 6 schema-type : 1 next-field-id : 536870915 vui { id : 536870912 name : Default Administrator View [...5628 lines suppressed...] object : ARSperl Test-Filter1 } reference { type : 32774 datatype : 1 label : LABEL 1 value : 0\ } reference { type : 3 datatype : 0 object : ARSperl Test-Filter1 } reference { type : 32774 datatype : 1 label : LABEL 2 value : 0\ } end --- NEW FILE: 37setfilter.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/37setfilter.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} grep {/\(copy\)/} ars_GetListFilter( $ctrl ); #die "ars_GetListFilter( ALL ): $ars_errstr\n" if $ars_errstr; my @objects = ( 'ARSperl Test-Filter1 (copy)' ); $| = 1; foreach my $obj ( @objects ){ modifyObject( $ctrl, $obj ); } sub modifyObject { my( $ctrl, $obj ) = @_; print '-' x 60, "\n"; # print "GET FILTER $obj\n"; my $wfObj = ars_GetFilter( $ctrl, $obj ); die "ars_GetFilter( $obj ): $ars_errstr\n" if $ars_errstr; my( $name, $newName ); $newName = $name = $wfObj->{name}; $newName .= '_TEST'; my $ret = 1; print "SET FILTER $name\n"; $ret = ars_SetFilter( $ctrl, $wfObj->{name}, {name => $newName, enable => 0, order => 327} ); die "ars_SetFilter( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set filter' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } sub makeRef { my( %args ) = @_; $args{label} = '' if !exists $args{label}; $args{description} = '' if !exists $args{description}; if( $args{dataType} == 1 ){ $args{permittedGroups} = [] if !exists $args{permittedGroups}; $args{value} = undef if !exists $args{value}; $args{value_dataType} = 'null' if !exists $args{value_dataType}; } return \%args; } #ars_Logoff($ctrl); exit(0); --- NEW FILE: 38createescalation.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/38createescalation.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} ars_GetListEscalation( $ctrl ); #die "ars_GetListEscalation( ALL ): $ars_errstr\n" if $ars_errstr; #my @objects = ( 'ARSperl Test-escalation1', 'MSR:SRJ:Zuweisung_Wartend' ); #my @objects = ( 'zTEST:TimeInterval', 'zTEST:TimeDate' ); my @objects = ( 'ARSperl Test-escalation1' ); $| = 1; foreach my $obj ( @objects ){ my $objNew = "$obj (copy)"; ars_DeleteEscalation( $ctrl, $objNew ); copyObject( $ctrl, $obj, $objNew ); } sub copyObject { my( $ctrl, $obj, $objNew ) = @_; print '-' x 60, "\n"; # print "GET ESCALATION $ctnr\n"; my $wfObj = ars_GetEscalation( $ctrl, $obj ); die "ars_GetEscalation( $obj ): $ars_errstr\n" if $ars_errstr; #use Data::Dumper; #$Data::Dumper::Sortkeys = 1; #my $data = $ctnrObj; #my $file = '-'; #local *FILE; #open( FILE, "> $file" ) or die qq{Cannot open \"$file\" for writing: $!\n}; #print FILE Data::Dumper->Dump( [$data], ['ctnrObj'] ); #close FILE; $wfObj->{name} = $objNew; @{$wfObj->{objPropList}} = grep {$_->{prop} < 90000} @{$wfObj->{objPropList}}; # foreach my $prop ( @{$ctnrObj->{objPropList}} ){ # $prop->{value} .= 'xCopy' if $prop->{prop} == 60020 && $prop->{value} ne ''; # } $wfObj->{changeDiary} = "Init"; my $ret = 1; print "CREATE ESCALATION $objNew\n"; $ret = ars_CreateEscalation( $ctrl, $wfObj ); if( $ars_errstr ){ if( $ars_errstr =~ /\[ERROR\]/ ){ die "ars_CreateEscalation( $objNew ): $ars_errstr\n"; }else{ warn "ars_CreateEscalation( $objNew ): $ars_errstr\n"; } } printStatus( $ret, 2, 'create escalation' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } #ars_Logoff($ctrl); sleep 5; exit(0); --- NEW FILE: 39setescalation.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/39setescalation.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} grep {/\(copy\)/} ars_GetListEscalation( $ctrl ); #die "ars_GetListEscalation( ALL ): $ars_errstr\n" if $ars_errstr; my @objects = ( 'ARSperl Test-escalation1 (copy)' ); $| = 1; foreach my $obj ( @objects ){ modifyObject( $ctrl, $obj ); } sub modifyObject { my( $ctrl, $obj ) = @_; print '-' x 60, "\n"; # print "GET ESCALATION $obj\n"; my $wfObj = ars_GetEscalation( $ctrl, $obj ); die "ars_GetEscalation( $obj ): $ars_errstr\n" if $ars_errstr; my( $name, $newName ); $newName = $name = $wfObj->{name}; $newName =~ s/\(copy\)/(renamed)/; my $ret = 1; print "SET ESCALATION $name\n"; $ret = ars_SetEscalation( $ctrl, $wfObj->{name}, {name => $newName} ); die "ars_SetEscalation( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set escalation' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } sub makeRef { my( %args ) = @_; $args{label} = '' if !exists $args{label}; $args{description} = '' if !exists $args{description}; if( $args{dataType} == 1 ){ $args{permittedGroups} = [] if !exists $args{permittedGroups}; $args{value} = undef if !exists $args{value}; $args{value_dataType} = 'null' if !exists $args{value_dataType}; } return \%args; } #ars_Logoff($ctrl); exit(0); Index: 01import.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/01import.t,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** 01import.t 2 Apr 2003 05:56:18 -0000 1.7 --- 01import.t 3 Feb 2007 02:33:11 -0000 1.8 *************** *** 21,25 **** # with an attachment field so we can test that out. ! if(ars_APIVersion() >= 4) { $d = "aptest50.def"; } --- 21,27 ---- # with an attachment field so we can test that out. ! if(ars_APIVersion() >= 7) { ! $d = "aptest51.def"; ! }elsif(ars_APIVersion() >= 4) { $d = "aptest50.def"; } *************** *** 32,35 **** --- 34,39 ---- ars_DeleteSchema($ctrl, "ARSperl Test2", ARS::AR_SCHEMA_FORCE_DELETE); ars_DeleteSchema($ctrl, "ARSperl Test-join", ARS::AR_SCHEMA_FORCE_DELETE); + ars_DeleteSchema($ctrl, "ARSperl Test3", ARS::AR_SCHEMA_FORCE_DELETE); + ars_DeleteSchema($ctrl, "ARSperl Test3 (copy)", ARS::AR_SCHEMA_FORCE_DELETE); ars_DeleteFilter($ctrl, "ARSperl Test-Filter1"); ars_DeleteActiveLink($ctrl, "ARSperl Test-alink1"); *************** *** 54,61 **** "Schema", "ARSperl Test2", "Schema", "ARSperl Test-join", "Filter", "ARSperl Test-Filter1", "Active_Link", "ARSperl Test-alink1", "Escalation", "ARSperl Test-escalation1", ! "Char_Menu", "ARSperl Test-menu-search1" ); --- 58,67 ---- "Schema", "ARSperl Test2", "Schema", "ARSperl Test-join", + "Schema", "ARSperl Test3", "Filter", "ARSperl Test-Filter1", "Active_Link", "ARSperl Test-alink1", "Escalation", "ARSperl Test-escalation1", ! "Char_Menu", "ARSperl Test-menu-search1", ! "Container", "ARSperl Test-FilterGuide1", ); *************** *** 69,72 **** --- 75,79 ---- ars_Logoff($ctrl); + sleep 5; exit 0; --- NEW FILE: 35setactlink.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/35setactlink.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} grep {/\(copy\)/} ars_GetListActiveLink( $ctrl ); #die "ars_GetListActiveLink( ALL ): $ars_errstr\n" if $ars_errstr; my @objects = ( 'ARSperl Test-alink1 (copy)' ); $| = 1; foreach my $obj ( @objects ){ modifyObject( $ctrl, $obj ); } sub modifyObject { my( $ctrl, $obj ) = @_; print '-' x 60, "\n"; # print "GET ACTIVE LINK $obj\n"; my $wfObj = ars_GetActiveLink( $ctrl, $obj ); die "ars_GetActiveLink( $obj ): $ars_errstr\n" if $ars_errstr; my( $name, $newName ); $newName = $name = $wfObj->{name}; $newName =~ s/\(copy\)/(renamed)/; my $ret = 1; print "SET ACTIVE LINK $name\n"; $ret = ars_SetActiveLink( $ctrl, $name, {enable => 0, order => 327} ); die "ars_SetActiveLink( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set active link' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } sub makeRef { my( %args ) = @_; $args{label} = '' if !exists $args{label}; $args{description} = '' if !exists $args{description}; if( $args{dataType} == 1 ){ $args{permittedGroups} = [] if !exists $args{permittedGroups}; $args{value} = undef if !exists $args{value}; $args{value_dataType} = 'null' if !exists $args{value_dataType}; } return \%args; } #ars_Logoff($ctrl); exit(0); --- NEW FILE: 33setcontainer.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/33setcontainer.t use strict; use warnings; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @containers = sort {lc($a) cmp lc($b)} grep {/\(copy\)/} map {$_->{containerName}} grep {$_->{type} =~ /guide/} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; my @containers = ( 'ARSperl Test-FilterGuide1 (copy)' ); $| = 1; foreach my $ctnr ( @containers ){ addReferences( $ctrl, $ctnr ); } sub addReferences { my( $ctrl, $ctnr ) = @_; print '-' x 60, "\n"; # print "GET CONTAINER $ctnr\n"; my $ctnrObj = ars_GetContainer( $ctrl, $ctnr ); die "ars_GetContainer( $ctnr ): $ars_errstr\n" if $ars_errstr; # my $ctnrType = $ctnrObj->{containerType}; my( $name, $newName ); $newName = $name = $ctnrObj->{name}; $newName =~ s/\(copy\)/(renamed)/; my @refList = @{$ctnrObj->{referenceList}}; unshift @refList, makeRef( dataType => 1, type => 32774, label => '=== BEGIN ===', ); push @refList, makeRef( dataType => 1, type => 32774, label => '-------------', ); if( $ctnrObj->{type} eq 'guide' ){ push @refList, makeRef( dataType => 0, type => 5, name => 'ARSperl Test-alink1', ); }elsif( $ctnrObj->{type} eq 'filter_guide' ){ push @refList, makeRef( dataType => 0, type => 3, name => 'ARSperl Test-Filter1', ); } push @refList, makeRef( dataType => 1, type => 32774, label => '==== END ====', ); my $ret = 1; print "SET CONTAINER $name\n"; $ret = ars_SetContainer( $ctrl, $ctnrObj->{name}, {name => $newName, referenceList => \@refList} ); die "ars_SetContainer( $name ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'set container' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } sub makeRef { my( %args ) = @_; $args{label} = '' if !exists $args{label}; $args{description} = '' if !exists $args{description}; if( $args{dataType} == 1 ){ $args{permittedGroups} = [] if !exists $args{permittedGroups}; $args{value} = undef if !exists $args{value}; $args{value_dataType} = 'null' if !exists $args{value_dataType}; } return \%args; } #ars_Logoff($ctrl); exit(0); --- NEW FILE: 34createactlink.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/34createactlink.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} ars_GetListActiveLink( $ctrl ); #die "ars_GetListActiveLink( ALL ): $ars_errstr\n" if $ars_errstr; my @objects = ( 'ARSperl Test-alink1' ); $| = 1; foreach my $obj ( @objects ){ my $objNew = "$obj (copy)"; ars_DeleteActiveLink( $ctrl, $objNew ); copyObject( $ctrl, $obj, $objNew ); } sub copyObject { my( $ctrl, $obj, $objNew ) = @_; print '-' x 60, "\n"; # print "GET ACTIVE LINK $ctnr\n"; my $wfObj = ars_GetActiveLink( $ctrl, $obj ); die "ars_GetActiveLink( $obj ): $ars_errstr\n" if $ars_errstr; #use Data::Dumper; #$Data::Dumper::Sortkeys = 1; #my $data = $ctnrObj; #my $file = '-'; #local *FILE; #open( FILE, "> $file" ) or die qq{Cannot open \"$file\" for writing: $!\n}; #print FILE Data::Dumper->Dump( [$data], ['ctnrObj'] ); #close FILE; $wfObj->{name} = $objNew; @{$wfObj->{objPropList}} = grep {$_->{prop} < 90000} @{$wfObj->{objPropList}}; # foreach my $prop ( @{$ctnrObj->{objPropList}} ){ # $prop->{value} .= 'xCopy' if $prop->{prop} == 60020 && $prop->{value} ne ''; # } $wfObj->{changeDiary} = "Init"; my $ret = 1; print "CREATE ACTIVE LINK $objNew\n"; $ret = ars_CreateActiveLink( $ctrl, $wfObj ); if( $ars_errstr ){ if( $ars_errstr =~ /\[ERROR\]/ ){ die "ars_CreateActiveLink( $objNew ): $ars_errstr\n"; }else{ warn "ars_CreateActiveLink( $objNew ): $ars_errstr\n"; } } printStatus( $ret, 2, 'create active link' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } #ars_Logoff($ctrl); sleep 5; exit(0); --- NEW FILE: 32createcontainer.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/32createcontainer.t use strict; use warnings; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @containers = sort {lc($a) cmp lc($b)} map {$_->{containerName}} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; #my @containers = sort {lc($a) cmp lc($b)} map {$_->{containerName}} grep {$_->{type} =~ /guide/} ars_GetListContainer( $ctrl, 0, &ARS::AR_HIDDEN_INCREMENT, &ARS::ARCON_ALL ); #die "ars_GetListContainer( ALL ): $ars_errstr\n" if $ars_errstr; my @containers = ( 'ARSperl Test-FilterGuide1' ); $| = 1; foreach my $ctnr ( @containers ){ my $ctnrNew = "$ctnr (copy)"; ars_DeleteContainer( $ctrl, $ctnrNew ); copyContainer( $ctrl, $ctnr, $ctnrNew ); } sub copyContainer { my( $ctrl, $ctnr, $ctnrNew ) = @_; print '-' x 60, "\n"; # print "GET CONTAINER $ctnr\n"; my $ctnrObj = ars_GetContainer( $ctrl, $ctnr ); die "ars_GetContainer( $ctnr ): $ars_errstr\n" if $ars_errstr; # my $ctnrType = $ctnrObj->{containerType}; # use Data::Dumper; # $Data::Dumper::Sortkeys = 1; # print Data::Dumper->Dump( [$ctnrObj], ['ctnrObj'] ); @{$ctnrObj->{objPropList}} = grep {$_->{prop} < 90000} @{$ctnrObj->{objPropList}}; foreach my $prop ( @{$ctnrObj->{objPropList}} ){ $prop->{value} .= 'xCopy' if $prop->{prop} == 60020 && $prop->{value} ne ''; } $ctnrObj->{changeDiary} = "Init"; my $ret = 1; print "CREATE CONTAINER $ctnrNew\n"; $ret = ars_CreateContainer( $ctrl, $ctnrNew, $ctnrObj ); die "ars_CreateContainer( $ctnrNew ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'create container' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } #ars_Logoff($ctrl); sleep 5; exit(0); --- NEW FILE: 31createschema.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/31createschema.t use strict; use ARS; require './t/config.cache'; print "1..6\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my %excl = map {$_ => 1} ( # 'Group', # 'User', # 'Alert Events', # 'Application Pending', # 'Application Statistics', # 'Application Statistics Configuration', # 'AR System Administrator Preference', #); #my @forms = ( 'ARSperl Test', 'ARSperl Test2', 'ARSperl Test-join', 'ARSperl Test3' ); #my @forms = sort {lc($a) cmp lc($b)} grep {/^BPM:/} ars_GetListSchema( $ctrl, 0, 1024 ); # all #my @forms = sort {lc($a) cmp lc($b)} grep {$_ ge "BPM:MA:"} grep {/^BPM:/} ars_GetListSchema( $ctrl, 0, 1024 ); # all #die "ars_GetListSchema( ALL ): $ars_errstr\n" if $ars_errstr; my @forms = ( 'ARSperl Test3' ); $| = 1; foreach my $form ( @forms ){ my $formNew = "$form (copy)"; ars_DeleteSchema( $ctrl, $formNew, 1 ); copyForm( $ctrl, $form, $formNew ); } sub copyForm { my( $ctrl, $form, $formNew ) = @_; print '-' x 60, "\n"; # print "GET SCHEMA $form\n"; my $formObj = ars_GetSchema( $ctrl, $form ); die "ars_GetSchema( $form ): $ars_errstr\n" if $ars_errstr; my $formType = $formObj->{schema}{schemaType}; $formObj->{changeDiary} = "Init"; my( $aGetListFields, $aIndexList, $aSortList, $hArchiveInfo, $hAuditInfo ); $aGetListFields = delete $formObj->{getListFields} if exists($formObj->{getListFields}); $aIndexList = delete $formObj->{indexList} if exists($formObj->{indexList}); $aSortList = delete $formObj->{sortList} if exists($formObj->{sortList}); $hArchiveInfo = delete $formObj->{archiveInfo} if exists($formObj->{archiveInfo}); $hAuditInfo = delete $formObj->{auditInfo} if exists($formObj->{auditInfo}); $hArchiveInfo->{formName} .= ' (copy)' if $hArchiveInfo; foreach my $hProp ( @{$formObj->{objPropList}} ){ $hProp->{value} .= 'copy' if $hProp->{prop} == 60018 && $hProp->{value}; } my( $ret, $rv ) = ( 1, 0 ); print "CREATE SCHEMA $formNew\n"; $ret = ars_CreateSchema( $ctrl, $formNew, $formObj ); die "ars_CreateSchema( $formNew ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 2, 'create schema' ); sleep 5; # ars_DeleteVUI( $ctrl, $formNew, 536870912 ); # die "ars_DeleteVUI( $formNew, 536870912 ): $ars_errstr\n" if $ars_errstr; my @views = ars_GetListVUI( $ctrl, $form, 0 ); die "ars_GetListVUI( $form ): $ars_errstr\n" if $ars_errstr; my( $vuiId_New ) = ars_GetListVUI( $ctrl, $formNew, 0 ); die "ars_GetListVUI( $formNew ): $ars_errstr\n" if $ars_errstr; my $vuiSt = ars_GetVUI( $ctrl, $formNew, $vuiId_New ); die "ars_GetVUI( $formNew, $vuiId_New ): $ars_errstr\n" if $ars_errstr; foreach my $prop ( @{$vuiSt->{props}} ){ $prop->{value} .= " $vuiId_New" if $prop->{prop} == 20; } $vuiSt->{vuiName} .= " $vuiId_New"; print "SET VUI $vuiId_New\n"; $ret = ars_SetVUI( $ctrl, $formNew, $vuiSt ); die "ars_SetVUI( $formNew, $vuiId_New ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 3, 'set vui' ); ( $ret, $rv ) = ( 1, 0 ); foreach my $vuiId ( @views ){ $vuiSt = ars_GetVUI( $ctrl, $form, $vuiId ); die "ars_GetVUI( $form, $vuiId ): $ars_errstr\n" if $ars_errstr; if( $vuiId == $vuiId_New ){ print "SET VUI $vuiId\n"; $rv = ars_SetVUI( $ctrl, $formNew, $vuiSt ); die "ars_SetVUI( $formNew, $vuiId ): $ars_errstr\n" if $ars_errstr; }else{ print "CREATE VUI $vuiId\n"; $rv = ars_CreateVUI( $ctrl, $formNew, $vuiSt ); die "ars_CreateVUI( $formNew, $vuiId ): $ars_errstr\n" if $ars_errstr; } $ret &&= $rv; } printStatus( $ret, 4, 'create vui' ); my @fieldIds = sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b00010000 ); # page_holder die "ars_GetListField( $form ): $ars_errstr\n" if $ars_errstr; push @fieldIds, sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b00001000 ); # page die "ars_GetListField( $form ): $ars_errstr\n" if $ars_errstr; push @fieldIds, sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b11110000111 ); # other die "ars_GetListField( $form ): $ars_errstr\n" if $ars_errstr; push @fieldIds, sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b00100000 ); # table die "ars_GetListField( $form ): $ars_errstr\n" if $ars_errstr; push @fieldIds, sort {$a <=> $b} ars_GetListField( $ctrl, $form, 0, 0b01000000 ); # column die "ars_GetListField( $form ): $ars_errstr\n" if $ars_errstr; my %tableLimit; ( $ret, $rv ) = ( 1, 0 ); foreach my $fieldId ( @fieldIds ){ my $fieldSt = ars_GetField( $ctrl, $form, $fieldId ); die "ars_GetField( $form, $fieldId ): $ars_errstr\n" if $ars_errstr; # test_DisplayInstanceList( $ctrl, $form, $fieldSt ); # next; $fieldSt->{changeDiary} = "COPY"; if( ($formType ne 'join' && $fieldId <= 8) || $fieldId == 1 ){ print "SET FIELD $fieldId $fieldSt->{dataType}\n"; $rv = ars_SetField( $ctrl, $formNew, { fieldId => $fieldId, fieldName => $fieldSt->{fieldName}, limit => $fieldSt->{limit}, displayInstanceList => $fieldSt->{displayInstanceList}, } ); warn "ars_SetField( $formNew, $fieldId ): $ars_errstr\n" if $ars_errstr; }elsif( ($formType eq 'join' && $fieldId > 1 && $fieldId != 15) || $fieldId > 15 ){ print "CREATE FIELD $fieldId $fieldSt->{dataType}"; if( $fieldSt->{dataType} eq 'table' ){ $tableLimit{$fieldId} = { %{$fieldSt->{limit}} }; $tableLimit{$fieldId}{qualifier} = $fieldSt->{limit}{qualifier}; $fieldSt->{limit}{qualifier} = {}; } $rv = ars_CreateField( $ctrl, $formNew, $fieldSt, 1 ); if( $ars_errstr ){ my $errTxt = $ars_errstr; $errTxt =~ s/\[WARNING\].*?\(ARERR #50\)/ (admin only)/; $errTxt =~ s/\[WARNING\].*?\(ARERR #8985\)/ (roles removed)/; $errTxt =~ s/\[WARNING\] rev_ARQualifierStruct: hv_fetch \(hval\) returned null \(ARERR #80020\)//; if( $errTxt =~ /ARERR/ ){ print " ars_CreateField( $formNew, $fieldId ): $ars_errstr\n"; }else{ print $errTxt; } } print "\n"; } $ret &&= $rv; } sleep 5; foreach my $fieldId ( keys %tableLimit ){ print "SET TABLE LIMIT $fieldId\n"; $rv = ars_SetField( $ctrl, $formNew, { fieldId => int($fieldId), # necessary for uintcpyHVal (SvIOK) option => 4, # necessary to avoid ARERR 118 limit => $tableLimit{$fieldId}, } ); warn "ars_SetField( $formNew, $fieldId ): $ars_errstr\n" if $ars_errstr; $ret &&= $rv; } printStatus( $ret, 5, 'create/set field' ); my %schemaInfo; $schemaInfo{getListFields} = $aGetListFields if $aGetListFields; $schemaInfo{indexList} = $aIndexList if $aIndexList; $schemaInfo{sortList} = $aSortList if $aSortList; # $schemaInfo{archiveInfo} = $hArchiveInfo if $hArchiveInfo; $schemaInfo{auditInfo} = $hAuditInfo if $hAuditInfo; print "SET SCHEMA $formNew\n"; $ret = ars_SetSchema( $ctrl, $formNew, \%schemaInfo ); warn "ars_SetSchema( $formNew ): $ars_errstr\n" if $ars_errstr; printStatus( $ret, 6, 'set schema' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } #ars_Logoff($ctrl); exit(0); Index: 02export.t =================================================================== RCS file: /cvsroot/arsperl/ARSperl/t/02export.t,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** 02export.t 2 Sep 2005 22:10:34 -0000 1.3 --- 02export.t 3 Feb 2007 02:33:11 -0000 1.4 *************** *** 4,8 **** require './t/config.cache'; ! print "1..8\n"; my($ctrl) = ars_Login(&CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD); --- 4,8 ---- require './t/config.cache'; ! print "1..9\n"; my($ctrl) = ars_Login(&CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD); *************** *** 26,30 **** "active_link", "ARSperl Test-alink1", "escalation", "ARSperl Test-escalation1", ! "char_menu", "ARSperl Test-menu-search1"); my $junk = ars_Export($ctrl, "", 0, "schema", "blarg292394"); --- 26,32 ---- "active_link", "ARSperl Test-alink1", "escalation", "ARSperl Test-escalation1", ! "char_menu", "ARSperl Test-menu-search1", ! "container", "ARSperl Test-FilterGuide1", ! ); my $junk = ars_Export($ctrl, "", 0, "schema", "blarg292394"); *************** *** 37,41 **** for (my $i = 0 ; $i < $#objects ; $i += 2) { - print $objects[$i], "><", $objects[$i+1], "\n"; my $d2 = ars_Export($ctrl, "", 0, $objects[$i], $objects[$i+1]); --- 39,42 ---- --- NEW FILE: 36createfilter.t --- #!perl # perl -w -Iblib/lib -Iblib/arch t/36createfilter.t use strict; use ARS; require './t/config.cache'; print "1..2\n"; my $ctrl = ars_Login( &CCACHE::SERVER, &CCACHE::USERNAME, &CCACHE::PASSWORD ); if (defined($ctrl)) { print "ok [1] (login)\n"; } else { print "not ok [1] (login $ars_errstr)\n"; exit(0); } #my @objects = sort {lc($a) cmp lc($b)} ars_GetListFilter( $ctrl ); #die "ars_GetListFilter( ALL ): $ars_errstr\n" if $ars_errstr; my @objects = ( 'ARSperl Test-Filter1' ); $| = 1; foreach my $obj ( @objects ){ my $objNew = "$obj (copy)"; ars_DeleteFilter( $ctrl, $objNew ); copyObject( $ctrl, $obj, $objNew ); } sub copyObject { my( $ctrl, $obj, $objNew ) = @_; print '-' x 60, "\n"; # print "GET FILTER $ctnr\n"; my $wfObj = ars_GetFilter( $ctrl, $obj ); die "ars_GetFilter( $obj ): $ars_errstr\n" if $ars_errstr; # use Data::Dumper; # $Data::Dumper::Sortkeys = 1; # print Data::Dumper->Dump( [$wfObj], ['wfObj'] ); $wfObj->{name} = $objNew; @{$wfObj->{objPropList}} = grep {$_->{prop} < 90000} @{$wfObj->{objPropList}}; # foreach my $prop ( @{$ctnrObj->{objPropList}} ){ # $prop->{value} .= 'xCopy' if $prop->{prop} == 60020 && $prop->{value} ne ''; # } $wfObj->{changeDiary} = "Init"; my $ret = 1; print "CREATE FILTER $objNew\n"; $ret = ars_CreateFilter( $ctrl, $wfObj ); if( $ars_errstr ){ if( $ars_errstr =~ /\[ERROR\]/ ){ die "ars_CreateFilter( $objNew ): $ars_errstr\n"; }else{ warn "ars_CreateFilter( $objNew ): $ars_errstr\n"; } } printStatus( $ret, 2, 'create filter' ); } sub printStatus { my( $ret, $num, $text, $err ) = @_; if( $ret ){ print "ok [$num] ($text)\n"; } else { print "not ok [$num] ($text $err)\n"; exit(0); } } #ars_Logoff($ctrl); sleep 5; exit(0); |
From: Thilo S. <ts...@us...> - 2007-02-03 02:33:13
|
Update of /cvsroot/arsperl/ARSperl/example In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14198/example Modified Files: ars_GetServerInfo.pl Log Message: arsystem 7.0 port, new ars_Create/Set functions Index: ars_GetServerInfo.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/ars_GetServerInfo.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_GetServerInfo.pl 23 Jul 1997 18:21:29 -0000 1.1 --- ars_GetServerInfo.pl 3 Feb 2007 02:33:11 -0000 1.2 *************** *** 16,19 **** --- 16,22 ---- # # $Log$ + # Revision 1.2 2007/02/03 02:33:11 tstapff + # arsystem 7.0 port, new ars_Create/Set functions + # # Revision 1.1 1997/07/23 18:21:29 jcmurphy # Initial revision *************** *** 30,34 **** (%h = ars_GetServerInfo($c)) || die "ERR: $ars_errstr\n"; ! for $it (keys %h) { printf("%25s %s\n", $it, $h{$it}); } --- 33,37 ---- (%h = ars_GetServerInfo($c)) || die "ERR: $ars_errstr\n"; ! for $it (sort keys %h) { printf("%25s %s\n", $it, $h{$it}); } |
From: Thilo S. <ts...@us...> - 2007-02-03 02:33:12
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv14198/html/manual Modified Files: ars_SetLogging.html toc.html Added Files: ars_DeleteContainer.html ds_container_info.html Log Message: arsystem 7.0 port, new ars_Create/Set functions --- NEW FILE: ars_DeleteContainer.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - ars_DeleteContainer</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2><CODE>ars_DeleteContainer(ctrl, name)</CODE></H2> Delete the given container (specified by name) on the server connected to in the given control structure. <FONT COLOR="#FF0000">Requires Administrator privs to use.</FONT> <P> <DL> <DT><B>On success</B><DD> Returns 1. <DT><B>On failure</B><DD> Returns 0. </DL> <P>Example: <PRE> ars_DeleteContainer($ctrl, "FilterGuide-FooBar") || die "$ars_errstr"; </PRE> <I>ars_DeleteContainer was introduced in version 1.86 of ARSperl</I> <P> <HR WIDTH="30%"> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> <p> <address> Last changes to this page 23rd November 2005 by ts...@us...<BR> </address> </BODY> </HTML> --- NEW FILE: ds_container_info.html --- <HTML> <HEAD> <TITLE>ARSperl Manual - Container Information</TITLE> </HEAD> <BODY BGCOLOR="#FFFFFF"> <H2>Container Info Structure</H2> A list of these HASH structures is returned by function <A href="ars_GetListContainer.html">ars_GetListContainer</a>. <PRE> { ...... "adminList" => <i>list</i> of group ids, "changeDiary" => <i>list</i> of references to <a href="ds_diaryentry_hash.html">Diary Entry Structures</a>, "getListFields" => <i>list</i> of references to <A href="ds_elfs.html">Entry List Field Structure</a>, "groupList" => <B>see below</B> "helpText" => string, "indexList" => <i>list</i> of references to <A href="ds_is.html">Index Structure</a> "lastChanged" => string, "owner" => string, "schema" => reference to <a href="ds_schematype.html">schemaType</a> hash, (<B>3.x and above</B>) "sortList" => <i>list</i>, "timestamp" => integer, "defaultVui" => string (5.x only) } </PRE> <DL> <DT><B>groupList</B><DD> When compiled against <B>3.x</B>, this will be a hash reference containing the groupId as the key to the hash and one of: <P> <blockquote> <CODE>none</CODE>, <CODE>hidden</CODE>, or <CODE>visible</CODE> </blockquote> as the value of the hash. <P> When compiled under <B>2.x</B> this will be an array reference. The array will contain a list of groupId's that can access this schema. </DL> <P> Example: <PRE> @filterGuides = ars_GetListContainer( $ctrl, 0, 124, 4 ); print $s->{"containerName"}; </PRE> <P> <HR WIDTH="30%"> <P> <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> <p> <address> Last changes to this page 23rd November 2005 by ts...@us... </address> </BODY> </HTML> Index: ars_SetLogging.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_SetLogging.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_SetLogging.html 5 Sep 2005 21:14:47 -0000 1.1 --- ars_SetLogging.html 3 Feb 2007 02:33:11 -0000 1.2 *************** *** 19,23 **** Bit 1 = SQL logging (ARS::AR_DEBUG_SERVER_SQL)<br> Bit 2 = Filter logging (ARS::AR_DEBUG_SERVER_FILTER)<br> ! Bit 3 = API logging (ARS::AR_DEBUG_SERVER_API)<br> Bit 18 = Plugin logging (ARS::AR_DEBUG_SERVER_PLUGIN)<br> </UL> --- 19,23 ---- Bit 1 = SQL logging (ARS::AR_DEBUG_SERVER_SQL)<br> Bit 2 = Filter logging (ARS::AR_DEBUG_SERVER_FILTER)<br> ! Bit 5 = API logging (ARS::AR_DEBUG_SERVER_API)<br> Bit 18 = Plugin logging (ARS::AR_DEBUG_SERVER_PLUGIN)<br> </UL> Index: toc.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/toc.html,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** toc.html 19 Sep 2005 14:40:30 -0000 1.23 --- toc.html 3 Feb 2007 02:33:11 -0000 1.24 *************** *** 72,75 **** --- 72,76 ---- <LI><A HREF="ars_DeleteAdminExtension.html">ars_DeleteAdminExtension</A> <LI><A HREF="ars_DeleteCharMenu.html">ars_DeleteCharMenu</A> + <LI><A HREF="ars_DeleteContainer.html">ars_DeleteContainer</A> <LI><A HREF="ars_DeleteEntry.html">ars_DeleteEntry</A> <LI><A HREF="ars_DeleteEscalation.html">ars_DeleteEscalation</A> *************** *** 188,191 **** --- 189,194 ---- <LI><A HREF="ds_charmenu_file_hash.html">File Hash</A> </UL> + <LI><A HREF="ds_container.html"> Container Attributes Structure</A> + <LI><A HREF="ds_container_info.html"> Container Info Structure</A> <LI><A HREF="ds_diaryentry_hash.html"> Diary Entry Structure</A> <LI><A HREF="ds_ds.html"> Display Structure</A> |