Skip Headers

Agile Product Lifecycle Management Web Services Guide Release 9.3.3 E39310-01 |
| Contents

Previous | Next |

# 12 Publishing Documents

During the life of a product, Agile PLM acquires, processes, and maintains an assortment of data related to the product. This data is used in many ways and for different requirements to expedite, manage, and control product development activities.

Agile PLM Document Publishing Web Services enables creating documents based on data maintained by Agile PLM. This PLM data also is used by content developers and authors to prepare documents such as Product Data sheets, Parts List, and Service Manuals.

Agile PLM supports the dynamic publication of these documents with embedded PLM data and triggers configured in PLM's Event Framework. The Dynamic Document Publishing solution can be used in the following instances:

- Create new structured documents (Product Data sheets, Parts List, Service Manual)

- Create documents in the native document publishing tool

- Browse and insert PLM metadata and file contents into documents

- Create formatted reports from PLM objects, search results, and push selected rows to reporting tools (compliance report, pricing model, quality report)

- Push an object ID, selected or all search results to a report for formatting

- Modify the content that is shared by other documents already stored in PLM

- Update documents that reference modified content

## 12.1 Document Publishing Web Services Operations

Agile PLM Web Services exposes the following operations which enables you to create the necessary XML schema and data files.

### 12.1.1 Loading XML Schema of Objects

This Web Service API returns an XML package that fully describes the attributes of the object. This Web Service is used to create XML schema files that are used by BI Publisher to create the Templates. For example, if you use this Web Service against a subclass like ECO, it will tell BI Publisher all of the possible attributes for ECOs. This is useful to be able to work with all potential attributes for an object when creating a Template.

Example: Loading XML Schema of Objects

    LoadXMLSchemaRequestType loadXMLSchemaRequestType =
    new LoadXMLSchemaRequestType();
    AgileLoadXMLSchemaRequestType[] agileLoadXMLSchemaRequestType =
        new AgileLoadXMLSchemaRequestType[1];
    agileLoadXMLSchemaRequestType[0] = new AgileLoadXMLSchemaRequestType();
    //set the API Names of the classes for which you want to load the schema
    String[] classIds = new String[1];
    classIds[0] = "Part";
    agileLoadXMLSchemaRequestType[0].setClassIdentifiers(classIds);
    loadXMLSchemaRequestType.setRequests(agileLoadXMLSchemaRequestType);

### 12.1.2 Loading XML Data of Objects

This Web Service API returns the actual data that is stored for an object in an XML package. This Web service is used to retrieve the object data that is combined with the Template to create the output file. You can also use the saved output from this Web Service to test a Template in BI Publisher.

Example: Loading XML Data of Objects

    DocPublishing_BindingStub agileAdminStub = getDocPublishingService();
    LoadXMLDataRequestType loadXMLDataRequestType =
        new LoadXMLDataRequestType();
    AgileLoadXMLDataRequestType[] agileLoadXMLDataRequestType =
        new AgileLoadXMLDataRequestType[1];
    agileLoadXMLDataRequestType[0] = new AgileLoadXMLDataRequestType();
    String[] filter = new String[1];
    filter[0] = "DefaultPartFilter"; // APIName of the ACS filter
    agileLoadXMLDataRequestType[0].setFilterName(filter);
    ObjectReferentIdType[] objectRef = new ObjectReferentIdType[1];
    objectRef[0] = new ObjectReferentIdType();
    objectRef[0].setClassIdentifier("Part"); //APIName of the class
    objectRef[0].setObjectIdentifier("P0001"); //Object Name of the class to be loaded
    agileLoadXMLDataRequestType[0].setObjectReferent(objectRef);
    loadXMLDataRequestType.setRequests(agileLoadXMLDataRequestType);