Using Enterprise Manager for Troubleshooting and Optimizing your WebCenter Content Deployment

May 10, 2016

Raoul Miller – Enterprise Architect

When Oracle WebCenter Content made the architectural shift from a standalone J2SE application to a managed application running in WebLogic Server (WLS), the change provided a number of new capabilities for management, integration, and support.  One of these capabilities is the version of Enterprise Manager that is built into WLS which allows administrators to monitor many different aspects of the WebCenter Content application.

If you haven’t been through formal WLS or Enterprise Manager training, the interface may seem complex or confusing.  My speaking session at Collaborate 2016 in April explained how to use Enterprise Manager to monitor, optimize, and troubleshoot your WCC deployment(s) and I wanted to accompany that with a post here to provide a bit more context.

First a little background – there are multiple versions of Enterprise Manager (EM), and it’s important to be clear which one we are talking about.  Those of us who have worked with the Oracle Database will be familiar with the original EM that’s been used to manage databases since version 9i.  This is now specifically called Enterprise Manager Database Control.

At the other end of the spectrum there is the full-featured Enterprise Manager platform.  This is a multi-tier set of applications which monitor and manage all aspects of your Oracle hardware and software deployment.  We recommend it highly for large Enterprise clients, but it can be expensive and complex.

In the middle is the Enterprise Manager we will discuss today which is a set of web-based tools used to manage and monitor your WLS application server deployments.  You access this at almost the same URL as the WLS administration interface – http://<WLS servername>:7001/em – note the /em rather than /console for WLS, and it’s possible you may not be using the standard 7001 port.

Your initial screen will show you what is deployed to your domain and whether the applications / servers are running or not.

Picture1

You’ll notice that there are lists of application deployments and managed servers within the domain and right clicking on any of these will show you custom actions for each.

Picture2

Before we get to what to monitor and measure, let’s take a moment to review best practices when we are optimizing or troubleshooting WebCenter Content.  As the java application architecture has stayed much the same over the years, the standard areas to focus on have remained fairly constant.  It cannot be stated strongly enough that it is vital to look at ALL these areas, measure and test performance before making any changes, change one thing at a time, and then re-test and re-measure after making that isolated change.  It’s very much an iterative approach as without data you are just playing around with inputs and outputs to a black box model.

The areas you need to monitor and measure when optimizing or troubleshooting WCC are:

  • Java virtual machine
  • File system
  • Database (metadata and indexing)
  • Network
  • Authentication / authorization
  • Customization / components
  • Hardware

 

(I have to credit Brian “Bex” Huff and Kyle Hatlestad for their presentations back in the day at Stellent which taught me this approach.)

Enterprise Manager can help you with many of these areas, but not all – you need other tools to look at file system I/O and utilization, network speed and routing, and (non-oracle) hardware.  However, for the other areas, EM can be extremely helpful.  Let’s look at a couple of examples:

JVM metrics

Right click on the managed server instance and select JVM Performance

Picture3

This brings up a pre-selected set of JVM metrics and a non-standard color scheme.

Picture4

 

This will let you monitor the heap and non-heap memory usage in real time.

**TIP** You may see that the heap is smaller than you thought you had set it – I have often seen an issue where there has been confusion over where the non-default maximum and minimum heap sizes should be set.

Lower on the page you’ll see more granular data on JVM threads, objects, etc.

Picture5

Picture6

Datasource Metrics

You’ll need to open the metric palette on the right side of the screen and open up the Datasource Metrics folder.

Picture7

**TIP ** Make sure you choose this rather than the Server Datasource Metrics, because you will need to select the “CSDS domain-level Datasource”.

Picture8

WebCenter Content Metrics

 

Navigate to the WebCenter Content Server deployment at the bottom of the folder list in the left hand area:

Picture9

Select “Performance Summary” and you’ll see a pre-selected set of content-specific metrics in the graph area.  As with all of the other selections, you can add or subtract metrics as you go – this short cut just gives you a good starting point.

Picture10

We have only scratched the surface here of the capabilities of Enterprise Manager and its use for optimization of WebCenter Content.  For much more information, download to my presentation from Collaborate 2016 or contact us through our website.  We’ll be happy to discuss how we can further help you optimize and troubleshoot your WCC deployments.


Easy Mass Metadata Updates In WebCenter Content

October 2, 2014

By: Dwayne Parkinson – Solution Architect

*This blog is informational in nature on an approach to mass updating WebCenter Content. Because each WebCenter implementation is unique in nature, it is not intended as a “how to” guide and any use of this information is at your own discretion.

If I had $100,000 for every time someone wanted to perform a mass update in WebCenter Content, I’d be a very wealthy man. The request doesn’t happen enough for me to lower the price, but it’s still a fairly regular request so I think it’s worth knowing how to answer the question: “How can I update all of these content items with a new metadata value?” Fortunately WebCenter Content offers a number of ways to do this.

Before we dive into the details I’ll just state the obvious disclaimer. Performing mass updates to large groups of content can have some unintended consequences so be careful!

Records Management Global Update

Surprise!!! There’s an incredibly easy to use feature called “Global Update” and as the name suggests, it allows you to perform global updates to metadata. The only caveat is that you must have WebCenter Content: Records Management enabled to use this feature. From the Records menu select Global Updates. From there you will see three options that you can update globally: Retention Categories, Records Folders and <insert heavenly choir of angels singing here> Content!

Untitled

When you select the Content option you will see the Global Updates: Content screen.

Untitled2

As shown above, you can define a query to select the content you want using standard metadata fields or free text searching and then define the metadata field to update. Notice the Preview option allows you to see the results of your query to insure you are updating only the content you want to update.

For reasons unknown to me, this incredibly useful option is hidden by default from the RM admin user. You will need to enable this feature by doing the following:

1) Login in as weblogic or Admin user.

2) Navigate to Administration > Admin Applets

3) Select the User Admin Applet

4) In the User Admin Applet > select the top menu “Security” option and then select the “Permission by Role” option.

5) In The “Permisions by Role” section, Highlight  the RMadmin Role and then select “Edit RMA Rights” option.

6) Select the “Admin” Tab from the “Edit RMA rights” section, then check the “No Security” option and select OK to save.

7) Exit out of the applet, and navigate to “Records “ and choose “Global Updates” to confirm this feature has been enabled.

 

Folder Metadata Propagation

For content that is stored in folders there is an exceptionally easy way to perform a mass update of metadata values. However, it’s important to know that there are two versions of folders implemented in WebCenter Content and as a best practice you have either one or the other, not both.

Let’s start with the “old” version of folders which is called Folders_g. If you click on the Browse Content menu and you see an option for Contribution Folders, then you have Folders_g.

Untitled3

To perform a mass metadata update for all content items in a Folders_g folder you browse to the folder containing the content you want to update. At that point you click on the Information icon.

Untitled4

On the next screen you select the Actions menu and choose Update to update the metadata for the folder.

Untitled5

Once you’ve updated the metadata from the folder, you still have one more step. Select the Actions menu again and choose Propagate. This will propagate the metadata change to all content items in that folder.

If you have the new version of folders, called Framework Folders, when you click on the Browse Content menu you will see an option that says Folders.

Untitled6

As with Folders_G you navigate to the folder which contains the items you want to update. Once you’ve selected your folder choose the Edit menu and update the metadata values for the folder.

Untitled7

After the metadata for the folder has been updated, select the Edit menu again and choose Propagate. This will update all of the content items in the folder with the new metadata value.

Yes, I know what you’re thinking. Folder propagation is great but it leads to an obvious question: What if not everything in the folder needs to be updated or your content is spread across hundreds of folders?

Query Folder Propagation

With the advent of Framework Folders, Oracle invented a new gizmo called a Query Folder. A Query Folder is a folder which contains the results of a query. To add a Query Folder you simply browse to any folder in your system that you want to contain the Query Folder, click the Add button and choose New Query Folder.

Untitled8 copy

The Query Folder creation screen allows you to use Full-Text Search or Query Builder options to determine which content items should be included in the Query Folder.

Untitled8

Once created, you will see a new Query Folder on your system and it will have a different icon that is a folder with a magnifying glass rather than just a folder.

Untitled10

This new Query Folder contains call content items that match the query defined when the folder was created. With the new folder in place you can use the Folder Propagation techniques above to update all of the content items in your Query Folder. This two step process of creating a Query Folder containing just the content items you want plus folder propagation, gives you the ability to have fine grained control over your mass update.

Conclusion

As you might expect, there are a number of hard and complex ways to perform mass metadata updates as well, but with the tools above, making mass metadata updates can be quick and easy.

If you have questions about WebCenter and want to talk to someone at TEAM, contact us today!

 


Customizing WebCenter Content: Part 5 – Custom Service

July 2, 2014

By: Dwayne Parkinson – Solution Architect

As we conclude our Blog series on customizing WebCenter Content we are going to finally create a custom WebCenter Content service which will leverage the query and template we created in earlier Blog entries.  Once we have a custom service created, it can be placed on WebCenter Content menus, called from applications, used in iDoc Script and other WebCenter Content services. While our service will perform relatively simple functions, you will see how the same steps can be used to build fairly elaborate customizations.

Create a Custom Service

A Service is yet another type of resource that exists within a custom component, so the first step to creating a custom service is to create a custom component.  We already have a custom component from our previous Blog entries, so using the Component Wizard we’ll open the example component we created in the previous Blog entries and put our service in that component.

To create a service you click the Add button in the Custom Resource Definition pane of the Component Wizard.  On the next screen select the Service checkbox and accept the default names.

cw51

Make sure the service is in the “resources” folder and click on Next.

The next screen will ask for a Table Name which is used to store information about the custom service.  Accept the default table name here as well.

cw52

Finally we get to the point where we can add our custom service and tie all of our work together.  The top half of the screen defines our service while the bottom half tells what actions the service will perform.
cw53

The Name field is the name of your service.  The standard convention in WebCenter Content is for all service names to be in all upper case with words separated by an underscore.  The service name will be what you see in the URL when the service is called.  So in our case the portion of the URL with our service would look something like this: idcplg?IdcService=EXAMPLE_GET_FULL_NAME

The next field designates the class of service.  The class of service is really referring to a Java class and it determines what actions can be performed by the service.  For our example we’ll use the class of Service.

The Template field is used when there is a template to display results of the service.  We are going to use our EXAMPLE_PAGE template resource that we created in a previous Blog entry.  This template is a page that says “Hello World” with standard WebCenter Content page begin, end, etc.

The Service Type field we will leave blank.  The type of Sub-Service is only used when you are creating a service that will only be called from another service.  Our example service will be initiated directly from the URL so we will leave this blank.

The Access Level must have Scriptable checked for your service to execute.

The Subjects Notified is for defining which subsystems within WebCenter Content should be aware of this service.  For our example (and in most cases) this will be blank.

Finally, the Error Message is a text field that defines the error message returned by the service unless one of the actions overrides it.  For our purposes we will leave this blank and now we’re ready to start adding some actions to our service.

Adding Service Actions

The action list defines which actions the service will perform and in what order.  To add an action, click the Add button in the Action section.

cw54

The Type of action indicates what type of resource we will be invoking from our service.  The table below provides information on what each type of action does.

Action Type Description
Select Query Executes a select query, but does not return the results. Instead, the query will return whether the execution succeeded or failed.
Execute Query Executes data manipulation queries (insert, update, delete). The execution will not return any results, but will alter the database.
Java Method Executes a Java method. The method can be contained in the Service or a handler.
Load Option List Loads an option list into local data of the service. The option list is available to use in a template.
Select Cache Query Executes a select query and puts the results into Content Server’s backend data. The output will be available as a ResultSet.

 

Since we will be using the query resource we created in a previous Blog entry to return the full user name, we will use the Select Cache Query.

The next step in adding an action is to specify the name of the action.

cw55

In our case the name of our query was QfullName so we will type that in to the action field.  NOTE: There is a quirk in action field.  When you tab out of the action field the first time it may default back to the first entry from the drop down list and you will need to retype your action name.

The Parameters section specifies the parameters for the action.  Since we’re using a Select Cache Query, the parameter we specify will be used to store the results returned from our query.  By entering FullName, the service will generate a result set with the name FullName.  The result set will contain the results of our query.

The Control Mask is beyond the scope of this Blog, but documentation can be found here: http://docs.oracle.com/cd/E23943_01/doc.1111/e11011/c03_customizing_services.htm#CSSRG2048

The Error Message is the text that will be displayed if this action produces an error.  We will leave it blank and allow system generated errors to be seen.

Now we can click on OK and complete the definition of our service.

Testing the Service

To test our service we must first enable our custom component using the Component Wizard and then restart the content server so our component can be loaded.  Once that’s complete, sign on and change the URL so it calls our EXAMPLE_GET_FULL_NAME service as shown below.

cw56

Notice that there’s a parameter of dName after our service.  This parameter is required by the QfullName query we used so it must be supplied after the service call.

When we call the service you’ll notice that the EXAMPLE_PAGE template is displayed.  This shows us that the template we hooked up to the service is working as expected since we’re seeing our “Hello World” message.

Of course we also want to know if our service actually returned the full name of the user by executing the QfullName query.  To do that let’s execute our service again and append &IsSoap=1 to the end of the URL as shown below.

cw57

When using the IsSoap parameter, the results are redirected from our EXAMPLE_PAGE template to a SOAP envelope which is nothing more than an XML file.  As you can see, the result set of FullName contains a row that says the full name for user weblogic is Web Logic.  (Remember, we specified FullName as the parameter on our Select Cache Query and that’s how the result set gets its name)

The Finished Product

We would be remiss if we left our discussion of custom components, services and templates without actually displaying the results of our query on our template.  While it’s beyond the scope of this Blog to dive deeply into the iDoc scripting language, thankfully we only need a few lines of iDoc Script.  Within the Component Wizard, highlight the template resource and select our EXAMPLE_PAGE template.  Now we can click on the Launch Editor button in the lower right corner of the screen and add the highlighted lines of iDoc Script to our template.

cw58

Once those three lines are added, the server must be restarted and then we can execute the service again.  With our template changes in place, the service will show the following screen.

cw59

Conclusion

We have covered a lot of ground to merely show Hello World and the full name of a user, but the principles we’ve demonstrated are incredibly powerful.  As you can see, WebCenter Content is not just a piece of software; it’s a framework that can be extended for developing truly custom solutions to meet the unique needs of your organization.

For more information about the possibilities of extending WebCenter Content to meet the requirements for your next project or to request customized training for your development team please contact TEAM Informatics and ask about our extensive WebCenter Content customization capabilities.

 


The Low Hanging Fruit of WebCenter Content: Maximizing Your Investment

May 16, 2014

By: Dwayne Parkinson – Solution Architect

Many clients I encounter have an opportunity to leverage some of the low hanging fruit that WebCenter Content can deliver to solve pressing business needs, but they’re often unaware that these features exist.   For that reason I thought it would be useful to create a brief list a few of the most widely applicable and often overlooked features of WebCenter Content.

WebCenter Content: Desktop (previously Desktop Integration Suite)
It seems that the longer a customer has been using WebCenter Content (aka UCM & Stellent), the less likely they are to use this wonderful feature.  Oracle WebCenter Content: Desktop makes the connection between your PC and the content server virtually seamless.  Windows Explorer suddenly has direct access to the content server folders and functions.

low1

Likewise the Microsoft Office Suite has convenient access to most many common content server functions via ribbon bars in products like Word and Excel

low2

Additional menus with special functions suddenly appear in Outlook as well.

low3

Implementing DIS will often achieve a higher adoption rate of WebCenter Content by the user community and it provides tremendous advantages in terms of ease of use and reduced training costs.  For more information on the Desktop Integration Suite please refer to this bit of Oracle documentation:  http://docs.oracle.com/cd/E29542_01/doc.1111/e10624/toc.htm

 

WebCenter Content: Records (control electronic AND physical records)

For legal and regulatory reasons your company may need to establish (and adhere to) corporate retention policies.  With the 11g version of WebCenter Content, significant changes in the records management capabilities came along for the ride.  Consider leveraging those capabilities to meet this need.

Records Management allows you to organize information into a “File Plan” which controls how long you will keep content and what will happen to the content over its lifecycle.

low4

Suddenly your company will have control over how long it should keep content, what can still be maintained and what should be removed from the system.

Additionally, it doesn’t matter whether the content is an electronic document stored in a PDF, MS Word or other electronic format OR whether the content is a physical piece of paper.  There are capabilities to handle both physical and electronic records.

Physical records includes such features as locations, billing, integration with Iron Mountain, barcoding and a reservation and check out system.

low5

To get started with Records Management review the following Oracle documentation.

http://docs.oracle.com/cd/E29542_01/doc.1111/e26695/records.htm#CIHGBGJE

 

Workflow & Document Approval

Virtually every organization has the need for some kind of content related workflow.  It could be submitting and approving expenses, approving engineering changes, approving the verbiage on a marketing campaign or an endless array of other possibilities.  WebCenter Content has a built in workflow tool which was designed to quickly address the common document approval situations while still providing a means for implementing more complex workflows.

low6

Building simple workflows and allowing the user community to access the workflow features via WebCenter Content: Desktop provides a quick and easy way to get up and running with little end user training.

low7

For more information on using workflows in WebCenter Content please refer to the Workflow section of the Oracle documentation below.

http://docs.oracle.com/cd/E29542_01/doc.1111/e26695/workflows_newui.htm#CBBEHJDE

 

Folios

There is often a need to group content items together logically within the content server.  For example, a new product release may have instructions, warranty, product drawings, QA documents and dozens of other related content items that should all be grouped together for the release.  A folio is a special content item that can be created to store related documents.

There are two types of folios.  A Simple Folio allows you to link a number of content items together while an Advanced Folio allows for the creation of a folio template which contains pre-defined nodes (folders) and slots within the nodes that contain content.

low8

A Simple Folio allows the addition of any content in any order and is a “flat” structure without any folders for organizing content within the folio.
low9

An Advanced Folio uses a Folio Template to create a predefined structure for storing content items including folders for organizing the content and pre-defined slots to hold specific types of content.

low10

When using an advanced folio, the user searches for, and then selects content items using a familiar WebCenter Content search interface.  The selected content items are dragged and dropped from the Source Items pane into the appropriate slots as shown above.  Once all of the content items are in place, the folio is saved to the content server.

Since each folio is saved as a unique content item, folios can also be sent through workflow for approval, secured and managed through records management.  For more information on Folios please refer to the follow section of Oracle documentation:

http://docs.oracle.com/cd/E29542_01/doc.1111/e26695/folios.htm#CHDJFJJJ

 

Conclusion

Getting the most out of your software is one of the easiest ways to bring value to a company, improve efficiencies and increase your return on investment.  WebCenter Content can help you do that in many ways.  If you would like more information on how some of WebCenter Content’s features may bring additional value to your organization please contact TEAM Informatics and see how the software you already own can be used in new ways to meet your current business needs.

 

 

 


Webcast Series: Oracle WebCenter Content and Oracle WebCenter Imaging for Applications

October 17, 2012

Over the next three Thursdays Oracle is hosting webcasts (register and get more information here)  featuring Jamie Rancourt, Lance Shaw, and Sunthar Tharmalingam from Oracle’s product team to discuss how WebCenter Content and Imaging can add tremendous value to your business processes. Find out how to extend your vision and productivity.  This webinar series has the following topics:

Using Oracle WebCenter to Content-Enable Your Business Applications
Date: Thursday, October 18, 2012
Time: 10am PT / 1pm ET

Optimize AP Processing with Oracle WebCenter Imaging for Oracle Applications
Date: Thursday, October 25, 2012
Time: 10am PT / 1pm ET

Streamline Processes with Oracle WebCenter Content Management for Human Resources Applications
Date: Thursday, November 1, 2012
Time: 10am PT / 1pm ET

TEAM recently announced TEAM Cloud at Oracle OpenWorld, which allows you to deploy WebCenter from our private cloud on an engineered system; saving you time and money.  Read more about TEAM Cloud.

You can follow up with us after each webinar on twitter to ask questions about what you learned. Just follow @TEAMinformatics and direct message or mention our name in your tweet! You can also contact us directly to see how we can join YOUR team to make it happen.


Webcast: Oracle & Altimeter Explain How To Achieve Success In The Social Enterprise

September 12, 2012

On Thursday, September 13, 2012 at 10AM PT/1PM ET Oracle is hosting a webcast with Altimeter’s Jeremiah Owyang to discuss the most relevant social business touch points facing industries today. The webinar will address practical steps for driving collaboration to building brand awareness with and around Oracle WebCenter. Make sure you attend this important and informative Oracle webinar. Then follow up with TEAM Informatics to discuss how we can join YOUR Team to make it happen.

 


Enterprise Manager and WebCenter Content

July 3, 2012

By: Raoul Miller – Enterprise Architect

Last month Andrew Bennett and I gave a talk at Collaborate on the use of Enterprise Manager to monitor WebCenter Content instances.  For those of you not familiar with (or confused by the branding of) Enterprise Manager, in this case we are talking about the lightweight version of EM that installs by default as part of the WebLogic Server install.  However, if you have a full installation of Enterprise Manager the following discussion will also apply to you, as long as you have the right management packs installed.

Since we gave the talk (and the white paper from it is available here), I’ve been using EM at different clients and finding the output from it extremely useful.  Essentially it allows us to collect data for troubleshooting and tuning and greatly clarifies our vision of the complex interactions between all the moving parts in the Content Management solution. Let me give you a couple of examples:

  1. We were assisting a client in Australia with performance testing their deployment. Their intranet architecture has a WebSphere Portal accessing WebCenter Content using RIDC to retrieve Site Studio generated content in portlets, Blog and News content. During testing the WebSphere Portal server was crashing under load and that team claimed that WCC was not responding quickly enough to requests and causing connections to hang.  Using EM (actual output below) we could demonstrate that requests were not reaching the  WCC server, and that when they were, the server was responding extremely quickly – never more than 45 ms. Using this evidence we were able to show that the cause of the issue was within the WebSphere Portal server itself and help in resolving the problem.


  2. At another Wall Street client we have been using Enterprise Manager to monitor system performance during large archive imports during a migration. We were occasionally seeing archiving errors where the Archiver was unable to update the revisions rank when importing new revisions.  The fault was intermittent and did not appear to be related to load, time of the day, or other system activity. Using EM (output seen below), we were able to demonstrate that the issue was caused by an intermittent network fault that caused connectivity to the database to be lost briefly at random times (bottom graph).  Working with the database and network teams we were able to resolve this and avoid spinning our wheels searching for faults in the WCC solution.


TEAM is finding that Enterprise Manager is an extremely valuable addition to our troubleshooting toolkit – particularly in large and complex deployments. I strongly encourage you to explore the capabilities of this valuable tool and, of course, if you need assistance in monitoring, documenting, upgrading, tuning, or troubleshooting your Content Management solution, TEAM would be delighted to help you.