Deploy Custom ADF Application to WebCenter Spaces

Requirement- How to deploy custom ADF task flow to Webcenter spaces

Solutions-You can extend or alter the look and feel and functionality of Oracle WebCenter Spaces task flows using the Oracle JDeveloper Customization Developer role. If you want to build custom task flow application to spaces.If you want 100% customization then you can use custom task flow.see this Portal vs Spaces. When you want to deploy 100% task flow, its bit trickt.Please follow the steps

Steps-

ADF application with custom task flow-

-> Create a new deployment profile (“ADF Library JAR file”) for the View Controller project
-> Delete the existing WAR deployment profile from View Controller -> Project Properties
-> Deploy the View Controller to ADF Library JAR (Right Click on ViewController -> Deploy)
-> Note the location of the JAR file

Create a wrapper project which will be deployed as WAR file and will include the taskflow JAR file

-> Create a new Generic Project
-> Create a WAR deployment Profile
-> Add task flow JAR file to WAR deployment.
-> Right click on the new project -> Project Properties
-> Select library and classpath
. Click ‘Add JAR/directory’
. Add the JAR created in step (4)
-> Edit web.xml for the wrapper project and remove all entries
. Note: FAILURE to do this will result in errors
-> Deploy the Wrapper project to Webcenter spaces (Right Click wrapper project -> Deploy)
. Create connection to Server
. Select WC_Spaces Managed Server
. Ensure to select radio button “Deploy as shared library”
. After Deployment, Ensure Library is displayed by logging into the WLS Console (Admin server)
Extend Spaces and reference the library that contains the custom task flow
1. Download and install Oracle JDeveloper WebCenter Framework and Services Design Time Extensions:
. In JDeveloper, select Help > Check for Updates.
. Click Next, and then Next again to display all available updates.
. Use the search field to filter the list, for example, enter ‘webcenter framework’.
. Select WebCenter Framework and Services Design Time.
. Click Finish.
2. Download the WebCenter Spaces development ZIP file (DesignWebCenterSpaces_ps4.zip) from Oracle Technology Network:
http://download.oracle.com/otndocs/tech/webcenter/files/DesignWebCenterSpaces_ps4.zip
3. Copy WebCenter’s WLST (WebLogic Scripting Tool) commands to the Oracle home directory where JDeveloper is installed:
. Navigate to \copy_to_common
. Make a copy of the common directory.
. The common directory is located under \copy_to_common.
. Navigate to: \oracle_common
. Copy the content of the common directory here.
. Copy new version of oracle.webcenter.portal.jar to the Oracle JDeveloper extensions directory:
a. Navigate to \copy_to_jdev_ext
b. Make a copy of oracle.webcenter.portal.jar.
c. The oracle.webcenter.portal.jar file is located under
\copy_to_jdev_ext.
d. Navigate to: \jdeveloper\jdev\extensions\
e. Copy the oracle.webcenter.portal.jar file here.
4. Restart JDeveloper if it is open.
5. Edit weblogic.xml and add your library
6. Modify the config.properties files

Before you can build the shared library list and deploy extend.spaces.webapp.war to the WebCenter Spaces managed server, you must provide some information about your environment and your WebCenter Spaces installation in the configuration file config.properties

. To set build and deployment properties for the extend.spaces.webapp shared library
. Open DesignWebCenterSpaces.jws.
. Expand the WebCenterSpacesExtensionLibrary project.
. Open config.properties.
. Enter information about your JDeveloper environment and WebCenter Spaces installation, as shown in
. The config.properties file describes each property and offers examples. The defaults provided are only samples and must be replaced with your own, installation-specific values.
7. Save your updates to config.properties
8. Select WebCenterSpacesExtensionLibrary project and deploy to WC_Spaces using ANT
. Clean stage
. Deploy-shared-lib
. After Deployment, Ensure Library is displayed in WLS Console

Register the taskflow in Resource Catalog
1. Login to Webcenter spaces
2. Click on ‘Administration’
3. Create a new catalog and copy it from the default catalog
4. Select the newly created catalog and click on ‘Edit’ -> ‘Edit’
5. In the ‘Edit’ popup, select Add -> Add from library
6. In the search box, enter the name of your taskflow
7. Select your taskflow and give it a ‘Name’ and click ‘Add’. This adds the taskflow to the resource catalog
8. Select the newly created catalog and click Edit -> show
9. Click on ‘Configuratiions’ tab
10. Change the ‘Resource Catalog for Home spaces’ to the newly created catalog and click ‘Apply’
11. Now go back to webcenter spaces and to test the newly created taskflow:
. Create a new page
. Click on ‘Add Content’
. Select the taskflow from the catalog and click ‘Add’. The taskflow should
appear on the page
. Click ‘Save’ and ‘Close’

Solution for no connections available for: Discussion Forum oracle.webcenter.collab.share.NotFoundException

Requirement- I am working on webcenter spaces application. I am getting this error in spaces server log.Why i am getting this.

error look like –

 <oracle.webcenter.collab.announcement.view.backing.AnnouncementUtil> <WCS-04014> <no connections available for: Discussion Forum
oracle.webcenter.collab.share.NotFoundException: no connections available for: Discussion Forum
        at oracle.webcenter.collab.share.SessionFactoryUtils.lookupConnectionNames(SessionFactoryUtils.java:121)
        at oracle.webcenter.collab.share.SessionFactoryUtils.findDefaultConnection(SessionFactoryUtils.java:172)
        at oracle.webcenter.collab.announcement.view.backing.AnnouncementUtil.doExtAppCheck(AnnouncementUtil.java:196)
        at oracle.webcenter.collab.announcement.view.backing.AnnouncementActionHandler.doInitializeMiniView(AnnouncementActionHandler.java:139)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at com.sun.el.parser.AstValue.invoke(Unknown Source)
        at com.sun.el.MethodExpressionImpl.invoke(Unknown Source)

Solution – I don’t want this error in my log.And in my spaces application , i am using custom task flow and using as jar in webcenter spaces application.I am not using discussion service.Why we getting that.

By default if you installed WebCenter Spaces, you should have already 3 other Managed Servers like WC_Collab WC_Utils and WC_Portlets, start WC_Collab (or WC_Collaboration in > 11.1.1.6).By default WebCenter Spaces is expecting a discussion connection since most of the spaces templates require discussion services, but if you created your own Space Template you should not face this error.Also you should be able to configure the WebCenter Spaces with Discussion even if you are not willing it, since it already comes with the WebCenter installation, so solution will be creating the discussion connection in Enterprise manager (EM).

-> Start WC_Collaboration server in weblogic console as depicted in picture below –

wc_colloboration1

-> In Linux navigate under oracle home with following path –
oracle/Middleware/user_projects/domains/ucm_domain/bin/
Use this command – cd oracle/Middleware/user_projects/domains/ucm_domain/bin/
And run this command – ./startManagedWebLogic.sh WC_Colloaboration
-> Please hit url i.e. http://ipaddress:8890/owc_discussions , if you see page of community forum like below, that specify ,server for WC_Colloaboration is running

-> Login into http://ipaddress:7001/em as weblogic
-> Expand webcenter and then webcenter spaces and right click, select service configuration.

serviceConfiguration1

-> Select Discussion and Announcement

discussion1

-> Click Add and fill information as below

AddConnection

-> Please checked Active Connection checkbox and restart server.
-> Run OCC application, discussion forum error will not come again.

That is all. we are done

BTW , this is 300 post of Techartifact… long way to go… thanks everyone for supporting…

happy learning with Vinay in techartifact…

Webcenter Portal vs Webcenter Spaces

Confusion – Webcenter Portal vs Webcenter Spaces , which one to choose and when.

Webcenter Spaces- WebCenter Spaces is designed to provide a collaborative environment. It integrates all the necessary services such as documents, discussions, events, linking, tagging.In WebCenter Spaces, you build group spaces. Each space is a separate mini-portal with its own configuration, look and feel, security model, and services.

Well one thing is sure.both is fine and works well.But you need to choose in cost,learning,effrot and what you really need it.WebCenter Spaces is ideal to build intranets where you have to collaborate a lot with other.WebCenter Spaces also has a rich set of features for social networking. It has Facebook-like features: you can invite other people to your network, write on their wall, and so on.Oracle WebCenter Spaces allows users to work more effectively with project teams and work groups, including teams that span multiple geographies and include external members. It eliminates or reduces duplication of efforts and content inconsistencies, and it enables sharing valuable team resources to solve business problems, tap into new ideas, and reduce time to market.You can add services, portal,custom taskflow etc.

Webcenter portal –
Oracle WebCenter Portal delivers intuitive user experiences for enterprise applications. This complete, open and integrated enterprise portal and composite applications solution enables the development and deployment of internal and external portals and websites, composite applications and mashups with integrated social and collaboration services and enterprise content management capabilities

Choose Webcenter Spaces if –

-If you don’t need much customization , then choose spaces.It require less effort and development.
-When you require different group spaces, you will also go for WebCenter spaces because such a concept is very hard to build for yourself.
– If your need is something that is more ‘social and collaborative’, then Spaces may be the best place to start.
– You can enable and disable some of the spaces.
– It is role based access.
– When you need people connection like linkedin, facebook like button,personal pages.You can comment, favorite,discussion,event etc – Spaces is best option.

Choose Webcenter Portal if –

– If customization is there.Portal is best.
– You have full control over it.
– More effort required to develop personel pages and space.

Except these points, it also depend on your resources skills, time constraint and architect choice as well 🙂

When you need a high level of customization or you need to extend the site with your custom functionality, then you should create a WebCenter Portal application. When you need a collaborative environment where customization or added functionality is not as important as the collaborative services, then go for WebCenter Spaces.

happy coding with Vinay in techartifact . 🙂