arsperl-devel Mailing List for ARSperl (Page 4)
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-08-11 20:24:16
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv22047 Modified Files: toc.html Log Message: toc update for ars_VerifyUser Index: toc.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/toc.html,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** toc.html 2 Aug 2007 14:26:43 -0000 1.27 --- toc.html 11 Aug 2007 20:24:17 -0000 1.28 *************** *** 5,8 **** --- 5,10 ---- + + *************** *** 15,18 **** --- 17,21 ---- [...1217 lines suppressed...] ! Last changes to this page 30th Jul 2007 by Michiel Beijen<br> --- 1047,1053 ---- ! ! Last changes to this page 11th Aug 2007 by Michiel Beijen<br> ! *************** *** 845,848 **** --- 1058,1062 ---- + </body> </html> |
From: Michiel B. <mb...@us...> - 2007-08-11 20:23:48
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv21673 Added Files: ars_VerifyUser.html ds_verifyuser_hash.html Log Message: added documentation for ars_VerifyUser --- NEW FILE: ars_VerifyUser.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>ARSperl Manual - ars_VerifyUser</title> </head> <body style="background-color: rgb(255, 255, 255);"> <h2><code>ars_VerifyUser(ctrl)</code></h2> This function fetches information regarding the logged in user. <dl> <dt><b>On success</b></dt> <dd>returns a reference to a <a href="ds_verifyuser_hash.html">HASH</a> </dd> <dt><b>On failure</b></dt> <dd> <code>undef</code>. </dd> </dl> <p>Example: </p> <pre> my $vu = ars_VerifyUser($ctrl) || die "ars_VerifyUser: $ars_errstr" ;<br> <br> if ($vu->{adminFlag}) {print "You have administrative privs!\n";}<br> else {print "You have NO administrative privs.\n";}<br> </pre> <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>© Michiel Beijen 2007, mic...@ma... </address> </body> </html> --- NEW FILE: ds_verifyuser_hash.html --- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>ARSperl Manual - VerifyUser Attributes</title> </head> <body style="background-color: rgb(255, 255, 255);"> <h2>Verify User structure</h2> This HASH structure is returned by function <a href="ars_VerifyUser.html">ars_VerifyUser</a>. <pre>{<br> "customFlag" => <i><span style="font-family: monospace;">boolean</span></i>,<br> "subAdminFlag" => <i><span style="font-family: monospace;">boolean,</span></i><br> "adminFlag" => boolean<br>}<br><br></pre> <span style="font-family: monospace;"></span> <hr width="30%"> <p><a href="toc.html"><img alt="<--" src="arrow.gif" align="middle"> Table of Contents </a> </p> <address>Michiel Beijen 2007, mic...@ma... </address> </body> </html> |
From: Michiel B. <mb...@us...> - 2007-08-11 20:22:01
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv20860 Modified Files: ARS.pm ARS.xs Log Message: Exported new ars_VerifyUser routine; it was in ARS.xs but not yet in ARS.pm, also the code was redone by TS. fixed ars_GetActiveLink, ars_GetFilter, ars_GetEscalation, ars_GetField so they return undef on failure. Index: ARS.xs =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.xs,v retrieving revision 1.116 retrieving revision 1.117 diff -C2 -d -r1.116 -r1.117 *** ARS.xs 2 Aug 2007 14:25:04 -0000 1.116 --- ARS.xs 11 Aug 2007 20:22:00 -0000 1.117 *************** *** 349,378 **** RETVAL ! int ars_VerifyUser(ctrl) ! ARControlStruct * ctrl ! CODE: ! { ! int ret = 0; ! ARBoolean adminFlag = 0, ! subAdminFlag = 0, ! customFlag = 0; ! ARStatusList status; ! (void) ARError_reset(); ! Zero(&status, 1, ARStatusList); ! RETVAL = 0; ! ret = ARVerifyUser(ctrl, &adminFlag, ! &subAdminFlag, ! &customFlag, ! &status); ! if(! ARError(ret, status)) { ! RETVAL = 1; ! } ! } ! OUTPUT: ! RETVAL void --- 349,385 ---- RETVAL ! HV* ars_VerifyUser(ctrl) ! ARControlStruct * ctrl ! CODE: ! { ! int ret = 0; ! ARBoolean adminFlag = 0, ! subAdminFlag = 0, ! customFlag = 0; ! ARStatusList status; ! (void) ARError_reset(); ! Zero(&status, 1, ARStatusList); ! ret = ARVerifyUser( ctrl, &adminFlag, &subAdminFlag, &customFlag, ! &status ); ! if(! ARError(ret, status)) { ! RETVAL = newHV(); ! sv_2mortal( (SV*) RETVAL ); ! ! hv_store( RETVAL, "adminFlag", strlen("adminFlag"), ! newSViv(adminFlag), 0); ! hv_store( RETVAL, "subAdminFlag", strlen("subAdminFlag"), ! newSViv(subAdminFlag), 0); ! hv_store( RETVAL, "customFlag", strlen("customFlag"), ! newSViv(customFlag), 0); ! }else{ ! XSRETURN_UNDEF; ! } ! } ! OUTPUT: ! RETVAL void *************** *** 1379,1386 **** ((ars_ctrl *)ctrl)->queries++; #endif ! RETVAL = newHV(); ! sv_2mortal( (SV*) RETVAL ); if (!ARError( ret,status)) { ! hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); hv_store(RETVAL, "order", strlen("order") , newSViv(order),0); --- 1386,1393 ---- ((ars_ctrl *)ctrl)->queries++; #endif ! if (!ARError( ret,status)) { ! RETVAL = newHV(); ! sv_2mortal( (SV*) RETVAL ); hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); hv_store(RETVAL, "order", strlen("order") , newSViv(order),0); *************** *** 1435,1438 **** --- 1442,1448 ---- if(helpText) AP_FREE(helpText); if(changeDiary) AP_FREE(changeDiary); + + }else{ + XSRETURN_UNDEF; } } *************** *** 1451,1464 **** unsigned int order; unsigned int opSet; - #if AR_EXPORT_VERSION < 5 - ARNameType schema; - #endif unsigned int enable; char *helpText = CPNULL; char *changeDiary = CPNULL; ARFilterActionList actionList; - #if AR_EXPORT_VERSION >= 3 ARFilterActionList elseList; - #endif ARTimestamp timestamp; ARAccessNameType owner; --- 1461,1469 ---- *************** *** 1468,1475 **** ARQualifierStruct *query; ARDiaryList diaryList; - #if AR_EXPORT_VERSION >= 5 ARWorkflowConnectStruct schemaList; ARPropList objPropList; - #endif AMALLOCNN(query,1,ARQualifierStruct); --- 1473,1478 ---- *************** *** 1483,1487 **** Zero(&diaryList, 1, ARDiaryList); Zero(&status, 1,ARStatusList); - #if AR_EXPORT_VERSION >= 5 ret = ARGetFilter(ctrl, name, &order, &schemaList, --- 1486,1489 ---- *************** *** 1491,1520 **** &objPropList, &status); - #elif AR_EXPORT_VERSION >= 3 - ret = ARGetFilter(ctrl, name, &order, schema, &opSet, &enable, - query, &actionList, &elseList, &helpText, - ×tamp, owner, lastChanged, &changeDiary, - &status); - #else - ret = ARGetFilter(ctrl, name, &order, schema, &opSet, &enable, - query, &actionList, &helpText, ×tamp, - owner, lastChanged, &changeDiary, &status); - #endif #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; #endif RETVAL = newHV(); sv_2mortal( (SV*) RETVAL ); - if (!ARError( ret,status)) { hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); hv_store(RETVAL, "order", strlen("order") , newSViv(order), 0); - #if AR_EXPORT_VERSION >= 5 hv_store(RETVAL, "schemaList", strlen("schemaList") , /* WorkflowConnectStruct */ perl_ARNameList(ctrl, schemaList.u.schemaList), 0); hv_store(RETVAL, "objPropList", strlen("objPropList") , perl_ARPropList(ctrl, &objPropList), 0); - #else - hv_store(RETVAL, "schema", strlen("schema") , newSVpv(schema, 0), 0); - #endif hv_store(RETVAL, "opSet", strlen("opSet") , newSViv(opSet), 0); hv_store(RETVAL, "enable", strlen("enable") , newSViv(enable), 0); --- 1493,1508 ---- &objPropList, &status); #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; #endif + if (!ARError( ret,status)) { RETVAL = newHV(); sv_2mortal( (SV*) RETVAL ); hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); hv_store(RETVAL, "order", strlen("order") , newSViv(order), 0); hv_store(RETVAL, "schemaList", strlen("schemaList") , /* WorkflowConnectStruct */ perl_ARNameList(ctrl, schemaList.u.schemaList), 0); hv_store(RETVAL, "objPropList", strlen("objPropList") , perl_ARPropList(ctrl, &objPropList), 0); hv_store(RETVAL, "opSet", strlen("opSet") , newSViv(opSet), 0); hv_store(RETVAL, "enable", strlen("enable") , newSViv(enable), 0); *************** *** 1528,1532 **** (ARS_fn)perl_ARFilterActionStruct, sizeof(ARFilterActionStruct)), 0); - #if AR_EXPORT_VERSION >= 3 hv_store(RETVAL, "elseList", strlen("elseList") , perl_ARList(ctrl, --- 1516,1519 ---- *************** *** 1534,1538 **** (ARS_fn)perl_ARFilterActionStruct, sizeof(ARFilterActionStruct)), 0); - #endif if(helpText) hv_store(RETVAL, "helpText", strlen("helpText") , newSVpv(helpText, 0), 0); --- 1521,1524 ---- *************** *** 1541,1549 **** hv_store(RETVAL, "lastChanged", strlen("lastChanged") , newSVpv(lastChanged, 0), 0); if (changeDiary) { - #if AR_EXPORT_VERSION >= 4 ret = ARDecodeDiary(ctrl, changeDiary, &diaryList, &status); - #else - ret = ARDecodeDiary(changeDiary, &diaryList, &status); - #endif if (!ARError(ret, status)) { hv_store(RETVAL, "changeDiary", strlen("changeDiary") , --- 1527,1531 ---- *************** *** 1555,1565 **** } FreeARFilterActionList(&actionList,FALSE); - #if AR_EXPORT_VERSION >= 3 FreeARFilterActionList(&elseList,FALSE); - #endif - #if AR_EXPORT_VERSION >= 5 FreeARWorkflowConnectStruct(&schemaList, FALSE); FreeARPropList(&objPropList, FALSE); - #endif if(helpText) { AP_FREE(helpText); --- 1537,1543 ---- *************** *** 1568,1571 **** --- 1546,1551 ---- AP_FREE(changeDiary); } + }else{ + XSRETURN_UNDEF; } } *************** *** 1648,1660 **** /* SV *ref; */ ARDiaryList diaryList; - #if AR_EXPORT_VERSION >= 5 ARPropList objPropList; - #endif (void) ARError_reset(); Zero(&status, 1,ARStatusList); - #if AR_EXPORT_VERSION >= 5 Zero(&objPropList, 1, ARPropList); - #endif Zero(&menuDefn, 1, ARCharMenuStruct); Zero(×tamp, 1, ARTimestamp); --- 1628,1636 ---- *************** *** 1666,1672 **** ret = ARGetCharMenu(ctrl, name, &refreshCode, &menuDefn, &helpText, ×tamp, owner, lastChanged, &changeDiary, - #if AR_EXPORT_VERSION >= 5 &objPropList, - #endif &status); #ifdef PROFILE --- 1642,1646 ---- *************** *** 1681,1689 **** hv_store(RETVAL, "lastChanged", strlen("lastChanged") , newSVpv(lastChanged, 0), 0); if (changeDiary) { - #if AR_EXPORT_VERSION >= 4 ret = ARDecodeDiary(ctrl, changeDiary, &diaryList, &status); - #else - ret = ARDecodeDiary(changeDiary, &diaryList, &status); - #endif if (!ARError(ret, status)) { hv_store(RETVAL, "changeDiary", strlen("changeDiary") , --- 1655,1659 ---- *************** *** 1829,1835 **** #endif } - #if AR_EXPORT_VERSION >= 5 FreeARPropList(&objPropList, FALSE); - #endif FreeARCharMenuStruct(&menuDefn, FALSE); if (helpText) { --- 1799,1803 ---- *************** *** 1839,1842 **** --- 1807,1812 ---- AP_FREE(changeDiary); } + }else{ + XSRETURN_UNDEF; } } *************** *** 2110,2120 **** ARPermissionList permissions; ARFieldLimitStruct limit; - #if AR_EXPORT_VERSION >= 3 ARNameType fieldName; ARFieldMappingStruct fieldMap; ARDisplayInstanceList displayList; - #else - ARDisplayList displayList; - #endif char *helpText = CPNULL; ARTimestamp timestamp; --- 2080,2086 ---- *************** *** 2138,2154 **** Zero(lastChanged, 1, ARAccessNameType); Zero(&diaryList, 1, ARDiaryList); - RETVAL = newHV(); - sv_2mortal( (SV*) RETVAL ); - #if AR_EXPORT_VERSION >= 9 ret = ARGetFieldCached(ctrl, schema, id, fieldName, &fieldMap, &dataType, &option, &createMode, &fieldOption, &defaultVal, NULL /* &permissions */, &limit, &displayList, &helpText, ×tamp, owner, lastChanged, &changeDiary, &Status); - #elif AR_EXPORT_VERSION >= 3 - ret = ARGetFieldCached(ctrl, schema, id, fieldName, &fieldMap, &dataType, &option, &createMode, &defaultVal, NULL /* &permissions */, &limit, &displayList, &helpText, ×tamp, owner, lastChanged, &changeDiary, &Status); - #else - ret = ARGetFieldCached(ctrl, schema, id, &dataType, &option, &createMode, &defaultVal, NULL /* &permissions */, &limit, &displayList, &helpText, ×tamp, owner, lastChanged, &changeDiary, &Status); - #endif #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; #endif if (! ARError( ret, Status)) { /* store field id for convenience */ hv_store(RETVAL, "fieldId", strlen("fieldId") , newSViv(id), 0); --- 2104,2114 ---- Zero(lastChanged, 1, ARAccessNameType); Zero(&diaryList, 1, ARDiaryList); ret = ARGetFieldCached(ctrl, schema, id, fieldName, &fieldMap, &dataType, &option, &createMode, &fieldOption, &defaultVal, NULL /* &permissions */, &limit, &displayList, &helpText, ×tamp, owner, lastChanged, &changeDiary, &Status); #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; #endif if (! ARError( ret, Status)) { + RETVAL = newHV(); + sv_2mortal( (SV*) RETVAL ); /* store field id for convenience */ hv_store(RETVAL, "fieldId", strlen("fieldId") , newSViv(id), 0); *************** *** 2169,2173 **** hv_store(RETVAL, "limit", strlen("limit") , perl_ARFieldLimitStruct(ctrl, &limit), 0); - #if AR_EXPORT_VERSION >= 3 hv_store(RETVAL, "fieldName", strlen("fieldName") , newSVpv(fieldName, 0), 0); --- 2129,2132 ---- *************** *** 2176,2186 **** hv_store(RETVAL, "displayInstanceList", strlen("displayInstanceList") , perl_ARDisplayInstanceList(ctrl, &displayList), 0); - #else - hv_store(RETVAL, "displayList", strlen("displayList") , - perl_ARList(ctrl, - (ARList *)&displayList, - (ARS_fn)perl_ARDisplayStruct, - sizeof(ARDisplayStruct)), 0); - #endif if (helpText) hv_store(RETVAL, "helpText", strlen("helpText") , --- 2135,2138 ---- *************** *** 2193,2201 **** newSVpv(lastChanged, 0), 0); if (changeDiary) { - #if AR_EXPORT_VERSION >= 4 ret = ARDecodeDiary(ctrl, changeDiary, &diaryList, &Status); - #else - ret = ARDecodeDiary(changeDiary, &diaryList, &Status); - #endif if (!ARError(ret, Status)) { hv_store(RETVAL, "changeDiary", strlen("changeDiary") , --- 2145,2149 ---- *************** *** 2207,2215 **** } FreeARFieldLimitStruct(&limit,FALSE); - #if AR_EXPORT_VERSION >= 3 FreeARDisplayInstanceList(&displayList,FALSE); - #else - FreeARDisplayList(&displayList,FALSE); - #endif if(helpText) { /* AP_FREE(helpText); */ /* TS 20060207 disabled bc of memory errors with 5.8.8 */ --- 2155,2159 ---- *************** *** 2218,2228 **** AP_FREE(changeDiary); } - #if AR_EXPORT_VERSION >= 9L ret = ARGetField(ctrl, schema, id, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &permissions, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &Status); - #elif AR_EXPORT_VERSION >= 3 - ret = ARGetField(ctrl, schema, id, NULL, NULL, NULL, NULL, NULL, NULL, &permissions, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &Status); - #else - ret = ARGetField(ctrl, schema, id, NULL, NULL, NULL, NULL, &permissions, NULL, NULL, NULL, NULL, NULL, NULL, NULL, &Status); - #endif #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; --- 2162,2166 ---- *************** *** 2235,2238 **** --- 2173,2178 ---- FreeARStatusList(&Status, FALSE); } + }else{ + XSRETURN_UNDEF; } } *************** *** 2927,2938 **** ARStatusList status; AREscalationTmStruct escalationTm; - #if AR_EXPORT_VERSION < 5 - ARNameType schema; - #endif unsigned int enable = 0; ARFilterActionList actionList; - #if AR_EXPORT_VERSION >= 3 ARFilterActionList elseList; - #endif char *helpText = CPNULL; ARTimestamp timestamp; --- 2867,2873 ---- *************** *** 2944,2954 **** ARQualifierStruct *query = MALLOCNN(sizeof(ARQualifierStruct)); ARDiaryList diaryList; - #if AR_EXPORT_VERSION >= 5 ARWorkflowConnectStruct schemaList; ARPropList objPropList; - #endif ! RETVAL = newHV(); ! sv_2mortal( (SV*) RETVAL ); (void) ARError_reset(); Zero(&status, 1,ARStatusList); --- 2879,2886 ---- ARQualifierStruct *query = MALLOCNN(sizeof(ARQualifierStruct)); ARDiaryList diaryList; ARWorkflowConnectStruct schemaList; ARPropList objPropList; ! (void) ARError_reset(); Zero(&status, 1,ARStatusList); *************** *** 2959,2963 **** Zero(lastChanged, 1, ARAccessNameType); Zero(&diaryList, 1, ARDiaryList); - #if AR_EXPORT_VERSION >= 5 Zero(&elseList, 1,ARFilterActionList); Zero(&schemaList, 1, ARWorkflowConnectStruct); --- 2891,2894 ---- *************** *** 2965,2991 **** query, &actionList, &elseList, &helpText, ×tamp, owner, lastChanged, &changeDiary, &objPropList, &status); - #elif AR_EXPORT_VERSION >= 3 - Zero(&elseList, 1,ARFilterActionList); - ret = ARGetEscalation(ctrl, name, &escalationTm, schema, &enable, - query, &actionList, &elseList, &helpText, ×tamp, - owner, lastChanged, &changeDiary, &status); - #else - ret = ARGetEscalation(ctrl, name, &escalationTm, schema, &enable, - query, &actionList, &helpText, ×tamp, - owner, lastChanged, &changeDiary, &status); - #endif #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; #endif if(!ARError( ret, status)) { hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); - #if AR_EXPORT_VERSION >= 5 hv_store(RETVAL, "schemaList", strlen("schemaList") , /* WorkflowConnectStruct */ perl_ARNameList(ctrl, schemaList.u.schemaList), 0); hv_store(RETVAL, "objPropList", strlen("objPropList") , perl_ARPropList(ctrl, &objPropList), 0); - #else - hv_store(RETVAL, "schema", strlen("schema") , newSVpv(schema, 0), 0); - #endif hv_store(RETVAL, "enable", strlen("enable") , newSViv(enable), 0); hv_store(RETVAL, "timestamp", strlen("timestamp") , newSViv(timestamp), 0); --- 2896,2910 ---- query, &actionList, &elseList, &helpText, ×tamp, owner, lastChanged, &changeDiary, &objPropList, &status); #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; #endif if(!ARError( ret, status)) { + RETVAL = newHV(); + sv_2mortal( (SV*) RETVAL ); hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); hv_store(RETVAL, "schemaList", strlen("schemaList") , /* WorkflowConnectStruct */ perl_ARNameList(ctrl, schemaList.u.schemaList), 0); hv_store(RETVAL, "objPropList", strlen("objPropList") , perl_ARPropList(ctrl, &objPropList), 0); hv_store(RETVAL, "enable", strlen("enable") , newSViv(enable), 0); hv_store(RETVAL, "timestamp", strlen("timestamp") , newSViv(timestamp), 0); *************** *** 2995,3003 **** hv_store(RETVAL, "lastChanged", strlen("lastChanged") , newSVpv(lastChanged, 0), 0); if (changeDiary) { - #if AR_EXPORT_VERSION >= 4 ret = ARDecodeDiary(ctrl, changeDiary, &diaryList, &status); - #else - ret = ARDecodeDiary(changeDiary, &diaryList, &status); - #endif if (!ARError(ret, status)) { hv_store(RETVAL, "changeDiary", strlen("changeDiary") , --- 2914,2918 ---- *************** *** 3017,3021 **** (ARS_fn)perl_ARFilterActionStruct, sizeof(ARFilterActionStruct)), 0); - #if AR_EXPORT_VERSION >= 3 hv_store(RETVAL, "elseList", strlen("elseList") , perl_ARList( ctrl, --- 2932,2935 ---- *************** *** 3023,3027 **** (ARS_fn)perl_ARFilterActionStruct, sizeof(ARFilterActionStruct)), 0); - #endif hv_store(RETVAL, "TmType", strlen("TmType") , newSViv(escalationTm.escalationTmType), 0); --- 2937,2940 ---- *************** *** 3043,3053 **** } FreeARFilterActionList(&actionList, FALSE); - #if AR_EXPORT_VERSION >= 3 FreeARFilterActionList(&elseList, FALSE); - #endif - #if AR_EXPORT_VERSION >= 5 FreeARWorkflowConnectStruct(&schemaList, FALSE); FreeARPropList(&objPropList, FALSE); - #endif if(helpText) { AP_FREE(helpText); --- 2956,2962 ---- *************** *** 3056,3059 **** --- 2965,2970 ---- AP_FREE(changeDiary); } + }else{ + XSRETURN_UNDEF; } } Index: ARS.pm =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.pm,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -d -r1.71 -r1.72 *** ARS.pm 2 Aug 2007 14:24:59 -0000 1.71 --- ARS.pm 11 Aug 2007 20:22:00 -0000 1.72 *************** *** 108,112 **** ars_BeginBulkEntryTransaction ars_EndBulkEntryTransaction ars_GetAlertCount ars_RegisterForAlerts ars_DeregisterForAlerts ars_GetListAlertUser ! ars_DecodeAlertMessage ars_CreateAlertEvent ); --- 108,112 ---- ars_BeginBulkEntryTransaction ars_EndBulkEntryTransaction ars_GetAlertCount ars_RegisterForAlerts ars_DeregisterForAlerts ars_GetListAlertUser ! ars_DecodeAlertMessage ars_CreateAlertEvent ars_VerifyUser ); |
From: Jeff M. <jcm...@je...> - 2007-08-09 12:55:14
|
Thilo Stapff wrote: > If you take a look into ARS.xs, you will see that ars_VerifyUser calls > the C API function ARVerifyUser, but doesn't use the return values at all. > I'd suggest to modify ars_VeifyUser such that it returns a hash > reference which contains the flags: > OK. Commit the change, update the doc page too. in the changes.dat file, place a "!" before your initials. that will flag the changes as something that is probably not backwards compatible. > > HV* > ars_VerifyUser(ctrl) > ARControlStruct * ctrl > CODE: > { > int ret = 0; > ARBoolean adminFlag = 0, > subAdminFlag = 0, > customFlag = 0; > ARStatusList status; > > (void) ARError_reset(); > Zero(&status, 1, ARStatusList); > > ret = ARVerifyUser( ctrl, &adminFlag, &subAdminFlag, &customFlag, > &status ); > > /* printf( "ret = %d, adminFlag = %d, subAdminFlag = %d, customFlag = > %d\n", > ret, adminFlag, subAdminFlag, customFlag ); */ > > if(! ARError(ret, status)) { > RETVAL = newHV(); > sv_2mortal( (SV*) RETVAL ); > > hv_store( RETVAL, "adminFlag", strlen("adminFlag"), > newSViv(adminFlag), 0); > hv_store( RETVAL, "subAdminFlag", strlen("subAdminFlag"), > newSViv(subAdminFlag), 0); > hv_store( RETVAL, "customFlag", strlen("customFlag"), > newSViv(customFlag), 0); > }else{ > XSRETURN_UNDEF; > } > } > OUTPUT: > RETVAL > > > > Regards, > Thilo > |
From: Thilo S. <thi...@ap...> - 2007-08-09 09:32:31
|
If you take a look into ARS.xs, you will see that ars_VerifyUser calls the C API function ARVerifyUser, but doesn't use the return values at all. I'd suggest to modify ars_VeifyUser such that it returns a hash reference which contains the flags: HV* ars_VerifyUser(ctrl) ARControlStruct * ctrl CODE: { int ret = 0; ARBoolean adminFlag = 0, subAdminFlag = 0, customFlag = 0; ARStatusList status; (void) ARError_reset(); Zero(&status, 1, ARStatusList); ret = ARVerifyUser( ctrl, &adminFlag, &subAdminFlag, &customFlag, &status ); /* printf( "ret = %d, adminFlag = %d, subAdminFlag = %d, customFlag = %d\n", ret, adminFlag, subAdminFlag, customFlag ); */ if(! ARError(ret, status)) { RETVAL = newHV(); sv_2mortal( (SV*) RETVAL ); hv_store( RETVAL, "adminFlag", strlen("adminFlag"), newSViv(adminFlag), 0); hv_store( RETVAL, "subAdminFlag", strlen("subAdminFlag"), newSViv(subAdminFlag), 0); hv_store( RETVAL, "customFlag", strlen("customFlag"), newSViv(customFlag), 0); }else{ XSRETURN_UNDEF; } } OUTPUT: RETVAL Regards, Thilo Michiel Beijen wrote: > That's working OK, I will check and implement it in all calls when > necessary. Thanks! > > > Btw. I noticed ars_VerifyUser; it is not exported in ARS.pm but it is > in ARS.xs. If I export it I can use it but all I can get from it is a > returned '1'. The VerifyAdmin etc bits do not work, or I do not know > how to use them. Do you have a clue? > > -- > Michiel > > On 8/2/07, Thilo Stapff <thi...@ap...> wrote: >> OK, apparently it's not as simple as I thought. Now, after I've done >> some research about this, the correct way seems to be: >> >> >> /* no RETVAL assignment before the "if" statement */ >> >> if (!ARError( ret,status)) { >> RETVAL = newHV(); >> sv_2mortal( (SV*) RETVAL ); >> >> .... >> >> }else{ >> XSRETURN_UNDEF; >> } >> >> >> Regards, >> Thilo >> >> >> >> Michiel Beijen wrote: >>> Thilo, >>> >>> When I apply the fix you mentioned, I receive the following message >>> when compiling. >>> ARS.xs(1381) : warning C4133: '=' : incompatible types - from 'struct sv *' to ' >>> struct hv *' >>> Could you advise? If you could show how to fix it for >>> ars_GetActiveLink I could try and apply it for the other calls. >>> >>> Kind regards, >>> >>> Michiel. >>> >>> On 8/1/07, Michiel Beijen <mic...@gm...> wrote: >>>> Great, >>>> i'll try to make the fix myself. >>>> >>>> -- >>>> Michiel >>>> >>>> On 8/1/07, Thilo Stapff <thi...@ap...> wrote: >>>>> Hi Michiel, >>>>> >>>>> the cause for this problem is probably as follows: >>>>> In ARS.xs, the function ars_GetActiveLink contains the following lines >>>>> (around line 1402): >>>>> >>>>> RETVAL = newHV(); >>>>> sv_2mortal( (SV*) RETVAL ); >>>>> if (!ARError( ret,status)) { >>>>> .... >>>>> >>>>> This means that RETVAL contains always at least an empty hash, >>>>> regardless of whatever ARError() further downways returns. >>>>> >>>>> Those lines should probably rather look like this: >>>>> >>>>> RETVAL = &PL_sv_undef; >>>>> if (!ARError( ret,status)) { >>>>> RETVAL = newHV(); >>>>> sv_2mortal( (SV*) RETVAL ); >>>>> .... >>>>> >>>>> Does this information help you to make the fix in ARS.xs? >>>>> (note that most or even all of the other ars_Get... functions seem to >>>>> suffer from the same problem) >>>>> >>>>> If it doesn't, I can do it myself, but probably not before next weekend. >>>>> >>>>> >>>>> I've also determined the cause for the problem with ars_GetAlertCount: >>>>> The line >>>>> >>>>> RETVAL=sv_2mortal(newSViv(count)); >>>>> >>>>> should be changed into >>>>> >>>>> RETVAL = newSViv(count); >>>>> >>>>> >>>>> Moreover, the "qualifier" argument should be optional, so the line >>>>> >>>>> ars_GetAlertCount(ctrl,qualifier) >>>>> >>>>> should be changed into >>>>> >>>>> ars_GetAlertCount(ctrl,qualifier=NULL) >>>>> >>>>> >>>>> Regards, >>>>> Thilo >>>>> >>>>> >>>>> Michiel Beijen wrote: >>>>>> I was working on the example scripts and noted with the CopyActiveLink >>>>>> script; if I supply a active link name that does not exist >>>>>> ars_GetActiveLink does not die as I had expected. So the script >>>>>> continues and it tries to create an (empty) active link and generates >>>>>> nice and spooky error messages. >>>>>> >>>>>> C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar >>>>>> C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>>>>> >>>>>> [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) >>>>>> [WARNING] schemaList (ARERR #80020) >>>>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>>>> [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) >>>>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>>>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>>>>> [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) >>>>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set op >>>>>> ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line >>>>>> 41. >>>>>> >>>>>> Also when I use the script to copy an active link that has a Change >>>>>> Diary present, it >>>>>> gives these error: >>>>>> >>>>>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat >>>>>> a)" >>>>>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>>>>> >>>>>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) >>>>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope >>>>>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. >>>>>> >>>>>> Should I file these bugs on Sourceforge or is this mail just fine? >>>>>> I tried looking into ARS.xs to see if I can fix them myself but I do >>>>>> not know C and it looks too complicated to me, I'm sorry. >>>>>> >>>>>> >>>>>> ------------------------------------------------------------------------ >>>>>> >>>>>> ------------------------------------------------------------------------- >>>>>> 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 >>>>> ------------------------------------------------------------------------- >>>>> 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 >>>>> >>> >> >> ------------------------------------------------------------------------- >> 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-08-08 20:38:41
|
That's working OK, I will check and implement it in all calls when necessary. Thanks! Btw. I noticed ars_VerifyUser; it is not exported in ARS.pm but it is in ARS.xs. If I export it I can use it but all I can get from it is a returned '1'. The VerifyAdmin etc bits do not work, or I do not know how to use them. Do you have a clue? -- Michiel On 8/2/07, Thilo Stapff <thi...@ap...> wrote: > OK, apparently it's not as simple as I thought. Now, after I've done > some research about this, the correct way seems to be: > > > /* no RETVAL assignment before the "if" statement */ > > if (!ARError( ret,status)) { > RETVAL = newHV(); > sv_2mortal( (SV*) RETVAL ); > > .... > > }else{ > XSRETURN_UNDEF; > } > > > Regards, > Thilo > > > > Michiel Beijen wrote: > > Thilo, > > > > When I apply the fix you mentioned, I receive the following message > > when compiling. > > ARS.xs(1381) : warning C4133: '=' : incompatible types - from 'struct sv *' to ' > > struct hv *' > > Could you advise? If you could show how to fix it for > > ars_GetActiveLink I could try and apply it for the other calls. > > > > Kind regards, > > > > Michiel. > > > > On 8/1/07, Michiel Beijen <mic...@gm...> wrote: > >> Great, > >> i'll try to make the fix myself. > >> > >> -- > >> Michiel > >> > >> On 8/1/07, Thilo Stapff <thi...@ap...> wrote: > >>> Hi Michiel, > >>> > >>> the cause for this problem is probably as follows: > >>> In ARS.xs, the function ars_GetActiveLink contains the following lines > >>> (around line 1402): > >>> > >>> RETVAL = newHV(); > >>> sv_2mortal( (SV*) RETVAL ); > >>> if (!ARError( ret,status)) { > >>> .... > >>> > >>> This means that RETVAL contains always at least an empty hash, > >>> regardless of whatever ARError() further downways returns. > >>> > >>> Those lines should probably rather look like this: > >>> > >>> RETVAL = &PL_sv_undef; > >>> if (!ARError( ret,status)) { > >>> RETVAL = newHV(); > >>> sv_2mortal( (SV*) RETVAL ); > >>> .... > >>> > >>> Does this information help you to make the fix in ARS.xs? > >>> (note that most or even all of the other ars_Get... functions seem to > >>> suffer from the same problem) > >>> > >>> If it doesn't, I can do it myself, but probably not before next weekend. > >>> > >>> > >>> I've also determined the cause for the problem with ars_GetAlertCount: > >>> The line > >>> > >>> RETVAL=sv_2mortal(newSViv(count)); > >>> > >>> should be changed into > >>> > >>> RETVAL = newSViv(count); > >>> > >>> > >>> Moreover, the "qualifier" argument should be optional, so the line > >>> > >>> ars_GetAlertCount(ctrl,qualifier) > >>> > >>> should be changed into > >>> > >>> ars_GetAlertCount(ctrl,qualifier=NULL) > >>> > >>> > >>> Regards, > >>> Thilo > >>> > >>> > >>> Michiel Beijen wrote: > >>>> I was working on the example scripts and noted with the CopyActiveLink > >>>> script; if I supply a active link name that does not exist > >>>> ars_GetActiveLink does not die as I had expected. So the script > >>>> continues and it tries to create an (empty) active link and generates > >>>> nice and spooky error messages. > >>>> > >>>> C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar > >>>> C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > >>>> > >>>> [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) > >>>> [WARNING] schemaList (ARERR #80020) > >>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > >>>> [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) > >>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > >>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > >>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > >>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > >>>> [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) > >>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set op > >>>> ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line > >>>> 41. > >>>> > >>>> Also when I use the script to copy an active link that has a Change > >>>> Diary present, it > >>>> gives these error: > >>>> > >>>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat > >>>> a)" > >>>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > >>>> > >>>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) > >>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope > >>>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. > >>>> > >>>> Should I file these bugs on Sourceforge or is this mail just fine? > >>>> I tried looking into ARS.xs to see if I can fix them myself but I do > >>>> not know C and it looks too complicated to me, I'm sorry. > >>>> > >>>> > >>>> ------------------------------------------------------------------------ > >>>> > >>>> ------------------------------------------------------------------------- > >>>> 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 > >>> > >>> ------------------------------------------------------------------------- > >>> 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 > >>> > > > > > > > ------------------------------------------------------------------------- > 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 > -- Met vriendelijke groet / Kind regards Michiel Beijen ______________________________________________________ MANSOLUTIONS Energieweg 60-62 3771 NA Barneveld The Netherlands Tel. +31-(0)612968592 Mail mic...@ma... Internet http://bsm.mansolutions.nl |
From: Michiel B. <mb...@us...> - 2007-08-04 15:20:06
|
Update of /cvsroot/arsperl/ARSperl/example In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv29865 Modified Files: AddUsersToGroup.pl Log Message: Adjusted the code for current ARSperl version, added use strict; and added comments. Index: AddUsersToGroup.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/AddUsersToGroup.pl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** AddUsersToGroup.pl 28 Mar 2003 05:51:56 -0000 1.3 --- AddUsersToGroup.pl 4 Aug 2007 15:20:04 -0000 1.4 *************** *** 13,18 **** # # $Log$ # Revision 1.3 2003/03/28 05:51:56 jcmurphy ! # more 5.x edits # # Revision 1.2 1998/09/14 20:48:59 jcmurphy --- 13,21 ---- # # $Log$ + # Revision 1.4 2007/08/04 15:20:04 mbeijen + # Adjusted the code for current ARSperl version, added use strict; and added comments. + # # Revision 1.3 2003/03/28 05:51:56 jcmurphy ! # more 5.x editsgv # # Revision 1.2 1998/09/14 20:48:59 jcmurphy *************** *** 21,94 **** # ! #Black, Matt <mat...@ve...> says: ! #Script value --> Needs to be for V4.5.2 ! #------------ ---------------------- ! #'Group name' --> 'Group Name' ! #'Group id' --> 'Group ID' ! #'Login name' --> 'Login Name' ! #'Group list' --> 'Group List' (2 places) ! # ! # above changes are good for 5.x as well. ! use ARS; ! die "usage: AddUserToGroup server username password group user1 [user2] ...\n" unless ($#ARGV >= 4); ! ($server, $user, $pass, $group, @users) = (shift, shift, shift, shift, @ARGV); ! ($c = ars_Login($server, $user, $pass)) || ! die "ars_Login: $ars_errstr"; ! (%uf = ars_GetFieldTable($c, "User")) || ! die "ars_GetFieldTable(User): $ars_errstr"; ! (%gf = ars_GetFieldTable($c, "Group")) || ! die "ars_GetFieldTable(Group): $ars_errstr"; ! ($q = ars_LoadQualifier($c, "Group", "'Group Name' = \"$group\"")) || ! die "ars_LoadQualifier(Group): $ars_errstr"; ! @e = ars_GetListEntry($c, "Group", $q, 0); ! die "No such group \"$group\"? ($ars_errstr)\n" if ($#e == -1); ! (%v = ars_GetEntry($c, "Group", $e[0])) || ! die "ars_GetEntry(Group): $ars_errstr"; ! $group_id = $v{$gf{'Group ID'}}; foreach (@users) { print "Adding $_ to $group .. \n"; ! ($q = ars_LoadQualifier($c, "User", "'Login Name' = \"$_\"")) || ! die "ars_LoadQualifier: $ars_errstr"; ! @e = ars_GetListEntry($c, "User", $q, 0); ! die "No User record for $_? ($ars_errstr)\n" if ($#e == -1); ! (%v = ars_GetEntry($c, "User", $e[0])) || ! die "ars_GetEntry: $ars_errstr"; ! $cg = $v{$uf{'Group List'}}; ! if(($cg =~ /^$group_id;/) || ($cg =~ /\s$group_id;/)) { ! print "\talready a member of $group\n"; ! next; } ! print "\tcurrent group list: $cg\n"; ! ! if($cg ne "") { ! $cg .= " $group_id;"; ! } else { ! $cg = "$group_id;"; } ! print "\tnew group list : $cg\n"; ! ars_SetEntry($c, "User", $e[0], 0, $uf{'Group List'}, $cg) || ! die "ars_SetEntry(User): $ars_errstr"; } ! ars_Logoff($c); exit 0; --- 24,128 ---- # ! use ARS; ! use strict; + die "usage: AddUserToGroup server username password group user1 [user2] ...\n" + if ( $#ARGV < 4 ); ! ( my $server, my $user, my $pass, my $group, my @users ) = ! ( shift, shift, shift, shift, @ARGV ); + #Logging in to the server + ( my $ctrl = ars_Login( $server, $user, $pass ) ) + || die "ars_Login: $ars_errstr"; ! # Retrieve a list of fieds in a hash for the User and Group forms, otherwise we have to use ! # field ID's if we want to extract the values from the return strings. ! ( my %userfields = ars_GetFieldTable( $ctrl, "User" ) ) ! || die "ars_GetFieldTable(User): $ars_errstr"; ! ( my %groupfields = ars_GetFieldTable( $ctrl, "Group" ) ) ! || die "ars_GetFieldTable(Group): $ars_errstr"; ! # we will retrieve the Group ID for the group specified in $group ! # first create a qualifier using ars_LoadQualifier ! ( my $groupqualifier = ! ars_LoadQualifier( $ctrl, "Group", "'105' = \"$group\"" ) ) ! || die "ars_LoadQualifier(Group): $ars_errstr"; ! # fetch the Entry ID for this group by using GetListEntry with the group we just specified, if there is none, die. ! my @groupentry = ars_GetListEntry( $ctrl, "Group", $groupqualifier, 0, 0 ) ! || die "No such group \"$group\" ($ars_errstr)\n"; ! # Fetch the values for this record: ! ( my %groupvalues = ars_GetEntry( $ctrl, "Group", $groupentry[0] ) ) ! || die "ars_GetEntry(Group): $ars_errstr"; ! # We are only interested in the field marked Group ID: ! my $group_id = $groupvalues{ $groupfields{'Group ID'} }; + # This loop will process all users one by one, see if they are already a member of the group specified, + # if neccesary we add them to the group by changing the Group List and writing it back. foreach (@users) { print "Adding $_ to $group .. \n"; ! # Create a qualifier to retrieve the Entry ID for this user ! ( my $userqualifier = ! ars_LoadQualifier( $ctrl, "User", "'Login Name' = \"$_\"" ) ) ! || die "ars_LoadQualifier: $ars_errstr"; ! # Fetch the EID for this user; if there is no such user, say so and continue with next user ! # ars_GetListEntry provides a list with Entry-Id, Short description pairs ! # In this case only one pair. That means $userentry[0] will contain the actual Entry ID. ! my @userentry = ars_GetListEntry( $ctrl, "User", $userqualifier, 0, 0, ); ! # If there is no record for this user, say so and conitue with the next one ! if ( !@userentry ) { print "No user $_\n"; next; } ! # Get the value of the Group List field. Syntax = ars_GetEntry(ctrl, schema, eid [field ID...n]) ! # so in this case we only get the value returned for one field ID, the Group List ! # If you do not specify field ID's, you will get all values for the whole entry. ! my %uservalues = ! ars_GetEntry( $ctrl, "User", $userentry[0], $userfields{'Group List'} ); ! ! # Get the field values for this entry ! # set $currentgrouplist to the contents of the Group List field ! my $currentgrouplist = $uservalues{ $userfields{'Group List'} }; ! ! #if the Group List already contains the group, say so and continue with next user ! if ( ! ( ! ( $currentgrouplist =~ /^$group_id;/ ) ! || ( $currentgrouplist =~ /;$group_id;/ ) ! ) ! ) ! { ! print "\talready a member of $group\n"; ! next; } ! # add the new group to the group list, or if the group list is empty just let the new list contain only the new group. ! my $newgrouplist; ! if ($currentgrouplist) { ! print "\tcurrent group list: $currentgrouplist\n"; ! $newgrouplist = $currentgrouplist . "$group_id;"; ! } ! else { ! print "\tno groups were assigned to this user.\n"; ! $newgrouplist = "$group_id;"; } ! print "\tnew group list : $newgrouplist\n"; ! # write the entry back using SetEntry ! ars_SetEntry( $ctrl, "User", $userentry[0], 0, $userfields{'Group List'}, ! $newgrouplist ) ! || die "ars_SetEntry(User): $ars_errstr"; } ! # and of course log off nicely. ! ars_Logoff($ctrl); exit 0; |
From: Thilo S. <thi...@ap...> - 2007-08-02 15:42:27
|
OK, apparently it's not as simple as I thought. Now, after I've done some research about this, the correct way seems to be: /* no RETVAL assignment before the "if" statement */ if (!ARError( ret,status)) { RETVAL = newHV(); sv_2mortal( (SV*) RETVAL ); .... }else{ XSRETURN_UNDEF; } Regards, Thilo Michiel Beijen wrote: > Thilo, > > When I apply the fix you mentioned, I receive the following message > when compiling. > ARS.xs(1381) : warning C4133: '=' : incompatible types - from 'struct sv *' to ' > struct hv *' > Could you advise? If you could show how to fix it for > ars_GetActiveLink I could try and apply it for the other calls. > > Kind regards, > > Michiel. > > On 8/1/07, Michiel Beijen <mic...@gm...> wrote: >> Great, >> i'll try to make the fix myself. >> >> -- >> Michiel >> >> On 8/1/07, Thilo Stapff <thi...@ap...> wrote: >>> Hi Michiel, >>> >>> the cause for this problem is probably as follows: >>> In ARS.xs, the function ars_GetActiveLink contains the following lines >>> (around line 1402): >>> >>> RETVAL = newHV(); >>> sv_2mortal( (SV*) RETVAL ); >>> if (!ARError( ret,status)) { >>> .... >>> >>> This means that RETVAL contains always at least an empty hash, >>> regardless of whatever ARError() further downways returns. >>> >>> Those lines should probably rather look like this: >>> >>> RETVAL = &PL_sv_undef; >>> if (!ARError( ret,status)) { >>> RETVAL = newHV(); >>> sv_2mortal( (SV*) RETVAL ); >>> .... >>> >>> Does this information help you to make the fix in ARS.xs? >>> (note that most or even all of the other ars_Get... functions seem to >>> suffer from the same problem) >>> >>> If it doesn't, I can do it myself, but probably not before next weekend. >>> >>> >>> I've also determined the cause for the problem with ars_GetAlertCount: >>> The line >>> >>> RETVAL=sv_2mortal(newSViv(count)); >>> >>> should be changed into >>> >>> RETVAL = newSViv(count); >>> >>> >>> Moreover, the "qualifier" argument should be optional, so the line >>> >>> ars_GetAlertCount(ctrl,qualifier) >>> >>> should be changed into >>> >>> ars_GetAlertCount(ctrl,qualifier=NULL) >>> >>> >>> Regards, >>> Thilo >>> >>> >>> Michiel Beijen wrote: >>>> I was working on the example scripts and noted with the CopyActiveLink >>>> script; if I supply a active link name that does not exist >>>> ars_GetActiveLink does not die as I had expected. So the script >>>> continues and it tries to create an (empty) active link and generates >>>> nice and spooky error messages. >>>> >>>> C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar >>>> C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>>> >>>> [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) >>>> [WARNING] schemaList (ARERR #80020) >>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>> [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) >>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>>> [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) >>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set op >>>> ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line >>>> 41. >>>> >>>> Also when I use the script to copy an active link that has a Change >>>> Diary present, it >>>> gives these error: >>>> >>>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat >>>> a)" >>>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>>> >>>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) >>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope >>>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. >>>> >>>> Should I file these bugs on Sourceforge or is this mail just fine? >>>> I tried looking into ARS.xs to see if I can fix them myself but I do >>>> not know C and it looks too complicated to me, I'm sorry. >>>> >>>> >>>> ------------------------------------------------------------------------ >>>> >>>> ------------------------------------------------------------------------- >>>> 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 >>> >>> ------------------------------------------------------------------------- >>> 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. <mb...@us...> - 2007-08-02 14:48:22
|
Update of /cvsroot/arsperl/ARSperl/example In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv30833 Modified Files: ars_ExecuteProcess.pl ars_decodeStatusHistory.pl Log Message: modified examples for ExecuteProcess and decodeStatusHistory Index: ars_ExecuteProcess.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/ars_ExecuteProcess.pl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ars_ExecuteProcess.pl 23 Jul 1997 18:21:29 -0000 1.1 --- ars_ExecuteProcess.pl 2 Aug 2007 14:48:21 -0000 1.2 *************** *** 8,14 **** # USAGE # ars_ExecuteProcess.pl [server] [username] [password] ["process"] # # EXAMPLE ! # ars_ExecuteProcess.pl arserver foobar barfoo "ls -l /" # # DESCRIPTION --- 8,18 ---- # USAGE # ars_ExecuteProcess.pl [server] [username] [password] ["process"] + # if you need to use a specified TCP port, export the ARTCPPORT environment variable + # with the TCP Port number # # EXAMPLE ! # ars_ExecuteProcess.pl arserver user password "ls -l /" (if the server is on Unix) ! # ars_ExecuteProcess.pl arserver user password " cmd /c dir" (if the server is on Win32) ! # ars_ExecuteProcess.pl arserver user password Application-Generate-GUID # # DESCRIPTION *************** *** 19,22 **** --- 23,29 ---- # # $Log$ + # Revision 1.2 2007/08/02 14:48:21 mbeijen + # modified examples for ExecuteProcess and decodeStatusHistory + # # Revision 1.1 1997/07/23 18:21:29 jcmurphy # Initial revision *************** *** 27,31 **** use ARS; ! $c = ars_Login(shift, shift, shift); $b = shift; --- 34,38 ---- use ARS; ! $c = ars_Login(shift, shift, shift) || die "login: $ars_errstr"; $b = shift; Index: ars_decodeStatusHistory.pl =================================================================== RCS file: /cvsroot/arsperl/ARSperl/example/ars_decodeStatusHistory.pl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ars_decodeStatusHistory.pl 14 Sep 1998 17:39:20 -0000 1.2 --- ars_decodeStatusHistory.pl 2 Aug 2007 14:48:21 -0000 1.3 *************** *** 14,17 **** --- 14,20 ---- # # $Log$ + # Revision 1.3 2007/08/02 14:48:21 mbeijen + # modified examples for ExecuteProcess and decodeStatusHistory + # # Revision 1.2 1998/09/14 17:39:20 jcmurphy # changed #!perl path *************** *** 24,70 **** use ARS; ! ($c = ars_Login(shift, shift, shift)) || ! die "login: $ars_errstr"; ! ! ($S, $E) = (shift, shift); ! ! (%f = ars_GetFieldTable($c, $S)) || ! die "GetFieldTable: $ars_errstr"; ! ! (%e = ars_GetEntry($c, $S, $E)) || ! die "GetEntry: $ars_errstr (no matching entry?)"; ! ! ($fh = ars_GetField($c, $S, $f{'Status'})) || ! die "GetField: $ars_errstr (no Status field in this schema?)"; ! if($fh->{dataType} ne "enum") { ! die "'Status' field is not an enum.\n"; ! } ! @enumvals = @{$fh->{limit}}; ! print "Status values: ".join(',', @enumvals)."\n"; ! if(!defined($f{'Status-History'})) { ! die "no Status-History field?\n"; ! } ! if(!defined($e{$f{'Status-History'}})) { ! die "no Status-History field values to decode.\n"; ! } ! @sv = ars_decodeStatusHistory($e{$f{'Status-History'}}); ! $i = 0; ! foreach (@sv) { ! print $enumvals[$i++].": \n"; ! print "\tUSER: ".$_->{USER}."\n"; ! print "\tTIME: ".localtime($_->{TIME})."\n"; } ! ars_Logoff($c); ! ! exit 0; ! ! --- 27,72 ---- use ARS; + use warnings; + use strict; ! die "usage: ars_decodeStatusHistory.pl [server] [username] [password] [form] [entry]\n" unless ($#ARGV == 4); ! # Log in to the server ! (my $ctrl = ars_Login(shift, shift, shift)) || ! die "login: $ars_errstr"; ! (my $form, my $entry) = (shift, shift); ! # get the information for this entry. ars_GetEntry returns a hash of field ID's and its values. ! # in fact, we only are interested in this example in field 15 which contains the Status History. ! (my %entry = ars_GetEntry($ctrl, $form, $entry, 15)) || ! die "GetEntry: $ars_errstr (no entry $entry in form $form ?)"; ! # load the field information for field 7 (Status) so we can determine what the names are for ! # the different statuses. ! (my $field_info = ars_GetField($ctrl, $form, 7)) || ! die "GetField: $ars_errstr "; ! # retrieving all status values for enumerated field Status ! my @enum_vals = @{$field_info->{limit}{enumLimits}{regularList}}; ! print "Status values: ".join(', ', @enum_vals)."\n"; ! #The Status History field is always field number 15. ! my @status_values = ars_decodeStatusHistory($entry{15}); ! my $i; ! # loop trough the created Status Values array, which is an array that contains hash refs ! # we'll print the Status name with it, which we retrieved earlier using ars_GetField. ! foreach (@status_values) { ! print $enum_vals[$i++].": \n"; ! if ($_->{USER}) { ! print "\tUSER: ".$_->{USER}."\n"; ! print "\tTIME: ".localtime($_->{TIME})."\n"; # with localtime we convert Epoch to human-readable ! } else { ! print "\tNo Status History entry\n"; ! } } + # log off nicely. + ars_Logoff($ctrl); ! exit 0; \ No newline at end of file |
From: Michiel B. <mb...@us...> - 2007-08-02 14:29:30
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv22135 Removed Files: ars_CreateAdminExtension.html ars_DeleteAdminExtension.html ars_ExecuteAdminExtension.html ars_GetAdminExtension.html ars_GetListAdminExtension.html ds_getadminext_hash.html Log Message: Removed AdminExtension manual files --- ds_getadminext_hash.html DELETED --- --- ars_ExecuteAdminExtension.html DELETED --- --- ars_GetAdminExtension.html DELETED --- --- ars_CreateAdminExtension.html DELETED --- --- ars_GetListAdminExtension.html DELETED --- --- ars_DeleteAdminExtension.html DELETED --- |
From: Michiel B. <mb...@us...> - 2007-08-02 14:26:48
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv20926 Modified Files: ars_GetField.html ars_decodeStatusHistory.html ds_enumlimstruct.html ds_field_hash.html ds_fls.html toc.html Log Message: Removed AdminExtension calls from documentation Made changes to examples for ars_GetField and ars_decodeStatusHistory Index: ds_field_hash.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ds_field_hash.html,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ds_field_hash.html 16 Sep 1998 14:52:49 -0000 1.2 --- ds_field_hash.html 2 Aug 2007 14:26:42 -0000 1.3 *************** *** 1,65 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - Field Properties</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! <H2>Field Properties Structure</H2> ! The routine ! <A href="ars_GetField.html"><CODE>ars_GetField</code></a> ! returns a reference to the field properties structure. ! <p> ! The structure returned depends on the version of the ARS server. ! <p> ! For <b>ARS 3.0</b> the structure is: ! <PRE> ! { ! "changeDiary" => <i>list</I> of references to <a href="ds_diaryentry_hash.html">Diary Entry Structures</a>, ! "createMode" => open <i>or</i> protected, ! "dataType" => string, ! "defaultVal" => string, ! "displayInstanceList" => reference to <A href="ds_disl_hash.html">displayInstancelist structure</a>, ! "fieldId" => integer, ! "fieldMap" => reference to a HASH, ! "fieldName" => string, ! ["helpText" => string,] ! "lastChanged" => string, ! "limit" => reference to <A href="ds_fls.html">Field Limit Structure</a>, ! "option" => enumerator, ! "owner" => string, ! "permissions" => reference to a HASH, ! "timestamp" => integer ! } ! </PRE> - For <b>ARS 2.1</b> or earlier the structure is: ! <PRE> ! { ! "changeDiary" => <i>list</I> of references to <a href="ds_diaryentry_hash.html">Diary Entry Structures</a>, ! "createMode" => open <i>or</i> protected, ! "dataType" => string, ! "defaultVal" => string, ! "displayList" => reference to <A HREF="ds_ds.html">Display Structure</A>, ! "fieldId" => integer, ! ["helpText" => string,] ! "lastChanged" => string, ! "limit" => reference to <A href="ds_fls.html">Field Limit Structure</a>, ! "option" => enumerator, ! "owner" => string, ! "permissions" => reference to a HASH, ! "timestamp" => integer ! } ! </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 16 Sep 1998 by jeff murphy </address> ! </BODY> ! </HTML> \ No newline at end of file --- 1,29 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! <title>ARSperl Manual - Field Properties</title> ! </head> ! <body bgcolor="#ffffff"> ! <h2>Field Properties Structure</h2> ! ! The routine ! <a href="ars_GetField.html"><code>ars_GetField</code></a> ! returns a reference to the field properties structure. ! <pre>{<br> "changeDiary" => <i>list</i> of references to <a href="ds_diaryentry_hash.html">Diary Entry Structures</a>,<br> "createMode" => open <i>or</i> protected,<br> "dataType" => string,<br> "defaultVal" => string,<br> "displayInstanceList" => reference to <a href="ds_disl_hash.html">displayInstancelist structure</a>,<br> "fieldId" => integer,<br> "fieldMap" => reference to a HASH,<br> "fieldName" => string,<br>["helpText" => string,]<br> "lastChanged" => string,<br> "limit" => reference to <a href="ds_fls.html">Field Limit Structure</a>,<br> "option" => enumerator,<br> "owner" => string,<br> "permissions" => reference to a HASH,<br> "timestamp" => integer<br>}<br></pre> ! <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 2 Aug 2007 by Michiel Beijen </address> ! ! </body> ! </html> Index: ds_enumlimstruct.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ds_enumlimstruct.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ds_enumlimstruct.html 16 Apr 2003 00:59:06 -0000 1.1 --- ds_enumlimstruct.html 2 Aug 2007 14:26:42 -0000 1.2 *************** *** 1,30 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - Enum Limit Structure</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! <H2>Enum Limit Structure</H2> ! This structure is only available if compiled against 5.x (or later) APIs. ! <P> ! <PRE> ! { ! "regularList" => list of strings (arrayref) ! "customList" => list of <a href="ds_enumitemstruct.html">enumItems</a> "queryList" => ref to <a href="ds_enumquerystruct.html">enumQuery</a> "error" => unknown listStyle encounted } ! </PRE> - <P> - <HR WIDTH="30%"> - <P> - <A HREF="toc.html"><IMG ALT="<--" SRC="arrow.gif" ALIGN=CENTER> Table of Contents </A> <p> <address> ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... </address> ! </BODY> ! </HTML> --- 1,33 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! <title>ARSperl Manual - Enum Limit Structure</title> ! </head> ! <body bgcolor="#ffffff"> ! ! <h2>Enum Limit Structure</h2> ! {<br> ! <pre> "regularList" => list of strings (arrayref)<br> "customList" => list of <a href="ds_enumitemstruct.html">enumItems</a> "queryList" => ref to <a href="ds_enumquerystruct.html">enumQuery</a> "error" => unknown listStyle encounted } ! </pre> ! <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> ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... </address> ! ! </body> ! </html> Index: ds_fls.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ds_fls.html,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ds_fls.html 16 Apr 2003 00:59:06 -0000 1.4 --- ds_fls.html 2 Aug 2007 14:26:43 -0000 1.5 *************** *** 1,12 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - Field Limit Structure</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! <H2>Field Limit Structure</H2> ! <PRE> ! <B>; integer</B> { "min" => integer, --- 1,16 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! <title>ARSperl Manual - Field Limit Structure</title> ! </head> ! <body bgcolor="#ffffff"> ! ! ! <h2>Field Limit Structure</h2> ! ! ! <pre><b>; integer</b> { "min" => integer, *************** *** 14,20 **** } ! <I>or</I> ! <B>; real</B> { "min" => float, --- 18,24 ---- } ! <i>or</i> ! <b>; real</b> { "min" => float, *************** *** 23,67 **** } ! <I>or</I> ! <B>; char</B> { "maxLength" => integer, ! "menuStyle" => "append" <I>or</I> "overwrite", ! "match" => "anywhere" <I>or</I> "leading" <I>or</I> "equal", ! "charMenu" => string, ! "pattern" => string, ! "fullTextOptions" => "none" <I>or</I> "indexed"} ! ! <I>or</I> ! <B>; diary</B> { ! "fullTextOptions" => "none" <I>or</I> "indexed"} ! <I>or</I> ! <B>; enum and bitmask</B> array of strings ! <I>or</I> ! <b>; enum</B> { ! list of strings (arrayref) (<I><B>2.x-4.x only</B></I>) ! "enumLimits" => hashref to <a href="ds_enumlimstruct.html">enumLimits hash</a> (<I><B>5.x only</B></I>) ! } ! <I>or</I> undef ! </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 27th June 1997 by d.j...@so...<br> ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... </address> ! </BODY> ! </HTML> --- 27,67 ---- } ! <i>or</i> ! <b>; char</b> { "maxLength" => integer, ! "menuStyle" => "append" <i>or</i> "overwrite",<br> "match" => "anywhere" <i>or</i> "leading" <i>or</i> "equal",<br> "charMenu" => string,<br> "pattern" => string,<br> "fullTextOptions" => "none" <i>or</i> "indexed"}<br><br> <i>or</i> ! <b>; diary</b> { ! "fullTextOptions" => "none" <i>or</i> "indexed"}<br> <i>or</i> ! <b>; enum and bitmask</b> array of strings ! <i>or</i> ! <b>; enum</b> { ! "enumLimits" => hashref to <a href="ds_enumlimstruct.html">enumLimits hash</a> <br>}<br> <i>or</i> undef ! </pre> ! ! <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 27th June 1997 by d.j...@so...<br> ! ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... </address> ! ! </body> ! </html> Index: ars_GetField.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_GetField.html,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** ars_GetField.html 30 Mar 2003 16:36:30 -0000 1.8 --- ars_GetField.html 2 Aug 2007 14:26:42 -0000 1.9 *************** *** 1,57 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - ars_GetField</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> - <H2><CODE>ars_GetField(ctrl, schema, id)</CODE></H2> ! Returns the <A href="ds_field_hash.html">Field Properties Structure</a>. <p> <code>id</code> is the numerical Field Id. <p> ! See also <A href="ars_GetListField.html"><code>ars_GetListField</code></a>, ! <A href="ars_GetFieldByName.html"><code>ars_GetFieldByName</code></a>, ! and <A href="ars_GetFieldTable.html"><code>ars_GetFieldTable</code></a> ! <DL> ! <DT><B>On success</B><DD> ! returns a reference to <A href="ds_field_hash.html">HASH</a> ! <DT><B>On failure</B><DD> returns undef ! </DL> ! <P> Example: ! <pre> ! ($field = ars_GetField($c, "User", 8)) || die $arr_errstr; ! print $field->{"helpText"}; ! </pre> ! Example of how to retrieve enumerated field labels (e.g. the Status field ! labels): ! <pre> ! ($fh = ars_GetField($c, $S, $f{'Status'})) || ! die "GetField: $ars_errstr (no Status field in this schema?)"; ! if($fh->{dataType} !~ /enum/i) { # ignore case of "enum" ! die "'Status' field is not an ENUM.\n"; ! } - @enumvals = @{$fh->{limit}}; - print "Status values: ".join(',', @enumvals)."\n"; - </pre> <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 11 September 1998 by Jeff Murphy<P> ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... </address> ! </BODY> ! </HTML> --- 1,84 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! ! <title>ARSperl Manual - ars_GetField</title> ! </head> ! ! ! <body bgcolor="#ffffff"> ! ! ! ! <h2><code>ars_GetField(ctrl, schema, id)</code></h2> ! ! ! ! Returns the <a href="ds_field_hash.html">Field Properties Structure</a>. <p> <code>id</code> is the numerical Field Id. + </p> + <p> ! See also <a href="ars_GetListField.html"><code>ars_GetListField</code></a>, ! <a href="ars_GetFieldByName.html"><code>ars_GetFieldByName</code></a>, ! and <a href="ars_GetFieldTable.html"><code>ars_GetFieldTable</code></a> ! </p> ! ! <dl> ! ! ! <dt><b>On success</b></dt> ! ! <dd> ! returns a reference to <a href="ds_field_hash.html">HASH</a> ! </dd> ! ! <dt><b>On failure</b></dt> ! ! <dd> returns undef ! </dd> ! ! </dl> ! ! ! <p> Example: ! </p> ! <pre> ($field = ars_GetField($c, "User", 8)) || die $ars_errstr;<br> print $field->{"helpText"};<br></pre> ! ! ! Example of how to retrieve enumerated field labels (e.g. the Status (core field 7) field ! labels): ! <pre> ($field_info = ars_GetField($c, $s, 7})) ||<br> die "GetField: $ars_errstr (no Status field in this schema?)";<br><br> @enum_vals = @{$field_info->{limit}{enumLimits}{regularList}};<br><br> print "Status values: ".join(', ', @enum_vals)."\n";<br></pre> <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 2 Aug 2007 by Michiel Beijen ! <p> ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... ! </p> ! </address> ! ! ! </body> ! </html> Index: ars_decodeStatusHistory.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/ars_decodeStatusHistory.html,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ars_decodeStatusHistory.html 30 Mar 2003 16:36:30 -0000 1.3 --- ars_decodeStatusHistory.html 2 Aug 2007 14:26:42 -0000 1.4 *************** *** 1,9 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual - ars_decodeStatusHistory</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> - <H2><CODE>ars_decodeStatusHistory($field_value)</CODE></H2> Use this to decode the field value of the status history --- 1,15 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! ! <title>ARSperl Manual - ars_decodeStatusHistory</title> ! </head> ! ! <body bgcolor="#ffffff"> ! ! ! ! <h2><code>ars_decodeStatusHistory($field_value)</code></h2> Use this to decode the field value of the status history *************** *** 15,47 **** state. You can use <a href="ars_GetField.html">ars_GetField()</a> to map from labels (open, ! held, closed, etc) to enumerations (0, 1, 2, etc) ! <DL> ! <DT><B>On success</B><DD> Returns an array of hash references. ! <DT><B>On failure</B><DD> Returns undef. ! </DL> ! ! <P>Example: - <PRE> - $d = ars_decodeStatusHistory($fieldvalue); - # OPEN = 0; - print $d[0]->{USER}."\n"; - print $d[0]->{TIME}."\n"; - </PRE> ! <I>ars_decodeStatusHistory was introduced in version 1.52 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 11 September 1998 by jcm...@ar...<BR> ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... </address> ! </BODY> ! </HTML> --- 21,59 ---- state. You can use <a href="ars_GetField.html">ars_GetField()</a> to map from labels (open, ! held, closed, etc) to enumerations (0, 1, 2, etc).<br> ! The Status History field is a core field. That means it is present on all Regular forms. It has field ID 15. ! ! <dl> ! ! <dt><b>On success</b></dt> ! <dd> Returns an array of hash references. ! </dd> ! <dt><b>On failure</b></dt> ! <dd> Returns undef. ! </dd> ! </dl> ! ! <p>Example: ! </p> ! <pre> %entry = ars_GetEntry($ctrl, $form, $entry, 15)<br><br> @status_hist_values = ars_decodeStatusHistory($entry{15});<br><br> # print the status history for the first status (0)<br> print $status_hist_values[0]->{USER}."\n";<br> print localtime($status_hist_values[0]->{TIME})."\n"; <br><br>For a more detailed example, refer to the ars_decodeStatusHistory.pl file in the <span style="font-style: italic;">examples</span> directory.<br></pre> ! <i>ars_decodeStatusHistory was introduced in version 1.52 of ARSperl. </i><br> ! <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 2 aug 2007 by Michiel Beijen<br> ! ! © J.C.Murphy, J.W.Murphy 1997 ar...@ar... </address> ! ! </body> ! </html> Index: toc.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/toc.html,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** toc.html 30 Jul 2007 20:28:46 -0000 1.26 --- toc.html 2 Aug 2007 14:26:43 -0000 1.27 *************** *** 3,298 **** <head> <title>ARSperl Manual</title> </head> <body bgcolor="#ffffff"> <center> <h1>ARSperl Programmer's Manual</h1> [...1252 lines suppressed...] + + <hr> <address> <a href="../index.html">ARSPerl</a><br> + + Last changes to this page 30th Jul 2007 by Michiel Beijen<br> + + © J.C.Murphy, J.W.Murphy 1997 <i>ar...@ar...</i> </address> + + </body> </html> |
From: Michiel B. <mb...@us...> - 2007-08-02 14:25:09
|
Update of /cvsroot/arsperl/ARSperl In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv20025 Modified Files: ARS.pm ARS.xs Log Message: Removed AdminExtension calls Index: ARS.xs =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.xs,v retrieving revision 1.115 retrieving revision 1.116 diff -C2 -d -r1.115 -r1.116 *** ARS.xs 30 Jul 2007 20:25:23 -0000 1.115 --- ARS.xs 2 Aug 2007 14:25:04 -0000 1.116 *************** *** 1341,1365 **** int ret = 0; unsigned int order = 0; - #if AR_EXPORT_VERSION < 5 - ARNameType schema; - #endif ARInternalIdList groupList; unsigned int executeMask = 0; - #if AR_EXPORT_VERSION >= 3 ARInternalId controlField; ARInternalId focusField; - #else - ARInternalId field; - ARDisplayList displayList; - #endif unsigned int enable = 0; ARActiveLinkActionList actionList; - #if AR_EXPORT_VERSION >= 3 ARActiveLinkActionList elseList; - #endif - #if AR_EXPORT_VERSION >= 5 ARWorkflowConnectStruct schemaList; ARPropList objPropList; - #endif char *helpText = CPNULL; ARTimestamp timestamp; --- 1341,1353 ---- *************** *** 1380,1384 **** Zero(&diaryList, 1, ARDiaryList); Zero(&status, 1, ARStatusList); - #if AR_EXPORT_VERSION >= 5 ret = ARGetActiveLink(ctrl, name, &order, &schemaList, /* new in 4.5 */ --- 1368,1371 ---- *************** *** 1389,1400 **** &objPropList, /* new in 4.5 */ &status); - #elif AR_EXPORT_VERSION >= 3 - ret = ARGetActiveLink(ctrl,name,&order,schema,&groupList, - &executeMask,&controlField,&focusField,&enable, - query,&actionList,&elseList,&helpText,×tamp, - owner,lastChanged,&changeDiary,&status); - #else - ret = ARGetActiveLink(ctrl,name,&order,schema,&groupList,&executeMask,&field,&displayList,&enable,query,&actionList,&helpText,×tamp,owner,lastChanged,&changeDiary,&status); - #endif #ifdef PROFILE ((ars_ctrl *)ctrl)->queries++; --- 1376,1379 ---- *************** *** 1403,1417 **** sv_2mortal( (SV*) RETVAL ); if (!ARError( ret,status)) { ! /* store name of active link */ hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); hv_store(RETVAL, "order", strlen("order") , newSViv(order),0); - #if AR_EXPORT_VERSION >= 5 hv_store(RETVAL, "schemaList", strlen("schemaList") , /* WorkflowConnectStruct */ perl_ARNameList(ctrl, schemaList.u.schemaList), 0); hv_store(RETVAL, "objPropList", strlen("objPropList") , perl_ARPropList(ctrl, &objPropList), 0); - #else - hv_store(RETVAL, "schema", strlen("schema") , newSVpv(schema,0),0); - #endif hv_store(RETVAL, "groupList", strlen("groupList") , perl_ARList( ctrl, --- 1382,1392 ---- sv_2mortal( (SV*) RETVAL ); if (!ARError( ret,status)) { ! hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); hv_store(RETVAL, "order", strlen("order") , newSViv(order),0); hv_store(RETVAL, "schemaList", strlen("schemaList") , /* WorkflowConnectStruct */ perl_ARNameList(ctrl, schemaList.u.schemaList), 0); hv_store(RETVAL, "objPropList", strlen("objPropList") , perl_ARPropList(ctrl, &objPropList), 0); hv_store(RETVAL, "groupList", strlen("groupList") , perl_ARList( ctrl, *************** *** 1420,1435 **** sizeof(ARInternalId)), 0); hv_store(RETVAL, "executeMask", strlen("executeMask") , newSViv(executeMask),0); - #if AR_EXPORT_VERSION >= 3 hv_store(RETVAL, "focusField", strlen("focusField") , newSViv(focusField), 0); hv_store(RETVAL, "controlField", strlen("controlField") , newSViv(controlField), 0); - #else - hv_store(RETVAL, "field", strlen("field") , newSViv(field), 0); - hv_store(RETVAL, "displayList", strlen("displayList") , - perl_ARList( ctrl, - (ARList *)&displayList, - (ARS_fn)perl_ARDisplayStruct, - sizeof(ARDisplayStruct)), 0); - #endif hv_store(RETVAL, "enable", strlen("enable") , newSViv(enable), 0); /* a bit of a hack -- makes blessed reference to qualifier */ --- 1395,1401 ---- *************** *** 1442,1446 **** (ARS_fn)perl_ARActiveLinkActionStruct, sizeof(ARActiveLinkActionStruct)), 0); - #if AR_EXPORT_VERSION >= 3 hv_store(RETVAL, "elseList", strlen("elseList") , perl_ARList(ctrl, --- 1408,1411 ---- *************** *** 1448,1452 **** (ARS_fn)perl_ARActiveLinkActionStruct, sizeof(ARActiveLinkActionStruct)), 0); - #endif if (helpText) hv_store(RETVAL, "helpText", strlen("helpText") , newSVpv(helpText,0), 0); --- 1413,1416 ---- *************** *** 1455,1463 **** hv_store(RETVAL, "lastChanged", strlen("lastChanged") , newSVpv(lastChanged,0), 0); if (changeDiary) { - #if AR_EXPORT_VERSION >= 4 ret = ARDecodeDiary(ctrl, changeDiary, &diaryList, &status); - #else - ret = ARDecodeDiary(changeDiary, &diaryList, &status); - #endif if (!ARError(ret, status)) { hv_store(RETVAL, "changeDiary", strlen("changeDiary") , --- 1419,1423 ---- *************** *** 1469,1483 **** } FreeARInternalIdList(&groupList,FALSE); - #if AR_EXPORT_VERSION < 3 - FreeARDisplayList(&displayList,FALSE); - #endif FreeARActiveLinkActionList(&actionList,FALSE); - #if AR_EXPORT_VERSION >= 3 FreeARActiveLinkActionList(&elseList,FALSE); - #endif - #if AR_EXPORT_VERSION >= 5 FreeARWorkflowConnectStruct(&schemaList, FALSE); FreeARPropList(&objPropList, FALSE); - #endif if(helpText) AP_FREE(helpText); if(changeDiary) AP_FREE(changeDiary); --- 1429,1436 ---- *************** *** 2637,2668 **** - void - ars_GetListAdminExtension(control,changedsince=0) - ARControlStruct * control - unsigned long changedsince - PPCODE: - { - #if !defined(ARS32) && (AR_EXPORT_VERSION < 4) - ARNameList nameList; - ARStatusList status; - int ret = 0, i = 0; - - (void) ARError_reset(); - Zero(&nameList, 1, ARNameList); - Zero(&status,1, ARStatusList); - ret = ARGetListAdminExtension(control,changedsince,&nameList,&status); - #ifdef PROFILE - ((ars_ctrl *)control)->queries++; - #endif - if (!ARError( ret,status)) { - for (i=0; i<nameList.numItems; i++) - XPUSHs(sv_2mortal(newSVpv(nameList.nameList[i], 0))); - FreeARNameList(&nameList,FALSE); - } - #else /* ARS32 or later */ - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "ars_GetListAdminExtension() is not available in ARS3.2 or later."); - #endif /* ARS32 or later */ - } - int ars_DeleteActiveLink(ctrl, name) --- 2590,2593 ---- *************** *** 2728,2762 **** RETVAL - int - ars_DeleteAdminExtension(ctrl, name) - ARControlStruct * ctrl - char * name - CODE: - { - #if !defined(ARS32) && (AR_EXPORT_VERSION < 4) - ARStatusList status; - int ret = 0; - - (void) ARError_reset(); - Zero(&status, 1,ARStatusList); - RETVAL = 0; - if(ctrl && name && *name) { - ret = ARDeleteAdminExtension(ctrl, name, &status); - #ifdef PROFILE - ((ars_ctrl *)ctrl)->queries++; - #endif - if(!ARError( ret, status)) { - RETVAL = 1; - } - } else { - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_BAD_ARGS); - } - #else /* ARS32 or later */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "ars_DeleteAdminExtension() is not available in ARS3.2 or later."); - #endif /* ARS32 */ - } - OUTPUT: - RETVAL int --- 2653,2656 ---- *************** *** 2979,3009 **** RETVAL - int - ars_ExecuteAdminExtension(ctrl, name) - ARControlStruct * ctrl - char * name - CODE: - { - #if !defined(ARS32) && (AR_EXPORT_VERSION < 4) - ARStatusList status; - int ret = 0; - - RETVAL = 0; - Zero(&status, 1,ARStatusList); - (void) ARError_reset(); - if(ctrl && CVLD(name)) - ret = ARExecuteAdminExtension(ctrl, name, &status); - #ifdef PROFILE - ((ars_ctrl *)ctrl)->queries++; - #endif - if(!ARError( ret, status)) - RETVAL = 1; - #else /* ARS32 or later */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "ars_ExecuteAdminExtension() is not available in ARS3.2 or later."); - #endif /* ARS32 */ - } - OUTPUT: - RETVAL void --- 2873,2876 ---- *************** *** 3051,3126 **** } - HV * - ars_GetAdminExtension(ctrl, name) - ARControlStruct * ctrl - char * name - CODE: - { - #if !defined(ARS32) && (AR_EXPORT_VERSION < 4) - ARStatusList status; - ARInternalIdList groupList; - char command[AR_MAX_COMMAND_SIZE]; - char *helpText = CPNULL; - ARTimestamp timestamp; - ARNameType owner; - ARNameType lastChanged; - char *changeDiary = CPNULL; - int ret = 0; - ARDiaryList diaryList; - - (void) ARError_reset(); - Zero(&status, 1,ARStatusList); - Zero(&groupList, 1, ARInternalIdList); - Zero(×tamp, 1, ARTimestamp); - Zero(&owner, 1, ARNameType); - Zero(&lastChanged, 1, ARNameType); - Zero(&diaryList, 1, ARDiaryList); - RETVAL = newHV(); - ret = ARGetAdminExtension(ctrl, name, &groupList, command, &helpText, ×tamp, owner, lastChanged, &changeDiary, &status); - #ifdef PROFILE - ((ars_ctrl *)ctrl)->queries++; - #endif - if(!ARError( ret, status)) { - hv_store(RETVAL, "name", strlen("name") , newSVpv(name, 0), 0); - hv_store(RETVAL, "groupList", strlen("groupList") , - perl_ARList(ctrl, - (ARList *)&groupList, - (ARS_fn)perl_ARInternalId, - sizeof(ARInternalId)), 0); - hv_store(RETVAL, "command", strlen("command") , newSVpv(command, 0), 0); - hv_store(RETVAL, "timestamp", strlen("timestamp") , newSViv(timestamp), 0); - hv_store(RETVAL, "owner", strlen("owner") , newSVpv(owner, 0), 0); - hv_store(RETVAL, "lastChanged", strlen("lastChanged") , newSVpv(lastChanged, 0), 0); - if(helpText) - hv_store(RETVAL, "helpText", strlen("helpText") , newSVpv(helpText, 0), 0); - if (changeDiary) { - #if AR_EXPORT_VERSION >= 4 - ret = ARDecodeDiary(ctrl, changeDiary, &diaryList, &status); - #else - ret = ARDecodeDiary(changeDiary, &diaryList, &status); - #endif - if (!ARError(ret, status)) { - hv_store(RETVAL, "changeDiary", strlen("changeDiary") , - perl_ARList(ctrl, (ARList *)&diaryList, - (ARS_fn)perl_diary, - sizeof(ARDiaryStruct)), 0); - FreeARDiaryList(&diaryList, FALSE); - } - } - FreeARInternalIdList(&groupList, FALSE); - if(helpText) { - AP_FREE(helpText); - } - if(changeDiary) { - AP_FREE(changeDiary); - } - } - #else /* ARS32 or later */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "ars_GetAdminExtension() is not available in ARS3.2 or later."); - #endif /* ARS32 */ - } - OUTPUT: - RETVAL HV * --- 2918,2921 ---- *************** *** 4060,4137 **** - - - - - int - ars_CreateAdminExtension(ctrl, aeDefRef) - ARControlStruct * ctrl - SV * aeDefRef - CODE: - { - #if !defined(ARS32) && (AR_EXPORT_VERSION < 4) - int rv = 0, ret = 0; - ARNameType name, owner; - ARInternalIdList groupList; - char *command = CPNULL, - *helpText = CPNULL, - *changeDiary = CPNULL; - ARStatusList status; - - (void) ARError_reset(); - Zero(&status, 1, ARStatusList); - Zero(&groupList, 1, ARInternalIdList); - Zero(name, 1, ARNameType); - Zero(owner, 1, ARNameType); - RETVAL = 0; - - if(SvTYPE((SV *)SvRV(aeDefRef)) != SVt_PVHV) { - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_EXPECT_PVHV); - } else { - HV *aeDef = (HV *)SvRV(aeDefRef); - if(hv_exists(aeDef, "name", strlen("name") ) && - hv_exists(aeDef, "groupList", strlen("groupList") ) && - hv_exists(aeDef, "command", strlen("command") )) { - - rv += strcpyHVal( aeDef, "name", name, sizeof(ARNameType)); - rv += strmakHVal( aeDef, "command", &command); - if(hv_exists(aeDef, "helpText", strlen("helpText") )) - rv += strmakHVal( aeDef, "helpText", &helpText); - if(hv_exists(aeDef, "changeDiary", strlen("changeDiary") )) - rv += strmakHVal( aeDef, "changeDiary", &changeDiary); - if(hv_exists(aeDef, "owner", strlen("owner") )) - rv += strcpyHVal( aeDef, "owner", owner, - sizeof(ARNameType)); - else - strncpy(owner, ctrl->user, sizeof(ARNameType)); - - rv += rev_ARInternalIdList(ctrl, aeDef, "groupList", &groupList); - - if(rv == 0) { - ret = ARCreateAdminExtension(ctrl, name, &groupList, - command, helpText, owner, changeDiary, - &status); - if(!ARError( ret, status)) RETVAL = 1; - } else - ARError_add( AR_RETURN_ERROR, AP_ERR_PREREVFAIL); - } else { - ARError_add( AR_RETURN_ERROR, AP_ERR_NEEDKEYS); - ARError_add( AR_RETURN_ERROR, AP_ERR_NEEDKEYSKEYS, - "name, groupList, command"); - } - } - #else /* ARS32 or later */ - RETVAL = 0; - (void) ARError_add( AR_RETURN_ERROR, AP_ERR_DEPRECATED, "ars_CreateAdminExtension() is not available in ARS3.2 or later."); - #endif /* ARS32 */ - - } - OUTPUT: - RETVAL - - - - - #define STR_TEMP_SIZE 30 --- 3855,3858 ---- *************** *** 6929,6935 **** ################################################### ! # ALERT ROUTINES. as of 5.x, these replace the ! # Notifier routines found below. ! # int --- 6650,6654 ---- ################################################### ! # ALERT ROUTINES int Index: ARS.pm =================================================================== RCS file: /cvsroot/arsperl/ARSperl/ARS.pm,v retrieving revision 1.70 retrieving revision 1.71 diff -C2 -d -r1.70 -r1.71 *** ARS.pm 30 Jul 2007 20:25:23 -0000 1.70 --- ARS.pm 2 Aug 2007 14:24:59 -0000 1.71 *************** *** 82,86 **** ars_GetField ars_simpleMenu ars_GetListActiveLink ars_SetEntry ars_perl_qualifier ars_Export ars_GetListFilter ars_GetListEscalation ! ars_GetListCharMenu ars_GetListAdminExtension ars_padEntryid ars_GetFilter ars_SetFilter ars_GetListEntryWithFields ars_GetMultipleEntries --- 82,86 ---- ars_GetField ars_simpleMenu ars_GetListActiveLink ars_SetEntry ars_perl_qualifier ars_Export ars_GetListFilter ars_GetListEscalation ! ars_GetListCharMenu ars_padEntryid ars_GetFilter ars_SetFilter ars_GetListEntryWithFields ars_GetMultipleEntries *************** *** 89,101 **** ars_CreateEntry ars_MergeEntry ars_DeleteFilter ars_DeleteMultipleFields ars_DeleteActiveLink ! ars_DeleteAdminExtension ars_DeleteCharMenu ars_DeleteEscalation ars_DeleteField ars_DeleteSchema ! ars_DeleteVUI ars_ExecuteAdminExtension ars_ExecuteProcess ! ars_GetAdminExtension ars_GetEscalation ars_GetFullTextInfo ars_GetListGroup ars_GetListSQL ars_GetListUser ars_GetListVUI ars_GetServerInfo ars_SetServerInfo ars_GetEntryBLOB ! ars_CreateActiveLink ars_CreateAdminExtension ars_GetControlStructFields ars_GetVUI ars_GetListContainer ars_GetContainer ars_DeleteContainer ars_SetServerPort --- 89,101 ---- ars_CreateEntry ars_MergeEntry ars_DeleteFilter ars_DeleteMultipleFields ars_DeleteActiveLink ! ars_DeleteCharMenu ars_DeleteEscalation ars_DeleteField ars_DeleteSchema ! ars_DeleteVUI ars_ExecuteProcess ! ars_GetEscalation ars_GetFullTextInfo ars_GetListGroup ars_GetListSQL ars_GetListUser ars_GetListVUI ars_GetServerInfo ars_SetServerInfo ars_GetEntryBLOB ! ars_CreateActiveLink ars_GetControlStructFields ars_GetVUI ars_GetListContainer ars_GetContainer ars_DeleteContainer ars_SetServerPort |
From: Michiel B. <mic...@gm...> - 2007-08-02 13:24:57
|
Thilo, When I apply the fix you mentioned, I receive the following message when compiling. ARS.xs(1381) : warning C4133: '=' : incompatible types - from 'struct sv *' to ' struct hv *' Could you advise? If you could show how to fix it for ars_GetActiveLink I could try and apply it for the other calls. Kind regards, Michiel. On 8/1/07, Michiel Beijen <mic...@gm...> wrote: > Great, > i'll try to make the fix myself. > > -- > Michiel > > On 8/1/07, Thilo Stapff <thi...@ap...> wrote: > > Hi Michiel, > > > > the cause for this problem is probably as follows: > > In ARS.xs, the function ars_GetActiveLink contains the following lines > > (around line 1402): > > > > RETVAL = newHV(); > > sv_2mortal( (SV*) RETVAL ); > > if (!ARError( ret,status)) { > > .... > > > > This means that RETVAL contains always at least an empty hash, > > regardless of whatever ARError() further downways returns. > > > > Those lines should probably rather look like this: > > > > RETVAL = &PL_sv_undef; > > if (!ARError( ret,status)) { > > RETVAL = newHV(); > > sv_2mortal( (SV*) RETVAL ); > > .... > > > > Does this information help you to make the fix in ARS.xs? > > (note that most or even all of the other ars_Get... functions seem to > > suffer from the same problem) > > > > If it doesn't, I can do it myself, but probably not before next weekend. > > > > > > I've also determined the cause for the problem with ars_GetAlertCount: > > The line > > > > RETVAL=sv_2mortal(newSViv(count)); > > > > should be changed into > > > > RETVAL = newSViv(count); > > > > > > Moreover, the "qualifier" argument should be optional, so the line > > > > ars_GetAlertCount(ctrl,qualifier) > > > > should be changed into > > > > ars_GetAlertCount(ctrl,qualifier=NULL) > > > > > > Regards, > > Thilo > > > > > > Michiel Beijen wrote: > > > I was working on the example scripts and noted with the CopyActiveLink > > > script; if I supply a active link name that does not exist > > > ars_GetActiveLink does not die as I had expected. So the script > > > continues and it tries to create an (empty) active link and generates > > > nice and spooky error messages. > > > > > > C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar > > > C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > > > > > > [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) > > > [WARNING] schemaList (ARERR #80020) > > > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > > > [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) > > > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > > > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > > > [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > > > [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > > > [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) > > > [ERROR] Failed to convert some perl structures to ars structures. Create/Set op > > > ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line > > > 41. > > > > > > Also when I use the script to copy an active link that has a Change > > > Diary present, it > > > gives these error: > > > > > > C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat > > > a)" > > > ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > > > > > > [ERROR] strmakHVal: hash value is not a string (ARERR #80020) > > > [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope > > > ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. > > > > > > Should I file these bugs on Sourceforge or is this mail just fine? > > > I tried looking into ARS.xs to see if I can fix them myself but I do > > > not know C and it looks too complicated to me, I'm sorry. > > > > > > > > > ------------------------------------------------------------------------ > > > > > > ------------------------------------------------------------------------- > > > 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 > > > > > > ------------------------------------------------------------------------- > > 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 > > > -- Met vriendelijke groet / Kind regards Michiel Beijen ______________________________________________________ MANSOLUTIONS Energieweg 60-62 3771 NA Barneveld The Netherlands Tel. +31-(0)612968592 Mail mic...@ma... Internet http://bsm.mansolutions.nl |
From: Thilo S. <thi...@ap...> - 2007-08-01 13:52:34
|
Rather than importing, the action of CopyActiveLink is analogous to copying an active link in the admin tool via the "Save Active Link As" menu. In this case the new active link starts with an empty change diary. Regards, Thilo Michiel Beijen wrote: > Thilo, > I already noticed that the "Copy Of" bit was appended rather than prepended... > > I was a bit puzzled by the fact that you are able to import an active > link with diary entries with the Admin tool and that they will be > preserved. But the Admin tool uses the ARImport call instead of > CreateActiveLink. I will adjust the script and put it in the comments. > > Many thanks, > > Michiel > > On 8/1/07, Thilo Stapff <thi...@ap...> wrote: >> Sorry. I had overlooked that. >> >> This does somehow "work as designed", but should of course be documented. >> >> An change diary cannot simply be copied as a whole, because the >> ARCreateActiveLink function (in the Renedy C API) allows only a single >> initial change diary entry. >> >> The CopyActiveLink example script should probably contain lines like this: >> >> $a->{changeDiary} = qq/ActiveLink copied from "$a->{name}"/; >> $a->{name} = "Copy of " . $a->{name}; >> >> (note that >> $a->{name} .= "Copy of "; >> was also incorrect, since it would rename "TEST:ActiveLink" to >> "TEST:ActiveLinkCopy of ") >> >> You might also take a look at how this is handled in the test script >> t/34createacttlink.t >> >> >> Regards, >> Thilo >> >> >> Michiel Beijen wrote: >>> Great, >>> i'll try to make the fix myself. >>> >>> Can you give any advise on the issue with the Change Diary? >>> >>>>> Also when I use the script to copy an active link that has a Change >>>>> Diary present, it >>>>> gives these error: >>>>> >>>>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" >>> "Sample:SelectClass0(Dat >>> a)" >>>>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>>>> >>>>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) >>>>> [ERROR] Failed to convert some perl structures to ars structures. >>> Create/Set ope >>>>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. >>> -- >>> Michiel >>> >>> On 8/1/07, Thilo Stapff <thi...@ap...> wrote: >>>> Hi Michiel, >>>> >>>> the cause for this problem is probably as follows: >>>> In ARS.xs, the function ars_GetActiveLink contains the following lines >>>> (around line 1402): >>>> >>>> RETVAL = newHV(); >>>> sv_2mortal( (SV*) RETVAL ); >>>> if (!ARError( ret,status)) { >>>> .... >>>> >>>> This means that RETVAL contains always at least an empty hash, >>>> regardless of whatever ARError() further downways returns. >>>> >>>> Those lines should probably rather look like this: >>>> >>>> RETVAL = &PL_sv_undef; >>>> if (!ARError( ret,status)) { >>>> RETVAL = newHV(); >>>> sv_2mortal( (SV*) RETVAL ); >>>> .... >>>> >>>> Does this information help you to make the fix in ARS.xs? >>>> (note that most or even all of the other ars_Get... functions seem to >>>> suffer from the same problem) >>>> >>>> If it doesn't, I can do it myself, but probably not before next weekend. >>>> >>>> >>>> I've also determined the cause for the problem with ars_GetAlertCount: >>>> The line >>>> >>>> RETVAL=sv_2mortal(newSViv(count)); >>>> >>>> should be changed into >>>> >>>> RETVAL = newSViv(count); >>>> >>>> >>>> Moreover, the "qualifier" argument should be optional, so the line >>>> >>>> ars_GetAlertCount(ctrl,qualifier) >>>> >>>> should be changed into >>>> >>>> ars_GetAlertCount(ctrl,qualifier=NULL) >>>> >>>> >>>> Regards, >>>> Thilo >>>> >>>> >>>> Michiel Beijen wrote: >>>>> I was working on the example scripts and noted with the CopyActiveLink >>>>> script; if I supply a active link name that does not exist >>>>> ars_GetActiveLink does not die as I had expected. So the script >>>>> continues and it tries to create an (empty) active link and generates >>>>> nice and spooky error messages. >>>>> >>>>> C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar >>>>> C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>>>> >>>>> [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) >>>>> [WARNING] schemaList (ARERR #80020) >>>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>>> [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) >>>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>>>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>>>> [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) >>>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set op >>>>> ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line >>>>> 41. >>>>> >>>>> Also when I use the script to copy an active link that has a Change >>>>> Diary present, it >>>>> gives these error: >>>>> >>>>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat >>>>> a)" >>>>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>>>> >>>>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) >>>>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope >>>>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. >>>>> >>>>> Should I file these bugs on Sourceforge or is this mail just fine? >>>>> I tried looking into ARS.xs to see if I can fix them myself but I do >>>>> not know C and it looks too complicated to me, I'm sorry. >>>>> >>>>> >>>>> ------------------------------------------------------------------------ >>>>> >>>>> ------------------------------------------------------------------------- >>>>> 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 >>>> ------------------------------------------------------------------------- >>>> 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 >>>> >>> ------------------------------------------------------------------------- >>> 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 >>> >> >> ------------------------------------------------------------------------- >> 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-08-01 13:33:49
|
Thilo, I already noticed that the "Copy Of" bit was appended rather than prepended... I was a bit puzzled by the fact that you are able to import an active link with diary entries with the Admin tool and that they will be preserved. But the Admin tool uses the ARImport call instead of CreateActiveLink. I will adjust the script and put it in the comments. Many thanks, Michiel On 8/1/07, Thilo Stapff <thi...@ap...> wrote: > Sorry. I had overlooked that. > > This does somehow "work as designed", but should of course be documented. > > An change diary cannot simply be copied as a whole, because the > ARCreateActiveLink function (in the Renedy C API) allows only a single > initial change diary entry. > > The CopyActiveLink example script should probably contain lines like this: > > $a->{changeDiary} = qq/ActiveLink copied from "$a->{name}"/; > $a->{name} = "Copy of " . $a->{name}; > > (note that > $a->{name} .= "Copy of "; > was also incorrect, since it would rename "TEST:ActiveLink" to > "TEST:ActiveLinkCopy of ") > > You might also take a look at how this is handled in the test script > t/34createacttlink.t > > > Regards, > Thilo > > > Michiel Beijen wrote: > > Great, > > i'll try to make the fix myself. > > > > Can you give any advise on the issue with the Change Diary? > > > >>> Also when I use the script to copy an active link that has a Change > >>> Diary present, it > >>> gives these error: > >>> > >>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" > > "Sample:SelectClass0(Dat > > a)" > >>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > >>> > >>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) > >>> [ERROR] Failed to convert some perl structures to ars structures. > > Create/Set ope > >>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. > > > > -- > > Michiel > > > > On 8/1/07, Thilo Stapff <thi...@ap...> wrote: > >> Hi Michiel, > >> > >> the cause for this problem is probably as follows: > >> In ARS.xs, the function ars_GetActiveLink contains the following lines > >> (around line 1402): > >> > >> RETVAL = newHV(); > >> sv_2mortal( (SV*) RETVAL ); > >> if (!ARError( ret,status)) { > >> .... > >> > >> This means that RETVAL contains always at least an empty hash, > >> regardless of whatever ARError() further downways returns. > >> > >> Those lines should probably rather look like this: > >> > >> RETVAL = &PL_sv_undef; > >> if (!ARError( ret,status)) { > >> RETVAL = newHV(); > >> sv_2mortal( (SV*) RETVAL ); > >> .... > >> > >> Does this information help you to make the fix in ARS.xs? > >> (note that most or even all of the other ars_Get... functions seem to > >> suffer from the same problem) > >> > >> If it doesn't, I can do it myself, but probably not before next weekend. > >> > >> > >> I've also determined the cause for the problem with ars_GetAlertCount: > >> The line > >> > >> RETVAL=sv_2mortal(newSViv(count)); > >> > >> should be changed into > >> > >> RETVAL = newSViv(count); > >> > >> > >> Moreover, the "qualifier" argument should be optional, so the line > >> > >> ars_GetAlertCount(ctrl,qualifier) > >> > >> should be changed into > >> > >> ars_GetAlertCount(ctrl,qualifier=NULL) > >> > >> > >> Regards, > >> Thilo > >> > >> > >> Michiel Beijen wrote: > >>> I was working on the example scripts and noted with the CopyActiveLink > >>> script; if I supply a active link name that does not exist > >>> ars_GetActiveLink does not die as I had expected. So the script > >>> continues and it tries to create an (empty) active link and generates > >>> nice and spooky error messages. > >>> > >>> C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar > >>> C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > >>> > >>> [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) > >>> [WARNING] schemaList (ARERR #80020) > >>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > >>> [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) > >>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > >>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > >>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > >>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > >>> [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) > >>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set op > >>> ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line > >>> 41. > >>> > >>> Also when I use the script to copy an active link that has a Change > >>> Diary present, it > >>> gives these error: > >>> > >>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat > >>> a)" > >>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > >>> > >>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) > >>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope > >>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. > >>> > >>> Should I file these bugs on Sourceforge or is this mail just fine? > >>> I tried looking into ARS.xs to see if I can fix them myself but I do > >>> not know C and it looks too complicated to me, I'm sorry. > >>> > >>> > >>> ------------------------------------------------------------------------ > >>> > >>> ------------------------------------------------------------------------- > >>> 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 > >> > >> ------------------------------------------------------------------------- > >> 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 > >> > > > > ------------------------------------------------------------------------- > > 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 > > > > > ------------------------------------------------------------------------- > 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 > -- Met vriendelijke groet / Kind regards Michiel Beijen ______________________________________________________ MANSOLUTIONS Energieweg 60-62 3771 NA Barneveld The Netherlands Tel. +31-(0)612968592 Mail mic...@ma... Internet http://bsm.mansolutions.nl |
From: Thilo S. <thi...@ap...> - 2007-08-01 13:01:13
|
Sorry. I had overlooked that. This does somehow "work as designed", but should of course be documented. An change diary cannot simply be copied as a whole, because the ARCreateActiveLink function (in the Renedy C API) allows only a single initial change diary entry. The CopyActiveLink example script should probably contain lines like this: $a->{changeDiary} = qq/ActiveLink copied from "$a->{name}"/; $a->{name} = "Copy of " . $a->{name}; (note that $a->{name} .= "Copy of "; was also incorrect, since it would rename "TEST:ActiveLink" to "TEST:ActiveLinkCopy of ") You might also take a look at how this is handled in the test script t/34createacttlink.t Regards, Thilo Michiel Beijen wrote: > Great, > i'll try to make the fix myself. > > Can you give any advise on the issue with the Change Diary? > >>> Also when I use the script to copy an active link that has a Change >>> Diary present, it >>> gives these error: >>> >>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" > "Sample:SelectClass0(Dat > a)" >>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>> >>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) >>> [ERROR] Failed to convert some perl structures to ars structures. > Create/Set ope >>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. > > -- > Michiel > > On 8/1/07, Thilo Stapff <thi...@ap...> wrote: >> Hi Michiel, >> >> the cause for this problem is probably as follows: >> In ARS.xs, the function ars_GetActiveLink contains the following lines >> (around line 1402): >> >> RETVAL = newHV(); >> sv_2mortal( (SV*) RETVAL ); >> if (!ARError( ret,status)) { >> .... >> >> This means that RETVAL contains always at least an empty hash, >> regardless of whatever ARError() further downways returns. >> >> Those lines should probably rather look like this: >> >> RETVAL = &PL_sv_undef; >> if (!ARError( ret,status)) { >> RETVAL = newHV(); >> sv_2mortal( (SV*) RETVAL ); >> .... >> >> Does this information help you to make the fix in ARS.xs? >> (note that most or even all of the other ars_Get... functions seem to >> suffer from the same problem) >> >> If it doesn't, I can do it myself, but probably not before next weekend. >> >> >> I've also determined the cause for the problem with ars_GetAlertCount: >> The line >> >> RETVAL=sv_2mortal(newSViv(count)); >> >> should be changed into >> >> RETVAL = newSViv(count); >> >> >> Moreover, the "qualifier" argument should be optional, so the line >> >> ars_GetAlertCount(ctrl,qualifier) >> >> should be changed into >> >> ars_GetAlertCount(ctrl,qualifier=NULL) >> >> >> Regards, >> Thilo >> >> >> Michiel Beijen wrote: >>> I was working on the example scripts and noted with the CopyActiveLink >>> script; if I supply a active link name that does not exist >>> ars_GetActiveLink does not die as I had expected. So the script >>> continues and it tries to create an (empty) active link and generates >>> nice and spooky error messages. >>> >>> C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar >>> C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>> >>> [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) >>> [WARNING] schemaList (ARERR #80020) >>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>> [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) >>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>> [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) >>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>> [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) >>> [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) >>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set op >>> ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line >>> 41. >>> >>> Also when I use the script to copy an active link that has a Change >>> Diary present, it >>> gives these error: >>> >>> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat >>> a)" >>> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >>> >>> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) >>> [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope >>> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. >>> >>> Should I file these bugs on Sourceforge or is this mail just fine? >>> I tried looking into ARS.xs to see if I can fix them myself but I do >>> not know C and it looks too complicated to me, I'm sorry. >>> >>> >>> ------------------------------------------------------------------------ >>> >>> ------------------------------------------------------------------------- >>> 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 >> >> ------------------------------------------------------------------------- >> 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 >> > > ------------------------------------------------------------------------- > 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-08-01 12:38:02
|
Great, i'll try to make the fix myself. Can you give any advise on the issue with the Change Diary? >> Also when I use the script to copy an active link that has a Change >> Diary present, it >> gives these error: >> >> C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat a)" >> ars_CopyActiveLink.pl: ERROR in CreateActiveLink: >> >> [ERROR] strmakHVal: hash value is not a string (ARERR #80020) >> [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope >> ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. -- Michiel On 8/1/07, Thilo Stapff <thi...@ap...> wrote: > Hi Michiel, > > the cause for this problem is probably as follows: > In ARS.xs, the function ars_GetActiveLink contains the following lines > (around line 1402): > > RETVAL = newHV(); > sv_2mortal( (SV*) RETVAL ); > if (!ARError( ret,status)) { > .... > > This means that RETVAL contains always at least an empty hash, > regardless of whatever ARError() further downways returns. > > Those lines should probably rather look like this: > > RETVAL = &PL_sv_undef; > if (!ARError( ret,status)) { > RETVAL = newHV(); > sv_2mortal( (SV*) RETVAL ); > .... > > Does this information help you to make the fix in ARS.xs? > (note that most or even all of the other ars_Get... functions seem to > suffer from the same problem) > > If it doesn't, I can do it myself, but probably not before next weekend. > > > I've also determined the cause for the problem with ars_GetAlertCount: > The line > > RETVAL=sv_2mortal(newSViv(count)); > > should be changed into > > RETVAL = newSViv(count); > > > Moreover, the "qualifier" argument should be optional, so the line > > ars_GetAlertCount(ctrl,qualifier) > > should be changed into > > ars_GetAlertCount(ctrl,qualifier=NULL) > > > Regards, > Thilo > > > Michiel Beijen wrote: > > I was working on the example scripts and noted with the CopyActiveLink > > script; if I supply a active link name that does not exist > > ars_GetActiveLink does not die as I had expected. So the script > > continues and it tries to create an (empty) active link and generates > > nice and spooky error messages. > > > > C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar > > C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > > > > [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) > > [WARNING] schemaList (ARERR #80020) > > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > > [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) > > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > > [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > > [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > > [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) > > [ERROR] Failed to convert some perl structures to ars structures. Create/Set op > > ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line > > 41. > > > > Also when I use the script to copy an active link that has a Change > > Diary present, it > > gives these error: > > > > C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat > > a)" > > ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > > > > [ERROR] strmakHVal: hash value is not a string (ARERR #80020) > > [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope > > ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. > > > > Should I file these bugs on Sourceforge or is this mail just fine? > > I tried looking into ARS.xs to see if I can fix them myself but I do > > not know C and it looks too complicated to me, I'm sorry. > > > > > > ------------------------------------------------------------------------ > > > > ------------------------------------------------------------------------- > > 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 > > > ------------------------------------------------------------------------- > 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-08-01 12:09:43
|
Hi Michiel, the cause for this problem is probably as follows: In ARS.xs, the function ars_GetActiveLink contains the following lines (around line 1402): RETVAL = newHV(); sv_2mortal( (SV*) RETVAL ); if (!ARError( ret,status)) { .... This means that RETVAL contains always at least an empty hash, regardless of whatever ARError() further downways returns. Those lines should probably rather look like this: RETVAL = &PL_sv_undef; if (!ARError( ret,status)) { RETVAL = newHV(); sv_2mortal( (SV*) RETVAL ); .... Does this information help you to make the fix in ARS.xs? (note that most or even all of the other ars_Get... functions seem to suffer from the same problem) If it doesn't, I can do it myself, but probably not before next weekend. I've also determined the cause for the problem with ars_GetAlertCount: The line RETVAL=sv_2mortal(newSViv(count)); should be changed into RETVAL = newSViv(count); Moreover, the "qualifier" argument should be optional, so the line ars_GetAlertCount(ctrl,qualifier) should be changed into ars_GetAlertCount(ctrl,qualifier=NULL) Regards, Thilo Michiel Beijen wrote: > I was working on the example scripts and noted with the CopyActiveLink > script; if I supply a active link name that does not exist > ars_GetActiveLink does not die as I had expected. So the script > continues and it tries to create an (empty) active link and generates > nice and spooky error messages. > > C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar > C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > > [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) > [WARNING] schemaList (ARERR #80020) > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) > [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) > [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) > [ERROR] Failed to convert some perl structures to ars structures. Create/Set op > ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line > 41. > > Also when I use the script to copy an active link that has a Change > Diary present, it > gives these error: > > C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat > a)" > ars_CopyActiveLink.pl: ERROR in CreateActiveLink: > > [ERROR] strmakHVal: hash value is not a string (ARERR #80020) > [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope > ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. > > Should I file these bugs on Sourceforge or is this mail just fine? > I tried looking into ARS.xs to see if I can fix them myself but I do > not know C and it looks too complicated to me, I'm sorry. > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------- > 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-31 20:37:26
|
I was working on the example scripts and noted with the CopyActiveLink script; if I supply a active link name that does not exist ars_GetActiveLink does not die as I had expected. So the script continues and it tries to create an (empty) active link and generates nice and spooky error messages. C:\ARSperl\example>ars_CopyActiveLink.pl ms-marimba Demo "" bar C:\ARSperl\example\ars_CopyActiveLink.pl: ERROR in CreateActiveLink: [WARNING] rev_ARNameList: key doesn't exist (ARERR #80020) [WARNING] schemaList (ARERR #80020) [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) [WARNING] rev_ARInternalIdList: key doesn't exist (ARERR #80020) [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) [WARNING] uintcpyHVal: key doesn't exist (ARERR #80020) [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) [WARNING] rev_ARActiveLinkActionList: key doesn't exist (ARERR #80020) [WARNING] ulongcpyHVal: key doesn't exist (ARERR #80020) [ERROR] Failed to convert some perl structures to ars structures. Create/Set op ration aborted. (ARERR #80024) at C:\ARSperl\example\ars_CopyActiveLink.pl line 41. Also when I use the script to copy an active link that has a Change Diary present, it gives these error: C:\public>perl ars_CopyActiveLink.pl ms-marimba Demo "" "Sample:SelectClass0(Dat a)" ars_CopyActiveLink.pl: ERROR in CreateActiveLink: [ERROR] strmakHVal: hash value is not a string (ARERR #80020) [ERROR] Failed to convert some perl structures to ars structures. Create/Set ope ration aborted. (ARERR #80024) at ars_CopyActiveLink.pl line 41. Should I file these bugs on Sourceforge or is this mail just fine? I tried looking into ARS.xs to see if I can fix them myself but I do not know C and it looks too complicated to me, I'm sorry. -- Michiel |
From: Michiel B. <mb...@us...> - 2007-07-31 19:33:14
|
Update of /cvsroot/arsperl/ARSperl/example/2.x In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv12418/2.x Removed Files: Notifier.pl Log Message: Removed old examples; i will tidy the other ones in the coming days. --- Notifier.pl DELETED --- |
From: Michiel B. <mb...@us...> - 2007-07-31 19:33:14
|
Update of /cvsroot/arsperl/ARSperl/example In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv12418 Removed Files: ListNTServers.pl Log Message: Removed old examples; i will tidy the other ones in the coming days. --- ListNTServers.pl DELETED --- |
From: Michiel B. <mb...@us...> - 2007-07-31 19:33:13
|
Update of /cvsroot/arsperl/ARSperl/example/3.x In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv12418/3.x Removed Files: Notifier.pl SendNotification.pl Log Message: Removed old examples; i will tidy the other ones in the coming days. --- Notifier.pl DELETED --- --- SendNotification.pl DELETED --- |
From: Michiel B. <mb...@us...> - 2007-07-31 06:28:51
|
Update of /cvsroot/arsperl/ARSperl/html In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv11549 Modified Files: index.html Log Message: Removed ars_NT calls from documentation Index: index.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/index.html,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** index.html 20 Jul 2007 19:58:00 -0000 1.30 --- index.html 31 Jul 2007 06:28:50 -0000 1.31 *************** *** 1,103 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl: ARS v2-v4 / Perl5 Integration Kit</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! <IMG ALT="ARSPerl" SRC="arsperl-logo.gif"> - <H2> Overview </H2> ! <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 ! <A HREF="artistic.txt">licensing terms of Perl itself</A>. <P> ! We hope that other ARS fans find the kit useful. ! <H2> Version </H2> ! The current release is Version 1.90 and has support for the AR 5.0 through 7.0 ! API. ! <P> ! <H2> <A HREF="changes.html">Release Notes</a> </H2> ! <H2> Support OS's </H2> ! The perl extension has been tested on the following OS's: ! <UL> ! <LI> Solaris 2.x ! <LI> SunOS 4.x ! <LI> Irix ! <LI> HP-UX ! <LI> AIX ! <LI> Windows NT ! <LI> NCR Unix ! </UL> ! <H2> Bug Reports </H2> ! Having problems? ! <a href="http://sourceforge.net/tracker/?atid=673428&group_id=116013&func=browse">Log a report</a> or ! send a message to the <A href="#mailinglist">mailing list</a>. Note that ! you <I>must</I> be a subscriber in order to post to the list. <P> ! ! Be sure to include the following information in your message: <P> ! <OL> ! <LI> OS (operating system) version (example: Solaris 2.5) ! <LI> Perl version (example: 5.003) ! <LI> ARSystem version you are connecting to (example: 2.1) ! <LI> API version you compiled against (example: 2.1.3) ! <LI> ARSperl version (example: 1.42) ! <LI> A <I>thorough</I> description of the problem. ! </OL> ! <A NAME="mailinglist"> ! <H2> Mailing List </H2> ! </A> ! A mailing list is available for discussions of this perl extension. ! <A HREF="http://sourceforge.net/mailarchive/forum.php?forum_id=42323">Archives of the mailing list are also available.</A> ! <UL> ! <B><a href="http://lists.sourceforge.net/lists/listinfo/arsperl-users">Subscribe here!</a> </B><P> ! </UL> ! <H3> <A HREF="install.html">Installation</A> </H3> ! <H3> Utilities </H3> ! Utilities that we've written with ARSperl that are handy to have. These ! can be found in the <I>examples</I> directory of the distribution. ! <BLOCKQUOTE> ! <DL> ! <DT><A HREF="WhoUsesIt.html">WhoUsesIt.pl</A><DD> ! A script to help you track down filters, schemas etc. Good ! for when you try to document your system layout. ! <DT><A HREF="DumpSetup.html">DumpSetup.pl</A><DD> ! A utility for maintaining backup copies of server definitions ! (when run nightly as a cron job). ! <DT><A HREF="AddUsersToGroup.html">AddUsersToGroup.pl</A><DD> ! Add multiple users to a group. ! <DT><A HREF="DelUsersFromGroup.html">DelUsersFromGroup.pl</A><DD> ! Remove multiple users from a group. ! </DL> ! </BLOCKQUOTE> ! <H3> Programmer's Guide </H3> ! <A HREF="manual/toc.html">An online guide</A> is available to help use the ! functions that this kit adds to the standard perl distribution. ! <HR> ! Last Updated: 18 Sep 2004<BR> ! <P> ! The Remedy Logo is a trademark of ! <A HREF="http://www.remedy.com/">Remedy Corporation</A>. ! </BODY> ! </HTML> --- 1,136 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! <title>ARSperl: BMC Remedy v2-v7 / Perl5 Integration Kit</title> ! </head> ! <body style="background-color: rgb(255, 255, 255);"> ! <img alt="ARSPerl" src="arsperl-logo.gif"> ! <h2> Overview </h2> ! <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 <a href="artistic.txt">licensing ! terms of Perl itself</a>. ! <p> We hope that other ARS fans find the kit useful. </p> ! <h2> Version </h2> ! The current release is version 1.91 and has support for the AR 5.0 ! through 7.01 ! API. ! <p> </p> ! <h2> <a href="changes.html">Release Notes</a> ! </h2> ! <h2> Support OS's </h2> ! The perl extension has been tested on the following OS's: ! <ul> ! <li> Solaris 2.x </li> ! <li> SunOS 4.x </li> ! <li> Irix </li> ! <li> HP-UX </li> ! <li> AIX </li> ! <li> Windows NT </li> ! <li> NCR Unix </li> ! </ul> ! <h2> Bug Reports </h2> ! Having problems? <a href="http://sourceforge.net/tracker/?atid=673428&group_id=116013&func=browse">Log ! a report</a> or send a message to the <a href="#mailinglist">mailing ! list</a>. Note that you <i>must</i> be a subscriber ! in order to post to the list. ! <p> Be sure to include the following information in your message: ! </p> ! <p> </p> ! <ol> ! ! <li> OS (operating system) version (example: RHEL 4) </li> ! ! <li> Perl version (output from perl -v) </li> ! ! <li> ARSystem version you are connecting to (example: 6.3) </li> ! ! <li> API version you compiled against (example: 7.0) </li> ! ! <li> ARSperl version (example: 1.91) </li> ! ! <li> A <i>thorough</i> description of the problem. ! </li> ! ! </ol> ! ! <a name="mailinglist"> ! <h2> Mailing List </h2> ! ! </a> A mailing list is available for discussions of this perl ! extension. <a href="http://sourceforge.net/mailarchive/forum.php?forum_id=42323">Archives ! of the mailing list are also available.</a> ! <ul> ! ! <b><a href="http://lists.sourceforge.net/lists/listinfo/arsperl-users">Subscribe ! here!</a> </b> ! <p> </p> ! ! </ul> ! ! <h3> <a href="install.html">Installation</a> </h3> ! ! <h3> Utilities </h3> ! ! Utilities that we've written with ARSperl that are handy to have. These ! can be found in the <i>examples</i> directory of the ! distribution. ! <blockquote> ! <dl> ! ! <dt><a href="WhoUsesIt.html">WhoUsesIt.pl</a></dt> ! ! <dd> A script to help you track down filters, schemas etc. ! Good for when you try to document your system layout. </dd> ! ! <dt><a href="DumpSetup.html">DumpSetup.pl</a></dt> ! ! <dd> A utility for maintaining backup copies of server ! definitions (when run nightly as a cron job). </dd> ! ! <dt><a href="AddUsersToGroup.html">AddUsersToGroup.pl</a></dt> ! ! <dd> Add multiple users to a group. </dd> ! ! <dt><a href="DelUsersFromGroup.html">DelUsersFromGroup.pl</a></dt> ! ! <dd> Remove multiple users from a group. </dd> ! ! </dl> ! ! </blockquote> ! ! <h3> Programmer's Guide </h3> ! ! <a href="manual/toc.html">An online guide</a> is ! available to help use the functions that this kit adds to the standard ! perl distribution. ! <hr> Last Updated: 27 Jul 2007<br> ! ! <p> The Remedy Logo is a trademark of <a href="http://www.remedy.com/">Remedy Corporation</a>. </p> ! ! </body> ! </html> |
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv11549/manual Removed Files: ars_NTCheckRegisteredClient.html ars_NTDeregisterClient.html ars_NTDeregisterServer.html ars_NTGetListServer.html ars_NTInitializationClient.html ars_NTInitializationServer.html ars_NTNotificationClient.html ars_NTNotificationServer.html ars_NTRegisterClient.html ars_NTRegisterServer.html ars_NTTerminationClient.html ars_NTTerminationServer.html Log Message: Removed ars_NT calls from documentation --- ars_NTNotificationServer.html DELETED --- --- ars_NTInitializationClient.html DELETED --- --- ars_NTCheckRegisteredClient.html DELETED --- --- ars_NTTerminationClient.html DELETED --- --- ars_NTInitializationServer.html DELETED --- --- ars_NTRegisterServer.html DELETED --- --- ars_NTDeregisterClient.html DELETED --- --- ars_NTTerminationServer.html DELETED --- --- ars_NTRegisterClient.html DELETED --- --- ars_NTDeregisterServer.html DELETED --- --- ars_NTGetListServer.html DELETED --- --- ars_NTNotificationClient.html DELETED --- |
From: Michiel B. <mb...@us...> - 2007-07-30 20:28:45
|
Update of /cvsroot/arsperl/ARSperl/html/manual In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv31257 Modified Files: toc.html Log Message: removed notification calls Index: toc.html =================================================================== RCS file: /cvsroot/arsperl/ARSperl/html/manual/toc.html,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** toc.html 6 Mar 2007 01:54:27 -0000 1.25 --- toc.html 30 Jul 2007 20:28:46 -0000 1.26 *************** *** 1,239 **** ! <HTML> ! <HEAD> ! <TITLE>ARSperl Manual</TITLE> ! </HEAD> ! <BODY BGCOLOR="#FFFFFF"> ! <CENTER> ! <H1>ARSperl Programmer's Manual</H1> ! <H2>Table of Contents</H2> ! </CENTER> ! <DL> ! <DT><A HREF="loading.html">Loading the extension</A> ! <DD> ! <P> - <DT><B>Reserved variables</B> - <DD> - <P> - <UL> - <LI><A HREF="variables.html#ars_errstr">ars_errstr</A> - <LI><A HREF="variables.html#ars_errhash">ars_errhash</A> - </UL> - <P> ! <DT><B>ARSperl OO Layer</B> ! <DD> ! <P> ! <UL> ! <LI><A HREF="OO/index.html">Feature Overview</A> ! <LI><A HREF="OO/connection.html">Connection Object</A> ! <UL> ! <LI><A HREF="OO/connection.html#new">constructor</A> ! <LI><A HREF="OO/connection.html#DESTROY">destructor</A> ! <LI><A HREF="OO/connection.html#ctrl">ctrl()</A> ! <LI><A HREF="OO/connection.html#print">print()</A> ! <LI><A HREF="OO/connection.html#availableSchemas">availableSchemas()</A> ! <LI><A HREF="OO/connection.html#openForm">openForm()</A> ! </UL> ! <LI><A HREF="OO/form.html">Form Object</A> ! <UL> ! <LI><A HREF="OO/form.html#new">constructor</A> ! <LI><A HREF="OO/form.html#DESTROY">destructor</A> ! <LI><A HREF="OO/form.html#query">query()</A> ! <LI><A HREF="OO/form.html#getEnumValues">getEnumValues()</A> ! <LI><A HREF="OO/form.html#getFieldID">getFieldID()</A> ! <LI><A HREF="OO/form.html#getFieldName">getFieldName()</A> ! <LI><A HREF="OO/form.html#getFieldType">getFieldType()</A> ! <LI><A HREF="OO/form.html#create">create()</A> ! <LI><A HREF="OO/form.html#delete">delete()</A> ! <LI><A HREF="OO/form.html#set">set()</A> ! <LI><A HREF="OO/form.html#get">get()</A> ! <LI><A HREF="OO/form.html#getAsHash">getAsHash()</A> ! <LI><A HREF="OO/form.html#getAttachment">getAttachment()</A> ! <LI><A HREF="OO/form.html#value2internal">value2internal()</A> ! <LI><A HREF="OO/form.html#internal2value">internal2value()</A> ! <LI><A HREF="OO/form.html#setSort">setSort()</A> ! </UL> ! </UL> ! <P> ! <DT><B>Perl Functions</B> ! <DD> ! <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> ! <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> ! <LI><A HREF="ars_DeleteField.html">ars_DeleteField</A> ! <LI><A HREF="ars_DeleteFilter.html">ars_DeleteFilter</A> ! <LI><A HREF="ars_DeleteMultipleFields.html">ars_DeleteMultipleFields</A> ! <LI><A HREF="ars_DeleteSchema.html">ars_DeleteSchema</A> ! <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> ! <LI><A HREF="ars_Export.html">ars_Export</A> ! <LI><A HREF="ars_GetActiveLink.html">ars_GetActiveLink</A> ! <LI><A HREF="ars_GetAdminExtension.html">ars_GetAdminExtension</A> <B>(2.x/3.0)</B> ! <LI><A HREF="ars_GetAlertCount.html">ars_GetAlertCount</A> ! <LI><A HREF="ars_GetCharMenu.html">ars_GetCharMenu</A> ! <LI><A HREF="ars_GetContainer.html">ars_GetContainer</A> ! <LI><A HREF="ars_GetCharMenuItems.html">ars_GetCharMenuItems</A> ! <LI><A HREF="ars_GetEntry.html">ars_GetEntry</A> ! <LI><A HREF="ars_GetEntryBLOB.html">ars_GetEntryBLOB</A> ! <LI><A HREF="ars_GetEscalation.html">ars_GetEscalation</A> ! <LI><A HREF="ars_GetField.html">ars_GetField</A> ! <LI><A HREF="ars_GetFieldByName.html">ars_GetFieldByName</A> ! <LI><A HREF="ars_GetFieldTable.html">ars_GetFieldTable</A> ! <LI><A HREF="ars_GetFilter.html">ars_GetFilter</A> ! <LI><A HREF="ars_GetFullTextInfo.html">ars_GetFullTextInfo</A> ! <LI><A HREF="ars_GetListActiveLink.html">ars_GetListActiveLink</A> ! <LI><A HREF="ars_GetListAdminExtension.html">ars_GetListAdminExtension</A> ! <LI><A HREF="ars_GetListAlertUser.html">ars_GetListAlertUser</A> ! <LI><A HREF="ars_GetListCharMenu.html">ars_GetListCharMenu</A> ! <LI><A HREF="ars_GetListContainer.html">ars_GetListContainer</A> ! <LI><A HREF="ars_GetListEntry.html">ars_GetListEntry</A> ! <LI><A HREF="ars_GetListEntryWithFields.html">ars_GetListEntryWithFields</A> ! <LI><A HREF="ars_GetListEscalation.html">ars_GetListEscalation</A> ! <LI><A HREF="ars_GetListField.html">ars_GetListField</A> ! <LI><A HREF="ars_GetListFilter.html">ars_GetListFilter</A> ! <LI><A HREF="ars_GetListGroup.html">ars_GetListGroup</A> ! <LI><A HREF="ars_GetListSchema.html">ars_GetListSchema</A> ! <LI><A HREF="ars_GetListServer.html">ars_GetListServer</A> ! <LI><A HREF="ars_GetListSQL.html">ars_GetListSQL</A> ! <LI><A HREF="ars_GetListUser.html">ars_GetListUser</A> ! <LI><A HREF="ars_GetListVUI.html">ars_GetListVUI</A> ! <LI><A HREF="ars_GetMultipleEntries.html">ars_GetMultipleEntries</A> ! <LI><A HREF="ars_GetSchema.html">ars_GetSchema</A> ! <LI><A HREF="ars_GetServerInfo.html">ars_GetServerInfo</A> ! <LI><A HREF="ars_GetServerStatistics.html">ars_GetServerStatistics</A> ! <LI><A HREF="ars_GetVUI.html">ars_GetVUI</A> ! <LI><A HREF="ars_Import.html">ars_Import</A> ! <LI><A HREF="ars_LoadQualifier.html">ars_LoadQualifier</A> ! <LI><A HREF="ars_Login.html">ars_Login</A> ! <LI><A HREF="ars_Logoff.html">ars_Logoff</A> ! <LI><A HREF="ars_MergeEntry.html">ars_MergeEntry</A> ! <LI><A HREF="ars_NTCheckRegisteredClient.html">ars_NTCheckRegisteredClient</A> <B>(2.x)</B> ! <LI><A HREF="ars_NTDeregisterClient.html">ars_NTDeregisterClient</A> <B>(2.x)</B> ! <LI><A HREF="ars_NTDeregisterServer.html">ars_NTDeregisterServer</A> <B>(3.x)</B> ! <LI><A HREF="ars_NTGetListServer.html">ars_NTGetListServer</A> <B>(2.x / 3.x)</B> ! <LI><A HREF="ars_NTInitializationClient.html">ars_NTInitializationClient</A> <B>(2.x)</B> ! <LI><A HREF="ars_NTInitializationServer.html">ars_NTInitializationServer</A> <B>(3.x)</B> ! <LI><A HREF="ars_NTNotificationClient.html">ars_NTNotificationClient</A><B>(2.x)</B> ! <LI><A HREF="ars_NTNotificationServer.html">ars_NTNotificationServer</A><B>(3.x)</B> ! <LI><A HREF="ars_NTRegisterClient.html">ars_NTRegisterClient</A> <B>(2.x)</B> ! <LI><A HREF="ars_NTRegisterServer.html">ars_NTRegisterServer</A> <B>(3.x)</B> ! <LI><A HREF="ars_NTTerminationClient.html">ars_NTTerminationClient</A> <B>(2.x)</B> ! <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> ! <DT><B>Perl helper functions</B> ! <DD> ! <p> These functions are not part of the ARS API. They are part of the ARS Perl Extension that were written as an extension of the API. They are intended to make life a little easier in some cases. ! <P> ! <UL> ! <LI><A HREF="ars_APIVersion.html">ars_APIVersion</A> ! <LI><A HREF="ars_decodeStatusHistory.html">ars_decodeStatusHistory</A> ! <LI><A HREF="ars_encodeStatusHistory.html">ars_decodeStatusHistory</A> ! <LI><A HREF="ars_EncodeDiary.html">ars_EncodeDiary</A> ! <LI><A HREF="ars_GetControlStructFields.html">ars_GetControlStructFields</A> ! <LI><A HREF="ars_GetCurrentServer.html">ars_GetCurrentServer</A> ! <LI><A HREF="ars_GetProfileInfo.html">ars_GetProfileInfo</A> ! <LI><A HREF="ars_padEntryid.html">ars_padEntryid</A> ! <LI><A HREF="ars_perl_qualifier.html">ars_perl_qualifier</A> ! <LI><A HREF="ars_simpleMenu.html">ars_simpleMenu</A> ! </UL> ! <P> ! <DT><B>Data structures</B> ! <DD> ! <P> ! <UL> ! <LI><A HREF="ds_al.html"> Active Link Attributes Structure</A> ! <ul> ! <LI><A HREF="ds_alas.html"> Active Link Action Structure</A> ! <LI><A HREF="ds_alms.html"> Active Link Macro Structure</A> ! </ul> ! <LI><A HREF="ds_as.html"> Assign Structure</A> ! <ul> ! <LI><A HREF="ds_aoas.html"> Arith Op Assign Structure</A> ! <LI><A HREF="ds_afs.html"> Assign Field Structure</A> ! <LI><A HREF="ds_fncas.html"> Function Assign Structure</A> ! <LI><A HREF="ds_vs.html"> Value Structure</A> ! </ul> ! <LI><A HREF="ds_getadminext_hash.html"> Admin Extension Attributes Structure</a> ! <LI><A HREF="ds_getcharmenu_hash.html"> Character Menu Structure</a> ! <UL> ! <LI><A HREF="ds_charmenu_query_hash.html">Query Hash</A> ! <LI><A HREF="ds_charmenu_sql_hash.html">SQL Hash</A> ! <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> ! <LI><A HREF="ds_getescalation_hash.html"> Escalation Attributes Structure</a> ! <LI><A HREF="ds_fas.html"> Field Assign Structure</A> ! <LI><A HREF="ds_fc.html"> Field Characteristics</A> ! <LI><A HREF="ds_fls.html"> Field Limit Structure</A> ! <LI><A HREF="ds_getfulltextinfo_hash.html"> Full Text Info Structure</a> ! <LI><A HREF="ds_is.html"> Index Structure</A> ! <LI><A HREF="ds_getlistgroup_hash.html"> List Group Structure</a> ! <LI><A HREF="ds_getlistsql_hash.html"> List SQL Structure</a> ! <LI><A HREF="ds_getlistuser_hash.html"> List User Structure</a> ! <LI><A HREF="ds_mps.html"> Macro Parm Structure</A> ! <LI><A HREF="ds_schema.html">Schema Attributes Structure</A> ! <UL> ! <LI><A HREF="ds_elfs.html"> Entry List Field Structure</A> ! </UL> ! <LI><A HREF="ds_shv.html"> Status History Value</A> ! <LI><A HREF="ds_getvui_hash.html"> VUI Attributes Structure</a> ! </UL> ! </DL> ! <HR> ! <ADDRESS> ! <A href="../index.html">ARSPerl</a><br> ! Last changes to this page 05th Sep 2005 by Thilo Stapff<BR> ! © J.C.Murphy, J.W.Murphy 1997 <I>ar...@ar...</I> ! </ADDRESS> ! </BODY> ! </HTML> --- 1,438 ---- ! <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> ! <html> ! <head> ! <title>ARSperl Manual</title> ! </head> ! <body bgcolor="#ffffff"> ! <center> ! <h1>ARSperl Programmer's Manual</h1> ! <h2>Table of Contents</h2> ! </center> ! ! <dl> ! ! ! <dt><a href="loading.html">Loading the extension</a> ! </dt> ! <dd> ! <p> ! ! </p> ! </dd> ! <dt><b>Reserved variables</b> ! </dt> ! <dd> ! <p> ! </p> ! <ul> ! ! <li><a href="variables.html#ars_errstr">ars_errstr</a> ! </li> ! <li><a href="variables.html#ars_errhash">ars_errhash</a> ! </li> ! </ul> ! ! <p> ! ! </p> ! </dd> ! <dt><b>ARSperl OO Layer</b> ! </dt> ! <dd> ! <p> ! </p> ! <ul> ! ! <li><a href="OO/index.html">Feature Overview</a> ! </li> ! <li><a href="OO/connection.html">Connection Object</a> ! <ul> ! ! <li><a href="OO/connection.html#new">constructor</a> ! </li> ! <li><a href="OO/connection.html#DESTROY">destructor</a> ! </li> ! <li><a href="OO/connection.html#ctrl">ctrl()</a> ! </li> ! <li><a href="OO/connection.html#print">print()</a> ! </li> ! <li><a href="OO/connection.html#availableSchemas">availableSchemas()</a> ! </li> ! <li><a href="OO/connection.html#openForm">openForm()</a> ! </li> ! </ul> ! ! </li> ! <li><a href="OO/form.html">Form Object</a> ! <ul> ! ! <li><a href="OO/form.html#new">constructor</a> ! </li> ! <li><a href="OO/form.html#DESTROY">destructor</a> ! </li> ! <li><a href="OO/form.html#query">query()</a> ! </li> ! <li><a href="OO/form.html#getEnumValues">getEnumValues()</a> ! </li> ! <li><a href="OO/form.html#getFieldID">getFieldID()</a> ! </li> ! <li><a href="OO/form.html#getFieldName">getFieldName()</a> ! </li> ! <li><a href="OO/form.html#getFieldType">getFieldType()</a> ! </li> ! <li><a href="OO/form.html#create">create()</a> ! </li> ! <li><a href="OO/form.html#delete">delete()</a> ! </li> ! <li><a href="OO/form.html#set">set()</a> ! </li> ! <li><a href="OO/form.html#get">get()</a> ! </li> ! <li><a href="OO/form.html#getAsHash">getAsHash()</a> ! </li> ! <li><a href="OO/form.html#getAttachment">getAttachment()</a> ! </li> ! <li><a href="OO/form.html#value2internal">value2internal()</a> ! </li> ! <li><a href="OO/form.html#internal2value">internal2value()</a> ! </li> ! <li><a href="OO/form.html#setSort">setSort()</a> ! </li> ! </ul> ! ! </li> ! </ul> ! ! <p> ! </p> ! </dd> ! <dt><b>Perl Functions</b> ! </dt> ! <dd> ! <p> ! </p> ! <ul> ! ! <li><a href="ars_BeginBulkEntryTransaction.html">ars_BeginBulkEntryTransaction</a> ! </li> ! <li><a href="ars_CreateActiveLink.html">ars_CreateActiveLink</a> ! </li> ! <li><a href="ars_CreateAdminExtension.html">ars_CreateAdminExtension</a> <b>(2.x/3.0)</b> ! </li> ! <li><a href="ars_CreateAlertEvent.html">ars_CreateAlertEvent</a> ! </li> ! <li><a href="ars_CreateCharMenu.html">ars_CreateCharMenu</a> ! </li> ! <li><a href="ars_CreateContainer.html">ars_CreateContainer</a> ! </li> ! <li><a href="ars_CreateEntry.html">ars_CreateEntry</a> ! </li> ! <li><a href="ars_CreateEscalation.html">ars_CreateEscalation</a> ! </li> ! <li><a href="ars_CreateField.html">ars_CreateField</a> ! </li> ! <li><a href="ars_CreateFilter.html">ars_CreateFilter</a> ! </li> ! <li><a href="ars_CreateSchema.html">ars_CreateSchema</a> ! </li> ! <li><a href="ars_CreateVUI.html">ars_CreateVUI</a> ! </li> ! <li><a href="ars_DecodeAlertMessage.html">ars_DecodeAlertMessage</a> ! </li> ! <li><a href="ars_DeleteActiveLink.html">ars_DeleteActiveLink</a> ! </li> ! <li><a href="ars_DeleteAdminExtension.html">ars_DeleteAdminExtension</a> ! </li> ! <li><a href="ars_DeleteCharMenu.html">ars_DeleteCharMenu</a> ! </li> ! <li><a href="ars_DeleteContainer.html">ars_DeleteContainer</a> ! </li> ! <li><a href="ars_DeleteEntry.html">ars_DeleteEntry</a> ! </li> ! <li><a href="ars_DeleteEscalation.html">ars_DeleteEscalation</a> ! </li> ! <li><a href="ars_DeleteField.html">ars_DeleteField</a> ! </li> ! <li><a href="ars_DeleteFilter.html">ars_DeleteFilter</a> ! </li> ! <li><a href="ars_DeleteMultipleFields.html">ars_DeleteMultipleFields</a> ! </li> ! <li><a href="ars_DeleteSchema.html">ars_DeleteSchema</a> ! </li> ! <li><a href="ars_DeleteVUI.html">ars_DeleteVUI</a> ! </li> ! <li><a href="ars_DeregisterForAlerts.html">ars_DeregisterForAlerts</a> ! </li> ! <li><a href="ars_EndBulkEntryTransaction.html">ars_EndBulkEntryTransaction</a> ! </li> ! <li><a href="ars_ExecuteAdminExtension.html">ars_ExecuteAdminExtension</a> ! </li> ! <li><a href="ars_ExecuteProcess.html">ars_ExecuteProcess</a> ! </li> ! <li><a href="ars_Export.html">ars_Export</a> ! </li> ! <li><a href="ars_GetActiveLink.html">ars_GetActiveLink</a> ! </li> ! <li><a href="ars_GetAdminExtension.html">ars_GetAdminExtension</a> <b>(2.x/3.0)</b> ! </li> ! <li><a href="ars_GetAlertCount.html">ars_GetAlertCount</a> ! </li> ! <li><a href="ars_GetCharMenu.html">ars_GetCharMenu</a> ! </li> ! <li><a href="ars_GetContainer.html">ars_GetContainer</a> ! </li> ! <li><a href="ars_GetCharMenuItems.html">ars_GetCharMenuItems</a> ! </li> ! <li><a href="ars_GetEntry.html">ars_GetEntry</a> ! </li> ! <li><a href="ars_GetEntryBLOB.html">ars_GetEntryBLOB</a> ! </li> ! <li><a href="ars_GetEscalation.html">ars_GetEscalation</a> ! </li> ! <li><a href="ars_GetField.html">ars_GetField</a> ! </li> ! <li><a href="ars_GetFieldByName.html">ars_GetFieldByName</a> ! </li> ! <li><a href="ars_GetFieldTable.html">ars_GetFieldTable</a> ! </li> ! <li><a href="ars_GetFilter.html">ars_GetFilter</a> ! </li> ! <li><a href="ars_GetFullTextInfo.html">ars_GetFullTextInfo</a> ! </li> ! <li><a href="ars_GetListActiveLink.html">ars_GetListActiveLink</a> ! </li> ! <li><a href="ars_GetListAdminExtension.html">ars_GetListAdminExtension</a> ! </li> ! <li><a href="ars_GetListAlertUser.html">ars_GetListAlertUser</a> ! </li> ! <li><a href="ars_GetListCharMenu.html">ars_GetListCharMenu</a> ! </li> ! <li><a href="ars_GetListContainer.html">ars_GetListContainer</a> ! </li> ! <li><a href="ars_GetListEntry.html">ars_GetListEntry</a> ! </li> ! <li><a href="ars_GetListEntryWithFields.html">ars_GetListEntryWithFields</a> ! </li> ! <li><a href="ars_GetListEscalation.html">ars_GetListEscalation</a> ! </li> ! <li><a href="ars_GetListField.html">ars_GetListField</a> ! </li> ! <li><a href="ars_GetListFilter.html">ars_GetListFilter</a> ! </li> ! <li><a href="ars_GetListGroup.html">ars_GetListGroup</a> ! </li> ! <li><a href="ars_GetListSchema.html">ars_GetListSchema</a> ! </li> ! <li><a href="ars_GetListServer.html">ars_GetListServer</a> ! </li> ! <li><a href="ars_GetListSQL.html">ars_GetListSQL</a> ! </li> ! <li><a href="ars_GetListUser.html">ars_GetListUser</a> ! </li> ! <li><a href="ars_GetListVUI.html">ars_GetListVUI</a> ! </li> ! <li><a href="ars_GetMultipleEntries.html">ars_GetMultipleEntries</a> ! </li> ! <li><a href="ars_GetSchema.html">ars_GetSchema</a> ! </li> ! <li><a href="ars_GetServerInfo.html">ars_GetServerInfo</a> ! </li> ! <li><a href="ars_GetServerStatistics.html">ars_GetServerStatistics</a> ! </li> ! <li><a href="ars_GetVUI.html">ars_GetVUI</a> ! </li> ! <li><a href="ars_Import.html">ars_Import</a> ! </li> ! <li><a href="ars_LoadQualifier.html">ars_LoadQualifier</a> ! </li> ! <li><a href="ars_Login.html">ars_Login</a> ! </li> ! <li><a href="ars_Logoff.html">ars_Logoff</a> ! </li> ! <li><a href="ars_MergeEntry.html">ars_MergeEntry</a> ! </li> ! <li><a href="ars_RegisterForAlerts.html">ars_RegisterForAlerts</a> ! </li> ! <li><a href="ars_SetActiveLink.html">ars_SetActiveLink</a> ! </li> ! <li><a href="ars_SetCharMenu.html">ars_SetCharMenu</a> ! </li> ! <li><a href="ars_SetContainer.html">ars_SetContainer</a> ! </li> ! <li><a href="ars_SetEntry.html">ars_SetEntry</a> ! </li> ! <li><a href="ars_SetEscalation.html">ars_SetEscalation</a> ! </li> ! <li><a href="ars_SetField.html">ars_SetField</a> ! </li> ! <li><a href="ars_SetFilter.html">ars_SetFilter</a> ! </li> ! <li><a href="ars_SetImpersonatedUser.html">ars_SetImpersonatedUser</a> ! </li> ! <li><a href="ars_SetLogging.html">ars_SetLogging</a> ! </li> ! <li><a href="ars_SetSchema.html">ars_SetSchema</a> ! </li> ! <li><a href="ars_SetServerInfo.html">ars_SetServerInfo</a> ! </li> ! <li><a href="ars_SetSessionConfiguration.html">ars_SetSessionConfiguration</a> ! </li> ! <li><a href="ars_SetVUI.html">ars_SetVUI</a> ! </li> ! </ul> ! ! <p> ! ! </p> ! </dd> ! <dt><b>Perl helper functions</b> ! </dt> ! <dd> ! <p> These functions are not part of the ARS API. They are part of the ARS Perl Extension that were written as an extension of the API. They are intended to make life a little easier in some cases. ! </p> ! <p> ! </p> ! <ul> ! ! <li><a href="ars_APIVersion.html">ars_APIVersion</a> ! </li> ! <li><a href="ars_decodeStatusHistory.html">ars_decodeStatusHistory</a> ! </li> ! <li><a href="ars_encodeStatusHistory.html">ars_decodeStatusHistory</a> ! </li> ! <li><a href="ars_EncodeDiary.html">ars_EncodeDiary</a> ! </li> ! <li><a href="ars_GetControlStructFields.html">ars_GetControlStructFields</a> ! </li> ! <li><a href="ars_GetCurrentServer.html">ars_GetCurrentServer</a> ! </li> ! <li><a href="ars_GetProfileInfo.html">ars_GetProfileInfo</a> ! </li> ! <li><a href="ars_padEntryid.html">ars_padEntryid</a> ! </li> ! <li><a href="ars_perl_qualifier.html">ars_perl_qualifier</a> ! </li> ! <li><a href="ars_simpleMenu.html">ars_simpleMenu</a> ! </li> ! </ul> ! ! <p> ! </p> ! </dd> ! <dt><b>Data structures</b> ! </dt> ! <dd> ! <p> ! </p> ! <ul> ! <li><a href="ds_al.html"> Active Link Attributes Structure</a> ! ! <ul> ! ! <li><a href="ds_alas.html"> Active Link Action Structure</a> ! </li> ! <li><a href="ds_alms.html"> Active Link Macro Structure</a> ! </li> ! </ul> ! ! </li> ! <li><a href="ds_as.html"> Assign Structure</a> ! ! <ul> ! ! <li><a href="ds_aoas.html"> Arith Op Assign Structure</a> ! </li> ! <li><a href="ds_afs.html"> Assign Field Structure</a> ! </li> ! <li><a href="ds_fncas.html"> Function Assign Structure</a> ! </li> ! <li><a href="ds_vs.html"> Value Structure</a> ! </li> ! </ul> ! ! </li> ! <li><a href="ds_getadminext_hash.html"> Admin Extension Attributes Structure</a> ! </li> ! <li><a href="ds_getcharmenu_hash.html"> Character Menu Structure</a> ! ! <ul> ! ! <li><a href="ds_charmenu_query_hash.html">Query Hash</a> ! </li> ! <li><a href="ds_charmenu_sql_hash.html">SQL Hash</a> ! </li> ! <li><a href="ds_charmenu_file_hash.html">File Hash</a> ! </li> ! </ul> ! ! </li> ! <li><a href="ds_container.html"> Container Attributes Structure</a> ! </li> ! <li><a href="ds_container_info.html"> Container Info Structure</a> ! </li> ! <li><a href="ds_diaryentry_hash.html"> Diary Entry Structure</a> ! </li> ! <li><a href="ds_ds.html"> Display Structure</a> ! </li> ! <li><a href="ds_getescalation_hash.html"> Escalation Attributes Structure</a> ! </li> ! <li><a href="ds_fas.html"> Field Assign Structure</a> ! </li> ! <li><a href="ds_fc.html"> Field Characteristics</a> ! </li> ! <li><a href="ds_fls.html"> Field Limit Structure</a> ! </li> ! <li><a href="ds_getfulltextinfo_hash.html"> Full Text Info Structure</a> ! </li> ! <li><a href="ds_is.html"> Index Structure</a> ! </li> ! <li><a href="ds_getlistgroup_hash.html"> List Group Structure</a> ! </li> ! <li><a href="ds_getlistsql_hash.html"> List SQL Structure</a> ! </li> ! <li><a href="ds_getlistuser_hash.html"> List User Structure</a> ! </li> ! <li><a href="ds_mps.html"> Macro Parm Structure</a> ! </li> ! <li><a href="ds_schema.html">Schema Attributes Structure</a> ! ! <ul> ! ! <li><a href="ds_elfs.html"> Entry List Field Structure</a> ! </li> ! </ul> ! ! </li> ! <li><a href="ds_shv.html"> Status History Value</a> ! </li> ! <li><a href="ds_getvui_hash.html"> VUI Attributes Structure</a> ! </li> ! </ul> ! ! </dd> ! </dl> ! ! ! <hr> ! <address> ! <a href="../index.html">ARSPerl</a><br> ! ! Last changes to this page 30th Jul 2007 by Michiel Beijen<br> ! ! © J.C.Murphy, J.W.Murphy 1997 <i>ar...@ar...</i> ! </address> ! ! </body> ! </html> |