TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE...

136
TME 10 ADE Release Notes Version 3.2 September 15, 1997

Transcript of TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE...

Page 1: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TME 10 ADERelease Notes

Version 3.2

September 15, 1997

Page 2: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application
Page 3: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TME 10 ADE Release Notes (September, 1997)Copyright NoticeCopyright © 1997 by Tivoli Systems, an IBM Company, including this documentation and all software.All rights reserved. May only be used pursuant to a Tivoli Systems Software License Agreement orAddendum for Tivoli Products to IBM Customer or License Agreement. No part of this publication maybe reproduced, transmitted, transcribed, stored in a retrieval system, or translated into any computerlanguage, in any form or by any means, electronic, mechanical, magnetic, optical, chemical, manual, orotherwise, without prior written permission of Tivoli Systems. The document is not intended forproduction and is furnished “as is” without warranty of any kind.All warranties on this document arehereby disclaimed including the warranties of merchantability and fitness for a particular purpose.

Note to U.S. Government Users—Documentation related to restricted rights—Use, duplication ordisclosure is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corporation.

TrademarksThe following product names are trademarks of Tivoli Systems or IBM Corporation: AIX, IBM, OS/2,RISC System/6000, Tivoli Management Environment, and TME 10.

Microsoft, Windows, and the Windows 95 logo are trademarks or registered trademarks of MicrosoftCorporation.

UNIX is a registered trademark in the United States and other countries licensed exclusively throughX/Open Company Limited.

Other company, product, and service names mentioned in this document may be trademarks orservicemarks of others.

NoticeReferences in this publication to Tivoli Systems or IBM products, programs, or services do not imply thatthey will be available in all countries in which Tivoli Systems or IBM operates. Any reference to theseproducts, programs, or services is not intended to imply that only Tivoli Systems or IBM products,programs, or services can be used. Subject to Tivoli Systems’ or IBM’s valid intellectual property or otherlegally protectable right, any functionally equivalent product, program, or service can be used instead ofthe referenced product, program, or service. The evaluation and verification of operation in conjunctionwith other products, except those expressly designated by Tivoli Systems or IBM, are the responsibilityof the user.

Tivoli Systems or IBM may have patents or pending patent applications covering subject matter in thisdocument. The furnishing of this document does not give you any license to these patents. You can sendlicense inquiries, in writing, to the IBM Director of Licensing, IBM Corporation, 500 Columbus Avenue,Thornwood, New York 10594.

Page 4: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application
Page 5: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TME 10 ADE Release Notes i

TME 10 ADE Release NotesTable of Contents

Chapter 1—IntroductionIntroduction to TME 10 ADE, Version 3.2 ........................................................1-1

The Lightweight Client Framework ...........................................................1-2

RIM ............................................................................................................1-2

Query ..........................................................................................................1-3

ADE Sample Application Enhanced to Support LCF................................1-3

Other New Information for TME 10 ADE 3.2...........................................1-3

New Version of GNU make .......................................................................1-3

Supported Architectures for TME 10 ADE, Version 3.2....................................1-4

Software Requirements ..............................................................................1-4

IBM RS6000 and PowerPC Systems Running AIX..........................1-4

HP 9000 Systems Running HP-UX...................................................1-4

Intel 486 or Pentium Systems Running PC Operating Systems........1-5

Sun SPARC Systems Running SunOS..............................................1-5

Sun SPARC SystemRunning Solaris.................................................1-5

Hardware Requirements .............................................................................1-5

Installing TME 10 ADE......................................................................................1-6

Removing TME 10 ADE ....................................................................................1-7

Defects Fixed in Version 3.2 ..............................................................................1-9

Known Defects and Workarounds ....................................................................1-10

LCF...........................................................................................................1-11

RIM ..........................................................................................................1-11

CCMS.......................................................................................................1-11

Desktop Services ......................................................................................1-12

Documentation .........................................................................................1-12

Exceptions ................................................................................................1-13

Gadget Library .........................................................................................1-14

Managed Node .........................................................................................1-14

Page 6: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

ii Version 3.2

Sample Application.................................................................................. 1-14

TAS Library ............................................................................................. 1-14

TIDL Compiler......................................................................................... 1-15

TMR ......................................................................................................... 1-15

Miscellaneous........................................................................................... 1-15

Product Notes.................................................................................................... 1-16

Additional APIs for LCF Endpoints ........................................................ 1-16

NT Tools in the LCF Gateway Cache...................................................... 1-17

Debugging TME 10 Methods on NT ....................................................... 1-18

General Steps for Setting up and Using a Debugger....................... 1-19

Troubleshooting............................................................................... 1-20

Using BoundsChecker on TME 10 Methods................................... 1-21

Troubleshooting............................................................................... 1-22

Chapter 2—Scheduler EnhancementsScheduling Jobs that Perform an Action on Multiple Hosts............................... 2-1

Example .............................................................................................................. 2-4

Chapter 3—3Configuration and Change Management System ModuleCCMS User Interface Changes:.......................................................................... 3-1

Profile Push Order Framework (PR 7044):................................................ 3-1

All-or-Nothing Transaction Semantics on Profile Distributions (PR 12662):3-11

Distribution Handling of Unsupported Profile Types on Endpoints(PR 12664): .............................................................................................. 3-15

Related User Interface Request (PR 12635): ........................................... 3-16

An Example.............................................................................................. 3-17

CCMS Manual Pages........................................................................................ 3-20

Appendix A—New Functions

Page 7: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TME 10 ADE Release Notes 1–1

1 Introduction

These Release Notes provide important information about using andinstalling TME 10 ADE (Application Development Environment),Version 3.2. They contain the following sections:

■ Introduction to TME 10 ADE, Version 3.2—Briefly describesnew features in this release.

■ Supported Architectures for TME 10 ADE, Version 3.2—Listssupported architectures for Tivoli Management Region (TMR)servers, managed nodes, and endpoints for this release.

■ Installing TME 10 ADE—Describes where to find instructionsfor installing and upgrading TME 10 ADE version 3.2.

■ Removing TME 10 ADE—Describes how to remove the TME10 ADE product.

■ Defects Fixed in Version 3.2—Lists the defects fixed in thisrelease of the product.

■ Known Defects—Lists known problems and gives suggestedworkarounds.

■ Product Notes—Contains important product notes for using thisrelease.

PLEASE READ THESE NOTES THOROUGHLY BEFOREINSTALLING OR USING THIS SOFTW ARE.

Introduction to TME 10 ADE, Version 3.2This section briefly describes changes and enhancements made toTME 10 ADE, Version 3.2. For more information about the newfeatures mentioned here, see the TME 10 ADE documentation.

Page 8: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Introduction to TME 10 ADE, Version 3.2

1–2 Version 3.2

The Lightweight Client FrameworkThe TME 10 Framework now supports the lightweight clientframework (LCF). This enhancement to the TME 10 Frameworkadds these new components to the TME 10 architecture: the endpointmanager, endpoint gateways, and endpoints. The LCF creates ahighly scalable lightweight framework that allows limited invocationof methods within it.

The LCF consists oflcfd, a long-running daemon-like service, andthe LCF software development facilities, which are a collection oflibraries and headers you can use to develop LCF methods.

For information about the endpoint manager, endpoint gateway, andendpoints, see theTME 10 Framework Planning and InstallationGuide. For information about using TME 10 ADE to developapplications for the LCF, seeApplication Development for theLightweight Client Framework.

RIMRIM (RDBMS Interface Module), a service that is part of the TME10 Framework, now supports additional third-party databases,including DB2/6000 and MS SQL. For information about the APIsavailable for using this service in your application, see the chaptertitled “RIM Interface” in theApplication Services Manual, Volume 2.

For this release, RIM adds additional APIs for creating and deletingdatabase tables.

This version of ADE supports the following relational databasemanagement systems (RDBMSs) for use with RIM:

■ Sybase 10.x

■ Sybase 11.x

■ Oracle 7.x

■ MSSQL 6.5

■ DB2/6000 (on UNIX, but not NT)

Page 9: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Introduction to TME 10 ADE, Version 3.2

TME 10 ADE Release Notes 1–3

QueryIn this release, the Query component adds the ability to specify viewsassociated with a query, to view the results of a query, and to save thequery results in a flat file. The APIs for Query are documented in theApplication Services Manual, Volume 2.

ADE Sample Application Enhanced to Support LCFThe ADE sample application has been enhanced to support LCF andLCF endpoints.Application Development with TME 10 ADE hasbeen revised to reflect these changes.

Other New Information for TME 10 ADE 3.2These release notes also contain new information about the followingtopics:

■ Additional APIs for LCF endpoints—Four additional APIs forLCF endpoint applications are documented. See “AdditionalAPIs for LCF Endpoints” on page 1-16. Manual pages for theseAPIs are included in the appendix of these release notes.

■ NT tools in the LCF gateway cache—Information is includedabout how to get NT tools for use on LCF endpoints. See “NTTools in the LCF Gateway Cache” on page 1-17.

■ Debugging TME 10 methods on NT—Information has beenadded about how to debug TME 10 methods on NT systems.See “Debugging TME 10 Methods on NT” on page 1-18.

■ wrunui andwntdtsec—Manual pages for thewrunui andwntdtsec commands are included in the appendix of theserelease notes.

New Version of GNU makeA new version of GNUmake (version 3.75) is now shipped withTME 10 ADE. (ID #21804)

Page 10: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Supported Architectures for TME 10 ADE, Version 3.2

1–4 Version 3.2

Supported Architectures for TME 10 ADE, Version3.2

This section describes the software and hardware requirements forTME 10 ADE.

Contact your sales representative for information about TME 10ADE availability on other platforms and operating systems. Forinformation about hardware and software requirements, see the TME10 Framework Release Notes.

Software Requirements

This section contains information about the supported operatingsystem versions and required patches (if any) for each supportedhardware platform. Tivoli does not distribute or maintain operatingsystem patches from each hardware vendor. Contact your hardwarevendor for information regarding obtaining and installing operatingsystem patches. If you are not sure how to contact your hardwarevendor to request an operating system patch, contact Tivoli CustomerSupport for details on the recommended procedure to follow.

IBM RS6000 and PowerPC Systems Running AIX

Note that AIX is supported only on IBM hardware.

■ AIX 3.2.5 with PTF U435001

■ AIX 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.2, or 4.2.1 with the libtermcaplibrary installed. The librarylibtermcap.a is contained in theAIX 3.2 compatibility file set,bos.compat.termcap.

■ Motif Version 1.2

HP 9000 Systems Running HP-UX

■ HP9000/700 series running HP/UX 9.01, 9.03, 9.04, or 9.05,and Motif Version 1.2. Patch PHKL_3075 is required forversion 9.01, but is not required for later versions. PatchPHNE_5460 is required in some DNS environments. See theTME 10 Framework Planning and Installation Guide for details.

Page 11: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Supported Architectures for TME 10 ADE, Version 3.2

TME 10 ADE Release Notes 1–5

■ HP9000/800 series running HP/UX 9.00, 9.02, or 9.04 with PARISC 1.1, and and Motif Version 1.2. Patch PHKL_2258 isrequired for versions 9.00. Patch PHNE_6443 is required insome DNS environments. See theTME 10 Framework Planningand Installation Guide for details.

■ HP9000/700 or 800 series with PA RISC 1.1 or PA RISC 2.0architecture running HP/UX 10.01, 10.10, or 10.20, andMotif Version 1.2.

Intel 486 or Pentium Systems Running PC OperatingSystems

■ Windows NT 3.51 with Service Packs 1 through 5, NT 4.0, orNT 4.0 with Service Packs 1 through 3.

Sun SPARC Systems Running SunOS

■ Sun SPARC series running SunOS 4.1.2, 4.1.3, or 4.14

■ OpenLook with the jumbo OpenWindows patch 100444-62 orMotif Version 1.2

Sun SPARC SystemRunning Solaris

■ Solaris 2.3 with jumbo kernel patch 101318-59

■ Solaris 2.4 with jumbo patch 101945-11

■ Solaris 2.5 and 2.51

■ OpenLook or Motif Version 1.2

Contact your sales representative for information about TME 10availability on other platforms and operating systems.

Hardware RequirementsThis section presents hardware requirements for each architecture.The following table presents disk space requirements for UNIXarchitectures:

Supported Platform TMR server

115MBAIX

Page 12: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Installing TME 10 ADE

1–6 Version 3.2

The following table presents the minimum memory requirements forUNIX architectures:

Note: The swap space for each architecture should be twice theinstalled RAM on each machine.

Installing TME 10 ADEThe manual Introduction to TME 10 ADE contains instructions forinstalling TME 10 ADE.

If you are installing TME 10 ADE for the first time, see Chapter 6 ofIntroduction to TME 10 ADE, and use the procedure titled“Installation Procedure.” If you are upgrading from 3.0 or 3.1, use theprocedure titled “Upgrade Procedure” in Chapter 6 ofIntroduction toTME 10 ADE.

TME 10 ADE 3.2 requires a 3.1 installation. If you are running TME10 ADE 3.0, first upgrade to TME 10 ADE 3.1, then upgrade to 3.2.

91MB

104MB

91MB

ArchitectureTME

ManagementServer

Managed Node(with desktop)

64MB 48MB

64MB 48MB

48MB 48MB

64MB 48MB

48 MB 32

Supported Platform TMR server

HP-UX

SunOS

Solaris

AIX

HP-UX

SunOS

Solaris

NT

Page 13: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Removing TME 10 ADE

TME 10 ADE Release Notes 1–7

Removing TME 10 ADERemoving TME 10 ADE is a two-step process that, among otherthings, requires you to remove directories and libraries that werecreated and installed when you installed the product. The following

Page 14: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Rem

oving TM

E 10 A

DE

1–8V

ersion 3.2

dia

gra

m p

rese

nts th

e re

com

me

nd

ed

dire

ctory stru

cture

for a

typica

lin

stalla

tion

:

/(root)

usrvar

spool

Tivoli

HOST.db

locallib

X11 Tivoli

lib include msg_cat man doc

$INTERP

app-defaults

Tivoli

bin

client_bundle

generic_unix

LCFbundle

Page 15: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Defects Fixed in Version 3.2

TME 10 ADE Release Notes 1–9

You can remove TME 10 ADE from either a TME client or from aTME management server. Use the following procedure to remove theTME 10 ADE installation from a TME client:

1. Remove theADE subdirectory from thebin subdirectory of theTivoli installation directory (in the example below, the Tivoliinstallation directory is /usr/local/Tivoli).

rm -rf /usr/local/Tivoli/bin/$INTERP/ADE

rm -rf /usr/local/Tivoli/include/$INTERP

2. Remove the TME 10 ADE product information object with thefollowing command:

% wdel @ProductInfo:ADE

Defects Fixed in Version 3.2The following defects have been corrected in the 3.2 release of TME10 ADE.

1. Chapter 4 of theApplication Services Manual, Vol. Ihas beencorrected to state that you can register four kinds of transactionmethods withtransaction::register_event, not three. Thefourth kind is calledtrans_undo.

2. The exceptions listed for theTMF_TNR::Resource:lookupoperation in chapter 8 of theApplication Services Manual, Vol.I have been corrected. (ID #7940)

3. In Chapter 5 of theApplication Services Manual Volume II, thesection titled Convenience Functions has been corrected to statethat “You must callORBfree() to release the memory allocatedfor theup structure.” (ID #8795)

4. Documentation for three operations in theTMF_CCMS::Database interface (dump_db,dump_some_db, andget_last_update_time) has been addedto Chapter 5 of theApplication Services Manual, Volume II.

5. Callingtmfwin_remote_client_init() twice caused anexception on NT. (ID #24055)

Page 16: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Known Defects and Workarounds

1–10 Version 3.2

6. Duplicate definitions offind_table in theas_gui andtablelibraries sometimes caused ambiguity about which libraryfunction was called. Changed all references tofind_table()within as/table_mgr to tblmgr_find_table(). (ID #22428)

7. Thew32-ix86 library filepack for the ADE CDROM wasmissinglibcpluns.a; that filepack has been added. In addition,thew32-ix86.mkfile, and thephone.after and plbo.afterscripts were added. TheREADME andconfigure.mk files forthe sample application (Tivoli/Phone) were improved, for NT inparticular. (ID #15422)

8. For aix4-r1,tidlc usestidlc-cpp as itscpp. We previously didnot ship this, but, with this release, we do. (ID #24305)

9. NT ADE was missing the following files, which are nowincluded:

include/w32-ix86/tivoli/rim*bin/w32-ix86/ADE/hcmdline.exe

(ID #15421)

10. If enough method binaries are running on an NT TME 10 server,you may get errors of ‘no file descriptor’ and‘out of resources.’Increased the connections limit (the number of file descriptors)for NT to 1024. (PR 20972)

11. wrunui did not address NT desktop and Window Stationsecurity issues. (PR 25362)

There were situations in which NT security would not allow thedesktop to be accessed. This resulted in an error message statingthere was a failure loading a GUI-based DLL. A new flag (-e)has been added to thewrunui command. Use this flag if theerror occurs. The manual page forwrunui is included in theappendix of these release notes.

Known Defects and WorkaroundsThis section describes known defects in this release of TME 10 ADE.Where applicable and known, suggested workarounds are identified.

Page 17: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Known Defects and Workarounds

TME 10 ADE Release Notes 1–11

The defects are listed by category. A tracking number is assigned foreach defect. Note that this may not be a complete list of defects.

LCF1. Need NT tools in gateway LCF cache. When LCF is installed

on NT and Windows 95 endpoints, no tools directory is installedlike there is for NT Managed Nodes ($BINDIR/tools). In orderfor applications (for example, Task Library) to gain access totools such as Bourne Shell (sh.exe) and Perl(perl.exe) on anLCF endpoint, a dependency must be established on the serverto cause the LCF runtime to download the tool(s) on demand. Aworkaround to accomplish this is described in the ProductNotes section of these Release Notes. (ID# 26590)

2. LCF Task Library encryption is disabled. For GA, theencryption of task data passed between servers and client isdisabled. Task data between servers and Managed Node clientsis still encrypted. It is only LCF endpoints that are affected bythis right now. (ID# 26589)

RIM1. The RIM error logging file, documented in theApplication

Services Manual, Volume 2, is not available in this release.Disregard the information about the RIM error logging file inthat manual, in particular the statement that RDMBS-specificerrors are logged to this file. (ID #28146)

CCMS1. The operationset_record_parent method does not check for

recursive loops in the parent links. (ID #3016)

2. The operationlookup_objects does not indicate an error whencalled with a non-existent key name. (ID #3033)

Page 18: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Known Defects and Workarounds

1–12 Version 3.2

Desktop Services1. Setting a gadget’s colors to an empty string sets it to the default

color. The work-around is to use one of the DTC functions. (ID#3577)

2. If a Text gadget has the Encrypt attribute set, the gadget’sChanged callback are never invoked. (ID #7469)

Documentation1. Application Programming for the Lightweight Client

Framework includes documentation for thewgetdepscommand, which is not included in the 3.2 version.

2. The manual page for thewdepset command includesinformation about the+d flag, which is not implemented in the3.2 release.

3. Volume III of theProgrammer’s Reference Manual incorrectlyidentifies the functionglChoiceCsr_value. The correct name isglChoiceCsr_get_value

4. The manual page forglChoiceCsr_insert is missing aparameter in the signature. The correct signature is shownbelow. (ID #6920)

glChoiceEntry *glChoiceCsr_insert(glChoice *c,

const char *key,

const glMsg *label);

Thekey parameter, which was omitted in the manual page, is thevalue returned if the choice is selected by a user. (ID #6919)

5. The manual page fordir_get_instance does not make it clearthat the caller is responsible for freeing the memory of thefunction’s return value.(ID #8095)

6. TheApplication Services Manual contains C++ style comments(comments delimited by//) in some of the example codefragments. These code fragments will not compile.

Page 19: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Known Defects and Workarounds

TME 10 ADE Release Notes 1–13

Workaround: If you use these code fragments and include thecomments, change the C++-style delimiters to C-styledelimiters (/* */ ) ID #11451.

7. The man page signature fordir_get_all_instances() andcli_get_home_collection() shows the wrong return type. Thecorrect return type fordir_get_all_instances() isTMF_TNR_ObjectInfoList . The correct return type forcli_get_home_collection() isTMF_Administrator_Configuration_cwd_t . ID #8143

8. The man page signature fortmf_thread_exit is documented asshown:

void tmf_thread_exit(void);

The correct signature follows:

void tmf_thread_exit(pthread_addr_t status);

ID #7710

Exceptions1. Theexgenmacros utility does not correctly handle module

names that contain underscores. The utility strips off themodule name when forming the exception type (for example,Example::Foo becomesExFoo). However, when there areunderscores in the module name, the exception type isincorrectly generated (example:Example_module::FoobecomesExmodule_Foo). To correct this problem, you mustedit the header file generated by theexgenmacros utility. (ID#6890)

Page 20: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Known Defects and Workarounds

1–14 Version 3.2

Gadget Library1. There is noChanged attribute on aCollection gadget. This

makes it difficult to create menu items that sensitize/desensitizebased on the selection of an icon within the collection. (ID#3596)

2. The documentation does not clearly state that the variableargument list of theglMsg_create function must all be of typechar *. (ID #8037)

Managed Node1. TheManagedNode::files_transfer operation does not generate

an error if any of the specified source files do not exist. (ID#6857)

2. TheManagedNode::files_transfer operation causes thedestination directory to have the same last modification time asthe source directory. (ID #8646)

3. TheManagedNode::transmit_files operation can fail whensending compressed data. (ID #6957)

Sample Application1. Thewgetphn command erroneously returns a record when the

record is not defined for that profile. This event occurs whenyou have multiple profiles in a single profile manager when aprofile other than the current one contains the requested record.ID (#11431)

2. The number of entries doesn't update after performing a pull ora populate operation.

3. You cannot open the Phone List from the desktop. (ID #12461)

TAS Library1. The functionseq_strcmp dumps core when the second

argument is NULL. (ID #4790)

2. The functionre_match dumps core if the index argumentexceeds a sub-expression. (ID #4981)

Page 21: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Known Defects and Workarounds

TME 10 ADE Release Notes 1–15

TIDL Compiler1. Thetidlc compiler can sometimes generate code that causes

warning messages from some ANSI C compilers. (ID #4798)

2. If you omit the directory path of the input file (because the inputfile is in the current directory, for example), thetidlc compilerwill fail to generate some of the output files and misnames someof the files that itdoes create. The work around is to alwaysspecify the full path of the input file.(ID #8278)

3. Thetildc compiler does not create all the files it should. (ID#8738)

TMRThe 3.0 version of the TME 10 Framework supports ten digit TMRnumbers instead of the previously supported six digit numbers. Thisenhancement causes a failure in applications that presume a six digitTMR identifier.

Miscellaneous1. UNIX vendors do not use consistent names for locales. In

France, for example, the French locale name might befrench onone platform andfr_FR on others. This is only a problem if youare using translated message catalogs in a heterogeneousinstallation (that is, a TME installation that includes more thanone kind of UNIX machine).

Depending on the vendor, you might be able to add support forall locale names on all your machines by a combination ofcreating symbolic links and modifying configuration files. Ifyou are planning on translating Tivoli’s message catalogs andwant to support them in a heterogenous installation, you shouldcontact Tivoli customer support for more information on thissubject. (ID #6571)

2. Thewdebug command has limited support on DG-UX with themdbx debugger. Contact Tivoli Customer Support for details.(ID #4463)

Page 22: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Product Notes

1–16 Version 3.2

3. Thetivoli/tmfrt.h header file requires the prior inclusion of twoother files. The appropriate code is shown below.

#include <tivoli/defines.h>

#include <tivoli/tivoli_protos.h>

#include <tivoli/tmfrt.h>

The tivoli/defines.h andtivoli/tivoli_protos.h headers mustprecedetmfrt.h to avoid compiler errors and warnings.

4. Using the latest version ofpatchgen, patched objects work fine,but new objects don't.

Workaround: An explicit call toidlattr can be added to an afterscript.

5. The function tds_table_set_sort_columndereferences a previously freed pointer. (ID # 15364)

Product NotesThis section contains important information on the following topics:

■ Additional APIs for LCF endpoints

■ NT tools in the LCF gateway cache

■ Debugging TME 10 methods on NT

Additional APIs for LCF EndpointsThe following APIs for use with LCF endpoint applications are notdocumented inApplication Development for the Lightweight ClientFramework:

■ long mrt_get_dispatcher();

■ long mrt_get_region();

■ char *mrt_get_interp();

■ char *mrt_get_label();

NT

Page 23: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Product Notes

TME 10 ADE Release Notes 1–17

These functions return an endpoint’s dispatcher, region, interpretertype, and label, respectively. Manual pages for these functions areincluded in the appendix of these Release Notes.

NT Tools in the LCF Gateway CacheWhen LCF is installed on NT and Windows 95 LCF endpoints, notools directory is installed on the endpoint, as there is on NTManaged Nodes ($BINDIR/tools). Applications (such as the TaskLibrary) that need access to tools such as the Bourne Shell (sh.exe)and Perl (perl.exe) on an LCF endpoint must establish a dependencyon the server to cause the LCF runtime to download the tool(s) ondemand. This section describes how to establish this dependency.

For general information about dependencies and LCF, seeApplication Development for the Lightweight Client Framework.

You should be aware of the following:

■ You can set up this dependency from an LCF gateway on eithera UNIX or NT system. By default, however, it is easier to set upthe dependency using an NT machine as the LCF gatewaybecause the NT tools are installed only on NT Managed Nodes.UNIX machines, for example, have no copy of the NT toolsinstalled on them, so an additional step is required to set up theNT tool dependencies on them.

■ There is currently no way for applications to specify per-taskdependencies. In the case of the Task library, the solution is toput the dependency on therun_task() method.

Perform the following steps to set up dependencies for Task Libraryscripts on NT and/or Windows 95 endpoints as clients of any LCFGateway.

1. Copy the tools to a directory on the gateway machine. If thegateway is a UNIX machine, locate a copy of the NT toolsdirectory in$BINDIR/tools on an NT Managed Node.

2. Copy (or, on UNIX, use links) the required tools files from theNT tools directory to the following locations in the gateway’slcf_bundle directory:

Page 24: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Product Notes

1–18 Version 3.2

$BINDIR/../lcf_bundle/lib/w32-ix86$BINDIR/../lcf_bundle/lib/win95

Note that the filesmust go into thelib directory; this directoryis guaranteed to be in the path oftask_endpoint.exe on theclient.

3. Specify dependencies using thewdepset command. One trick isto put the dependency on the run_task() method itself, asshown in the following example:

wdepset -c task-library-tool-base \-a w32-ix86 lib/w32-ix86/sh.exe-a win95 lib/win95/sh.exe

wchdep @Classes:TaskEndpoint \@DependencyMgr:task_library-tool-base run_task

When you specify dependencies onrun_task(), alldependencies are downloaded for every task. This may meanthat more data is actually copied to the endpoint than is needed.Specifying a dependency onrun_task() does not allow forfine-grained control for specifying the exact set of dependenciesneeded for each task. For this release, you get all thedependencies.

Debugging TME 10 Methods on NTThis section contains the following sets of instructions for debuggingTME 10 methods on NT:

■ The general steps you follow to set up and use any debugger todebug a TME 10 method on NT; the example assumes you areusing MSDEV (Microsoft Visual C++)

■ Specific information about how to use the debuggerBoundsChecker, an application debugging tool from NuMegaTechnologies used for debugging memory problems

Page 25: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Product Notes

TME 10 ADE Release Notes 1–19

General Steps for Setting up and Using a Debugger

These instructions describe the general steps you follow to debug aTME 10 method using a debugger like MSDEV. They assume thatyou set a breakpoint using thewdebug command. (For informationabout using a Registry key to set a breakpoint, see “UsingBoundsChecker on TME 10 Methods” on page 1-21.

1. If you are using pdb (program debug) files, be sure to put the.pdb file in the same directory as your .exe file.

2. Use thewdebug command to set a breakpoint on the TME 10method you want to execute. (For more information, see thewdebug manual page.)

3. Use thewntdtsec command to open up the desktop permissionsso that msdev (Visual C++) has permission to attach toprocesses launched by TME 10. This changes the ACL on yourworkstation and desktop to allow the Everyone group access toit. This access remains active for as long as you stay logged in.(Thewntdtsec command is in the ADE directory under$BINDIR/ADE. For information about the command, see themanual page in the appendix of these Release Notes.)

Enter the command as follows:

wntdtsec +

You can revert your session to its previous ACL by logging offor by entering:

wntdtsec -

(wntdtsec with no arguments prints the ACL.)

4. Reinstall your oserv, with “interact with desktop” set:

oinstall -update +interactive

net start oserv

This enables you to interact with the real desktop so therequestor dialog pops up on this desktop. You can also set thisby means of the NT Service Manager in the control panel.

To reset your oserv without “interact with desktop” set, use thiscommand:

Page 26: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Product Notes

1–20 Version 3.2

oinstall -update -interactive

5. In MSDEV, make sure Just In Time debugging is enabled.

6. Run the method and wait for the requestor to pop up saying anexception has occurred (this is your breakpoint). Hit cancel andpop into the debugger.

Troubleshooting

If the debugger does not come up on the screen, but you can see thatit is running (through eitherntprocinfo or the NT Task Manager),you have a permissions issues. If so, you may need to disable TAP sothat programs do not get hung in the different security contextscreated when methods are launched usingsetid. To do this, restartyour oserv with the following commands, which disable TAP:

net stop oservnet start oserv /-u

The -u option callsCreateProcess() for everything, instead ofCreateProcessAsUser().

You can also disable TAP using the-q flag:

net stop oservnet start oserv /-q

The-q option causes the Administrator context to be used to launchprocesses by means ofCreateProcessAsUser().

Note: Disabling TAP changes the security environment underwhich your method executes. This normally does not matterfor checking for memory leaks, but it may make a differencein the operational behaviour of a method (what it haspermission to do or not do).In addition, do not run TME 10in production mode with TAP disabled!

NT MSDev Hint

The command msdev /p {pid} enables you to attach to a runningprocess to debug it.

Page 27: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Product Notes

TME 10 ADE Release Notes 1–21

If your oserv is running on a port other than 94, you need to adjustthenet start/stop commands above to suit your needs.

After BoundsChecker or MSVC is launched, refer to the debuggerdocumentation to determine the commands you need to use.

Using BoundsChecker on TME 10 Methods

This section describes the steps to follow to use BoundsChecker, anapplication debugging tool from NuMega Technologies used fordebugging memory problems.

These instructions describe how to use a Registry key (Image FileExecution Options) to set breakpoints. When you use a Registry key,NT causes the debugger you specify in the registry key to executeevery time the application you specify is run.

First, install BoundsChecker 4.2 or later.

1. After you install BoundsChecker, add an entry for the methoddaemon you wish to debug in the NT registry. Useregedt32 orregedit to start the Registry Editor GUI and open this key path:

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion

From this key path, open the subkey:

“Image File Execution Options”

Under this, add a new key: the name of your executable. Forexample:

profile_organizer.exe

The add key dialog is launched from the Edit menu in theRegistry Editor. The dialog has a text box and a class box.Typethe name of the key, and then click OK to add it.

2. Add a value for your newly-added key. The add value dialogprompts you for a value name. This function can also be foundunder the Edit menu in the Registry Editor. This value should be

Page 28: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Product Notes

1–22 Version 3.2

the string “Debugger” and should be of type REG_SZ. Applythis, and you are prompted for another string. Here, enter thepathname to BoundsChecker in this form:

c:\bcpront\bcpro.exe

Note that this form also works for other executables likemsdev.exe.

3. To debug your executable, put a copy of the file to debug in the%DBDIR% directory. Also, copy the.pdb files to this directory.

The %DBDIR% directory is the working directory when theoserv executes the method daemon. For example:

cp %BINDIR%\TAS\CCMS\profile_organizer.exe%DBDIR%

At this point, continue by going to step 3 in “General Steps forSetting up and Using a Debugger” on page 1-19.

After the oserv is restarted, you will see icons appear for each TME10 daemon process that is started. When the daemon process you setthe debug on is launched, NT detects this and launches the process inthe context of the debugger you specified in the registry.

Refer to the documentation for the various debuggers for informationabout how to use each of the commands.

Troubleshooting

For troubleshooting information, see “Troubleshooting” onpage 1-20.

Page 29: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TME 10 ADE Release Notes 2–1

2 Scheduler Enhancements

Scheduling Jobs that Perform an Action onMultiple Hosts

The TME 10 Scheduler has been enhanced for TME 10 3.0 and 3.1to enable applications to schedule jobs that perform an action onmultiple hosts. Use the following procedure:

1. Call the functionscheduler_callbacks with the rest of thefunctions which define gl callbacks. This routine defines all thegl callbacks the scheduler needs.

2. You must define a callback that will be invoked when thescheduler button or menu item is used on your applicationdialogs. This callback will make a call toscheduler_get_info_interface.

3. Thescheduler_get_info_interface requires the followingarguments:

• The name you want to give to the job

• The description of the job

• The callback function that will be invoked after thescheduler dialogs have finished querying the user forinformation.

4. The callback needed forscheduler_get_info_interface musthave the following signature:

void callback( glButton*, TMF_Scheduler_Job* )

This button parameter can be used to access any parent dialogsof the scheduling dialogs, which is useful for getting data theuser previously entered.

Page 30: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Scheduling Jobs that Perform an Action on Multiple Hosts

2–2 Version 3.2

You will need to use the button parameter to access the user datawhich is attached to the dialog which contains the button. Thedata is a pointer to the data typeSchedulerUserData. Containedwithin this data type is a pointer to the typeTMF_Scheduler_Restrictions. This pointer will containrestriction information entered by the user and must be sent tothe scheduler when the job is added/edited. This value may beNULL, if so you should create the structure and set all theenabled flags to FALSE.

The job parameter will be passed to the scheduler. This routinemust add the job to the scheduler and create the requeststructure that will be invoked when the job is executed. Use thefollowing procedure to add the job and create the requeststructure:

a. Get an unused job id from the scheduler by calling theget_id method.

b. Create the request structure which represents the idl callthat the scheduler will invoke (see step 5 below).

c. Serialize the request. (Request Objects are CORBApseudo-objects which can not be passed as arguments)

d. Put the serialized request in the scheduler job structure thatwas given as an argument

e. Add the job to the scheduler using theadd_job_with_id_with_restrictions method.

5. Define an IDL method that the scheduler will invoke at auser-specified time. This method will perform the action andinform the scheduler if it needs to retry the job. The signature ofthe method must have the following arguments.

• TMF_Scheduler_JobId id—This parameter is the id of thejob in scheduler.

• List_of_hosts—This parameter is the list of hosts toperform the action on. This list will be used when thismethod is invoked.

• Original_List_of_hosts—This parameter is the same list asList_of_hosts when the job is first scheduled. This list is

Page 31: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Scheduling Jobs that Perform an Action on Multiple Hosts

TME 10 ADE Release Notes 2–3

used to reset the state of the job after the job succeeds or isfinished retrying.

The signature can take any other arguments that are necessaryfor the application. This method needs to attempt the action onall hosts. There are two possible courses of actions to performnow.

• The action was performed successfully on all hosts:

a. Get the job from the scheduler using the id that was givenas an argument.

b. Create a new request structure passing the original host listas the argument which represents the list of hosts to beworked on. Replace the old request structure with the newone in the scheduler job structure.

c. Edit the job in the scheduler using the new job structure.

d. Exit gracefully (No Exceptions)

• The action failed on a subset of the specified hosts.

a. Get the job from the scheduler using the id that was givenas an argument.

b. Create a new request structure which contains the list ofhosts which the attempt failed on. These hosts will beattempted the next time the job is executed.

c. Edit the job in the scheduler using the new job structure.

d. Throw an exception so the scheduler knows to go into retrymode. The exeception type does not matter.

Page 32: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Example

2–4 Version 3.2

Example//

// The following example is pseudo-code and will

// not compile and would surely leak memory if it could compile.

// It will give a basic skeleton of what needs to be

// done. All of the specified functions are of the 'C' variety.

// If someone needs the 'C++' flavors they can be found in

// <tivoli/SchedulerAddGui.h>

//

//

// You need to include the following .h

//

#include <tivoli/scheduler_add_gui.h>

//

// This is some method in your code which initializes your gl

// callbacks.

//

void initialize_callbacks( ... )

{

...

scheduler_callbacks();

//

// If you are invoking the scheduler from a button you will

// have something like the following.

Page 33: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Example

TME 10 ADE Release Notes 2–5

//

glButton_define_*("schedule",

(void(*)(glButton*, ...)) schedule_whatever_calllback );

...

}

//

// This is the callback that will be invoked by the schedule

// mechanism on your dialog. In this example it is a button.

//

void schedule_whatever_calllback( glButton*, ... )

{

...

scheduler_get_info_interface( name, descript,

add_job_callback );

}

//

// This callback will be invoked after the user has entered all

// the information on the scheduler dialogs.

//

void add_job_callback( glButton *bogus, TMF_Scheduler_job *job )

{

//

// Get the restriction data from the user_data portion of

// the scheduler dialog. The user_data contains the structSchedulerUserData. Within

// that struct is the structure TMF_Scheduler_Restrictions. //This willneed to be passed to the scheduler.

Page 34: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Example

2–6 Version 3.2

//

SchedulerUserData *uData = (SchedulerUserData *)

glDialog_get_user_data(glButton_get_dialog(bogus));

//

// Get the scheduler oid and then get an id from the

// scheduler.

//

TMF_Scheduler_scheduler scheduler = dir_get_scheduler();

job->job_id =t_TMF_Scheduler_scheduler_get_id(scheduler,

&ev, Trans_none);

//

// create the request structure which represents the method

// that will be invoked. Other arguments may needed

// depending on the application.

//

Request request = req_create( oid,

&ev, transaction, "scheduled_push",

...

ARG_IN, TC_TMF_Types_ObjectList, host_list,

ARG_IN, TC_TMF_Types_ObjectList, host_list,

ARG_IN, TC_TMF_Scheduler_JobId, &job->job_id,

...

ARG_NULL);

job->job_call = req_serialize(request, &ev);

Page 35: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Example

TME 10 ADE Release Notes 2–7

t_TMF_Scheduler_scheduler_add_job_with_id_and_restrictions(scheduler, &ev, trans_none, job, uData->restrict );

}

//

// The following is the idl definition that will be invoked by the

// Scheduler.

//

void t_some_long_name_scheduled_push( ...,

TMF_Types_ObjectList host_list,

TMF_Types_ObjectList orig_host_list,

TMF_Scheduler_JobId job_id,

... )

{

TMF_Scheduler_Restrictions *restrict;

TMF_Scheduler_RestrictionsList rList;

//

// do what ever you need to do to the list of hosts,

// making a new list of hosts which failed.

//

...

//

// Find the scheduler and get the job which started

// this method. This is done by using the id which

// was passed as an argument to this method.

//

TMF_Scheduler_scheduler scheduler = dir_get_scheduler();

seq_add((sequence_t*) &ids, &job_id, sizeof( TMF_Scheduler_JobId )

Page 36: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Example

2–8 Version 3.2

);

t_TMF_Scheduler_scheduler_get_jobs_with_restrictions(scheduler, ev, Trans_none, &ids, &jobs, &rList );

job = (TMF_Scheduler_Job*)seq_get((sequence_t*)&jobs, 0,sizeof(TMF_Scheduler_Job));

//

// It is extermely important that you do this check. This

// must be done to ensure backwards compatablility. Somejobs

// may exist that do not have a restrictions structure

// associated with them.

//

if( seq_len((sequence_t*) &rList) == 0 )

{

//

// This job must have been scheduled prior to

// existence of the restrictions functionality.

// Create a structure that will be passed to the

// edit_job method. Turn off all the restrictions

// by setting all the enabled flags to false

//

restrict = (TMF_Scheduler_Restrictions*)

mg_malloc( sizeof(TMF_Scheduler_Restrictions) );

restrict->daytime.enabled = FALSE;

restrict->nighttime.enabled = FALSE;

restrict->weekday.enabled = FALSE;

restrict->weekend.enabled = FALSE;

}

Page 37: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Example

TME 10 ADE Release Notes 2–9

else

restrict = (TMF_Scheduler_Restrictions*)

seq_get((sequence_t*)&rList, 0,

sizeof(TMF_Scheduler_Restrictions));

if( every_thing_worked_just_fine == TRUE )

{

//

// If everything succeed edit the job back to its

// original state. Exit the method gracefully so

// the scheduler will go into normal mode.

//

Request request = req_create( oid,

&ev, transaction, "scheduled_push",

...

ARG_IN, TC_TMF_Types_ObjectList, orig_host_list,

ARG_IN, TC_TMF_Types_ObjectList, orig_host_list,

ARG_IN, TC_TMF_Scheduler_JobId, &job->job_id,

...

ARG_NULL);

job->job_call = req_serialize(request, &ev);

t_TMF_Scheduler_scheduler_edit_job_with_restrictions(scheduler,ev,

Trans_none, job);

}

else

{

//

// If something failed edit the job specifying the hosts

Page 38: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

Example

2–10 Version 3.2

// to try the next time. Throw an exception so the

// scheduler knows to enter retry mode.

//

Request request = req_create( oid,

&ev, transaction, "scheduled_push",

...

ARG_IN, TC_TMF_Types_ObjectList, failed_list,

ARG_IN, TC_TMF_Types_ObjectList, orig_host_list,

ARG_IN, TC_TMF_Scheduler_JobId, &job->job_id,

...

ARG_NULL);

job->job_call = req_serialize(request, &ev);

t_TMF_Scheduler_scheduler_edit_job_with_restrictions(scheduler,ev, Trans_none, job);

Throw( Exception );

}

}

Page 39: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TME 10 ADE Release Notes 3–1

33 Configuration and Change Management System Module

CCMS User Interface Changes:The 3.0 and following releases of TME 10 ADE include threechanges to the CCMS user interface:

■ Profile push order framework (PR 7044)

■ All-or-nothing transaction semantics on profile distributions(PR 12662)

■ Distribution handling of unsupported profile types on endpoints(PR 12664)

■ Related user interface request (PR 12635):

The following solutions are explained only to the degree of impact toTME users and/or ADE programmers, which is only a smallpercentage of the total solution (the rest is the API-encapsulatedimplementations). This includes backward-compatibility impact atthe user/programmer level and at the implementation level betweenTMRs.

Profile Push Order Framework (PR 7044):Using TME 10 ADE, you can create new types of profiles. In suchcases, an instance of one profile type might have dependentrelationships with instances of other profile types. Thus, whenmultiple profiles in a profile manager are distributed to subscribers,the profiles must be pushed in a predefined order, which might beunknown to the user.

The required order should be defined programmatically through aTME 10 ADE framework for profile applications. Any profileapplication developer has the option to use (or not use) thisframework to satisfy any profile push order requirements.

Page 40: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–2 Version 3.2

The basic ordering relationships between types of profiles arenormally known at development time (static), and have no need to bechanged dynamically at runtime. Although, there is a requirement ofbeing able to dynamically (at runtime) constrain the basic staticordering relationships to allow an administrator to establishadditional dependencies on top of the TME 10 ADE-defined staticones.

Using dependencies, you can dynamically add more dependencies(user-controlled) to further constrain the static TME 10 ADE-defined(out-of-the-box) profile dependencies. The fact that the staticdependencies normally would not need modification means thedependency data structures do not need to be exposed in theinterface; they can instead be hidden in the implementation. All thatneeds to be exposed in the interface is a minimal API to furtherconstrain the profile dependencies, because there should be no needfor a certain type of profile to change the dependencies of anothertype of profile.

Profile type dependencies should normally be defined statically inTME 10 ADE, and profile type and profile instance dependenciesshould be defined dynamically by the user (administrator). Profileinstance dependencies should not be defined statically in TME 10ADE because, unlike profile types, profile instances have moredynamic dependency requirements, and should thus be set up by anadministrator.

The basic static TME 10 ADE-defined dependencies should notchange dynamically, but there should be a way to allow anadministrator to set (constrain/unconstrain) user-defineddependencies.

Profile dependencies will be keyed by profile type (user-friendlyimplementation name) or instance names. Cooperation is required toproduce profile dependencies of well-known type or instance names.A well-known type is one that is known by some managing authority,such as an administrator or a group of TME 10 ADE programmers.

The attribute defining dependencies for all profiles in a given profileorganizer would live on the profile organizer. Also, this attributeshould be ordered at profile creation time so the structure traversal atprofile distribution time will have minimal overhead impact. There's

Page 41: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–3

also a possibility of circular dependencies that must be checked andhandled, which adds some overhead to the process.

New IDL types are added to theTMF_CCMS::Propagationinterface to support profile dependencies. In general, there are fourtypes of dependencies that can be defined:

■ profile type -> profile type

■ profile instance -> profile instance

■ profile instance -> profile type

■ profile type -> profile instance

Page 42: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–4 Version 3.2

// profile push order dependency data structures

// source dependency type:

// profile_type_global = static profile type dependency which // appliesglobally (to all profile organizers)

// profile_type_local = dynamic profile type dependency which // applieslocally (to specific profile organizer)

// profile_instance_local = dynamic profile instance dependency // whichapplies locally (to specific profile organizer)

enum source_dependency_type {profile_type_global, profile_type_local,profile_instance_local};

// target dependency type:

// profile_type = profile type dependency

// profile_instance = profile instance dependency

enum target_dependency_type {profile_type, profile_instance};

// possible dependency relationships (source -> target):

// profile type -> profile type

// profile instance -> profile instance

// profile type -> profile instance

// profile instance -> profile type

struct push_dependency {

source_dependency_type source_type; // source type

target_dependency_type type; // target type

string profile_type_name; // target profile

Page 43: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–5

type name

string profile_instance_name; // target profile

instance name

};

typedef sequence <push_dependency> push_dependencies;

A new IMP attribute with supporting types is added to theimp_TMF_CCMS::ProfileOrganizer implementation. Thisattribute defines the profile push order for a profile manager andendpoint:

struct push_order {

Object profile;

TMF_CCMS::Propagation::push_dependencies dependencies;

...

};

typedef sequence <push_order> push_order_list;

attribute push_order_list profile_push_order;

New operations are added to theTMF_CCMS::Propagationinterface, with corresponding methods in theimp_TMF_CCMS::ProfileOrganizer implementation, to maintain

Page 44: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–6 Version 3.2

the profile push order dependencies for a profile manager orendpoint:

push_dependencies get_profile_push_order_dependencies(

in Profile profile)

raises(SysAdminException::ExNotFound);

void del_profile_push_order_dependencies(in Profile profile)

raises(SysAdminException::ExNotFound);

push_dependencies get_local_profile_push_order_dependencies(

in Profile profile)

raises(SysAdminException::ExNotFound);

void set_local_profile_push_order_dependencies(in Profile profile,

in push_dependencies dependencies)

raises(SysAdminException::ExNotFound);

push_dependencies get_local_profiletype_push_order_dependencies(

in string profile_type)

raises(SysAdminException::ExNotFound);

void set_local_profiletype_push_order_dependencies(

in string profile_type,

in push_dependencies dependencies)

raises(SysAdminException::ExNotFound);

push_dependencies get_global_profiletype_push_order_dependencies(

in string profile_type)

raises(SysAdminException::ExNotFound);

void set_global_profiletype_push_order_dependencies(

in string profile_type,

in push_dependencies dependencies)

raises(SysAdminException::ExNotFound);

Page 45: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–7

A new IDL readonly attribute is added to theTMF_CCMS::Profileinterface. This attribute defines the push order dependencies for theprofile: readonly attribute Propagation::push_dependenciespush_order_dependencies;

A new IDL attribute is added to theTMF_CCMS::Profile interface.This attribute defines the local push order dependencies for theprofile:

attribute Propagation::push_dependencieslocal_push_order_dependencies;

Two existing IDL operations are removed from theTMF_CCMS::Profile interface, since they're no longer needed:

■ scheduled_push()

■ scheduled_pull()

New operations with supporting types are added to theTMF_CCMS::Propagation interface, with corresponding methodsin the imp_TMF_CCMS::ProfileOrganizer implementation, to

Page 46: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–8 Version 3.2

support the distribution (pushing/pulling) of multiple profiles in apredefined order:

struct profile_push_result {

SysAdminTypes::ObjectLabel profile;

push_result_list subscribers;

};

typedef sequence <profile_push_result> profile_push_result_list;

struct profile_subscribers {

Profile profile;

TMF_Types::ObjectList subscribers;

};

typedef sequence <profile_subscribers> profile_subscribers_list;

void push_profiles(in TMF_Types::ObjectList profiles,

in TMF_Types::ObjectList subscribers,

in profile_subscribers_list hetero_subscribers,

in Propagation::force_flags flags,

in boolean one_step,

out profile_push_result_list results)

raises(SysAdminException::ExObjNotFound,

ExAllOrNothingDistributeFailure);

void default_push_profiles(in TMF_Types::ObjectList profiles,

in TMF_Types::ObjectList subscribers,

in profile_subscribers_list hetero_subscribers,

out profile_push_result_list results)

raises(SysAdminException::ExObjNotFound,

Page 47: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–9

ExAllOrNothingDistributeFailure);

void scheduled_push_profiles(

in TMF_Types::ObjectList orig_profiles,

in TMF_Types::ObjectList curr_profiles,

in TMF_Types::ObjectList orig_subscriber_list,

in profile_subscribers_list curr_subscriber_list,

in Propagation::force_flags flags,

in boolean one_step,

in TMF_Scheduler::JobId jobid)

raises(SysAdminException::ExObjNotFound,

SysAdminException::ExFailed);

void scheduled_default_push_profiles(

in TMF_Types::ObjectList orig_profiles,

in TMF_Types::ObjectList curr_profiles,

in TMF_Types::ObjectList orig_subscriber_list,

in profile_subscribers_list curr_subscriber_list,

in TMF_Scheduler::JobId jobid)

raises(SysAdminException::ExObjNotFound,

SysAdminException::ExFailed);

void pull_profiles(in TMF_Types::ObjectList profiles,

in Propagation::force_flags flags,

in boolean one_step,

out profile_push_result_list results)

raises(SysAdminException::ExObjNotFound,

ExAllOrNothingDistributeFailure);

void default_pull_profiles(in TMF_Types::ObjectList profiles,

out profile_push_result_list results)

Page 48: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–10 Version 3.2

raises(SysAdminException::ExObjNotFound,

ExAllOrNothingDistributeFailure);

void scheduled_pull_profiles(

in TMF_Types::ObjectList orig_profiles,

in TMF_Types::ObjectList curr_profiles,

in Propagation::force_flags flags,

in boolean one_step,

in TMF_Scheduler::JobId jobid)

raises(SysAdminException::ExObjNotFound,

SysAdminException::ExFailed);

void scheduled_default_pull_profiles(

in TMF_Types::ObjectList orig_profiles,

in TMF_Types::ObjectList curr_profiles,

in TMF_Scheduler::JobId jobid)

raises(SysAdminException::ExObjNotFound,

SysAdminException::ExFailed);

The new IDL interfaceTMF_CCMS::ProfileInstanceManager isadded with a corresponding implementationimp_TMF_CCMS::ProfileInstanceManager:

interface ProfileInstanceManager :TMF_TNR::InstanceManager

{

attribute Propagation::push_dependenciespush_dependencies;

...

};

The Profile implementation makes the ProfileInstanceManagerimplementation its metaclass. Each Profile implementation (deriversof class Profile) has the above push_dependencies attribute (settable

Page 49: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–11

at runtime) defining all the push dependencies the particular type ofprofile supports. If this attribute isn't set or is an empty sequence, thenthere are simply no push dependencies defined. These global staticprofile type dependencies are cached in each profile organizercontaining one or more profiles of the particular profile type. Thisinformation only needs to be retrieved from a profile class once forall profiles of the same type in the same profile organizer, althoughthe cache may be programmatically changed at any time by callingthe profile organizer'sset_global_profiletype_push_order_dependencies() method.

A new exception is added to theTMF_CCMS::Propagationinterface, which can happen at profile creation time if a circulardependency is detected between profiles and/or profile types:

exception ExCircularDependency :SysAdminException::ExException {string path;};

In general, multiple profile pushes will be ordered according to thenew profile push order attribute rather than the members list attribute.

A new operation is added to theTMF_CCMS::Propagationinterface (with a corresponding method in theimp_TMF_CCMS::ProfileOrganizer implementation), exclusivelyfor upgrade, to properly setup the profile push order attribute from anexisting members list for a profile organizer. This operation isautomatically called at runtime, when necessary, to upgrade a givenprofile organizer, although nothing precludes this from being calledmanually (say, at install time):

void install_push_order();

All-or-Nothing Transaction Semantics on ProfileDistributions (PR 12662):

Another type of profile distribution transaction commit behavior isrequired. The current behavior is to distribute as many profiles to asmany subscribers as possible. In this case, any failed subscribersdon't abort (rollback) the profiles that were successfully distributedto subscribers. This current behavior should continue to be the

Page 50: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–12 Version 3.2

default behavior, but an additional, optional, behavior should besupported: an all-or-nothing behavior.

The all-or-nothing profile distribution transaction commit behaviorshould rollback all profiles from all subscribers when the distributeof any profile fails to any subscriber.

A GUI component is also needed to allow a user to view and modifythe profile distribution transaction commit behavior for a profilemanager.

A new IDL attribute with supporting types is added to theTMF_CCMS::Propagation interface, with a corresponding IMPattribute in theimp_TMF_CCMS::ProfileOrganizerimplementation. This attribute defines the profile push transactioncommit behavior for a profile manager or endpoint. This transactionbehavior is currently not needed at the profile endpoint because thereisn't the concept of subscribers at a profile endpoint. There might bea need, however, for this in the future for possibly pushing tomultiply-registered application endpoint methods where pushtransaction behavior options may be required. The following profiletypes are defined:

// push transaction commit behavior types:

// partial - commit as many profiles to as many subscribersas // possible

// all_or_nothing - abort all profiles to all subscribersif any

// subscribers fail for any profiles

// subsc_all_or_nothing - abort all profiles to anysubscriber

// failing for one or more of the profiles

// prof_all_or_nothing - abort a profile to all subscribersif // any subscribers fail for the profile

enum push_trans_commit_type {partial, all_or_nothing,subsc_all_or_nothing, prof_all_or_nothing};

attribute push_trans_commit_typepush_trans_commit_behavior;

Page 51: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–13

New operations with supporting types are added to theTMF_CCMS::Propagation interface, with corresponding methodsin the imp_TMF_CCMS::ProfileOrganizer implementation, tosupport the getting/setting of all the transaction push semantics aparticular type of profile supports in the profile organizer:

typedef sequence <push_trans_commit_type>push_trans_commit_types; push_trans_commit_typesget_profiletype_push_trans_commit_types(in stringprofile_type)

raises(SysAdminException::ExNotFound);

void set_profiletype_push_trans_commit_types(

in string profile_type,

in push_trans_commit_types trans_types)

raises(SysAdminException::ExNotFound);

Two new exceptions are added to theTMF_CCMS::Propagationinterface; one's an exception which generalizes the differenttransaction behavior exceptions, and the other's a specific exceptionfor the all-or-nothing transaction case (the other specific exceptionswill be added in the second phase):

■ exception ExDistributeFailure :SysAdminException::ExException {};

■ exception ExAllOrNothingDistributeFailure :ExDistributeFailure {};

Also, the all-or-nothing exception is added to the exception signatureof the operations that may raise this exception if the desiredtransaction behavior is all-or-nothing:

■ TMF_CCMS::Propagation::push()

■ TMF_CCMS::Propagation::push_with_actions()

■ TMF_CCMS::Propagation::partial_push()

■ TMF_CCMS::Propagation::pull()

■ TMF_CCMS::Propagation::partial_pull()

■ TMF_CCMS::Propagation::merge()

Page 52: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–14 Version 3.2

■ TMF_CCMS::Propagation::push_profiles()

■ TMF_CCMS::Propagation::default_push_profiles()

■ TMF_CCMS::Propagation::pull_profiles()

■ TMF_CCMS::Propagation::default_pull_profiles()

■ TMF_CCMS::Profile::push()

■ TMF_CCMS::Profile::default_push()

■ TMF_CCMS::Profile::pull()

■ TMF_CCMS::Profile::default_pull()

The new IDL interfaceTMF_CCMS::ProfileInstanceManager isadded with a corresponding implementationimp_TMF_CCMS::ProfileInstanceManager:

interface ProfileInstanceManager :TMF_TNR::InstanceManager

{

attribute Propagation::push_trans_commit_types

push_trans_commit_types;

...

};

The Profile implementation makes the ProfileInstanceManagerimplementation its metaclass. Each Profile implementation (deriversof class Profile) has the above push_trans_commit_types attribute(settable at runtime) defining all the push transaction commitbehavior types the particular type of profile supports. If this attributeisn't set or is an empty sequence, then simply all (any) pushtransaction commit behavior types are supported.

The profile push transaction commit behavior needs to be passedusing mdist to each subscriber's merge() method invocation in thecase of recursive pushes. Note that any subscriber may be in adifferent TMR. A requirement is to preserve backward compatibilitybetween TMRs, so the transfer of the transaction behavior tosubscribers must be achieved without causing marshalling problemsbetween mdist-transferred headers of different software revisions. To

Page 53: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–15

achieve this, this information is encoded in two unused bits of themerge parameters header. The structure defining this header isimp_TMF_CCMS::ProfileOrganizer::merge_params, and twounused bits of thekey_conflictfield of this structure are used to passthe transaction behavior information.

For the first phase of enhancements, the capability to view andmodify the profile push transaction commit behavior from the GUIwill not exist. In the interim, the profile organizer's profile pushtransaction commit behavior will be automatically set atprofile-creation time. For any profile created within the profileorganizer, if the push_trans_commit_types attribute on its class(defined in ProfileInstanceManager metaclass) is set to a single pushtransaction commit type, then the profile organizer'spush_trans_commit_behavior is automatically set to this type. If apush is attempted of a profile that doesn't support the push committransaction behavior defined by its profile organizer, then the profilewill not be pushed and a notification will be logged. The default pushtransaction commit behavior of a profile organizer is partial. The listof supported push transaction commit behavior types defined by aprofile's class is cached in the profile organizer where the profilelives. This information only needs to be retrieved from a profile classonce for all profiles of the same type in the same profile organizer,although the cache may be programmatically changed at any time bycalling the profile organizer'sset_profiletype_push_trans_commit_types() method.

Distribution Handling of Unsupported Profile Types onEndpoints(PR 12664):

When a profile is distributed to a profile endpoint which doesn'tsupport that type of profile (no registered application methods for theparticular type of profile), currently an exception is raised. Whatshould happen is profiles pushed to profile endpoints not supportingthem should simply not raise an exception, because this exceptionmesses up the transaction semantics of a profile push (see PRs 12662and 12663). This is needed at least until the typed endpointslonger-term solution is available.

Page 54: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–16 Version 3.2

The proposed solution is to simply catch an exception raised fromtrying to push a profile at a profile endpoint to a non-existent(non-registered) application endpoint method for the particular typeof profile pushed. The exception is still propagated up to theapplication (for instance, an error popup still happens whendistributing from the GUI), but doesn't cause a rollback of profilessuccessfully distributed to subscribers (in the case of anall-or-nothing transaction commit behavior).

A new exception is added to theTMF_CCMS::Propagationinterface, for specifying that a profile application is not installed onan endpoint:

exception ExProfileAppNotInstalled :SysAdminException::ExException {};

This will require a change to all profile applications with a clientdatabase component. TME 10 Distributed Monitoring is currently theonly Tivoli profile application with a client database component (seePR 13336). The change needed is any application-specific exceptiondefined to cover the condition of the application not installed on anendpoint, needs to inherit it fromTMF_CCMS::Propagation::ExProfileAppNotInstalled .

This allows CCMS to catch any application specific exceptionthrown in the case of the application not installed on the endpoint.Any third-party profile applications with a client database componentwill need to do this also.

Related User Interface Request (PR 12635):A "$selects" argument in a callback for a drag-and-drop rule is nowused as an identifier for when a slightly different behavior is desired.If a callback uses $selects in a drag-and-drop rule, a single callbackwill be issued with all selected icons filling in for $selects.

All dialogs with the push_copy_in%($drops) callback will need tochange to push_copy_in%($selects,$drops). In addition to thedialogs changed in TMP (ProfileManager, ManagedNode,PCManagedNode), dialogs in the following components will needthis change:

Page 55: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–17

NISDomain (see PR 13334)

HostNamespace (see PR 13335)

An ExampleA TME 10 ADE developer creates two types of profiles: XProfile,YProfile. The XProfile/YProfile interfaces inherit fromTMF_CCMS::Profile, and their implementations inherit fromimp_TMF_CCMS::Profile . Both types of profiles have static(known at development time) push dependencies on other types ofprofiles. YProfile depends on XProfile, and XProfile depends onUserProfile (Tivoli's):

■ YProfile -> XProfile

■ XProfile -> UserProfile

Also, XProfile and YProfile should only work with the all-or-nothingpush transaction commit behavior. In other words, when these typesof profiles are pushed from a profile manager, if any of them fail toany subscriber, they all should fail (rollback).

Assuming XProfile and YProfile are also the user-friendlyimplementation names (resource types in TNR), the following shouldbe part of the install process of the new profile applications (XProfileand YProfile):

idlcall <YProfile class object> _set_push_dependencies

'{1 {profile_type_global profile_type "XProfile" ""}}'

idlcall <YProfile class object>_set_push_trans_commit_types

'{1 {all_or_nothing}}'

idlcall <XProfile class object> _set_push_dependencies

'{1 {profile_type_global profile_type "UserProfile" ""}}'

idlcall <XProfile class object>_set_push_trans_commit_types

'{1 {all_or_nothing}}'

Page 56: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

3–18 Version 3.2

For an upgrade-install if new XProfile or YProfile push dependencieswill replace old, and since any existing profile organizers (profilemanagers and endpoints) containing existing profiles of type XProfileor YProfile will have the old static global profile type pushdependencies cached, the following should be done in addition to theabove installation procedure:

■ For all POs containing one or more YProfile's:

idlcall <PO object>set_global_profiletype_push_order_dependencies

'"YProfile"

{1 {profile_type_global profile_type "XProfile" ""}}'

■ For all POs containing one or more XProfile's:

idlcall <PO object>set_global_profiletype_push_order_dependencies

'"XProfile"

{1 {profile_type_global profile_type "UserProfile"""}}'

For an upgrade-install if new XProfile or YProfile supported pushtransaction commit behavior types will replace old, and since anyexisting profile managers containing existing profiles of typeXProfile or YProfile will have the old supported push transactioncommit behavior types cached, the following should be done inaddition to the above installation procedure:

■ For all PMs containing one or more YProfile's:

idlcall <PM object>set_profiletype_push_trans_commit_types

'"YProfile" {1 {all_or_nothing}}'

■ for all PMs containing one or more XProfile's:

idlcall <PM object>set_profiletype_push_trans_commit_types

'"XProfile" {1 {all_or_nothing}}'

Page 57: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS User Interface Changes:

TME 10 ADE Release Notes 3–19

Let's assume the XProfile profile application has a client databasecomponent (there's some persistent data that needs to be installed onclients). When a push of this type of profile is done to an clientendpoint without the application installed, an exception should bethrown by the application. This exception must inherit fromTMF_CCMS::Propagation::ExProfileAppNotInstalled , so CCMSmay catch it generally for any profile application. Since the{X,Y}Profile's have an all-or-nothing push transaction commitrequirement, an application not installed on a client will not beconsidered bad enough to warrant a rollback of everything elsepushed.

Let's assume that there is a need for dynamic profile type and profileinstance push dependencies to be setup programmatically at runtime.Let's say the current static global profile type dependencies need tobe constrained at runtime depending on what profiles exist in aparticular profile organizer just before push time. Remember that theglobal (static) dependencies apply globally to all profile organizers,while the local (dynamic) dependencies apply locally to a specificprofile organizer. Now, let's assume that it's determined at runtimethat the following dynamic dependencies need to be setup before apush happens in a particular profile organizer:

■ XProfile -> SentryProfile (profile type -> profile type)

■ XProfile:AnX -> GroupProfile:AGroup (profile instance ->profile instance)

■ XProfile -> CourierProfile:AFilePack (profile type -> profileinstance)

■ XProfile:AnX -> HostProfile (profile instance -> profile type)

Along with the global dependencies, this would make the profileXProfile:AnX's entire (global and local) dependency list look likethis (in the particular profile organizer):

■ XProfile -> UserProfile (global static)

■ XProfile -> SentryProfile (local dynamic)

■ XProfile:AnX -> GroupProfile:AGroup (local dynamic)

■ XProfile -> CourierProfile:AFilePack (local dynamic)

Page 58: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

CCMS Manual Pages

3–20 Version 3.2

■ XProfile:AnX -> HostProfile (local dynamic)

The following would be done to set up these dynamic dependencies(what's shown are command line idlcalls, but these could be clientstub calls from a C program):

idlcall <PO object>

set_local_profiletype_push_order_dependencies

'"XProfile" {2 {profile_type_local profile_type

"SentryProfile" ""}

{profile_type_local profile_instance

"CourierProfile" "AFilePack"}}'

idlcall <XProfile:AnX object>

_set_local_push_order_dependencies

'{2 {profile_instance_local profile_instance

"GroupProfile" "AGroup"}

{profile_instance_local profile_type "HostProfile"""}}'

CCMS Manual PagesThe following section contains manual pages for theTMF_CCMS::Propagation interface.

Page 59: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation, Propagation

TME 10 ADE Release Notes 3–21

NAME

TMF_CCMS::Propagation, Propagation

PURPOSE

Contains operations to control pushing and pulling databaseinformation from a profile manager to subscribers.

DESCRIPTION

TheTMF_CCMS::Propagation interface contains operations tocontrol pushing and pulling database information from a profilemanager to subscribers. The interface contains an attribute thatrepresents the subscribers for which the last push failed.

SOURCE FILES

CCMS.h, CCMS.idl, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

INTERFACE SYNOPSIS

interface Propagation {

exception ExConflictPolicyUsage :SysAdminException::ExException {};

exception ExDeletionPolicyUsage :SysAdminException::ExException {};

exception ExForceFlagsUsage :SysAdminException::ExException {};

exception ExDistributeFailure :SysAdminException::ExException {};

exceptionExAllOrNothingDistributeFailure : ExDistributeFailure {};

exception ExCircularDependency :SysAdminException::ExException {

Page 60: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation, Propagation

3–22 Version 3.2

string path;};

exception ExProfileAppNotInstalled :SysAdminException::ExException {};

enum force_flags {no_force, force, force_all,initial_merge};

enum push_trans_commit_type {partial,all_or_nothing, subsc_allor_nothing,prof_all_or_nothing};

typedef sequence <push_trans_commit_type>push_trans_commit_types;

enum source_dependency_type {profile_type_global,profile_type_local, profile_instance_local};

enum target_dependency_type {profile_type,profile_instance};

struct push_dependency { source_dependency_type source_type;

target_dependency_type type;sring profile_type_name;sring profile_instance_name;

};typedef sequence <push_dependency>

push_dependencies;

readonly attributeSysAdminTypes::ObjectLabelList last_failed;

attribute push_trans_commit_typepush_trans_commit_behavior;

struct profile_push_result { SysAdminTypes::ObjectLabel profile;

push_result_list subscribers;};typedef sequence <profile_push_result>

profile_push_result_list;

struct profile_subscribers { Profile profile;

TMF_Types::ObjectList subscribers;};

Page 61: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation, Propagation

TME 10 ADE Release Notes 3–23

typedef sequence <profile_subscribers>profile_subscribers_list;

struct update_params { force_flags forceflag;

any appdata;};

void push(in string db_name,in string partition,in TMF_Types::ObjectList

subscriber_list,in force_flags flags,in boolean one_step,in any appdata,

out push_result_list results)

raises(SysAdminException::ExNotFound,

SysAdminException::ExUsage,SysAdminException::ExFileWDeni

ExAllOrNothingDistributeFailure);

void push_with_actions(in string db_name,in string partition,in string action_key,in TMF_Types::ObjectList

subscriber_list,in force_flags flags,in boolean one_step,in any appdata,

out push_result_list results)

raises(SysAdminException::ExNotFound,

SysAdminException::ExUsage,SysAdminException::ExFileWDeni

ExAllOrNothingDistributeFailure);

void partial_push(in string db_name,in TMF_Types::ObjectList

subscriber_list,in TMF_Types::StringList

key_list,in force_flags flags,in boolean one_step,in any appdata,

out push_result_list results)

raises(SysAdminException::ExNotFound,

SysAdminException::ExEntryNotFound,

SysAdminException::ExUsage,

Page 62: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation, Propagation

3–24 Version 3.2

SysAdminException::ExFileWDenied,ExAllOrNothingDistributeFailure);

void pull(in string db_name,in string partition,in ProfileManager

profile_manager,in force_flags flags,in boolean one_step,in any appdata,out push_result result)

raises(SysAdminException::ExNotFound,

SysAdminException::ExEntryNotFound,

SysAdminException::ExUsage,SysAdminException::ExFileWD e

ExAllOrNothingDistributeFailure);

void partial_pull(in string db_name,in ProfileManager

profile_manager,in TMF_Types::StringList keylist,

in force_flags flags,in boolean one_step,in any appdata,out push_result result)

raises(SysAdminException::ExNotFound,

SysAdminException::ExEntryNotFound,

SysAdminException::ExUsage,SysAdminException::ExFileW D

ExAllOrNothingDistributeFailure);

enum policy_type {normal, reject};

void set_conflict_policy(in string db_name,in policy_type policy)

raises(SysAdminException::ExNotFound,

SysAdminException::ExUsage);

void get_conflict_policy(in string db_name,out policy_type policy)

Page 63: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation, Propagation

TME 10 ADE Release Notes 3–25

raises(SysAdminException::ExNotFound);

enum deletion_policy {invoke_app_update,dont_invoke_app_update};

void set_deletion_policy(in string db_name,in deletion_policy policy)

raises(SysAdminException::ExNotFound,

SysAdminException::ExUsage);

deletion_policy get_deletion_policy(instring db_name)

raises(SysAdminException::ExNotFound);

void execute_actions(in string db_name,in boolean

terminate_on_failure,in pending_action_list

actions,out pending_action_list

completed);

};

DEFINED ATTRIBUTES

This section contains a list of all the attributes defined by theTMF_CCMS::Propagation interface, in alphabetical order, with ashort description of each.

last_failed A read-only attribute that lists the names of thesubscribers for which the last push failed.

push_trans_commit_behaviorAn attribute that specifies the desiredpush transaction commit behavior.

DEFINED TYPES

This section contains a list of all the data types defined by theTMF_CCMS::Propagation interface, in alphabetical order, with ashort description of each.

deletion_policy An enumerated data type that indicates the deletionpolicy for distributions.

Page 64: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation, Propagation

3–26 Version 3.2

force_flags An enumerated data type that indicates the policy formerging pushed records.

policy_type An enumerated data type that indicates the mergepolicy for key conflicts.

push_dependenciesA sequence of profile push dependencies.

push_trans_commit_type An enumerated data type that indicatesthe push transaction commit type.

profile_push_result A sequence of profile push results.

profile_subscribers A sequence of profiles with subscribers.

push_trans_commit_typesA sequence of an enumerated data typethat indicates the push transaction commit types.

source_dependency_typeAn enumerated data type that indicatesthe source profile dependency type.

target_dependency_typeAn enumerated data type that indicatesthe target profile dependency type.

update_params A structure passed in the initial buffer to theapplication agent on a push.

INHERITED INTERFACES

None

SEE ALSO

# Include appropriate categories, for example:

Modules: TMF_CCMS

Operations: See the individualTMF_CCMS::Propagation ::operation_name reference page foreach operation defined in the TMF_CCMS::Propagation interface.

Page 65: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::execute_actions

TME 10 ADE Release Notes 3–27

NAME

TMF_CCMS::Propagation::execute_actions

PURPOSE

Executes the specified action scripts.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void execute_actions(in string db_name, in boolean terminate_on_failure ,

in pending_action_list actions ,out pending_action_list completed );

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _execute_actions ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char * db_name, unsigned char terminate_on_failure,

TMF_CCMS_pending_action_list *actions,TMF_CCMS_pending_action_list *completed);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _execute_actions ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char * db_name, unsigned char terminate_on_failure,

TMF_CCMS_pending_action_list *actions,TMF_CCMS_pending_action_list *completed);

Page 66: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::execute_actions

3–28 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::execute_actions operationexecutes the specified action scripts identified byactions.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

db_name The name of the profile database.

terminate_on_failureIndicates whether or not to terminate onfailure.

actions The list of actions.

completed The list of the actions completed.

RETURN VALUES

None

EXCEPTIONS

None

SEE ALSO

# Include appropriate categories, for example:

Modules: TMF_CCMS

Interfaces: TMF_CCMS::Propagation

Operations: None

Page 67: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_profile_push_order_dependencies

TME 10 ADE Release Notes 3–29

NAME

TMF_CCMS::Propagation::get_profile_push_order_dependencies

PURPOSE

Retrieves the profile’s push order dependencies.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

push_dependencies get_profile_push_order_dependencies( in Profile profile ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

TMF_CCMS_Propagation_push_dependenciesTMF_CCMS_Propagation _get_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , Object profile);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

TMF_CCMS_Propagation_push_dependenciest_ TMF_CCMS_Propagation _get_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , Object profile);

Page 68: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_profile_push_order_dependencies

3–30 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::get_profile_push_order_dependencies operation retrieves the profile’s push order dependencies.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile The profile object.

RETURN VALUES

A sequence of profile’s push order dependencies

EXCEPTIONS

TheTMF_CCMS::Propagation::get_profile_push_order_dependencies operation raises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 69: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::del_profile_push_order_dependencies

TME 10 ADE Release Notes 3–31

NAME

TMF_CCMS::Propagation::del_profile_push_order_dependencies

PURPOSE

Removes the profile’s push order dependencies.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void del_profile_push_order_dependencies( in Profile profile ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

voidTMF_CCMS_Propagation _get_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , Object profile);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

voidt_ TMF_CCMS_Propagation _del_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , Object profile);

Page 70: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::del_profile_push_order_dependencies

3–32 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::del_profile_push_order_dependencies operation removes the profile’s push order dependencies.

PARAMETERS

o The object reference of the object on which theoperation is to performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile The profile object.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::del_profile_push_order_dependenciesoperation raises the following exceptions:

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 71: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_local_profile_push_order_dependencies

TME 10 ADE Release Notes 3–33

NAME

TMF_CCMS::Propagation::get_local_profile_push_order_dependencies

PURPOSE

Retrieves the profile’s local push order dependencies.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

push_dependenciesget_local_profile_push_order_dependencies( in Profile profile ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

TMF_CCMS_Propagation_push_dependenciesTMF_CCMS_Propagation _get_local_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , Object profile);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

TMF_CCMS_Propagation_push_dependenciest_ TMF_CCMS_Propagation _get_local_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , Object profile);

Page 72: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_local_profile_push_order_dependencies

3–34 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::get_local_profile_push_order_dependencies operation retrieves the profile’s local push orderdependencies.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile The profile object.

RETURN VALUES

A sequence of profile’s local push order dependencies

EXCEPTIONS

TheTMF_CCMS::Propagation::get_local_profile_push_order_dependencies operation raises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 73: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_local_profile_push_order_dependencies

TME 10 ADE Release Notes 3–35

NAME

TMF_CCMS::Propagation::set_local_profile_push_order_dependencies

PURPOSE

Sets the profile’s local push order dependencies.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void set_local_profile_push_order_dependencies( in Profile profile ) in push_dependencies dependencies ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

voidTMF_CCMS_Propagation _set_local_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , Object profile, TMF_CCMS_Propagation_push_dependencies *dependencies);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

voidt_ TMF_CCMS_Propagation _set_local_profile_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , Object profile, TMF_CCMS_Propagation_push_dependencies *dependencies);

Page 74: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_local_profile_push_order_dependencies

3–36 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::set_local_profile_push_order_dependencies operation sets the profile’s local push order dependencies.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile The profile object.

dependencies The profile’s local push order dependencies.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::set_local_profile_push_order_dependencies operation raises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 75: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_local_profiletype_push_order_dependencies

TME 10 ADE Release Notes 3–37

NAME

TMF_CCMS::Propagation::get_local_profiletype_push_order_dependencies

PURPOSE

Retrieves the local push order dependencies for the profile type.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

push_dependenciesget_local_profiletype_push_order_dependencies( in string profile_type ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

TMF_CCMS_Propagation_push_dependenciesTMF_CCMS_Propagation _get_local_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char *profile_type);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

TMF_CCMS_Propagation_push_dependenciest_ TMF_CCMS_Propagation _get_local_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char *profile_type);

Page 76: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_local_profiletype_push_order_dependencies

3–38 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::get_local_profiletype_push_order_dependenciesoperation retrieves the local push order dependenciesfor the profile type.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile_type The profile type.

RETURN VALUES

A sequence of local push order dependencies for the profile type

EXCEPTIONS

TheTMF_CCMS::Propagation::get_local_profiletype_push_order_dependencies operation raises the following exceptions:

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 77: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_local_profiletype_push_order_dependencies

TME 10 ADE Release Notes 3–39

NAME

TMF_CCMS::Propagation::set_local_profiletype_push_order_dependencies

PURPOSE

Sets the local push order dependencies for the profile type.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void set_local_profiletype_push_order_dependencies( in string profile_type ) in push_dependencies dependencies ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

voidTMF_CCMS_Propagation _set_local_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char *profile_type, TMF_CCMS_Propagation_push_dependencies *dependencies);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

voidt_ TMF_CCMS_Propagation _set_local_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char *profile_type, TMF_CCMS_Propagation_push_dependencies *dependencies);

Page 78: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_local_profiletype_push_order_dependencies

3–40 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::set_local_profiletype_push_order_dependencies operation sets the local push order dependencies forthe profile type.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile_type The profile type.

dependencies The local push order dependencies for the profiletype.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::set_local_profiletype_push_order_dependencies operation raises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces: TMF_CCMS::Propagation

Page 79: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_global_profiletype_push_order_dependencies

TME 10 ADE Release Notes 3–41

NAME

TMF_CCMS::Propagation::get_global_profiletype_push_order_dependencies

PURPOSE

Retrieves the global push order dependencies for the profile type.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

push_dependenciesget_global_profiletype_push_order_dependencies( in string profile_type ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

TMF_CCMS_Propagation_push_dependenciesTMF_CCMS_Propagation _get_global_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char *profile_type);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

TMF_CCMS_Propagation_push_dependenciest_ TMF_CCMS_Propagation _get_global_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char *profile_type);

Page 80: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_global_profiletype_push_order_dependencies

3–42 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::get_global_profiletype_push_order_dependencies operation retrieves the global push orderdependencies for the profile type.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile_type The profile type.

RETURN VALUES

A sequence of global push order dependencies for the profile type

EXCEPTIONS

TheTMF_CCMS::Propagation::get_global_profiletype_push_order_dependenciesoperation raises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules: TMF_CCMS

Interfaces: TMF_CCMS::Propagation

Page 81: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_global_profiletype_push_order_dependencies

TME 10 ADE Release Notes 3–43

NAME

TMF_CCMS::Propagation::set_global_profiletype_push_order_dependencies

PURPOSE

Sets the global push order dependencies for the profile type.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void set_global_profiletype_push_order_dependencies( in string profile_type ) in push_dependencies dependencies ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

voidTMF_CCMS_Propagation _set_global_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char *profile_type, TMF_CCMS_Propagation_push_dependencies *dependencies);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

voidt_ TMF_CCMS_Propagation _set_global_profiletype_push_order_dependencies ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char *profile_type, TMF_CCMS_Propagation_push_dependencies *dependencies);

Page 82: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_global_profiletype_push_order_dependencies

3–44 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::set_global_profiletype_push_order_dependencies operation sets the global push order dependencies forthe profile type.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile_type The profile type.

dependencies The global push order dependencies for the profiletype.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::set_global_profiletype_push_order_dependencies operation raises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 83: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_profiletype_push_trans_commit_types

TME 10 ADE Release Notes 3–45

NAME

TMF_CCMS::Propagation::get_profiletype_push_trans_commit_types

PURPOSE

Retrieves the supported push transaction commit types for the profiletype.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

push_trans_commit_typesget_profiletype_push_trans_commit_types( in string profile_type ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

TMF_CCMS_Propagation_push_trans_commit_typesTMF_CCMS_Propagation _get_profiletype_push_trans_commit_types ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char *profile_type);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

TMF_CCMS_Propagation_push_trans_commit_typest_ TMF_CCMS_Propagation _get_profiletype_push_trans_commit_types ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char *profile_type);

Page 84: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_profiletype_push_trans_commit_types

3–46 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::get_profiletype_push_trans_commit_types operation retrieves the supported push transaction committypes for the profile type.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile_type The profile type.

RETURN VALUES

A sequence of supported push transaction commit types for theprofile type

EXCEPTIONS

TheTMF_CCMS::Propagation::get_profiletype_push_trans_commit_types operation raises the following exceptions:

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 85: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_profiletype_push_trans_commit_types

TME 10 ADE Release Notes 3–47

NAME

TMF_CCMS::Propagation::set_profiletype_push_trans_commit_types

PURPOSE

Sets the supported push transaction commit types for the profile type.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void set_profiletype_push_trans_commit_types( in string profile_type ) in push_trans_commit_types trans_types ) raises(SysAdminException::ExNotFound);

CORBA ANSI C Stub Synopsis

#include CCMS.h

voidTMF_CCMS_Propagation _set_profiletype_push_trans_commit_types ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char *profile_type, TMF_CCMS_Propagation_push_trans_commit_types*trans_types);

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

voidt_ TMF_CCMS_Propagation _set_profiletype_push_trans_commit_types ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char *profile_type,

Page 86: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_profiletype_push_trans_commit_types

3–48 Version 3.2

TMF_CCMS_Propagation_push_trans_commit_types*trans_types);

DESCRIPTION

TheTMF_CCMS::Propagation::set_profiletype_push_trans_commit_types operation sets the supported push transaction commit typesfor the profile type.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profile_type The profile type.

trans_types The supported push transaction commit types for theprofile type.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::set_profiletype_push_trans_commit_typesoperation raises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces: TMF_CCMS::Propagation

Page 87: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push_profiles

TME 10 ADE Release Notes 3–49

NAME

TMF_CCMS::Propagation::push_profiles

PURPOSE

Pushes multiple profiles.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void push_profiles(in TMF_Types::ObjectList profiles , in TMF_Types::ObjectList subscribers , in profile_subscribers_list hetero_ subscribers , in force_flags flags , in boolean one_step , out profile_push_result_list results ) raises(SysAdminException::ExObjNotFound,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _push _profiles( TMF_CCMS_ProfileOrganizer o, Environment * ev , TMF_Types_ObjectList * profiles , TMF_Types_ObjectList * subscribers , TMF_CCMS_Propagation_profile_subscribers_list*hetero_ subscribers , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , TMF_CCMS_Propagation_profile_push_result_list* results );

Page 88: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push_profiles

3–50 Version 3.2

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _push_profiles ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , TMF_Types_ObjectList * profiles , TMF_Types_ObjectList * subscribers , TMF_CCMS_Propagation_profile_subscribers_list*hetero_ subscribers , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , TMF_CCMS_Propagation_profile_push_result_list* results );

DESCRIPTION

TheTMF_CCMS ::Propagation::push_profilesoperation pushesthe profiles identified by theprofiles parameter to subscribers if thereceiver is a profile manager. If the receiver is a profile endpoint, theprofiles are pushed to the application object and method registeredusing theTMF_CCMS ::Registration::register_app operation.

If the profiles parameter is of zero length, all profiles in the receiver(profile manager or endpoint) are pushed.

If the receiver is a profile manager, the value of thesubscribersparameter can be a list of subscribing profile managers and/orendpoints. If thesubscribers parameter is of zero length, the profilesare pushed to all subscribers. If the receiver is a profile endpoint, thesubscribers parameter is ignored. If thehetero_subscribersparameter is of non-zero length, this is used in addition to thesubscribers parameter. It allows each profile specified to be pushedto a different (heterogeneous) set of subscribers, instead of the same(homogeneous) set of subscribers. For any profile not specified in thehetero_subscribers parameter, the profile is pushed to the subscribersspecified by thesubscribers parameter.

Theflags parameter can have the following flags set:

no_force For a profile manager, the profile databases aremerged with the subscriber’s profile databases inaccordance with the setting of the local and fixedflags on each record and attribute. For a profile

Page 89: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push_profiles

TME 10 ADE Release Notes 3–51

endpoint, if the application method has registeredthat it does not want unchanged records, only thoserecords that are new, deleted, or modified since thelast push are passed.

force For a profile manager, the database overwrites alllocal modifications made by subscribers except forsubscriber records that have no counterpart in theparent profile databases. For a profile endpoint, allrecords are pushed.

force_all For a profile manager, the profile databases replacethe subscriber’s existing profile databases. For aprofile endpoint, all records are pushed to theapplication method.

If the one_step flag is set toTRUE for a profile manager, the profilesare pushed only to direct subscribers, without continuing recursively.This flag is ignored for a profile endpoint.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profiles The profiles to be pushed. If this sequence is of zerolength, all profiles are pushed.

subscribers The subscribers to push all profiles specified to. Ifthis sequence is of zero length, all subscribers arepushed to.

hetero_subscribersThe subscribers to push particular profiles to.

flags The flag setting controls the operation.

one_step A flag that determines whether or not the profiles arepushed recursively.

Page 90: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push_profiles

3–52 Version 3.2

results The result of the operation.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS ::Propagation::push_profiles operation raises thefollowing exceptions:

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS ::Propagation

Page 91: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::default_push_profiles

TME 10 ADE Release Notes 3–53

NAME

TMF_CCMS::Propagation::default_push_profiles

PURPOSE

Pushes multiple profiles using the default push parameters of therespective profiles.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void default_push_profiles(in TMF_Types::ObjectListprofiles , in TMF_Types::ObjectList subscribers , in profile_subscribers_list hetero_ subscribers , out profile_push_result_list results ) raises(SysAdminException::ExObjNotFound,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _default_push _profiles( TMF_CCMS_ProfileOrganizer o, Environment * ev , TMF_Types_ObjectList * profiles , TMF_Types_ObjectList * subscribers , TMF_CCMS_Propagation_profile_subscribers_list*hetero_ subscribers , TMF_CCMS_Propagation_profile_push_result_list* results );

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _default_ push_profiles ( TMF_CCMS_ProfileOrganizer o, Environment * ev ,

Page 92: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::default_push_profiles

3–54 Version 3.2

transaction tr , TMF_Types_ObjectList * profiles , TMF_Types_ObjectList * subscribers , TMF_CCMS_Propagation_profile_subscribers_list*hetero_ subscribers , TMF_CCMS_Propagation_profile_push_result_list* results );

DESCRIPTION

TheTMF_CCMS::Propagation::default_push_profiles operationpushes the profiles (using each profile’s default push parameters)identified by theprofiles parameter to subscribers if the receiver is aprofile manager. If the receiver is a profile endpoint, the profiles arepushed to the application object and method registered using theTMF_CCMS::Registration::register_app operation.

If the profiles parameter is of zero length, all profiles in the receiver(profile manager or endpoint) are pushed.

If the receiver is a profile manager, the value of thesubscribersparameter can be a list of subscribing profile managers and/orendpoints. If thesubscribers parameter is of zero length, the profilesare pushed to all subscribers. If the receiver is a profile endpoint, thesubscribers parameter is ignored. If thehetero_subscribersparameter is of non-zero length, this is used in addition to thesubscribers parameter. It allows each profile specified to be pushedto a different (heterogeneous) set of subscribers, instead of the same(homogeneous) set of subscribers. For any profile not specified in thehetero_subscribers parameter, the profile is pushed to the subscribersspecified by thesubscribers parameter.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

Page 93: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::default_push_profiles

TME 10 ADE Release Notes 3–55

profiles The profiles to be pushed. If this sequence is of zerolength, all profiles are pushed.

subscribers The subscribers to push all profiles specified to. Ifthis sequence is of zero length, all subscribers arepushed to.

hetero_subscribersThe subscribers to push particular profiles to.

results The result of the operation.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::default_push_profiles operationraises the following exceptions:

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces: TMF_CCMS::Propagation

Page 94: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::pull_profiles, Propagation::pull_profiles, pull_profiles

3–56 Version 3.2

NAME

TMF_CCMS::Propagation::pull_profiles,Propagation::pull_profiles, pull_profiles

PURPOSE

Pulls multiple profiles.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void pull_profiles(in TMF_Types::ObjectList profiles , in force_flags flags , in boolean one_step , out profile_push_result_list results ) raises(SysAdminException::ExObjNotFound,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _pull _profiles( TMF_CCMS_ProfileOrganizer o, Environment * ev , TMF_Types_ObjectList * profiles , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , TMF_CCMS_Propagation_profile_push_result_list* results );

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _pull_profiles ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , TMF_Types_ObjectList * profiles ,

Page 95: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::pull_profiles, Propagation::pull_profiles, pull_profiles

TME 10 ADE Release Notes 3–57

TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , TMF_CCMS_Propagation_profile_push_result_list* results );

DESCRIPTION

The TMF_CCMS::Propagation::pull_profiles operation pulls theprofiles identified by theprofiles parameter.

If the profiles parameter is of zero length, all profiles in the receiver(profile manager or endpoint) are pulled.

Theflags parameter can have the following flags set:

no_force For a profile manager, the profile databases aremerged with the subscriber’s profile databases inaccordance with the setting of thelocal andfixedflags on each record and attribute. For a profileendpoint, if the application method has registeredthat it does not want unchanged records, only thoserecords that are new, deleted, or modified since thelast push are passed.

force For a profile manager, the database overwrites alllocal modifications made by subscribers except forsubscriber records that have no counterpart in theparent profile databases. For a profile endpoint, allrecords are pushed.

force_all For a profile manager, the profile databases replacethe subscriber’s existing profile databases. For aprofile endpoint, all records are pushed to theapplication method.

If the one_step flag is set toTRUE for a profile manager, the profilesare pulled only to the receiver, without continuing recursively. Thisflag is ignored for a profile endpoint.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

Page 96: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::pull_profiles, Propagation::pull_profiles, pull_profiles

3–58 Version 3.2

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profiles The profiles to be pulled. If this sequence is of zerolength, all profiles are pulled.

flags The flag setting controls the operation.

one_step A flag that determines whether or not the profiles arepulled recursively.

results The result of the operation.

RETURN VALUES

None

EXCEPTIONS

The TMF_CCMS::Propagation::pull_profiles operation raises thefollowing exceptions:

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Page 97: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::default_pull_profiles

TME 10 ADE Release Notes 3–59

NAME

TMF_CCMS::Propagation::default_pull_profiles

PURPOSE

Pulls multiple profiles using the default push parameters of therespective profiles.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void default_pull_profiles(in TMF_Types::ObjectListprofiles , out profile_push_result_list results ) raises(SysAdminException::ExObjNotFound,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _default_pull _profiles( TMF_CCMS_ProfileOrganizer o, Environment * ev , TMF_Types_ObjectList * profiles , TMF_CCMS_Propagation_profile_push_result_list* results );

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _default_ pull_profiles ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , TMF_Types_ObjectList * profiles , TMF_CCMS_Propagation_profile_push_result_list* results );

Page 98: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::default_pull_profiles

3–60 Version 3.2

DESCRIPTION

TheTMF_CCMS::Propagation::default_pull_profiles operationpulls the profiles (using each profile’s default push parameters)identified by theprofiles parameter.

If the profiles parameter is of zero length, all profiles in the receiver(profile manager or endpoint) are pulled.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

profiles The profiles to be pulled. If this sequence is of zerolength, all profiles are pulled.

results The result of the operation.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::default_pull_profiles operationraises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Page 99: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::default_pull_profiles

TME 10 ADE Release Notes 3–61

Interfaces:TMF_CCMS::Propagation

Page 100: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_conflict_policy

3–62 Version 3.2

NAME

TMF_CCMS::Propagation::get_conflict_policy

PURPOSE

Retrieves the record containing the policy to be implemented whenname conflicts occur during a merge operation.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void get_conflict_policy(in string db_name, in policy_type policy ) raises(SysAdminException::ExNotFound,SysAdminException::ExPermission);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _get_conflict_policy ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char * db_name, TMF_CCMS_Propagation_policy_type * policy );

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _get_conflict_policy ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char * db_name, TMF_CCMS_Propagation_policy_type * policy );

Page 101: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::get_conflict_policy

TME 10 ADE Release Notes 3–63

DESCRIPTION

TheTMF_CCMS::Propagation::get_conflict_policy operationretrieves the record containing the policy to be implemented by theprofile manager when name conflicts occur during a merge operation.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

db_name The name of the profile database.

policy The policy governing how name conflicts arehandled.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::get_conflict_policy operationraises the following exceptions:

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Operations:TMF_CCMS::Propagation::set_conflict_policy($opn)

Page 102: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_pull, Propagation::partial_pull, partial_pull

3–64 Version 3.2

NAME

TMF_CCMS::Propagation::partial_pull,Propagation::partial_pull, partial_pull

PURPOSE

Pulls a subset of a database from a profile manager.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void partial_pull(in string db_name, in ProfileManager profile_manager , in TMF_Types::StringList keylist , in force_flags flags , in boolean one_step , in any appdata out push_result result ) raises(SysAdminException::ExNotFound,SysAdminException::EntryExNotFound,

SysAdminException::ExUsage,SysAdminException::ExFileWDenied,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _partial_pull ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char * db_name, TMF_CCMS_ProfileManager profile_manager , TMF_Types_StringList * keylist , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any * appdata , TMF_CCMS_push_result * result );

Page 103: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_pull, Propagation::partial_pull, partial_pull

TME 10 ADE Release Notes 3–65

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _partial_pull ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char * db_name, TMF_CCMS_ProfileManager profile_manager , TMF_Types_StringList * keylist , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any * appdata , TMF_CCMS_push_result * result );

DESCRIPTION

TheTMF_CCMS::Propagation::partial_pull operation pulls asubset of the database identified by thedb_name parameter from theprofile manager identified by theprofile_manager parameter. Thevalue of thekey_list parameter represents the records to be pulled.

The database records are merged with the local database according tothe setting of theflags parameter. Theflags parameter can have thefollowing flags set:

no_force For a profile manager, the database subset is mergedwith the subscriber’s database in accordance with thesetting of thelocal andfixed flags on each record andattribute. For a profile endpoint, if the applicationmethod has registered that it does not wantunchanged records, only those records that are new,deleted, or modified since the last push are passed.

force For a profile manager, the records specified in thekey_list parameter overwrite all local modificationsmade by subscribers. For a profile endpoint, allrecords specified in thekey_list parameter arepushed.

If theone_step flag is set toTRUE, the database subset is pulled onlyfrom a direct subscriber, without continuing recursively.

Page 104: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_pull, Propagation::partial_pull, partial_pull

3–66 Version 3.2

Theappdata parameter contains application-specific data that ispassed to the end of the pull pipeline only if the pull is recursive, thatis, theone_step flag is set toFALSE.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

db_name The name of the profile database.

profile_managerThe label identifying the profile manager.

key_list The list of keys identifying the records.

flags The flag setting controls the operation.

one_step A flag that determines whether or not the database ispushed recursively.

appdata The application-specific data.

result The result of the operation.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::partial_pull operation raises thefollowing exceptions:

SysAdminException::ExEntryNotFound The exception raisedwhen an entry in a table cannot be found.

SysAdminException::ExFileWDenied The exception raised whenthe caller cannot write to the file specified.

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

Page 105: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_pull, Propagation::partial_pull, partial_pull

TME 10 ADE Release Notes 3–67

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces: TMF_CCMS::Propagation

Operations: TMF_CCMS::Propagation::pull ($opn)

Page 106: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_push, Propagation::partial_push, partial_push

3–68 Version 3.2

NAME

TMF_CCMS::Propagation::partial_push,Propagation::partial_push, partial_push

PURPOSE

Pushes a subset of a database.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void partial_push(in string db_name, in TMF_Types::ObjectList subscriber_list , in TMF_Types::StringList key_list , in force_flags flags , in boolean one_step , in any appdata , out push_result_list results ) raises(SysAdminException::ExNotFound,SysAdminException::EntryExNotFound,

SysAdminException::ExUsage,SysAdminException::ExFileWDenied,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _partial_push ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char * db_name, TMF_Types_ObjectList * subscriber_list , TMF_Types_StringList * key_list , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any * appdata , TMF_CCMS_push_result_list * results );

Page 107: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_push, Propagation::partial_push, partial_push

TME 10 ADE Release Notes 3–69

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _partial_push ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char db_name, TMF_Types_ObjectList * subscriber_list , TMF_Types_StringList * key_list , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any appdata , TMF_CCMS_push_result_list results );

DESCRIPTION

TheTMF_CCMS::Propagation::partial_push operation pushes asubset of the database identified by thedb_name parameter tosubscribers if the receiver is a profile manager. If the receiver is aprofile endpoint, the database is pushed to the application object andmethod registered using theTMF_CCMS::Registration::register_app operation.

If the receiver is a profile manager, the value of thesubscriber_listparameter can be a list of subscribing profile managers and/orendpoints. If thesubscriber_list parameter is of zero length, thedatabase is pushed to all subscribers. If the receiver is a profileendpoint, thesubscriber_list parameter is ignored.

The value of thekey_list parameter is a list of records to push. Therecords are merged with subscribers’ existing database according tothe setting of theflags parameter. Theflags parameter can have thefollowing flags set:

no_force For a profile manager, the database subset is mergedwith the subscriber’s database in accordance with thesetting of thelocal andfixed flags on each record andattribute. For a profile endpoint, if the applicationmethod has registered that it does not wantunchanged records, only those records that are new,deleted, or modified since the last push are passed.

force For a profile manager, the records specified in thekey_list parameter overwrite all local modifications

Page 108: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_push, Propagation::partial_push, partial_push

3–70 Version 3.2

made by subscribers. For a profile endpoint, allrecords specified in thekey_list parameter arepushed.

If theone_stepflag is set toTRUE for a profile manager, the databasesubset is pushed only to direct subscribers, without continuingrecursively. This flag is ignored for a profile endpoint.

Theappdata parameter contains application-specific data that ispassed on by the profile manager, but not interpreted. For a profilemanager, the application-specific data is passed to the end of the pushpipeline only if the push is recursive, that is, theone_step flag is setto FALSE.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

db_name The name of the profile database.

subscriber_listThe list of objects representing subscribers to thedatabase

key_list The list of keys identifying the records.

flags The flag setting controls the operation.

one_step A flag that determines whether or not the database ispushed recursively.

appdata The application-specific data.

results The result of the operation.

RETURN VALUES

None

Page 109: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::partial_push, Propagation::partial_push, partial_push

TME 10 ADE Release Notes 3–71

EXCEPTIONS

The TMF_CCMS::Propagation::partial_push operation raises thefollowing exceptions:

SysAdminException::ExEntryNotFound The exception raisedwhen an entry in a table cannot be found.

SysAdminException::ExFileWDenied The exception raised whenthe caller cannot write to the file specified.

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces: TMF_CCMS::Propagation

Operations:TMF_CCMS::Propagation::push ($opn)

Page 110: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::pull, Propagation::pull, pull

3–72 Version 3.2

NAME

TMF_CCMS::Propagation::pull, Propagation::pull, pull

PURPOSE

Pulls a database from a profile manager.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void pull(in string db_name, in string partition , in ProfileManager profile_manager , in force_flags flags , in boolean one_step , in any appdata , out push_result result ) raises(SysAdminException::ExNotFound,SysAdminException::EntryExNotFound,

SysAdminException::ExUsage,SysAdminException::ExFileWDenied,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _pull ( TMF_CCMS_ProfileOrganizer o, Environment ev , char * db_name, char * partition , TMF_CCMS_ProfileManager profile_manager , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any * appdata , TMF_CCMS_push_result * result );

Page 111: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::pull, Propagation::pull, pull

TME 10 ADE Release Notes 3–73

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _pull ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char * db_name, char * partition , TMF_CCMS_ProfileManager profile_manager , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any * appdata , TMF_CCMS_push_result * result );

DESCRIPTION

TheTMF_CCMS::Propagation::pull operation pulls the databaseidentified by thedb_name parameter from the profile manageridentified by theprofile_manager parameter. The database recordsare merged with the local database according to the setting of theflags parameter. Theflags parameter can have the following flags set:

no_force For a profile manager, the database is merged withthe subscriber’s database in accordance with thesetting of thelocal andfixed flags on each record andattribute. For a profile endpoint, if the applicationmethod has registered that it does not wantunchanged records, only those records that are new,deleted, or modified since the last push are passed.

force For a profile manager, the database overwrites alllocal modifications made by subscribers except forsubscriber records that have no counterpart in theparent database. For a profile endpoint, all recordsare pushed.

force_all For a profile manager, the database replaces thesubscriber’s existing database. For a profileendpoint, all records are pushed to the applicationmethod.

If the one_step flag is set toTRUE, the database is pulled only froma direct subscriber, without continuing recursively.

Page 112: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::pull, Propagation::pull, pull

3–74 Version 3.2

Theappdata parameter contains application-specific data that ispassed to the end of the pull pipeline only if the pull is recursive, thatis, theone_step flag is set toFALSE.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

db_name The name of the profile database.

partition The partition to be associated with the record.

profile_managerThe label identifying the profile manager.

flags The flag setting controls the operation.

one_step A flag that determines whether or not the database ispushed recursively.

appdata The application-specific data.

result The result of the operation.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::pull operation raises thefollowing exceptions:

SysAdminException::ExEntryNotFound The exception raisedwhen an entry in a table cannot be found.

SysAdminException::ExFileWDeniedThe exception raised whenthe caller cannot write to the file specified.

SysAdminException::ExNotFoundThe exception raised when aresource cannot be found.

Page 113: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::pull, Propagation::pull, pull

TME 10 ADE Release Notes 3–75

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Operations:TMF_CCMS::Propagation::partial_pull ($opn)

Page 114: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push, Propagation::push, push

3–76 Version 3.2

NAME

TMF_CCMS::Propagation::push, Propagation::push, push

PURPOSE

Pushes a database.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void push(in string db_name, in string partition , in TMF_Types::ObjectList subscriber_list , in force_flags flags , in boolean one_step , in any appdata , out push_result_list results ) raises(SysAdminException::ExNotFound,SysAdminException::ExUsage,

SysAdminException::ExFileWDenied,ExAllOrNothingDistributeFailure);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _push ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char * db_name, char * partition , TMF_Types::ObjectList * subscriber_list , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any * appdata , TMF_CCMS_push_result_list * results );

Page 115: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push, Propagation::push, push

TME 10 ADE Release Notes 3–77

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _push ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char * db_name, char * partition , TMF_Types::ObjectList * subscriber_list , TMF_CCMS_Propagation_force_flags flags , unsigned char one_step , any * appdata , TMF_CCMS_push_result_list * results );

DESCRIPTION

TheTMF_CCMS::Propagation::push operation pushes thedatabase identified by thedb_name parameter to subscribers if thereceiver is a profile manager. If the receiver is a profile endpoint, thedatabase is pushed to the application object and method registeredusing the TMF_CCMS::Registration::register_app operation.

If the value of thepartition parameter is set toTMF_CCMS::Database::all_partitions , a list of all the records inthe database are pushed. Otherwise, only those records that match thevalue of thepartition parameter are pushed.

If the receiver is a profile manager, the value of thesubscriber_listparameter can be a list of subscribing profile managers and/orendpoints. If thesubscriber_list parameter is of zero length, thedatabase is pushed to all subscribers. If the receiver is a profileendpoint, thesubscriber_list parameter is ignored.

Theflags parameter can have the following flags set:

no_force For a profile manager, the database is merged withthe subscriber’s database in accordance with thesetting of thelocal andfixed flags on each record andattribute. For a profile endpoint, if the applicationmethod has registered that it does not wantunchanged records, only those records that are new,deleted, or modified since the last push are passed.

Page 116: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push, Propagation::push, push

3–78 Version 3.2

force For a profile manager, the database overwrites alllocal modifications made by subscribers except forsubscriber records that have no counterpart in theparent database. For a profile endpoint, all recordsare pushed.

force_all For a profile manager, the database replaces thesubscriber’s existing database. For a profileendpoint, all records are pushed to the applicationmethod.

If theone_step flag is set toTRUE for a profile manager, the databaseis pushed only to direct subscribers, without continuing recursively.This flag is ignored for a profile endpoint.

Theappdata parameter contains application-specific data that ispassed on by the profile manager, but not interpreted. For a profilemanager, the application-specific data is passed to the end of the pushpipeline only if the push is recursive, that is, theone_step flag is setto FALSE.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

db_name The name of the profile database.

partition The partition to be associated with the record.

subscriber_listThe list of objects representing subscribers to thedatabase.

flags The flag setting controls the operation.

one_step A flag that determines whether or not the database ispushed recursively.

appdata The application-specific data.

Page 117: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::push, Propagation::push, push

TME 10 ADE Release Notes 3–79

results The result of the operation.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::push operation raises thefollowing exceptions:

SysAdminException::ExFileWDenied The exception raised whenthe caller cannot write to the file specified.

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

ExAllOrNothingDistributeFailure The exception raised whenall-or-nothing transaction abort required.

SEE ALSO

# Include appropriate categories, for example:

Modules: TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Operations:TMF_CCMS::Propagation::partial_push ($opn),TMF_CCMS::Propagation::pull ($opn),TMF_CCMS::Registration::register_app ($opn)

Page 118: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_conflict_policy

3–80 Version 3.2

NAME

TMF_CCMS::Propagation::set_conflict_policy

PURPOSE

Sets the policy to be implemented by the profile manager or endpointwhen name conflicts occur during a merge operation.

SOURCE FILES

CCMS.h, t_CCMS.h

LIBRARY

Tivoli Applications Service (TAS)

SYNOPSES

IDL Synopsis

void set_conflict_policy(in string db_name, in policy_type policy ) raises(SysAdminException::ExNotFound,SysAdminException::ExUsage);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Propagation _set_conflict_policy ( TMF_CCMS_ProfileOrganizer o, Environment * ev , char * db_name, TMF_CCMS_Propagation_policy_type policy );

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_ TMF_CCMS_Propagation _set_conflict_policy ( TMF_CCMS_ProfileOrganizer o, Environment * ev , transaction tr , char * db_name, TMF_CCMS_Propagation_policy_type policy );

Page 119: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_conflict_policy

TME 10 ADE Release Notes 3–81

DESCRIPTION

TheTMF_CCMS::Propagation::set_conflict_policy operationsets the policy to be implemented by the profile manager or endpointwhen name conflicts occur during a merge operation.

PARAMETERS

o The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub).

ev Reserved (Tivoli ANSI C stub).

tr The type of transaction on which to run thisoperation.

db_name The name of the profile database.

policy The policy governing how name conflicts arehandled.

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Propagation::set_conflict_policy operationraises the following exceptions:

SysAdminException::ExNotFound The exception raised when aresource cannot be found.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Propagation

Operations:TMF_CCMS::Propagation::get_conflict_policy($opn)

Page 120: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Propagation::set_conflict_policy

3–82 Version 3.2

Page 121: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TME 10 ADE Release Notes A–1

ANew Functions

Page 122: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

mrt_get_dispatcher

A–2 Version 3.2

NAME

mrt_get_dispatcher

PURPOSE

Get an LCF endpoint’s dispatcher number.

SYNOPSIS

#include <mrt/tiv_mrt.h>

long mrt_get_dispatcher();

DESCRIPTION

Themrt_get_dispatcher function gets an LCF endpoint’s dispatchernumber.

RETURN VALUE

Endpoint dispatcher number.

Page 123: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

mrt_get_interp

TME 10 ADE Release Notes A–3

NAME

mrt_get_interp

PURPOSE

Get an LCF endpoint’s interpreter type.

SYNOPSIS

#include <mrt/tiv_mrt.h>

char *mrt_get_interp();

DESCRIPTION

Themrt_get_interp function gets an LCF endpoint’s interpretertype.

RETURN VALUE

Endpoint interpreter type.

Page 124: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

mrt_get_label

A–4 Version 3.2

NAME

mrt_get_label

PURPOSE

Get an LCF endpoint’s label.

SYNOPSIS

#include <mrt/tiv_mrt.h>

char *mrt_get_label();

DESCRIPTION

Themrt_get_label function gets an LCF endpoint’s label.

RETURN VALUE

Endpoint label.

Page 125: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

mrt_get_region

TME 10 ADE Release Notes A–5

NAME

mrt_get_region

PURPOSE

Get an LCF endpoint’s region number.

SYNOPSIS

#include <mrt/tiv_mrt.h>

long mrt_get_region();

DESCRIPTION

Themrt_get_regionfunction gets an LCF endpoint’s region number.

RETURN VALUE

Endpoint region number.

Page 126: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

wrunui

A–6 Version 3.2

NAME

wrunui

PURPOSE

Runs non-Console applications from a task script.

SYNOPSIS

wrunui [-e] command [argument...]

DESCRIPTION

Thewrunui command provides access to the NT desktop fornon-Console applications. This access allows you to launchapplications from scripts or programs in the task library and displaythem on the NT desktop.

On the NT platform, all processes that theoserv service launchesinherit the service’s desktop, which is hidden in the background. Theoserv service does not have access for displaying on the applicationdesktop, which users see. Thewrunui command redirects outputfrom theoserv desktop to the application desktop.

Some GUI-based applications on NT require secure access to thevisible application desktop. These applications may report a failureinitializing a GUI-based DLL when started withwrunui . The-eoption eliminates this problem by adding the necessary access to thevisible desktop for theuserid of the calling process. The extrasecurity access remains in place until the logged-on user terminatestheir NT session or reboots. The calling process must haveAdministrator privileges to use the-e option.

Arguments

-e Add security access for the caller to the currentlyvisible desktop.

argument Specifies one or more arguments tocommand.

command Specifies the executable command that launches anon-Console application.

Page 127: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

wrunui

TME 10 ADE Release Notes A–7

EXAMPLES

To open thereadme.txt file with NT’s Notepad program, add thefollowing command to a task script:

wrunui c:\windows\notepad.exe c:\readme.txt

To display theintro.hlp help file, add the following command to atask script:

wrunui c:\windows\winhlp32.exe c:\Tivoli\intro.hlp

ENVIRONMENT

This command is used only on NT systems.

Page 128: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

wntdtsec

A–8 Version 3.2

NAME

wntdtsec

PURPOSE

On NT systems, changes the access controls on the NT desktop toallow users other than the one logged in to bring up GUI programs.

SYNOPSIS

wntdtsec [ + | - ]

DESCRIPTION

On NT systems, thewntdtsec command configures the security ofthe active NT desktop. It changes the access control list (ACL) on theNT desktop so that users other than the one logged in can bring upGUI programs. It is intended to allow developers to bring up adebugger, such as Visual C++, on method daemons running in adifferent user context.

This command is intended for use only in debugging. It can create asecurity risk when used otherwise, because it allows others besidesthe logged-in user to have access to the NT desktop and workstationobjects.

ARGUMENTS

With no arguments,wntdtsec reports the current NT desktop securityinformation. Thewntdtseccommand supports the followingarguments:

+ Makes the desktop world-accessible.

- Restores normal access to the desktop by making itaccessible only to the logged-in user.

ENVIRONMENT

This command is used only on NT systems.

Page 129: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

initpres

TME 10 ADE Release Notes A–9

NAME

initpres

PURPOSE

Creates a presentation object and populates it with the resourcebitmaps, dialogs, and icon states.

SYNOPSIS

initpres -init-class | initpres { class_obj-class |obj -pres-name}-create |

initpres {class-objref -class | obj} -put

[bitmap bitmap_name bitmap_format bitmap_file] |

[dialog dialog_name dialog_file] |

[state state_name dialog_file bitmap_format bitmap_file] |

[parent parent_name]

DESCRIPTION

When you create your user interface, you must associate each dialogwith a presentation object. Theinitpres command performs one ofthree operations on your presentation object:

■ Initializes the presentation object; used only by Tivolidevelopers.

■ Creates the presentation object; used by all TME 10 ADEdevelopers.

■ Adds or overrides attributes on existing presentation object;used by all TME 10 ADE developers.

Arguments

-initclass Initializes the presentation object.

-create Creates a new presentation object.

-put Adds or overrides attributes on existing presentationobjects.

Page 130: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

initpres

A–10 Version 3.2

class-oid The object reference for the presentation objectclass.

obj The name of the presentation object class. If usedwith the-create option, the presentation object willbe given the same name as the presentation objectclass.

bitmap_name Specifies the bitmap name.

bitmap_formatSpecifies the format (such as xpm) of the bitmapspecified bybitmap_name.

bitmap_file Specifies the name of the file containing the bit-mapspecified bybitmap_name.

dialog_name Specifies the dialog name.

dialog_file Specifies the name of the file containing the dialogspecified bydialog_name.

state_name Specifies the icon state name.

parent_name Specifies the name of the new parent for thepresentation object specified byobj.

SEE ALSO

wupgrade

Page 131: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Database::delete_records, Database::delete_records,

TME 10 ADE Release Notes A–11

NAME

TMF_CCMS::Database::delete_records,Database::delete_records, delete_records

PURPOSE

Deletes multiple records from a CCMS database

SOURCE FILES

CCMS.h, t_CCMS.h, CCMS.idl

LIBRARY

Tivoli Application Service (TAS)

SYNOPSES

IDL Synopsis

void delete_records(in string db_name,in string partition ,in TMF_Types::StringList keys ,in boolean all_or_nothing ,out TMF_Types::StringList failed_keys )raises(SysAdminException::ExNotFound,SysAdminException::ExEntryNotFound,SysAdminException::ExFileWDenied);

CORBA ANSI C Stub Synopsis

#include CCMS.h

void TMF_CCMS_Database_delete_records (TMF_CCMS_Database TMF_CCMS_Database,Environment * ev ,

char * db_name, char * partition ,

TMF_Types_StringList * keys ,tmf_boolean all_or_nothing ,TMF_Types_StringList * failed_keys );

Page 132: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Database::delete_records, Database::delete_records,

A–12 Version 3.2

Tivoli ANSI C Stub Synopsis

#include t_CCMS.h

void t_TMF_CCMS_Database_delete_records ( TMF_CCMS_ProfileOrganizer po,

Environment * ev ,Trans_Type trans_type ,

char * db_name, char * partition ,

TMF_Types_StringList * keys,tmf_boolean all_or_nothing ,TMF_Types_StringList * failed_keys );

DESCRIPTION

TheTMF_CCMS::Database::delete_records operation deletes therecords identified by thekeys parameter from the database specifiedby the value of thedb_name parameter and the partition specified bythepartition parameter. The operation useskeys to identify therecords to delete. If a member object is associated with the record,that member object is not deleted.

PARAMETERS

po The object reference of the object on which theoperation is to be performed.

ev CORBA environment structure used to returnexception results (CORBA ANSI C stub)

ev Reserved (Tivoli ANSI C stub).

db_name The name of the profile database

partition The name of a partition in the database specified bydb_name. If the partition isTMF_CCMS_Database_all_partitions then themethod searches all partitions for the specified keys

keys The list of keys that identify the profile records todelete. Ifkeys is an empty sequence, all records inpartition in db_name are deleted.

all_or_nothing If TRUE, exception is thrown on first delete recordfailure; if FALSE, will delete as many records as itcan, returning any that failed infailed_keys

Page 133: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

TMF_CCMS::Database::delete_records, Database::delete_records,

TME 10 ADE Release Notes A–13

failed_keys Returned keys of any record deletes that failed whenall_or_nothing is FALSE

RETURN VALUES

None

EXCEPTIONS

TheTMF_CCMS::Database::delete_record operation raises thefollowing exceptions:

SysAdminException::ExEntryNotFound The exception raisedwhen eitherdb_name or partition is not found.

SysAdminException::ExNotFoundThe exception raised when akey is not found.

SysAdminException::ExFileWDeniedThe exception raised whenany record to be deleted is read only.

SEE ALSO

# Include appropriate categories, for example:

Modules:TMF_CCMS

Interfaces:TMF_CCMS::Database

Operations:TMF_CCMS::Database::delete_record

Page 134: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

ccms_queue_actions

A–14 Version 3.2

NAME

ccms_queue_actions

PURPOSE

Queues the actions associated withkeys, on thepending_actionsattribute of the profile for applications that can be extended usingTME 10 AEF.

SYNOPSIS

void ccms_queue_actions(TMF_CCMS_ProfileOrganizer po,TMF_CCMS_ProfileAEF_action_tag which ,char * db_name,TMF_Types_StringList * keys ,TMF_Types_StringList * attrs );

DESCRIPTION

This function is necessary if your application is to be extended usingTME 10 AEF. In order for any TME 10 AEF create actions to run asa result of populating new records in a profile, your application mustcall this convenience function immediately after all the records havebeen sent toTMF_CCMS::Database::add_records()through theIOM channel.

Arguments

po The profile organizer (profile manager or endpoint)

db_name The name of the CCMS database

which The action to be performed—create, modify, ordelete action

keys The list of keys for records to associate action with

atttr The list of modified attributes otherwise ignored;used only for modify actions

SEE ALSO

ccms_queue_action

Page 135: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

ccms_delete_records_with_aef

TME 10 ADE Release Notes A–15

NAME

ccms_delete_records_with_aef

PURPOSE

Deletes multiple CCMS records for applications that can be extendedusing TME 10 AEF.

SYNOPSIS

void ccms_delete_records_with_aef (TMF_CCMS_ProfileOrganizer po,Environment * ev,Trans_Type trans,char * db_name,char * partition,TMF_Types_StringList * keys,unsigned char all_or_nothing,TMF_Types_StringList * failed_keys);

DESCRIPTION

This function is necessary if your application is to be extended usingTME 10 AEF. All profile applications that support populateoperations must first prepare the application before TME 10 AEFattributes can be created and TME 10 AEF create operations can run.

Arguments

po The profile organizer (profile manager or endpoint)

ev The environment passed on to newTMF_CCMS::Database::delete_records()operation

trans The transaction type passed toTMF_CCMS::Database::delete_records()

db_name The name of the CCMS database

partition The name of a partition in the database specified bydb_name. If the partition isTMF_CCMS_Database_all_partitions then themethod searches all partitions for the specified keys.

keys The list of keys that identify the profile records todelete.

Page 136: TME 10 ADE Release Notespublib.boulder.ibm.com/tividd/td/ADE/ADErn/en_US/PDF/ADErn.pdf · The ADE sample application has been enhanced to support LCF and LCF endpoints. Application

ccms_delete_records_with_aef

A–16 Version 3.2

all_or_nothing If TRUE, an exception is thrown on first deleterecord failure; ifFALSE, will delete as many recordsas it can, returning any that failed infailed_keys.

failed_keys Returned keys of any record deletions that failedwhenall_or_nothing is FALSE

SEE ALSO

ccms_queue_actions