Sunteți pe pagina 1din 10

2010 Informatica Corporation

Team-Based Development FAQs




Abstract
Team-based development in PowerCenter facilitates collaboration across functional teams, such
as development, quality assurance, and production administration, or across geographically
disparate teams. This article describes frequently asked questions regarding team-based
development in PowerCenter.
Supported Versions
PowerCenter 8.6.x - PowerCenter 9.0.1
Table of Contents
Checking In and Checking Out........................................................................................................ 2
Copying Objects Between Folders and Repositories...................................................................... 3
Viewing Objects and Object History................................................................................................ 4
Non-Versioned Repositories............................................................................................................ 5
Development, Test, and Production Repositories........................................................................... 6
Reusable Objects ............................................................................................................................ 6
Third-Party Tools............................................................................................................................. 7
Versions........................................................................................................................................... 7
Miscellaneous.................................................................................................................................. 8

Checking In and Checking Out
When I check out an object, does the repository lock the object for editing?
When you check out an object, the repository obtains a write-intent lock on the object. No other
repository users can edit the object while you have it checked out. This allows you to reserve an
object while you work on it. When you work with composite objects, the Repository Service treats
non-reusable objects as part of the parent object, so you cannot check in or out individual non-
reusable objects.
If I check out an object, does the repository lock or check out all versions of the object?
You can check out only the most recent version of an object. Therefore, you cannot check out
multiple versions of an object. However, you can view older versions of an object.
In a versioned repository, do I have to check out a versioned object to modify it?
In a versioned repository, you must check out a versioned object to modify it. Some objects, such
as connection objects, are not versioned. You can modify these objects without checking them
out.
2


How do I check out an object? I dont see a Checkout option on the Versioning menu.
To check out an object, perform the following tasks:
1. Select the object you want to check out.
2. Click Versioning >Check Out.
3. In the Check Out dialog box, enter an optional comment in the comment field.
4. Click OK to check out the object, or Apply to All to apply the checkout comment to multiple
objects.
When the mapping is checked out for editing, do I need to check out the parent workflow
even if I dont want to modify the workflow? Do I need to synchronize the version numbers
for parent and child objects?
No, you do not need to check out the corresponding parent workflow when you edit a child
mapping. Only check out the objects that you want to modify. You do not need to synchronize the
version numbers of parent and child objects.
Can I check out and check in objects from the command line?
You can check in objects from the command line, but you must check out objects via the User
Interface.
If I save changes to a repository object, but do not check in the objects, can other users
view the changes?
No. Consider a checked-out object version to be a private working copy of the object. If you
want others to see it, you need to check it into the repository.
If I update a child object, such as source definition, do parent objects, such as mappings,
use the new version of the object?
Yes. When you run a session, it uses the latest version of each object. For example, you update
a source definition. The parent mapping uses the latest version of that source definition when you
run the session.
Copying Objects Between Folders and Repositories
When I copy a versioned object and rename it, does the repository treat the renamed
object as a new object?
When you copy an object version and rename it, the repository treats this as the first version of a
new object. For example, you copy version 6 of the Sales_Totals mapping to another repository.
You rename the mapping as Sales_Statistics in the target repository. The Repository Service
numbers the Sales_Statistics mapping as version 1.
If I edit objects in a development folder and then deploy the objects to a production folder,
should I check out the objects in the production folder before I deploy objects to it?
You do not need to check out objects in the target repository to lock them during deployment.
When you copy or replace a folder, or copy a deployment group, the repository does not allow the
PowerCenter Integration Service to fetch objects from the target repository. When a PowerCenter
Integration Service tries to access the repository to run a workflow, session, or task while a
repository is blocked, the repository denies access.
If you want to ensure that no other user can edit the objects in the production folder while you edit
the objects, complete the following steps:
3

1. Check out the object in the production folder so that others cannot modify the object.
2. Check out the object in the development folder and make the necessary changes.
3. Once you complete the changes, check the objects in to the development folder.
4. Check the objects into the production folder.
5. Deploy the most recent object version from development folder to the production folder.
When I run a deployment, where are the objects moving to and from?
PowerCenter copies them from the source repository to the target repository.
If I lock a label or deployment group, can I unlock it and add more objects before
deployment?
You can lock and unlock a label. You cannot lock a deployment group. You can add objects to a
static deployment group at any time. When you run a dynamic deployment group, the Repository
Service runs a query at the time of deployment to populate the deployment group.
If I have a mapping in a one repository with a version number of 10, and I copy it to
another repository, does the version number carry over to the target repository?
No. The version number in the target repository is independent of the version number in the
source repository. For example, if you copy a mapping with a version number of 10 from a
development to a production repository, the version number in the production repository is 1.
However, you can use labels to track object versions across repositories.
I often receive requests from developers to reverse migrated objects from production to
development repositories. If an object in the development repository is a later version than
the object in the production repository, how does PowerCenter adjust the version
numbers?
The version number in the production repository is independent of the version number in the
development repository. If you move an object that exists in two repositories from one repository
to another, the version number increases by one in the target repository. For example, mapping A
is version 2 in the production repository and version 8 in the development repository. If you move
the mapping from the production repository to the development repository, the mapping becomes
version 9 in the development repository.
Viewing Objects and Object History
If I want to view an object history, which client tools should I use?
You can view an object history in the Designer, Workflow Manager, and Repository Manager.
You can also view object history from the PowerCenter Repository Reports.
Is the mapping version number appended to the end of a mapping name?
No. The version number is a metadata field associated with the object. The name of the object
does not change with every version created.
Can I view the results of the dynamic deployment group query before I copy the
deployment group to the target repository? Can I view objects in a static deployment
group?
Yes. You can open the query associated with a dynamic deployment group in the Query Editor
and then execute it to see the results. Or, you can use the View Group button in the deployment
group browser to view the objects in a static deployment group.
4

Can I open objects without checking them out?
No, you must check out an object before you can open it.
How can I view the relationship between objects in a production and test environment?
You can view the relationships between source and target objects in several ways. If objects were
deployed using a dynamic deployment groups, the deployment group history shows the history of
deployed objects. Also, when you deploy objects, you can apply a label to the group of deployed
objects in the source and target repositories. By identifying deployed objects with identifying
labels, you can query a particular repository based on the label and object name to see the
relationship. PowerCenter Repository Reports also has reports showing deployment history.
Can I view a group of objects that use a particular label?
You can use a query to see the objects that use a particular label. Use the Label parameter called
in the Query Editor to search for objects that use a particular label. You can also add other
parameters to your query to narrow the search, such as check-in time, object type, or folder
parameters.
Non-Versioned Repositories
Can I copy objects from a versioned repository to a non-versioned repository and vice-
versa?
Yes, you can copy objects from a versioned repository to a non-versioned repository.
When copying objects from a versioned repository to a non-versioned repository, only the latest
checked-in version will be copied because a new version number is assigned to the object only
when it is checked-in.
Checked-out objects cannot be added to deployment groups and copied to another repository via
a deployment group, but the Designer allows the checked-out object to be copied to another
repository only by the user who modified that object.
Can I use deployment groups in a non-versioned repository?
No. You can use deployment groups in a versioned repository only. If you have a non-versioned
repository, you can use the Copy Folder Wizard to copy a folder to another repository.
Can I copy folders between versioned and non-versioned repositories?
Yu can copy folders between versioned and non-versioned repositories. When you copy a folder
from a versioned repository to a non-versioned repository, the Copy Deployment Group Wizard
copies the latest checked-in version of the objects to the target repository. When you copy a
folder from a non-versioned repository to versioned repository, the wizard copies an object as
version 1.
Can I copy a deployment group between versioned and non-versioned repositories?
You can copy a deployment group between versioned and non-versioned repositories. When you
copy a deployment group from a versioned repository to a non-versioned repository, the Copy
Deployment Group Wizard replaces the objects in the target repository with the objects in the
deployment group. When you copy a deployment group from a non-versioned repository to a
versioned repository, the wizard creates new version of objects in the target repository.
What happens when an object that I copied exists in the target non-versioned repository
or a versioned repository?
If an object copied to a non-versioned repository exists in the target repository, the wizard deletes
the object before copying the object from the deployment group. In a versioned repository, a new
5

version of the object is created. You cannot roll back a deployment from a non-versioned
repository.
Can I convert a versioned repository to a non-versioned repository?
There is no single step to convert a repository with versioning enabled to a repository that does
not use versioning.
If you use the repository backup/restore, deployment, or repository copy features, the new
repository will also have versioning enabled.
To create a non-versioned repository from a versioned repository, do the following:
1. Use Informatica Administrator to create a repository that does not have versioning enabled.
Note: In PowerCenter 8.6x, use the Administration Console to create a repository.
2. Use the Repository Manager to copy the folders from the versioned repository to the new
non-versioned repository.
Development, Test, and Production Repositories
What happens if I enable versioning in the development and test repositories, but not in
the production repositories?
You can copy objects between versioned and non-versioned repositories. However, you must
copy the folder or use XML import/export to move objects from test repositories to the production
repository. You can only use deployment groups when both source and target repositories are
versioned.
Issues can arise when deploying groups that contain shortcuts between a development,
test and production repository. What is the best practice for avoiding these issues?
If you have shortcuts, move the group from development to a test environment. Create a new
deployment group in the test environment and then migrate from test to a production
environment.
If you do not have shortcuts, migrate the groups to a test environment. Make the changes to the
groups in development after you test it and then migrate from development to production with the
same deployment group.
Reusable Objects
How can I add a reusable object to a deployment group?
To add a reusable repository object to a deployment group do the following:
In the Repository Manager, open the folder containing the object in the Repository Navigator
Window:
Tasks. For reusable workflow tasks such as email tasks.
Sources. For mapping sources.
Targets. For mapping targets.
Transformations. For reusable transformations.
Mapplets. For mapplets.
Worklets. For worklets.
Workflows. For workflows.
6

You will see all objects listed in the window on the right.
To add an object to a deployment group, right-click the object and select Version >Add to
Deployment Group.
How do I include reusable parent objects and non-reusable child objects in deployment
groups?
To include reusable parent objects and non-reusable child objects in a dynamic deployment
group, you can use either of the following methods:
In the query associated with the dynamic deployment group, include the Reusable Status
query parameter and verify that it returns reusable and non-reusable objects.
In the query associated with the dynamic deployment group, include the Reusable Status
query parameter, and verify that the query returns reusable objects. When you run the
dynamic deployment, include all non-reusable dependencies.
Third-Party Tools
Can PowerCenter integrate with an existing source-control management tool, such as
ClearCase or StarTeam?
You can use SCM tools, such as ClearCase and StarTeam today by exporting objects to XML
and then checking them into these source control systems. You can use pmrep and set up
automated scripts to integrate PowerCenter with your favorite SCM tool.
Is the integration of PowerCenter versioning capabilities compatible with Microsoft VSS
versioning capabilities?
Integrating of PowerCenter versioning capabilities with the versioning capabilities of Microsoft
VSS is currently not compatible.
Versions
Can I limit the number of object versions to store in the repository?
There is no limit to the number of object versions you can store in a repository. To keep your
repository from growing too large, you can purge older versions of objects.
How does the repository store versioned objects?
Each time you check in an object, the repository increments the version number by one and
stores a new version of the object in the repository database.
Can I dynamically purge " n" number of objects from a repository? For example, can I
query a repository and purge all objects except the most recent 3 versions?
Currently you can search for all objects that match a certain set of criteria or only the most recent
version of objects that meet certain criteria. You cannot search for the most recent version and
n versions before it.
If I have ten versions of an object (1 through 10) in my repository, how can I restore
version 3 of that object?
You can restore an earlier version of an object in the following ways:
You can export the previous version and import it as a new version. For example, if you want
to restore version 3 of an object, you can export it and import it as version 11.
7

You can purge versions 4-10 so that the object version is the latest version. Do this only if
you are certain that you no longer need versions 4-10.
Miscellaneous
Does the Team-Based Development option support code branching?
Versioned repositories do not support code branching explicitly. You can use labels to branch
work, but there is currently no merge objects feature. Therefore, you may not be able to bring
the branch and the main line of code together.
Can I deploy objects using a PowerCenter Client tool?
Yes, you can copy deployment groups from the Repository Manager.
Can I give certain privileges to a group of users and restrict privileges for others? For
example, can I restrict users from checking out objects?
You can assign read, write, and execute permissions for folders in the Repository Manager.
Can you copy or deploy objects across different repositories that reside on different types
of databases, such as Sybase and Oracle?
Yes. You can copy or deploy objects to repositories on different databases, but the PowerCenter
repositories must be the same version.
How can I deploy non-reusable objects using deployment groups?
To deploy a non-reusable object, perform the following tasks:
Initially the parent object and all dependencies must be deployed.
Add the parent object to a static deployment group.
Select the Non Reusable option. This will add the parent with the non-reusable objects to the
deployment group.
Deploy the static group.
How does a versioned Sequence Generator transformation update the current value when
running a session?
If you have multiple versions of a Sequence Generator transformation, the PowerCenter
Integration Service updates the current value across all versions when it runs a session. The
PowerCenter Integration Service updates the current value across versions regardless of whether
you have checked out the Sequence Generator transformation or the parent mapping. The
updated current value overrides an edited current value for a Sequence Generator transformation
if the two values are different.
For example, User 1 creates Sequence Generator transformation and checks it in, saving a
current value of 10 to Sequence Generator version 1. Then User 1 checks out the Sequence
Generator transformation and enters a new current value of 100 to Sequence Generator version
2. User 1 keeps the Sequence Generator transformation checked out. Meanwhile, User 2 runs a
session that uses the Sequence Generator transformation version 1. The PowerCenter
Integration Service uses the checked-in value of 10 as the current value when User 2 runs the
session. When the session completes, the current value is 150. The PowerCenter Integration
Service updates the current value to 150 for version 1 and version 2 of the Sequence Generator
transformation even though User 1 has the Sequence Generator transformation checked out.
8

What is the impact of changing the operating system date on the PowerCenter Integration
Service machine? Will this have any effect on repository?
It is not advisable to switch back and forth between current system dates and future system dates
since this will have an adverse affect on the metadata in the repository.
PowerCenter uses the current system time to perform many operations in the database such as
storing objects, checking in the objects, or storing the utc-ref_time for objects.
If a future system date is set and later the date is set back to the current date, all date related
operations will be adversely affected.
Since the dates will be inaccurate, the dependencies of objects across repositories will also be
inaccurate.
These dependencies are used by deployment groups, export, and compare objects.
After completing a deployment, why is the rollback option is disabled?
The rollback option is disabled when viewing the source repository.
To rollback, view the target repository then the rollback option will be available.
The rollback can be performed only on the target repository while deploying and not on source
repository. The target repository is listed as Deployed To under the column Type in Versioning |
Deployment | History.
Can I list multiple folders in the control file and deploy through the command line?
Yes, you can use the OVERRIDEFOLDER element in the control file to list multiple source and
target folders.
Use the SOURCEFOLDERNAME and TARGETFOLDERNAME attributes to specify the following
folders in the source and target repositories:
The folder or folders that shortcuts point to.
The folder or folders containing the deployment group objects.
When you run the pmrep command, DEPLOYDEPLOYMENTGROUP, the deploy process picks
the right target folder to use after checking the objects in the deployment group.
For example, if a deployment group contains objects with shortcuts to one folder and objects in
two folders, you can create a control file with three occurrences of OVERRIDEFOLDER. The
following sample control file deploys a deployment group that contains objects with shortcuts
pointing to the folder SHAREDSHORTCUT. It also contains objects in folders OBJ ECTFOLDER1
AND OBJ ECTFOLDER2.
! DOCTYPE DEPLOYPARAMS SYSTEM " depcnt l . dt d" >
<DEPLOYPARAMS DEFAULTSERVERNAME=" dg_sun_71099"
COPYPROGRAMI NFO=" YES"
COPYMAPVARPERVALS=" YES"
COPYWFLOWVARPERVALS=" YES"
COPYWFLOWSESSLOGS=" NO"
COPYDEPENDENCY=" YES"
LATESTVERSI ONONLY=" YES"
RETAI NGENERATEDVAL=" YES"
RETAI NSERVERNETVALS=" YES" >
<DEPLOYGROUP CLEARSRCDEPLOYGROUP=" NO" >
<OVERRI DEFOLDER SOURCEFOLDERNAME=" OBJ ECTFOLDER1"
SOURCEFOLDERTYPE=" LOCAL"
TARGETFOLDERNAME=" OBJ ECTFOLDER1"
TARGETFOLDERTYPE=" LOCAL" / >
<OVERRI DEFOLDER SOURCEFOLDERNAME=" OBJ ECTFOLDER2"
SOURCEFOLDERTYPE=" LOCAL"
TARGETFOLDERNAME=" OBJ ECTFOLDER2"
9

10
TARGETFOLDERTYPE=" LOCAL" / >
<OVERRI DEFOLDER SOURCEFOLDERNAME=" SHAREDSHORTCUTS"
SOURCEFOLDERTYPE=" GLOBAL"
TARGETFOLDERNAME=" SHAREDSHORTCUTS"
TARGETFOLDERTYPE=" GLOBAL" / >
</ DEPLOYGROUP>
</ DEPLOYPARAMS>
How does object versioning affect the repository size?
If you upgrade from a non-versioned repository to a versioned repository, the repository size
could increase up to 20% because of new tables and metadata required to support versioning.
The repository grows based on the number of object versions in the repository.
Authors
Samir Pradhan
Consulting Manager, Informatica Professional Services
Indra Balasundaram
Senior Instructor, Informatica Education Services

S-ar putea să vă placă și