Feed aggregator

OSB 12c Customization in WLST, some new insights: use the right jar for the job!

Darwin IT - Wed, 2017-12-20 04:41
Problem setting  and investigationYears ago I created a Release & Deploy framework for Fusion Middleware, also supporting Oracle Service Bus. Recently revamped it to use 12c. It uses WLST to import the OSB service to the Service Bus, including the execution the customization file.

There are lots of examples to do this, but I want to zoom in on the execution of the customization file.

The WLST function that does this, that I use is as follows:
#=======================================================================================
# Function to execute the customization file.
#=======================================================================================
def executeCustomization(ALSBConfigurationMBean, createdRefList, customizationFile):
if customizationFile!=None:
print 'Loading customization File', customizationFile
inputStream = FileInputStream(customizationFile)
if inputStream != None:
customizationList = Customization.fromXML(inputStream)
if customizationList != None:
filteredCustomizationList = ArrayList()
setRef = HashSet(createdRefList)
print 'Filter to remove None customizations'
print "-----"
# Apply a filter to all the customizations to narrow the target to the created resources
print 'Number of customizations in list: ', customizationList.size()
for customization in customizationList:
print "Add customization to list: "
if customization != None:
print 'Customization: ', customization, " - ", customization.getDescription()
newCustomization = customization.clone(setRef)
filteredCustomizationList.add(newCustomization)
else:
print "Customization is None!"
print "-----"
print 'Number of resulting customizations in list: ', filteredCustomizationList.size()
ALSBConfigurationMBean.customize(filteredCustomizationList)
else:
print 'CustomizationList is null!'
else:
print 'Input Stream for customization file is null!'
else:
print 'No customization File provided, skip customization.'

The parameter ALSBConfigurationMBean can be fetched with:
...
sessionName = createSessionName()
print 'Created session', sessionName
SessionMBean = getSessionManagementMBean(sessionName)
print 'SessionMBean started session'
ALSBConfigurationMBean = findService(String("ALSBConfiguration.").concat(sessionName), "com.bea.wli.sb.management.configuration.ALSBConfigurationMBean")
...

The other parameter is the createdRefList, that is build up from the default ImportPlan during import of the config jar:
...
print 'ÒSB project', project, 'will get updated'
osbJarInfo = ALSBConfigurationMBean.getImportJarInfo()
osbImportPlan = osbJarInfo.getDefaultImportPlan()
osbImportPlan.setPassphrase(passphrase)
operationMap=HashMap()
operationMap = osbImportPlan.getOperations()
print
print 'Default importPlan'
printOpMap(operationMap)
set = operationMap.entrySet()

osbImportPlan.setPreserveExistingEnvValues(true)

#boolean
abort = false
#list of created artifact refences
createdRefList = ArrayList()
for entry in set:
ref = entry.getKey()
op = entry.getValue()
#set different logic based on the resource type
type = ref.getTypeId
if type == Refs.SERVICE_ACCOUNT_TYPE or type == Refs.SERVICE_PROVIDER_TYPE:
if op.getOperation() == ALSBImportOperation.Operation.Create:
print 'Unable to import a service account or a service provider on a target system', ref
abort = true
else:
#keep the list of created resources
print 'ref: ',ref
createdRefList.add(ref)
if abort == true :
print 'This jar must be imported manually to resolve the service account and service provider dependencies'
SessionMBean.discardSession(sessionName)
raise
print
print 'Modified importPlan'
printOpMap(operationMap)
importResult = ALSBConfigurationMBean.importUploaded(osbImportPlan)
printDiagMap(importResult.getImportDiagnostics())
if importResult.getFailed().isEmpty() == false:
print 'One or more resources could not be imported properly'
raise
...

The meaning is to build up a set of references of created artefact, to narrow down the customizations to only execute them on the artefacts that are actually imported.

Now, back to the executeCustomization function. It first creates an InputStream on the customization file:
inputStream = FileInputStream(customizationFile)

on which it builds a list of customizations using the .fromXML method of the Customization object:
        customizationList = Customization.fromXML(inputStream)

These customizations are interpreted from the Customization file. If you open that you can find several customization elements:
 <cus:customization xsi:type="cus:EnvValueActionsCustomizationType">
<cus:description/>
...
<cus:customization xsi:type="cus:FindAndReplaceCustomizationType">
<cus:description/>
...
<cus:customization xsi:type="cus:ReferenceCustomizationType">
<cus:description/>


These all are mapped to subclasses of the Customization. And now the reason that I write this blogpost is that I ran into a problem with my import tooling. In the EnvValueActionsCustomizationType the endpoint replacements for the target environments is done. And the weren't executed. In fact these customizations were in the customizationList, but as a None/Null object. Thus, executing this complete list using ALSBConfigurationMBean.customize(filteredCustomizationList) would run in an exception, refering to a null object in the customization list. That's why they're filtered out. But why weren't these interpreted by the .fromXml() method?

Strangely enough in the javaAPI docs of 12.2.1 the EnvValueActionsCustomization does not exist, but the EnvValueCustomization does. But searching My Oracle Support shows in Note 1679528.2: 'A new customization type EnvValueActionsCustomizationType is available in 12c which is used when creating a configuration plan file.' and here in the Java API doc (click on com.bea.wli.config.customization) it is stated that EnvValueCustomization is deprecated and EnvValueActionsCustomization should be used in stead.
Apparently the docs is not updated completely....
And it seems that I used a wrong jar file: The customization file was created using the Console, and executing the customization file using the console did execute the endpoint replacements. So I figured that I must be using a wrong version of the jar file.
So I searched on my BPM quickstart installation (12.2.1.2) for the class EnvValueCustomization:
Jar files containing EnvValueCustomization
  • C:\Oracle\JDeveloper\12210_BPMQS\osb\lib\modules\oracle.servicebus.configfwk.jar/com\bea\wli\config\customization\EnvValueCustomization.class
  • C:\Oracle\JDeveloper\12210_BPMQS\oep\spark\lib\spark-osa.jar/com\bea\wli\config\customization\EnvValueCustomization.class
  • C:\Oracle\JDeveloper\12210_BPMQS\oep\common\modules\com.bea.common.configfwk_1.3.0.0.jar/com\bea\wli\config\customization\EnvValueCustomization.class
And then I did a search with EnvValueActionsCustomization.
Jar files containing EnvValueActionsCustomization:
  • C:\Oracle\JDeveloper\12210_BPMQS\osb\lib\modules\oracle.servicebus.configfwk.jar/com\bea\wli\config\customization\EnvValueActionsCustomization.class
SolutionIt turns out that in my ANT script I used:
<path id="library.osb">
<fileset dir="${fmw.home}/oep/common/modules">
<include name="com.bea.common.configfwk_1.3.0.0.jar"/>
</fileset>
<fileset dir="${weblogic.home}/server/lib">
<include name="weblogic.jar"/>
<include name="wls-api.jar"/>
</fileset>
<fileset dir="${osb.home}/lib">
<include name="alsb.jar"/>
</fileset>
</path>

Where I should use:
<path id="library.osb">
<fileset dir="${fmw.home}/osb/lib/modules">
<include name="oracle.servicebus.configfwk.jar"/>
</fileset>
<fileset dir="${weblogic.home}/server/lib">
<include name="weblogic.jar"/>
<include name="wls-api.jar"/>
</fileset>
<fileset dir="${osb.home}/lib">
<include name="alsb.jar"/>
</fileset>
</path>
ConclusionIt took me quite some time to debug this. But learned how the customization works. I found quite some examples that use com.bea.common.configfwk_1.X.0.0.jar. And apparently during my revamping, I updated this class path (actually I had 1.7, and found only 1.3 in my environment).  But, somehow Oracle found it sensible to replace it with oracle.servicebus.configfwk.jar while keeping the old jar files.
So use the right Jar for the job!

Early Bird Extension – UK February Dates: “Oracle Indexing Internals and Best Practices” Seminar

Richard Foote - Wed, 2017-12-20 00:49
As a Christmas present to those in the UK looking at attending my “Oracle Indexing Internals and Best Practices” seminar in February next year, the Early Bird rates are now available until 19th January 2018. Take this opportunity to attend this highly acclaimed seminar that is packed full of information designed to significantly improve the […]
Categories: DBA Blogs

How to create Teradata Server Dashboard

Nilesh Jethwa - Tue, 2017-12-19 15:10

Teradata delivers better business outcomes through technology-enabled solutions in the areas that matter most ? from operational excellence and asset optimization, to customer experience and product innovation, to finance transformation and risk mitigation. It works with leading businesses in over 75 countries worldwide including many of the top performers and best-known brands in telecom, transportation, consumer packaged goods, financial services and manufacturing.

Are you using Teradata Server for your data marts or data-warehouse? If so, build your Free Teradata Server infocaptor dashboard software.

Read more at http://www.infocaptor.com/ice-database-connect-dashboard-to-teradata-sql

Grouping punch clock data into 24 hour periods, starting with the time_in punches

Tom Kyte - Tue, 2017-12-19 12:06
We have punch data coming in from employees tasking into work orders. As these records are encountered, I need to know based on employee group if their calc_hrs (field in table) for a 24 period is > 13 hours. I was able to get it started: <cod...
Categories: DBA Blogs

Update Table X with data from Table Y with Parallel DBMS EXECUTE

Tom Kyte - Tue, 2017-12-19 12:06
Hi TOM, I am trying to use DBMS PARALLEL EXECUTE package to update one column of around 40 million rows from a 50 million rows table(X) with the column data from another table(Y) which has a many to one relationship with the table to be updated. ...
Categories: DBA Blogs

unusual behavior on mview refresh

Tom Kyte - Tue, 2017-12-19 12:06
Hi Connor, I asked this question on OTN: We have some mviews with joins, and we found out sometimes an update on the base table will result in insert+delete on the mview, not delete+insert. Because insert comes first, we have to make the primary ...
Categories: DBA Blogs

JSON_QUERY operator queries

Tom Kyte - Tue, 2017-12-19 12:06
Hi Guys DB version: 12.2.0.1.0 I have the following "Collection" table created in DB which contains various relationship information for a user in the system. <code> DESC "USERRELATIONSHIPS"; Name Null Type ------...
Categories: DBA Blogs

how to infer proper precision and scale from NUMBER data type columns without precision and scale

Tom Kyte - Tue, 2017-12-19 12:06
one of our Oracle data sources has hundreds of tables with all numeric columns defined using NUMBER data type without precision and scale. But in fact, a column can store pure integer values or decimal values - there is no way to tell that by looking...
Categories: DBA Blogs

Nonprofits Making a Bigger, Better Difference with NetSuite

Oracle Press Releases - Tue, 2017-12-19 08:00
Press Release
Nonprofits Making a Bigger, Better Difference with NetSuite FH Canada, the Caring and Sharing Exchange, and the Legal Aid Society of Rochester, NY Streamline Processes to Do More Good with NetSuite Social Impact

SAN MATEO, Calif.—Dec 19, 2017

Oracle NetSuite, one of the world’s leading providers of cloud-based financials / ERPHRProfessional Services Automation (PSA) and omnichannel commerce software suites, today announced three nonprofit customers that are leveraging the NetSuite platform to create efficiencies, raise additional funds and further their mission. Charitable organizations and social enterprises are abandoning entry-level desktop applications, disparate systems and manual work for more effective and streamlined operations in the cloud. Nonprofits such as FH Canada (Canadian Food for the Hungry), the Caring and Sharing Exchange, and the Legal Aid Society of Rochester are effectively tackling key challenges in program management, regulatory reporting, fundraising, and tracking donors and beneficiaries with NetSuite. These organizations are realizing sizable cost savings and operational efficiencies that they can channel into social impact programs for education, healthcare, clean water, sustainable agriculture, legal aid and other support for populations in need—whether in a nonprofit’s home city or halfway around the world.

Traditionally, nonprofits have been slower than other industries in adopting technology to improve their performance. Limitations in funding, working capital and IT resources create a barrier to entry that can be difficult to overcome. As a result, many nonprofits struggle with standalone Excel spreadsheets, Access databases and server-based applications to manage financials and constituents, driving up administrative costs. That also hurts a nonprofit’s accountability and transparency ratings on sites like Charity Navigator, which individual, corporate and philanthropic donors use when evaluating prospective beneficiaries. Ultimately, outdated technology and labor-intensive manual work can undermine a nonprofit’s fundraising and ability to fully achieve its mission.

Founded in 2006, the NetSuite Social Impact group is empowering nonprofits to use NetSuite to further their mission, regardless of their ability to pay. More than 1,000 nonprofits and social enterprises around the world are supported by NetSuite Social Impact, which makes available free and discounted software licensing to qualified organizations. The program also includes Suite Pro Bono, under which NetSuite employees provide their expertise to help nonprofits with training and customizations to make the most of the platform. To learn more about NetSuite Social Impact, please visit www.netsuite.com/socialimpact.

Nonprofits using NetSuite for such functions as fund accounting, grants management, FASB reporting, fundraising, constituent management, and program management are gaining greater efficiencies and visibility into operations. FH Canada, the Caring and Sharing Exchange and the Legal Aid Society of Rochester are among the many nonprofits to improve efficiency and heighten their social impact with NetSuite’s unified cloud business management platform.

Food for the Hungry Canada (FH Canada) (www.fhcanada.org), part of the global Food for the Hungry (FH) organization, works with communities in Africa, Asia and Latin America who end poverty and become self-sustaining through leadership training and programs to improve healthcare, education, clean water, agriculture and more. Since 1994, the Christian nonprofit has “graduated” 63 communities after 10 years of collaboration to address the root causes of poverty. Today, Food for the Hungry staff, the vast majority of whom are hired from local countries, work with communities in Burundi, Ethiopia, Rwanda, Uganda, Cambodia, Bangladesh, Haiti and Guatemala. FH Canada relies heavily on individual donors, who may sponsor a child or purchase a gift such as school supplies, gardening tools or livestock for recipients through FH Canada’s online store.

Live in 2005, NetSuite has given FH Canada a unified system for all key processes, including its ecommerce web store. Fundraising income has grown by over 20 percent annually in recent years as the nonprofit utilizes a central donor database for personalized communications. Reallocation of savings on IT personnel has allowed FH Canada to funnel resources into fulfilling its mission, while real-time data has markedly improved insights and collaboration across the 20-person organization. “Having everything integrated in a single system lets us re-purpose resources to our mission in supporting programs and fundraising,” said Mark Petzold, Director of Communications and Technology, FH Canada. “NetSuite makes it so much easier to maintain and build donor relationships with one snapshot across all interactions.”

The Caring and Sharing Exchange (www.caringandsharing.ca) since 1915 has made a big difference for needy people in Ottawa, the capital of Canada. Its flagship Christmas Exchange program helps about 20,000 people each holiday season with food hampers or vouchers. Since 2011, a program called Sharing in Student Success has equipped thousands of students with backpacks full of school supplies—more than 2,500 students in 2016. Importantly, the nonprofit serves as a data repository to identify duplicate recipients across 350 partner agencies to prevent recipient duplication—saving the community $600,000 a year and ensuring equitable distribution. With NetSuite live in 2013, Caring and Sharing is more effective than ever as need continues to grow. The nonprofit is saving $50,000 a year in bookkeeping and administrative staff, freeing funds for program work and fundraising. It estimates eliminating 1,000 hours a year in manual data entry. And fundraising income is up 20 percent a year with NetSuite supplying a unified donor database that supports more personalized outreach, while duplication checks are done faster and easier for both Caring and Sharing and partner agencies.

“To have everything in one place helps us run more efficiently and puts more resources where they are needed,” said Cindy Smith, Caring and Sharing Executive Director. “Because we’re able to spend more time on programs and fundraising, we’re able to make more of a difference where it really counts.”

The Legal Aid Society of Rochester, NY (LASROC) (www.lasroc.org), incorporated in 1921, provides pro bono and low-cost legal services in such areas as domestic violence, child support, housing and immigration for about 10,000 individuals a year in a nine-county region of Western New York. Like dozens of other Legal Aid chapters across the U.S., LASROC continuously juggles a rising caseload against limited resources and funding uncertainty. A staff of more than 80 committed legal and administrative professionals, as well as volunteers, are essential to LASROC’s success. So is identifying time and cost savings that enable LASROC to focus resources on social impact. NetSuite plays a key role, enabling LASROC to avoid about $50,000 a year in licensing, hardware and maintenance costs—nearly the salary of a full-time starting attorney who can handle up to 400 cases a year. Those savings are in addition to better efficiency and visibility across the organization. LASROC managers have real-time insights into costs vs. revenue, while accounting is far faster. For instance, payroll journal entries that previously took hours are complete in five minutes with NetSuite, giving finance personnel flexibility to contribute elsewhere across the organization.

“Because NetSuite is so efficient, we spend a lot less time on administration and put those savings directly into client services,” said Kathia Casion, Civil Division Director at LASROC. “If we don’t have to spend as much time on record-keeping, we’re able to help more clients.”

Contact Info
Christine Allen
Oracle NetSuite
603-743-4534
PR@netsuite.com
About Oracle NetSuite

Oracle NetSuite pioneered the Cloud Computing revolution in 1998, establishing the world's first company dedicated to delivering business applications over the internet. Today, it provides a suite of cloud-based financials/Enterprise Resource Planning (ERP), HR and omnichannel commerce software that runs the business of companies in more than 100 countries.

Follow NetSuite’s Cloud blog, Facebook page and @NetSuite Twitter handle for real-time updates.

About Oracle

The Oracle Cloud offers complete SaaS application suites for ERP, HCM and CX, plus best-in-class database Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) from data centers throughout the Americas, Europe and Asia. For more information about Oracle (NYSE:ORCL), please visit us at www.oracle.com.

Trademarks

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Talk to a Press Contact

Christine Allen

  • 603-743-4534

Elliptic Curve Cryptography Certificates Now Certified with EBS Release 12.2

Steven Chan - Tue, 2017-12-19 07:54

We are pleased to announce that Elliptic Curve Cryptography (ECC) certificates are now certified for use with Oracle E-Business Suite Release 12.2.

Key Points

  • Elliptic Curve Cryptography supports both forward secrecy and stronger cipher suites.
  • Apple's App Transport Security mandates forward secrecy, and we expect this to be a requirement for mobile clients.
  • For additional information, and instructions about deploying ECC certificates with Oracle E-Business Suite Release 12.2, refer to Enabling TLS in Oracle E-Business Suite Release 12.2 (Note 1367293.1).
  • We are currently working on certification of ECC certificates with EBS 12.1.3. Subscribe to this blog for the latest news about this and other EBS technology certification developments.

Related Articles

References

 

Categories: APPS Blogs

Partner Webcast - Storage Integration with Oracle Database (ZFS)

          ...

We share our skills to maximize your revenue!
Categories: DBA Blogs

Oracle Help Patches

Anthony Shorten - Mon, 2017-12-18 16:25

In Oracle Utilities Application Framework V4.3.0.1.0, we introduced the new Oracle help engine to provide a better online help experience for online users. Due to a conflict in common libraries a series of patches have been released to ensure the correct instances of the libraries are used for a number of Oracle Utilities Application Framework V4.3.x releases. The patches outlined below allow for the Oracle Help engine to be continued to be used with the correct libraries.

Note: These patches apply to Oracle WebLogic 12.x installations only.

The following patches, available from My Oracle Support, apply to the following releases:

Version Patch Comments 4.3.0.1.0 27051899 UPDATE OHELP TO BE THIN CLIENT 4.3.0.2.0 26354064 COPY OF 27051899 - UPDATE OHELP TO BE THIN CLIENT 4.3.0.3.0 26354238 COPY OF 26354064 - COPY OF 27051899 - UPDATE OHELP TO BE THIN CLIENT 4.3.0.4.0 26354259 COPY OF 26354238 - COPY OF 26354064 - COPY OF 27051899 - UPDATE OHELP TO BE THIN CLIENT

These patches migrate the online help to use the Thin Client libraries. Customers on Oracle Weblogic 12.2 should apply 27112347 - OPTIONAL SPECIAL PATCH FOR REMOVAL OF OHW THICK CLIENT JAR FILES-4.3 SP1,2,3,4 available from My Oracle Support.

The patches apply in the following ways:

  • If you are on Oracle WebLogic 12.1.3, the patch will ensure the correct Oracle Help libraries are used.
  • If you are on Oracle WebLogic 12.2.1, the patch will replace the default libraries with the thin client libraries. The additional patch (27112347) outlined above will cleanup any conflicted libraries.

Customers on earlier versions of the Oracle Utilities Application Framework do not need to apply the above patches. Customers on Oracle Utilities Application Framework V4.3.0.5.0 and above, do not need to apply these patches as it is already included in those releases.

Oracle Content & Experience Cloud: Document Search

If you read my first post on Oracle Content & Experience Cloud (Oracle CEC), you would have come away impressed with the capabilities and features of the product. Features for organizations to manage and share high-value content that could be used to build content-rich, omni-channel websites. However, as I’ve continued to work with Oracle CEC over the last four months, some features need improvement. Most notably in my opinion, is search. I’ll explain the reasons why in this blog post, and offer up details on how you can develop a custom component to enable a better search experience.

The Problem: Search Options are Limited for Sites and Provide Little Customization

Oracle CEC provides businesses with strong document storage, security and sharing capabilities through the managed “Content” section of the interface. However, there is often a need for content to be searched, viewed and accessed through a managed site. The out-of-the-box options to achieve this are scarce, and moreover may only fit a general use case, which is not likely to suit the needs of your business.

Luckily, Oracle allows developers to integrate custom components to Oracle CEC, and continually improves a powerful set of REST APIs which can be used to search folders and documents. Combining the two will result in an integrated search solution for the site which can be tailor-made to fit the functional and visual requirements of the business. In this post I will share my experience developing a custom search component for CEC, and provide a glimpse into future enhancements and capabilities.

The Solution: Integrate a Custom Search Interface

I began by integrating a global search bar into the header of the layout for the site. This gives users the ability to search for content on the fly regardless of where they are in the site. Once a user enters a search term, they can press enter, or click the “Search” button to initiate the search. The user and search term are then redirected to a search results page.

The search results page is like any other page of the site, except it has been hidden from display in the header navigation. I have placed my “Search-Results-Page” custom component within the page, which performs all the actions and rendering for the search.

The search term is picked up and decoded, then passed into Oracle’s API for full-text document searching. Using full-text search strengthens the search by looking for matches across multiple file and folder properties, such as:

  • The name
  • The text content of the file
  • The file extension
  • The owner’s name
  • The latest modified user’s name
  • The folder description/tags

The matching items are then returned to the component, where it applies pagination to the results, and injects that data into a template to build the results page. The template was modularly designed so that it can be easily updated or replaced to structure the response in a format that will match a specific look and feel without compromising the core search functionality behind the component.

Using several other API endpoints available, I added some additional features to the results page, such as the ability to generate thumbnail previews for the results as they are displayed to the page. I apply a thumbnail next to the info of each document returned, and display a folder icon next to the folders.

Hovering your cursor over the thumbnail will indicate the image can be enlarged. Clicking will expand the thumbnail and overlay it in the center of the page for the user to quickly inspect and verify whether it is the document they have been looking for:

For all documents returned in the results I have included actions to “View” and “Download”. Clicking the “View” icon will utilize another API endpoint to generate and open an HTML5 rendition of the full document.

Among other document attributes returned from the search are the content types (folder or file). Some users may want to view only one or the other, which can be made possible through a filter facet menu surfaced alongside the results. Logic can be included to handle a number of different sorting and filtering tasks.

Beyond a customizable display, there are also custom settings that can allow a site administrator to make near-immediate modifications to the search results component to adjust behaviors or adapt its use for multiple sites used within the organization. For example, the Results Limit and Results Per Page value can be adjusted for more results included on searches, and how many items are included in each page, respectively. Additionally, I’ve included a “Root Search Folder” selection, which allows the site admin to point searches at a specific folder (and all of its contents) as the target of the search for that site. This setting can be applied per instance, so any number of sites can target different folders of content to search upon, providing contextualization of searchable content on the basis of which site the search is being performed against.

The below settings dictate a total of at most 80 items be returned, at a max of 10 pages (8 results per page), and the search will target folders and documents that live within the “Search” folder.

The Vision: Faceted, Robust, and Dynamic Searching… Anywhere

Additional Filtering Capabilities

Filtering content by its type is a small example within a very large list of options which can provide users with the ability to reach more granular results. Adding additional attributes to filter on, and allowing site administrators to decide which filters should be available (or applied by default) can give businesses control on the relevancy of search results.

Targeting More Oracle Cloud Content

In addition to documents and folders, Oracle is continuing to improve on options to search across structured content, digital assets, content collections, and conversations. Additional functionality can be developed to include or separate searches across these various formats on the system.

Targeting Separate Existing Datastores

With API endpoints available, or other methods of JavaScript access available to existing datastores, the solution can also be repurposed to perform searches across existing data sources, and then formatted to be returned within a CEC site.

Improving the UX Out of the Box

The layout and structure of results is a crucial aspect of user experience. Several default templates can be created and bundled with the component to give business owners the opportunity to choose the interface which would best fit their vision for the site, rather than being limited to a single UI or carving out time to design and create a custom interface altogether.

In closing, the steps I outlined above to create a custom search component should illustrate another great feature of Oracle CEC. That feature is the customizable nature of the platform, giving you the ability to extend upon its inherent capabilities to provide an experience molded specifically for your organization. As a company, Fishbowl Solutions recognizes the value of search within the overall user experience, and offers Mindbreeze Inspire search solutions. We also understand the important role search plays within content management, and how effective search solutions can lead to more adoption and use of products like Oracle CEC.

The post Oracle Content & Experience Cloud: Document Search appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

List of Visualizations and Chart Engines

Nilesh Jethwa - Mon, 2017-12-18 12:30

The internet is quickly filling up with wonderful visualizations and this is because of greater awareness that "Visuals are better than spreadsheets" for conveying the story.

This couldn't be possible without the innumerable Charting engines made available by the dedication of open source developers.

Checkout the wonderful and interesting list of charts and engines that were submitted to Hacker News

Read more at http://www.infocaptor.com/dashboard/big-list-of-visualizations-and-chart-engines

Is Your Fluid Custom Action Menu Page-based or Component-based?

Jim Marion - Mon, 2017-12-18 12:00

In the upper right corner of the Fluid header you will find the "Hamburger" (or hamburger-light) menu. This 3-bar (or 3-dot) icon displays a list of component-specific actions. For the most part these actions are rather generic, allowing a user to add a tile to a homepage or view preferences. Occassionaly we see a component that has its own custom actions. The HCM My Team and Company Directory components are great examples of components with custom action menu items. In fact, the Fluid homepage itself is an example, with its Personalize Homepage custom action.

As developers, we can add custom component-specific actions to the header menu of a component by adding a special group box (Custom Action Menu) to one of the component's pages. When PeopleSoft loads a page with a Custom Action Menu group box, it moves the contents of that group box into the header action menu. Any actions loaded from a page stay resident in the menu as long as the component is in scope. So, technically, all Custom Action Menus are component-based. Here is my struggle:

Actions inserted into the header menu have component scope, not page scope, but are defined at the page level.

Custom action menu items are not visible (in fact, don't exist) until the page defining these menu items is loaded into the user's browser. If a component may have multiple pages, into which page would you insert the custom action menu? Logically, I might say, "The first page, of course." But here is the problem: there really is no "first page." There is a page that the component will load by default. We might call that the front door. PeopleSoft, however, lets users enter through the side door, back door, and all windows as well. By adding ?Page=... to a component URL, I can enter that component from any page within the component. For example, if I want to open the User Profile component to the User Queries page, I add PAGE=USER_QUERY to the end of the URL. If I enter a component through the wrong starting page, then I won't see the component's custom actions in my header menu.

You don't think your users will enter a page name in the URL? Probably not. Why worry about a scenario that will never happen? Actually, it isn't my users that concern me. It is system generated messages and processes with URLs. It is workflow notifications that attempt to simplify workflow by taking me to the next step in a business process.

If a user can enter a component through any page and component specific actions must be defined on a page, then into which page should I enter component-specific actions? While teaching a Fluid class and challenging students to find a solution to this problem, one of my students asked me, "What if you put the menu definition in a Footer page?" Wow! What a great idea! If you have component-scoped actions, why not define them in a component-scoped page? This page will load as soon as the component loads, regardless of the entry point. If you already have a footer page in your component, perfect! Just add the Custom Action Menu group box to your existing footer page. If you don't have a footer page, should you add one? I say, "Yes." Properly built, a footer page may be entirely invisible, used just for component-specific banner (also known as the header) changes (including Custom header left, right, and bottom sections). Seems ironic doesn't it? If you want to change the header, add content to the footer. Here is a sample footer page built specifically to hold a menu. By clearing the CSS class name from the outer container Group Box, the footer becomes invisible.

The following screenshot shows how the menu will appear when PeopleSoft reparents the menu's HTML from the footer into the header component action menu.

Interested in learning more about Fluid? I offer at least one virtual Fluid training class per month. You can learn more about our current offerings on our Live Virtual Training page. If your organization has more than 8 employees, you may derive cost savings by hosting your own training event. Learn more at www.jsmpros.com/training.

Follow my blog with Bloglovin

New OA Framework 12.2.4 Update 18 Now Available

Steven Chan - Mon, 2017-12-18 09:34

Web-based content in Oracle E-Business Suite Release 12 runs on the Oracle Application Framework (also known as OA Framework, OAF, or FWK) user interface libraries and infrastructure. Since the initial release of Oracle E-Business Suite Release 12.2 in 2013, we have released a number of cumulative updates to Oracle Application Framework to fix performance, security, and stability issues.

These updates are provided in cumulative Release Update Packs, and cumulative Bundle Patches that can be applied on top of the Release Update Packs. In this context, cumulative means that the latest RUP or Bundle Patch contains everything released earlier.

The latest OAF update for Oracle E-Business Suite Release 12.2.4 is now available:

Where is this update documented?

Instructions for installing this OAF Release Update Pack are in the following My Oracle Support knowledge document:

Who should apply this patch?

All Oracle E-Business Suite Release 12.2.4 users should apply this patch. Future OAF patches for EBS Release 12.2.4 will require this patch as a prerequisite. 

What's new in this update?

This bundle patch is cumulative: it includes all fixes released in previous EBS Release 12.2.4 bundle patches.

This latest bundle patch includes a fix for the following issue:

  • Long notification title is not wrapping.

Related Articles

Categories: APPS Blogs

Create the SOA/BPM Demo User Community, with just WLST.

Darwin IT - Mon, 2017-12-18 06:31
As said in my previous post (I've learned somewhere you should not post twice on the same day, but spread it out over time), I'm delivering a BPM 12c training. And based it on the BPM Quickstart. Although nice for UnitTests and development, the integrated weblogic lacks a  proficient set of users to test your task definitions.

Oracle has a demo community and a set of ANT and Servlet based scripts to povision your SOA or BPMSuite environment with a set of American literature writers, to be used in demo's and trainings. I some how found this years ago and had it debugged to be used in 12.1.3 a few years ago. However, I did not know where I got it and if it was free to be delivered.

Apparently it is, and you can find it at my oracle support. Our friends with Avio Consulting also  did a good job in making it available and working with 12c. However, I could not make it work smoothly end 2 end. I got it seeded, but figured that I would not need ANT and a Servlet.

Last year, in 2016, I created a bit of WLST scripting to create users for OSB and have them assigned to OSB Application roles. You can read about that here for the user creation, and here for the app-role assignment.

One thing that's missing in those scripts is the setting of the user attributes. So I googled around and found a means to add those too.

First, I had to transform the demo community seeding xml file to a property file. Like this:

#
cdickens.password=welcome1
cdickens.description=Demo User
cdickens.email=cdickens@emailExample.com
cdickens.title=CEO
cdickens.firstName=Charles
cdickens.lastName=Dickens
cdickens.timeZone=America/Los_Angeles
cdickens.languagePreference=en-US
cdickens.workPhone=100000001
cdickens.homePhone=200000001
cdickens.mobile=300000001
cdickens.im=jabber|cdickens@exampleIM.com

The complete, usersAndGroups.properties file is available here.
In an earlier blog, I wrote about how to read a property file. But my prefered method, does not allow me to determine the property to be fetched dynamically. That's why I split my basic createDemoUsers.properties file, that refers to the usersAndGroups.properties file, and contains the properties refering the Oracle/Jdeveloper home and the connection details for the AdminServer. This property file also contains comma separated lists of users, groups and AppRoles to be created or  granted.

The actual createDemoUsers.py file loops over the three lists and creates the particular users and groups, and grants the AppRoles.

To set the attributes, the setUserAttributeValue of the authenticatorMBean can be used as follows:
    #Set Properties
firstName=userProps.getProperty(userName+".firstName")
lastName=userProps.getProperty(userName+".lastName")
displayName=nvl(firstName, " ")+" "+nvl(lastName, " ")
authenticator.setUserAttributeValue(userName,"displayName",displayName.strip())

I published the complete set of scripts on the GitHub repo I shared with my colleague.
You can download them all, adapt the createDemoUsers.sh, to refer the correct MW_HOME to your JDeveloper environment. For Windows you might translate it to a .bat/.cmd file.

And of course you can use it for your own set of users.

I think I covered near to all of the Demo User community. Except for management-chains: I could not find how to register a manager for a user in Weblogic. Neither in the console, nor inWLST. So, I currently I conclude it cannot be done. But, if you have a tip, please be so good to leave a comment. I would highly appreciate it.




BPM 12.2.1.3: Exception when deploying BPM project with Human tasks

Darwin IT - Mon, 2017-12-18 04:25
This week I deliver a BPM 12c Workshop, that I based on the 12.2.1.3 BPM QuickStart. When the students worked on the lab on Human Workflow, they hit an error deploying the Composite, where in the log you can find something like:

Caused By: oracle.fabric.common.FabricException: Error occurred during deployment of component: RequestHolidayTask to service engine: implementation.workflow, for composite: HolidayRequestProcess: ORABPEL-30257

exception.code:30257
exception.type: ERROR
exception.severity: 2
exception.name: Error while Querying workflow task metadata.
exception.description: Error while Querying workflow task metadata.
exception.fix: Check the underlying exception and the database connection information. If the error persists, contact Oracle Support Services.
: exception.code:30257
exception.type: ERROR
exception.severity: 2
exception.name: Error while Querying workflow task metadata.
exception.description: Error while Querying workflow task metadata.
exception.fix: Check the underlying exception and the database connection information. If the error persists, contact Oracle Support Services.

Caused By: oracle.fabric.common.FabricDeploymentException: ORABPEL-30257


Caused By: java.sql.SQLSyntaxErrorException: Column 'WFTM.PACKAGENAME' is either not in any table in the FROM list or appears within a join specification and is outside the scope of the join specification or appears in a HAVING clause and is not in the GROUP BY list. If this is a CREATE or ALTER TABLE statement then 'WFTM.PACKAGENAME' is not a column in the target table.

Apparently in the repository of 12.2.1.3 a column is missing in the Workflow Metadata table.

Luckily, I stumbled upon a question in the community.oracle.com forum that hit this 'bug' as well; and provided a solution. You need to do an alter table to resolve this:
ALTER TABLE SOAINFRA.WFTASKMETADATA ADD PACKAGENAME varchar (200);

The smart guy that provided the answer, used a separate Database UI tool. But fortunately, JDeveloper is perfectly capable to provide you de means as well.

First open the Resource Pallette in JDeveloper. Make sure that you have started your Integrated WebLogic already (since that will run the DerbyDB.

Then in the Resource Pallette, create a new Database Connection:


Provide the following details:
Give it a name, like soainfraDB, as a Connection Type select 'Java DB / Apache Derby'. You can leave Username and Password empty. Then as a Driver Class, choose the 'org.apache.derby.jdbc.ClientDriver' (not the default). Then as a Host Name provide localhost, as a JDBC Port enter 1527 en as  a Database Name enter soainfra.

You can  Test Connection  and then, if Successfull, hit OK.

Then from the IDE Connections pallette  right click your newly created database connection, and choose 'Open in Databases Window':



And from that right click on the database connection and choose 'Open SQL Worksheet':

There you can enter and execute the alter statement:
After this, deployment should succeed. Since it is persisted in the DerbyDB it will survive restarts.

This might apply to the SOA QuickStart as well (did not try).

How To Improve SEO By Researching Keywords

Nilesh Jethwa - Sun, 2017-12-17 15:49

These days, it’s no longer enough to simply post content online. Site builders should craft content that utilizes relevant keywords, but not just any type of keyword. These keywords and phrases need to be aligned with what a company’s targeted consumers are searching for when they use the Web.

SEO keywords don’t only help sites when it comes to search engine indexing. These keywords actually help see to it that people will find your website when they search for something that you might be offering. As they say, to reach the right people online, you have to speak their language and this is what these keywords aim to satisfy.

It’s extremely important for businesses to know how their consumers refer to their products or services. This will help you get found online – the reason why you’re doing business there in the first place. Having the right keywords in the right amounts will help boost your site’s ranking on search engines like Google.

This being said, you should not craft content for your website without doing a thorough keyword search first. It is important that you come up with a list of viable keywords and constantly update this list as you go along. There are different tools that can be used for this SEO initiative so try them out and stick with the one that suits your needs the best.

 

Read more at http://www.infocaptor.com/dashboard/improving-seo-by-researching-keywords

Oracle Buys Aconex

Oracle Press Releases - Sun, 2017-12-17 15:30
Press Release
Oracle Buys Aconex Creates the World’s Most Comprehensive Cloud Offering for Managing All Aspects of Construction Projects

Redwood Shores, Calif—Dec 17, 2017

Oracle (NYSE: ORCL) today announced that it has entered into an agreement with Aconex Limited (ASX: ACX), a leading cloud-based solution that manages team collaboration for construction projects, for A$7.80 per share in cash. The transaction is valued at approximately US$1.2 billion, net of Aconex cash.

The Aconex project collaboration solution digitally connects owners, builders and other teams, providing complete visibility and management of data, documents and costs across all stages of a construction project lifecycle. Aconex has been used in over $1 trillion in projects across 70,000 user organizations in over 70 countries.

The Oracle Construction and Engineering Cloud already offers customers the industry’s most advanced solutions for planning, scheduling and delivering large-scale projects. Together, Oracle and Aconex will provide an end-to-end offering for project management and delivery that enables customers to effectively plan, build, and operate construction projects.

“Delivering projects on time and on budget are the highest strategic imperatives for any construction and engineering organization,” said Mike Sicilia, SVP and GM, Construction and Engineering Global Business Unit, Oracle. “With the addition of Aconex, we significantly advance our vision of offering the most comprehensive cloud-based project management solution for this $14 trillion industry.”

“The Aconex and Oracle businesses are a great, natural fit and highly complementary in terms of vision, product, people and geography,” said Leigh Jasper, Founder and Chief Executive Officer, Aconex. “As co-founders of Aconex, both Rob Phillpot and I remain committed to the business and are excited about the opportunity to advance our collective vision on a larger scale, and the benefits this combination will deliver to our customers.”

The Board of Directors of Aconex unanimously recommends the transaction. The transaction is expected to close in the first half of 2018, subject to Aconex shareholder approval and certain regulatory approvals and other customary closing conditions.

More information about this announcement is available at www.oracle.com/aconex.

Contact Info
Deborah Hellinger
Oracle Corporate Communications
+1.212.508.7935
deborah.hellinger@oracle.com
Ken Bond
Oracle Investor Relations
+1.650.607.0349
ken.bond@oracle.com
About Oracle

The Oracle Cloud offers complete SaaS application suites for ERP, SCM and CX, plus best-in-class database Platform as a Service (PaaS) and Infrastructure as a Service (IaaS) from data centers throughout the Americas, Europe and Asia. For more information about Oracle (NYSE:ORCL), visit www.oracle.com.

Trademarks

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Oracle is currently reviewing the existing Aconex product roadmap and will be providing guidance to customers in accordance with Oracle’s standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle’s review of the Aconex product roadmap are at the sole discretion of Oracle. All product roadmap information, whether communicated by Aconex or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decision. It is intended for information purposes only, and may not be incorporated into any contract.

Cautionary Statement Regarding Forward-Looking Statements

This document contains certain forward-looking statements about Oracle and Aconex, including statements that involve risks and uncertainties concerning Oracle’s proposed acquisition of Aconex, anticipated customer benefits and general business outlook. When used in this document, the words “anticipates”, “can”, “will”, “look forward to”, “expected” and similar expressions and any other statements that are not historical facts are intended to identify those assertions as forward-looking statements. Any such statement may be influenced by a variety of factors, many of which are beyond the control of Oracle or Aconex, that could cause actual outcomes and results to be materially different from those projected, described, expressed or implied in this document due to a number of risks and uncertainties. Potential risks and uncertainties include, among others, the possibility that the transaction will not close or that the closing may be delayed, the anticipated synergies of the combined companies may not be achieved after closing, the combined operations may not be successfully integrated in a timely manner, if at all, general economic conditions in regions in which either company does business, and the possibility that Oracle or Aconex may be adversely affected by other economic, business, and/or competitive factors. Accordingly, no assurances can be given that any of the events anticipated by the forward-looking statements will transpire or occur, or if any of them do so, what impact they will have on the results of operations or financial condition of Oracle or Aconex.

In addition, please refer to the documents that Oracle files with the U.S. Securities and Exchange Commission on Forms 10-K, 10-Q and 8-K and that Aconex files with the Australian Securities Exchange Ltd. (the “ASX”) on its Market Announcements Platform. These filings identify and address other important factors that could cause Oracle's and Aconex’ respective operational and other results to differ materially from those contained in the forward-looking statements set forth in this document. You are cautioned to not place undue reliance on forward-looking statements, which speak only as of the date of this document. Neither Oracle nor Aconex is under any duty to update any of the information in this document.

Additional Information about the Acquisition and Where to Find It

In connection with the proposed transaction, Oracle will purchase all of the share capital of Aconex pursuant to a Scheme of Arrangement under the relevant laws of Australia (the “Scheme”). The terms and conditions relating to the Scheme, including the process for its implementation, are contained in a Scheme Implementation Deed agreed to between Oracle and Aconex dated December 16, 2017 (the “SID”). This document is for informational purposes only and is neither an offer to purchase nor a solicitation of an offer to sell shares of Aconex, nor is it a substitute for the SID or other transaction materials that Aconex will file on the ASX in connection with the Scheme. The Scheme requires certain approval by Aconex stockholders at a meeting of the stockholders (“Scheme Meeting”). The Scheme Booklet containing information relating to the Scheme is expected to be mailed to Aconex stockholders prior to the Scheme Meeting and will contain important information. Holders of shares of Aconex are urged to read these documents when such documents become available because they will contain important information that holders of Aconex securities should consider before making any decision regarding tendering their securities.

Talk to a Press Contact

Deborah Hellinger

  • +1.212.508.7935

Ken Bond

  • +1.650.607.0349

Pages

Subscribe to Oracle FAQ aggregator