A couple of months late on this one, the BPM PS5 VM actually had WebCenter and UCM as options, all PS5 version (11.1.1.6.0) pre-installed and pre-integrated.
It's a great way to get the latest version of Spaces/UCM going fast on an 8GB RAM machine. Make sure you read the PDF and pick the WC_Spaces DOMAIN. This is not for PROD live usage. After the install it recommends running a particualr script to update IPs.
It's in the BIN folder of the oracle desktop.
Run it as sudo scriptname IP
What you get:
Spaces
UCM (including DAM/IBR, workflows)
Document Service Integration
XE DB
Apache for facilitating mail notifications
If you have a 16GB RAM machine, you can try the BPM-Spaces DOMAIN. Otherwise deploy this VM twice, once as BPM, and a second time as WC_Spaces. I recommend you keep the same memory ratios based on personal performance tuning experience.
What you still might want to setup on your own:
WCM - enable the sitestudio component and SiteStudio, externalapp, desktop Integration Suite)
WCM - sitestudiosamples
WCM - for NAT networking update listen http address to your host rather than the guest IP.
Social Taskflows from previous post :)
The entire build is very clean, great UI and prebuilt wizards.
Had an issue getting WCM editing to work from Spaces, will look for a solution to this.
Wednesday, 10 October 2012
Webcenter PS5 Virtual Box VM
Social Taskflow Pack
A very simple but useful pack of taskflows which aim to allow business users to embed video and social media updates into WebCenter Spaces PS4-PS5.
The Suite
The suite for now includes:
Getting Started
To get started simply download and extract this zip.
Press CTRL + S or File > Download when viewing the file.
The ZIP contains 3 EAR files which can be uploaded to Webcenter Spaces.
Each file within is a taskflow you can simply import by cliking on
Administration > resources > Taskflows > upload
Adding a widget
To add a widget verify that they are SHOWN (click Edit>Show) from the taskflow section, by default they will appear within your catalog. When editing a page simply type the word facebook, youtube or twitter. Once the widget has been added edit the properties of the taskflow to input the video code, or facebook page account. See an examples below:
Finally you may further specify the display properties of the box. By as changing to hiding the header or choosing a light style it can improve your look and feel.
Technical:
The widgets are simply HTML embeds with taskflow parameters set at the page flow scope level. You may further improve the look and feel from catalog by adding respective logos for the taskflow from local hosted icons in your content server. Make sure you've added your domain name if generating widgets. Spaces will need to contact the internet and may encounter a web proxy.
Know Issues:
Facebook widget requires login even for seamingly public pages.
Youtube video in edit mode overlays over edit popups in ADF
Twitter sometimes requires screen refresh to show when displayed on some page templates/layouts.
Twitter needs more user friendly input requirement (account name only, ID automated) while using a reliable source.
Feedback:
Let me know if you have any requests for social services to be embedded. I will be looking into live video streaming and live chat embed taskflows.
Social taskflows within Spaces |
The Suite
The suite for now includes:
- Facebook (page only)
This widget aims to expose a public page created for a particular interest or company. - Youtube
Embed any video using the video code at the end of the URL.
Also includes height and width options. - Twitter
Embed any twitter widget. For this you'll need to create your own widget within your account first, or get the account name and ID from the account you want to show.
Getting Started
To get started simply download and extract this zip.
Press CTRL + S or File > Download when viewing the file.
The ZIP contains 3 EAR files which can be uploaded to Webcenter Spaces.
Each file within is a taskflow you can simply import by cliking on
Administration > resources > Taskflows > upload
Adding a widget
To add a widget verify that they are SHOWN (click Edit>Show) from the taskflow section, by default they will appear within your catalog. When editing a page simply type the word facebook, youtube or twitter. Once the widget has been added edit the properties of the taskflow to input the video code, or facebook page account. See an examples below:
Simply copy the code shown when viewing a youtube video after the 'v='.
Finally you may further specify the display properties of the box. By as changing to hiding the header or choosing a light style it can improve your look and feel.
Technical:
The widgets are simply HTML embeds with taskflow parameters set at the page flow scope level. You may further improve the look and feel from catalog by adding respective logos for the taskflow from local hosted icons in your content server. Make sure you've added your domain name if generating widgets. Spaces will need to contact the internet and may encounter a web proxy.
Know Issues:
Facebook widget requires login even for seamingly public pages.
Youtube video in edit mode overlays over edit popups in ADF
Twitter sometimes requires screen refresh to show when displayed on some page templates/layouts.
Twitter needs more user friendly input requirement (account name only, ID automated) while using a reliable source.
Feedback:
Let me know if you have any requests for social services to be embedded. I will be looking into live video streaming and live chat embed taskflows.
Labels:
11.1.1.5.0,
11.1.1.6.0,
facebook,
taskflows,
twitter,
webcenter,
youtube
Wednesday, 29 August 2012
Connecting to the SES DB remotely
OOTB the Secure Enterprise Search database is secured by IP address which means if you connect either using Jdev or sqlplus remotely, you will get:
Got minus one from a read call
To fix this issue simply follow the Oracle Support article 1446113.1
Got minus one from a read call
To fix this issue simply follow the Oracle Support article 1446113.1
Sunday, 12 August 2012
Setting a WebCenter Maintenance Page
Background
When you shutdown WebCenter, the apache weblogic mod takes over the control of error pages and shows:
Failure of server APACHE bridge:
No backend server available for connection: timed out after 10 seconds or idempotent set to OFF.
Let's face it that's not user friendly and needs to be replaced with a nice page.
Solution
You can set a custom error page following the steps below:
*if you haven't got OHS_HOME, I recommend you set up this environment variable. The path should look similar to the below:
/apps/oracle/product/middleware/Oracle_WT1/instances/instance1/config/OHS/ohs1
First copy your custom html to the server.
Move the files to
$OHS_HOME/htdocs/
For example you have a file called
maintenance.html
Next modify the config file for the weblogic mod
Now to test the change, restart OHS. (if you're in clustered mode run with 1 spaces, 1 OHS only for now)
Stop Spaces.
Go to WebCenter home.
New html maintenance page displays.
Restart spaces in WLS console.
Spaces displays correctly.
Ensure you copy the files/change in every OHS if you're in a clustered deployment.
Business Justification
The reason behind having a maintenance page, is to provide links to areas if WebCenter is being relied on as home page or key jumping point. In key business contexts people need to find key systems even if the system is down (timesheets, expenses, or other). The next step will be for you to assess if you need to handle the event when both OHS and WebCenter are down and what error page should be displayed at that point. I recommend the below:
"The Administrator of this system is currently busy looking for a new job, the system will be back up shortly, thanks for your patience"
When you shutdown WebCenter, the apache weblogic mod takes over the control of error pages and shows:
Failure of server APACHE bridge:
No backend server available for connection: timed out after 10 seconds or idempotent set to OFF.
Let's face it that's not user friendly and needs to be replaced with a nice page.
Solution
You can set a custom error page following the steps below:
*if you haven't got OHS_HOME, I recommend you set up this environment variable. The path should look similar to the below:
/apps/oracle/product/middleware/Oracle_WT1/instances/instance1/config/OHS/ohs1
First copy your custom html to the server.
Move the files to
$OHS_HOME/htdocs/
For example you have a file called
maintenance.html
Next modify the config file for the weblogic mod
nano $OHS_HOME/mod_wl_ohs.conf
within the Webcenter location add
<Location /webcenter>
LOCATION STUFF
ErrorPage http://[hostname]/maintenance.html
</Location>
Now to test the change, restart OHS. (if you're in clustered mode run with 1 spaces, 1 OHS only for now)
Stop Spaces.
Go to WebCenter home.
New html maintenance page displays.
Restart spaces in WLS console.
Spaces displays correctly.
Ensure you copy the files/change in every OHS if you're in a clustered deployment.
Business Justification
The reason behind having a maintenance page, is to provide links to areas if WebCenter is being relied on as home page or key jumping point. In key business contexts people need to find key systems even if the system is down (timesheets, expenses, or other). The next step will be for you to assess if you need to handle the event when both OHS and WebCenter are down and what error page should be displayed at that point. I recommend the below:
"The Administrator of this system is currently busy looking for a new job, the system will be back up shortly, thanks for your patience"
Sunday, 24 June 2012
Configuring Coherence for Spaces Content Presenter PS4
Reason:
Coherence is becoming the strategic caching method for
Webcenter. OOTB it is not enabled for the content presenter integration on top
of PS4.
This was tested on PS4 with BundlePatch4 installed running on
linux x86-64.
Steps:
Download the Jdeveloper project from George Maggessy’s blog.
The approach on the original post is for WebCenter Portal.
For now we have a manual deployment process. This should be enhanced via Jdev deployment.
Copy content-coherence-cache-config.xml
to your Spaces Customization Project in a new folder called APP-INF/classes
These folders should be created at the same level as
META-INF.
Edit the deployment properties of the application and
include the new folders in the deployment.
Redeploy the project against Spaces.
*Within the server this will copy the file to this location:
$MW_HOME/user_projects/applications/[your_domain]/custom.webcenter.spaces.fwk/APP-INF/classes
(it will create these folders and copy the file here, if you
want a quick test, you can copy this file here)
Add the JVM startup parameter to your setDomainEnv.sh
($DOMAIN_HOME/bin). Remember to do this for every machine.
Since it’s a big file I recommend you make edits in a
separate file.
Search for this comment
# If you want to override the default Patch Classpath,
Library Path and Path for this domain,
Add the following line below it.
. ${DOMAIN_HOME}/bin/setCustomProperties.sh
Now let’s create this file. In the bin folder directly.
nano setCustomProperties.sh
You can include entries depending on your environment. It is
recommended to have a domain bin process to push all files to your
TEST-UAT-PROD servers to ensure they always match.
For clustered solutions try the below. (if you are viewing
this article you are most likely scaling and clustered anyway, in our case we
had 4 nodes, modify this statement to reflect your managed server names and
numbers)
COHERENCE_JAVA_PROPERTIES=" -Dtangosol.coherence.management=all"
if [ "${SERVER_NAME}" = "WC_Spaces1"
] ; then
EXTRA_JAVA_PROPERTIES="
${COHERENCE_JAVA_PROPERTIES} ${EXTRA_JAVA_PROPERTIES} "
elif [ "${SERVER_NAME}" =
"WC_Spaces2" ] ; then
EXTRA_JAVA_PROPERTIES="
${COHERENCE_JAVA_PROPERTIES} ${EXTRA_JAVA_PROPERTIES} "
elif [ "${SERVER_NAME}" =
"WC_Spaces3" ] ; then
EXTRA_JAVA_PROPERTIES="
${COHERENCE_JAVA_PROPERTIES} ${EXTRA_JAVA_PROPERTIES} "
elif [ "${SERVER_NAME}" =
"WC_Spaces4" ] ; then
EXTRA_JAVA_PROPERTIES="
${COHERENCE_JAVA_PROPERTIES} ${EXTRA_JAVA_PROPERTIES} "
fi
export EXTRA_JAVA_PROPERTIES
You may save and close the file.
Remember to chmod 755 setCustomProperties.sh so the
server can execute it.
(or lower depending on your security concerns)
If you encounter weird errors on Spaces startup, run this
cmd:
Dos2unix setCustomProperties.sh
This should remove weird characters that can interfere with
WLS.
We are finally ready to restart spaces.
Start WC_Spaces in WLS Console.
*If you are clustering I recommend you start 1 node only at
this point.
Let’s walk before we run.
Next we want to confirm that after starting spaces the
change is initialised.
*prerequisite: Setup xming for putty
First let’s look for the Spaces process once it has been
restarted via WLS console.
ps -eaf | grep WC_Spaces
You can verify that the entry
-Dtangosol.coherence.management=all
Is shown in the JVM start parameters.
Get the first number from this cmd it’s the Spaces PID.
Then cd to the java location in that cmd as well.
Eg) cd /apps/oracle/java/jrockit-jdk1.6.0_26/bin/
Then type
Jconsole [PID]
*lookout for an upcoming post on jvisualvm and jconsole for more info on monitoring webcenter.
You can use this tool to monitor performance, and in this
case check that coherence has been initialised against spaces. Click on the
MBeans tab, coherence should show at the top.
Then you can proceed to load WebCenter spaces pages with
content presenters. In general performance should improve and be measured
against page load time with at least over 200-1000 concurrent test users. As you
increase test users, continue to monitor UCM query responses.
If you still have performance issues, ensure your DB is doing the right thing. Is memory allocation within the DB correct for the total memory, is the DB shared? Are nightly stat run to optimize the DB?
Monday, 16 April 2012
Patches for WebCenter 11.1.1.5.0 in HA
If you are planing to go live with a client soon, on that particular version, it is mandatory for HA to install BP4 (11.1.1.5.4) - 13647251 and the following patches.
1) 12800721
2) 11077089
3) 13700256
4) 12412604
5) 13597766
*do a quick check of each patch here to ensure you are using these components.
Note that you need to download them for the 11.1.1.5.4 version of WebCenter and install them after the BP. You'll need to update OPatch(6880880) as well.Make sure you download the version for your environment.
The patches fix critical issues in Java Object Cache, serialization and deadlock issues which occur under medium load. I recommend you apply these patches as soon as possible after install.
If you are on 11.1.1.6.0, you have the equivalent of BP4 already with a couple extra features. You may still need the individual patches mentioned.
I will make a broader post about HA soon.
1) 12800721
2) 11077089
3) 13700256
4) 12412604
5) 13597766
*do a quick check of each patch here to ensure you are using these components.
Note that you need to download them for the 11.1.1.5.4 version of WebCenter and install them after the BP. You'll need to update OPatch(6880880) as well.Make sure you download the version for your environment.
The patches fix critical issues in Java Object Cache, serialization and deadlock issues which occur under medium load. I recommend you apply these patches as soon as possible after install.
If you are on 11.1.1.6.0, you have the equivalent of BP4 already with a couple extra features. You may still need the individual patches mentioned.
I will make a broader post about HA soon.
Thursday, 15 March 2012
Relative URLs and WebCenter
You want to write code in webcenter resources that's re-usable accross all instances (DEV-TEST_UAT-PROD).
Ensure you reference all UCM resources with either a single '/', or a double '//' at the start of the relative reference. A good way to get all your images to load is to use single slash for all of them, and those that don't load maybe in a content presenter template or other, use the double slash.
Word to the wise, slash first. Not to get slashed later.
Ensure you reference all UCM resources with either a single '/', or a double '//' at the start of the relative reference. A good way to get all your images to load is to use single slash for all of them, and those that don't load maybe in a content presenter template or other, use the double slash.
Word to the wise, slash first. Not to get slashed later.
Always show UCM skin images in webcenter
If images aren't loading without being logged on to UCM (in another browser tab) when viewing webcenter, follow the steps below:
If even one of your images does not adhere to this metadata combination all of your images will fail to load.
- First ensure you put your skin's images in a folder under Contribution Folders.
- Second web map your skin folder in ucm. (in your webcenter skin reference the web mapped URLs)
- Third, use the image metadata profile for all images.
- Fourth, use the WebCenterSpaces security group, not the public group.
If even one of your images does not adhere to this metadata combination all of your images will fail to load.
Wednesday, 14 March 2012
A better Find in linux
Looking for a file on linux?
Want to search to whole machine and you're getting permission denied errors?
Use this command:
find / -name YOUR_SEARCH_WORD_HERE 2>/dev/null
Tuesday, 28 February 2012
Enhancements to Content Presenter Image Gallery
Original code and instrucions:
(credit John Brunswick and Kyle Hatlestad)
The following is an enhancement of the image gallery template.
Prereqs:
-Requires static renditions to be accessible, need config.cfg renditions for preview and thumbnail. You can just google that
-Requires dispersion to be turned off, kyle has an article on this
You'd replace the iterator code in the template with the below:
<af:iterator rows="0" var="node" varStatus="iterator" value="#{nodes}" id="it0">
<af:outputText escape="false" value="<a class="grouped_elements" title="#{node.propertyMap['xComments'] != 'xComments: ' ? node.propertyMap['xComments'].asTextHtml : node.propertyMap['dDocTitle'].value.stringValue}" rel="group" href="/cs/groups/#{fn:toLowerCase(node.propertyMap['dSecurityGroup'].value.stringValue)}/documents/#{fn:toLowerCase(node.propertyMap['dDocType'].value.stringValue)}/~extract/#{node.propertyMap['dDocName'].value.stringValue}~1~staticrendition/preview.gif">"/>
<af:image source="//cs/groups/#{fn:toLowerCase(node.propertyMap['dSecurityGroup'].value.stringValue)}/documents/#{fn:toLowerCase(node.propertyMap['dDocType'].value.stringValue)}/~extract/#{node.propertyMap['dDocName'].value.stringValue}~1~staticrendition/thumbnail.png" styleClass="gallery"/>
<af:outputText escape="false" value="</a>"/>
</af:iterator>
This allows any security group, or document type on checkin, also uses relative urls.
It standardizes the thumbnail and enlarged size to the standard IBR renditions.
The only remaining issue with this code, is if you put the image inside a space rather than any contribution folder, it requires the auth and account value to be dynamically set in the folder path. I haven't worked out how to do string manipulation to make this dynamic. EL APIs are still a mystery to me, anyone with a good link? As a result this code only supports sourcing the images from any contribution folders.
Also the folder must only contain images. If your images are in folders with mixed content or sub folders, you need to use a list rather than point presenter to a folder.
Subscribe to:
Posts (Atom)