Saturday, January 7, 2012

Wrong Deployment Profile to Extend WebCenter Spaces

If you are running WebCenter Spaces portal (PS3/PS4), most likely you are looking how to extend this portal with your custom code and ADF Task Flows. There is one technical document available on OTN for this subject - Using WebCenter Spaces Extension Samples ( Document is well written and explains required technical steps. However, there is one mistake in Adding New Projects to the Sample Workspace chapter:

It says that we should define JAR deployment profile for our custom project:

This is incorrect, it should be ADF Library Deployment profile. JAR deployment profile is not able to package ADF specific artifacts and deployed library will be invalid (unless you are extending with plain Java classes, which is highly unlikely).

So, let's create new project with custom ADF artifacts to extends WebCenter Spaces:

Project contains one ADF Task Flow and JSF Fragment:

Select JAR deployment profile as per documentation:

Deploy and check JAR content - we can find only ADF Task Flow XML and Manifest file, this library is invalid:

Add ADF Library Deployment profile:

Now deployment package is correct and contains all required ADF artifacts:

We can add imported ADF Task Flow into WebCenter Spaces Resource Catalog registry:

Later this ADF Task Flow can be added into WebCenter Composer screens, etc.:

1 comment:

bala:) said...

I need to insert a new row in a table called 'table2' based on the information from another table called 'table1'. There are a few attributes in 'table2' for which the values have to be fetched from "table1". The values in "table1" are shown as a read only table and based on the row selected, a corresponding row has to be inserted in "table2".Table2 appears as a form in a popup. I have binded the attributes in "table1" which i want to show as values for "table2" fields. It shows the values in UI. However when I try to insert it into database it displays an error message saying:"Cannot insert Null for attribute1" even though the value is displayed in the form component. I was wondering what has gone wrong in this? Please help!!