Fusion Middleware

How We Integrated this Website with the Mindbreeze InSpire Enterprise Search Appliance

As many of you know Fishbowl is a Mindbreeze Certified Partner and search appliance reseller. A core component of our company culture is using the same tools and technologies we implement for our customers. For that reason, and to give readers like you a chance to try out Mindbreeze in action, we have implemented Mindbreeze search here on fishbowlsolutions.com. Read on to learn more about the benefits and details of this integration.

Indexing Our Site

The first step in our Mindbreeze integration project was to configure Mindbreeze to crawl our website using the out of the box web crawler. We decided to split the content into two groups, blog posts and everything else, in order to distinctly configure how blog post content would be indexed. Mindbreeze allows the configuration of one or more crawler instances, so we created two crawlers with separate follow and do-not-follow patterns to index each content group.

Next we configured the extraction of content from the site. By default the crawler will crawl the entire contents of a page, but Mindbreeze can optionally restrict content indexing to a specific DIV or section. That way, words contained in your navigation or footer won’t be indexed for every page. For example, Fishbowl’s footer currently includes the word “Mindbreeze”, but when site users search for “Mindbreeze” we don’t want to return every page on the site—only those actually related to Mindbreeze. For customers already leveraging google-on google-off tags for this purpose (a feature from the Google Search Appliance), Mindbreeze can interpret those tags. We have a few spots on our blog where this was used to restrict the indexing of blog sidebars and other non-content elements within a page template.

We also configured metadata extraction from within the blog posts themselves. This was done by telling Mindbreeze (via XPATH selectors) where in the DOM the blog post author, category, and feature image data could be located. Again, this was all accomplished without altering the structure of the site itself or requiring additional work on the part of our site’s contributors. If you have standard htmltags within your pages, Mindbreeze will index these automatically.

Entity Recognition

As part of the index setup, we configured entity recognition to parse our pages (both blog and non-blog) for the names of the five key technologies Fishbowl works with. This was done using the Mindbreeze entity extraction feature. Each of the five possible values were mapped to a metadata field called Technology. Like the metadata extraction, the entities were extracted without having to change anything about the structure of our site or templates.

Query Expansion

Between the time when a user enters their query and the time the search engine computes relevant results, there is a critical piece in the search process often referred to as query expansion. Query expansion describes various ways in which the words the user types can be expanded upon or “understood” by the search engine in order to more accurately represent the original intent and locate the right content. One way queries can be expanded for better search is through the use of synonyms. Synonyms can be used to set related terms equal to one-another, make abbreviations equal to their full meanings, or set legacy terminology as synonymous with current nomenclature. Mindbreeze query expansion is used on this site to expand queries such as “Jobs” to include “Careers” and the legacy product name “UCM” to search for the new name, “WebCenter Content”. Mindbreeze also includes default stemming and spelling expansions to allow users to find content even if their query doesn’t exactly match our site’s data. For example, stemming allows users to search for “orders” and get results containing “order” “ordered” and “ordering.” It means users don’t have to know whether a word was in past tense, plural, or singular, in order to find what they need.

Relevancy and Result Boosting

Relevancy boosting allows administrators to further tune result ranking (also called biasing) based on factors such as metadata values, URL patterns, or date. These relevancy adjustments can be applied to specific sites, so that each audience sees what is most relevant to them. Relevancy is configured through the Mindbreeze Management Center without requiring custom development. On our site, the number of blog posts far outweigh the number of product pages; when someone searches for a product (such as Mindbreeze) we want the first result to be the main Mindbreeze product page. To ensure the main product pages (which may be older and contain fewer words than our latest blog posts) remain on the top, we can use Mindbreeze boosting to either increase the relevancy of product pages or decrease the relevancy of blog posts. All things being equal, it is better to down-boost less relevant content than to up-boost relevant content. We added a rule to reduce the relevancy of all blog post content by a factor of 0.75. We also boost our featured results by a factor of 10 to ensure they appear on top when relevant. In addition to manual tuning, Mindbreeze automatically monitors and analyzes click patterns to learn from user behavior and improve relevancy automatically over time.

Creating the Search Results Page

The search results page used on this site was created using the Mindbreeze Search App Designer. This builder provides a drag-and-drop interface for creating modular, mobile-friendly, search applications. Mindbreeze also provides a JSON API for fully custom search page development.

Our search app combines a list-style results widget and three filter widgets to limit the results based on Technology, Blog Post Category, and Blog Post Author. The filter widgets available within the builder are determined by the metadata available via the indexing configuration described earlier.

To personalize our search app, we made several modifications to the mustache templates which control the rendering of the various widgets. For example, we only show dates on blog posts and include the “blog post” callouts next to blog post titles.

Once the structure of the search app was complete, we were able use the export snippet functionality to copy the search app code from the Mindbreeze Management Center and embed that into a div within our site. In order to make the Mindbreeze search app match the look and feel of the rest of the website, we added a custom CSS file which overrides some of the standard Mindbreeze CSS within the search app.

Search Box Integration & Suggestions

To integrate Mindbreeze with our existing website’s search box, we modified the search input in the site header to direct search form submissions to the new Mindbreeze search results page. Since we are using WordPress, this involved modifying the header.php file within our site’s child theme. We also added a call to the Mindbreeze Suggest API, displayed using jQuery autocomplete, in order to provide search suggestions as you type. Most WCM systems have template files which can be modified to integrate Mindbreeze search into existing site headers. Our customers have similar integrations within Adobe Experience Manger and Oracle WebCenter Portal to name a few.

As a note for those familiar with WordPress, we could have customized the search.php template to include the Mindbreeze Export Snippet instead of creating a new search results page. We wanted to let our contributors edit the heading and call-to-action sections of our search results page without coding, so we built the search results into a standard WordPress page. This also allowed us to keep the core WordPress search page intact for comparison purposes (we are in the search business after all). From a technical perspective, either approach would have worked.

Closing Comments

We wanted to share the details about our integration to give anyone using or considering Mindbreeze an in-depth look at a real working search integration. The architecture and approach we took here can be applied to other platforms both internal and externally facing including SharePoint, Oracle WebCenter, or Liferay. Use the search box at the top of the page to try it for yourself. If you have any questions about Mindbreeze search integration options, please contact us.

Time running out on your GSA?

Our expert team knows both GSA and Mindbreeze. We’ll help you understand your options and design a migration plan to fit your needs.

The post How We Integrated this Website with the Mindbreeze InSpire Enterprise Search Appliance appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

3 Easy Ways to Capture Documents to Oracle Content & Experience Cloud with Oracle WebCenter Enterprise Capture

Document capture plays a crucial role in the overall content management process. The conversion of paper or electronic documents (PDFs, email attachments, etc.) to managed content that includes metadata, enables such content to be easily found within enterprise content management systems like Oracle WebCenter. For companies that have invested in cloud-based content management systems, such as Oracle Content & Experience Cloud (Oracle CEC), the process of capturing documents shouldn’t delay the benefits of being able to easily share and collaborate on content with third parties. The capture process should provide a seamless experience to image enable paper and electronic documents regardless of repository location – on premise or in the cloud. Fortunately for Oracle CEC customers, Oracle WebCenter Enterprise Capture provides the 3 simple methods to capture documents directly to the cloud.

To see how easy this is, I’ve put together a 2 minute video that shows how content can be processed and committed to Oracle CEC from Enterprise Capture. The video shows the 3 options customers have to upload files or documents using the capture client, a file directory upload method, and an email upload.

 

If you are looking for easy ways to get paper and electronic documents into your Oracle CEC system, then consider Oracle WebCenter Enterprise Capture. It provides three easy configurations that may benefit all users when searching for content in Oracle CEC because of the consistency of file location and expected file naming convention. The three methods of capturing content to the cloud have unique and shared benefits:

Shared Benefits

  • Content is checked into the same location.
  • The file names can be forced to be in a specified format.
  • Files can be converted to the same image format.

Manual Upload Benefits

  • The Enterprise Capture Client can drive a scanner to upload documents.
  • The document can be reviewed and edited before being committed to Oracle CEC.

File Directory Upload Benefits

  • Can be mapped to a file share that multiple users have access to.
  • File is stored in that folder as a backup.
  • Files can be limited to certain file extensions.

Email Upload Benefits

  • An email inbox can be configured to watch for file types.
  • Automatically upload files with no user interaction.
  • The email after upload can be moved to a success folder for backup purposes.

 

Categories: Fusion Middleware, Other

No More Content Chaos – Fishbowl Helps Manufacturer Integrate Oracle WebCenter with Agility for Enterprise Asset Management and Multichannel Delivery

This post is a recap of a recent Oracle WebCenter Content digital asset management project we completed for a manufacturing customer. They have thousands of products, and each has its own set of images, illustrations, videos, and manuals. Over 20,000 different asset types like these supported multiple processes and are distributed across a variety of mediums.

Google Search Appliance (GSA) Replacement, Alternatives, and Migration
The Business Problem: Disparate Content Storage

The company was storing some of its assets within Oracle Universal Content Management (UCM). Others, however, were stored in employee laptops, file servers, and various other locations. The assets were also stored with multiple naming conventions. These factors made it difficult to find relevant assets for products and repurpose them across channels and teams, as well as collaborate on the assets internally or with partners. Employees involved in asset creation and management described it as “content chaos”.

Illustration 1: Content Creation Lifecycle
The company’s view on how content will be created and consumed. This includes the various audiences for the content illustrating the content types necessary (electronic and print) – technical specifications, price and availability, manuals, etc.

This disparate content storage architecture and inconsistent file naming also meant that there was limited visibility into when and where purchased assets like image libraries were being used. This made it difficult to share such investments throughout the company.

Selecting Oracle WebCenter Content for Asset Storage and Management

With these issues identified, the company set out to develop a strategy to implement a permissions-based, centralized document and digital asset management system.  They had been using Oracle UCM for some time, but their initial implementation was not architected in a way to best suit the needs to search, access, use, and share assets across the company.

The company had also recently deployed the Agility product information management (PIM) system. Agility is used to manage the fully lifecycle of the company’s products, including where and how they can be marketed and sold, as well as what they should cost. The company wanted to integrate Agility with Oracle UCM, so that they could relate products in Agility with associated assets in UCM. This would make it easier to support commerce channels, including the company’s website, print catalogs, and the future desire to enable the sales team to access the company’s full product line “binder” from their mobile devices. The company needed the content management system to be able to output multiple rendition types including videos and PDFs.

For these reasons, the company decided to upgrade Oracle UCM to WebCenter Content 12c. An added benefit of 12c was that it provided the ability to integrate with third-party audio and video transcoding systems. This enabled the company to leverage FFmpeg software, which records, converts, and streams audio and video data. This video rendition engine is an open source product and therefore free, which helped keep implementation costs down as no additional licenses needed to be purchased.

The company partnered with Fishbowl Solutions to perform the upgrade to WebCenter 12c and integrate the product with Agility. Fishbowl had engaged with this company previously to scope out the future use of Oracle UCM (WebCenter), as well as design how its digital asset management component could be architected to achieve the following:

  • Simplified Image Access and Control
    • Provide an easy-to-use system that minimizes non-value add tasks. Users should have simple input mechanisms, assets should be transformed transparently to the user, and end up distributed to the right channel based on product name and metadata values.
  • Simple Scalable Solution for More Effective Collateral Control Across All Brands
    • Simplified solution architecture that is scalable to the needs of the company’s brands and shared functions and clarifies/enforces the defined “fit for purpose” solutions.
  • Image and Referential Content are Appropriately Managed throughout the Lifecycle
    • Knowledge workers want a solution that manages data according to organizational policy and standards within the systems they use on a day-to-day basis and does not require significant additional effort.
Oracle WebCenter Content 12c Implementation and Agility Integration

The company created a “Portfolio Initiative Roadmap” identifying these 9 key initiatives required to build out their Enterprise Digital Asset Management Solution and Program:

  1. Establish Foundation
  2. Marketing and Creative Services Enablement
  3. Sales Enablement
  4. Training and Certification Enablement
  5. Engineering Enablement
  6. Archive and Access AP Images To/From Oracle WebCenter Content
  7. Creative Services Enablement
  8. Ecommerce Enablement
  9. Evolve Foundation

Fishbowl worked with the company to deliver roadmap item number one: Establish Foundation. With this initiative Fishbowl needed to first upgrade Oracle UCM to Oracle WebCenter 12c. This included migrating the creative assets into the new instance. In parallel with the content migration and upgrade, the Fishbowl team designed an integration between Agility and Oracle WebCenter. This integration would enable Agility’s product taxonomy and data model to be associated with WebCenter’s metadata fields. This essentially would enable metadata between the systems to be shared and synced, making it easier to standardize on how assets were named.

The Fishbowl team did an outstanding job researching, planning, troubleshooting and creating the migration schedule for the Oracle Universal Content Management to WebCenter Content 12c upgrade. We did encounter one issue the night of the release, but the team developed a resolution and was ready to attempt the upgrade within 3 days.  I had the utmost confidence their plan was solid and we would attempt the upgrade mid-week.  The next attempt went very smoothly and users were in WebCenter Content the next morning.

Manager, Digital Strategy, Manufacturing Company

This integration would also provide renditions of the assets stored in Oracle WebCenter to display in Agility. For example, photographs and images of the company’s products are rendered via Oracle WebCenter’s digital asset management component to produce various formats – high and low resolution, 1200 x 1200, etc. Since Agility would be used by many departments at the company, including marketing, creative services, sales, and engineering; it was important that various formats of the assets could be easily found. This would help accelerate the execution of campaigns through web and email channels, as well as when print-ready images were needed to create or update product installation manuals and catalogs that were stored as PDFs. Additionally, associating the assets with the products in Agility would enable them to be paired so that they could be part of the product’s lifecycle – when products were discontinued, associated assets could be removed from the system. The following graphic illustrates the Oracle WebCenter and Agility integration:

Illustration 2: WebCenter Content and Agility Integration  Fishbowl designed a filter to capture all of the IDs of content items checked into the PIM Asset profile and added these to the Send To PIM Table. A system event was then added in WebCenter which runs about every 5 minutes, and this checks assets that are in the Send To PIM Table and adds them to the PIM Table. After it is added to the PIM Table, an API call is made to the PIM system to pull the assets from that table and add them to the appropriate product with any relations associated to it (i.e. the high resolution image for a specific product). After it is added into the PIM system, an API call is made to WebCenter with the updated path of the asset.

Results

This company first invested in Oracle WebCenter about five years ago. Although the system was being used to store some technical and business documents, the feeling amongst senior leadership was that the return on that investment was minimal. It hadn’t reached widespread adoption, and it was viewed as a system that wasn’t streamlining business processes and therefore wasn’t saving the company money.

This company, like most WebCenter Content customers, wasn’t fully aware of all that the system had to offer. Oracle WebCenter Content’s capabilities had to be reimagined, and in this case it was the Manager of Digital Strategy at the company that found an ideal use case. He was aware of the “content chaos” that the marketing and creative services teams were experiencing, which was part of the reason campaigns for specific channels took a long time to launch, as well as how the assets for such campaigns couldn’t be repurposed easily.

With the implementation of Oracle WebCenter Content 12c, and its integration with Agility, that has all changed. WebCenter has been identified as the system to store and manage assets, and as those assets are checked in they are automatically linked to products in Agility. This means that employees across divisions and geographic locations can easily locate the acceptable product assets for use in marketing, sales, engineering, training, or installation purposes. Outdated assets can easily be removed from the system, either manually or based on a content lifecycle schedule. Furthermore, having a standardized repository for the assets will better ensure they are reused across divisions and geographic locations, and no longer does the unknown location of assets impede internal or external collaboration. Furthermore, the open-source FFMpeg video rendition engine didn’t require the purchase of additional licenses, reducing future license and maintenance costs. Overall, the WebCenter and Agility-based digital asset management system has provided the foundation to effectively and efficiently control and deliver assets to the company’s targeted commerce channels.

The Fishbowl consultants on this project have all proved to be a very valuable part of my digital content strategy. I am very happy with the level of support I have received and amazed by how quickly they are able to provide conceptual ideas, working POC’s and final deliverables. They have been instrumental in developing and implementing the integration between Oracle WebCenter’s digital asset management component and our new Agility PIM application. I view them as members of my team, and they were all key in the successful implementation of our digital content management system.

Manager, Digital Strategy, Manufacturing Company

Time running out on your GSA?

Our expert team knows both GSA and Mindbreeze. We’ll help you understand your options and design a migration plan to fit your needs.

The post No More Content Chaos – Fishbowl Helps Manufacturer Integrate Oracle WebCenter with Agility for Enterprise Asset Management and Multichannel Delivery appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Karamazov

Greg Pavlik - Sat, 2017-12-23 17:36
 Chapter 3  -  Conversations and Exhortations of Father Zosima

(e) The Russian Monk and His Possible Significance.

FATHERS and teachers, what is the monk? In the cultivated world the word is nowadays pronounced by some people with a jeer, and by others it is used as a term of abuse, and this contempt for the monk is growing. It is true, alas, it is true, that there are many sluggards, gluttons, profligates, and insolent beggars among monks. Educated people point to these: "You are idlers, useless members of society, you live on the labour of others, you are shameless beggars." And yet how many meek and humble monks there are, yearning for solitude and fervent prayer in peace! These are less noticed, or passed over in silence. And how surprised men would be if I were to say that from these meek monks, who yearn for solitary prayer, the salvation of Russia will come perhaps once more! For they are in truth made ready in peace and quiet "for the day and the hour, the month and the year." Meanwhile, in their solitude, they keep the image of Christ fair and undefiled, in the purity of God's truth, from the times of the Fathers of old, the Apostles and the martyrs. And when the time comes they will show it to the tottering creeds of the world. That is a great thought. That star will rise out of the East.
  That is my view of the monk, and is it false? Is it too proud? Look at the worldly and all who set themselves up above the people of God; has not God's image and His truth been distorted in them? They have science; but in science there is nothing but what is the object of sense. The spiritual world, the higher part of man's being is rejected altogether, dismissed with a sort of triumph, even with hatred. The world has proclaimed the reign of freedom, especially of late, but what do we see in this freedom of theirs? Nothing but slavery and self-destruction! For the world says:
  "You have desires and so satisfy them, for you have the same rights as the most rich and powerful. Don't be afraid of satisfying them and even multiply your desires." That is the modern doctrine of the world. In that they see freedom. And what follows from this right of multiplication of desires? In the rich, isolation and spiritual suicide; in the poor, envy and murder; for they have been given rights, but have not been shown the means of satisfying their wants. They maintain that the world is getting more and more united, more and more bound together in brotherly community, as it overcomes distance and sets thoughts flying through the air.
  Alas, put no faith in such a bond of union. Interpreting freedom as the multiplication and rapid satisfaction of desires, men distort their own nature, for many senseless and foolish desires and habits and ridiculous fancies are fostered in them. They live only for mutual envy, for luxury and ostentation. To have dinners visits, carriages, rank, and slaves to wait on one is looked upon as a necessity, for which life, honour and human feeling are sacrificed, and men even commit suicide if they are unable to satisfy it. We see the same thing among those who are not rich, while the poor drown their unsatisfied need and their envy in drunkenness. But soon they will drink blood instead of wine, they are being led on to it. I ask you is such a man free? I knew one "champion of freedom" who told me himself that, when he was deprived of tobacco in prison, he was so wretched at the privation that he almost went and betrayed his cause for the sake of getting tobacco again! And such a man says, "I am fighting for the cause of humanity."
  How can such a one fight? What is he fit for? He is capable perhaps of some action quickly over, but he cannot hold out long. And it's no wonder that instead of gaining freedom they have sunk into slavery, and instead of serving, the cause of brotherly love and the union of humanity have fallen, on the contrary, into dissension and isolation, as my mysterious visitor and teacher said to me in my youth. And therefore the idea of the service of humanity, of brotherly love and the solidarity of mankind, is more and more dying out in the world, and indeed this idea is sometimes treated with derision. For how can a man shake off his habits? What can become of him if he is in such bondage to the habit of satisfying the innumerable desires he has created for himself? He is isolated, and what concern has he with the rest of humanity? They have succeeded in accumulating a greater mass of objects, but the joy in the world has grown less.
  The monastic way is very different. Obedience, fasting, and prayer are laughed at, yet only through them lies the way to real, true freedom. I cut off my superfluous and unnecessary desires, I subdue my proud and wanton will and chastise it with obedience, and with God's help I attain freedom of spirit and with it spiritual joy. Which is most capable of conceiving a great idea and serving it- the rich in his isolation or the man who has freed himself from the tyranny of material things and habits? The monk is reproached for his solitude, "You have secluded yourself within the walls of the monastery for your own salvation, and have forgotten the brotherly service of humanity!" But we shall see which will be most zealous in the cause of brotherly love. For it is not we, but they, who are in isolation, though they don't see that. Of old, leaders of the people came from among us, and why should they not again? The same meek and humble ascetics will rise up and go out to work for the great cause. The salvation of Russia comes from the people. And the Russian monk has always been on the side of the people. We are isolated only if the people are isolated. The people believe as we do, and an unbelieving reformer will never do anything in Russia, even if he is sincere in heart and a genius. Remember that! The people will meet the atheist and overcome him, and Russia will be one and Orthodox. Take care of the peasant and guard his heart. Go on educating him quietly. That's your duty as monks, for the peasant has God in his heart.

(f) Of Masters and Servants, and of whether it is possible for them to be Brothers in the Spirit

Of course, I don't deny that there is sin in the peasants too. And the fire of corruption is spreading visibly, hourly, working from above downwards. The spirit of isolation is coming upon the people too. Money-lenders and devourers of the commune are rising up. Already the merchant grows more and more eager for rank, and strives to show himself cultured though he has not a trace of culture, and to this end meanly despises his old traditions, and is even ashamed of the faith of his fathers. He visits princes, though he is only a peasant corrupted. The peasants are rotting in drunkenness and cannot shake off the habit. And what cruelty to their wives, to their children even! All from drunkenness! I've seen in the factories children of nine years old, frail, rickety, bent and already depraved. The stuffy workshop, the din of machinery, work all day long, the vile language and the drink, the drink- is that what a little child's heart needs? He needs sunshine, childish play, good examples all about him, and at least a little love. There must be no more of this, monks, no more torturing of children, rise up and preach that, make haste, make haste!
  But God will save Russia, for though the peasants are corrupted and cannot renounce their filthy sin, yet they know it is cursed by God and that they do wrong in sinning. So that our people still believe in righteousness, have faith in God and weep tears of devotion.
  It is different with the upper classes. They, following science, want to base justice on reason alone, but not with Christ, as before, and they have already proclaimed that there is no crime, that there is no sin. And that's consistent, for if you have no God what is the meaning of crime? In Europe the people are already rising up against the rich with violence, and the leaders of the people are everywhere leading them to bloodshed, and teaching them that their wrath is righteous. But their "wrath is accursed, for it is cruel." But God will save Russia as He has saved her many times. Salvation will come from the people, from their faith and their meekness.
  Fathers and teachers, watch over the people's faith and this will not be a dream. I've been struck all my life in our great people by their dignity, their true and seemly dignity. I've seen it myself, I can testify to it, I've seen it and marvelled at it, I've seen it in spite of the degraded sins and poverty-stricken appearance of our peasantry. They are not servile, and even after two centuries of serfdom they are free in manner and bearing, yet without insolence, and not revengeful and not envious. "You are rich and noble, you are clever and talented, well, be so, God bless you. I respect you, but I know that I too am a man. By the very fact that I respect you without envy I prove my dignity as a man."
In truth if they don't say this (for they don't know how to say this yet), that is how they act. I have seen it myself, I have known it myself, and, would you believe it, the poorer our Russian peasant is, the more noticeable is that serene goodness, for the rich among them are for the most part corrupted already, and much of that is due to our carelessness and indifference. But God will save His people, for Russia is great in her humility. I dream of seeing, and seem to see clearly already, our future. It will come to pass that even the most corrupt of our rich will end by being ashamed of his riches before the poor, and the poor, seeing his humility, will understand and give way before him, will respond joyfully and kindly to his honourable shame. Believe me that it will end in that; things are moving to that. Equality is to be found only in the spiritual dignity of man, and that will only be understood among us. If we were brothers, there would be fraternity, but before that they will never agree about the division of wealth. We preserve the image of Christ, and it will shine forth like a precious diamond to the whole world. So may it be, so may it be!
  Fathers and teachers, a touching incident befell me once. In my wanderings I met in the town of K. my old orderly, Afanasy. It was eight years since I had parted from him. He chanced to see me in the market-place, recognised me, ran up to me, and how delighted he was! He simply pounced on me: "Master dear, is it you? Is it really you I see?" He took me home with him.
  He was no longer in the army, he was married and already had two little children. He and his wife earned their living as costermongers in the market-place. His room was poor, but bright and clean. He made me sit down, set the samovar, sent for his wife, as though my appearance were a festival for them. He brought me his children: "Bless them, Father."
  "Is it for me to bless them? I am only a humble monk. I will pray for them. And for you, Afanasy Pavlovitch, I have prayed every day since that day, for it all came from you," said I. And I explained that to him as well as I could. And what do you think? The man kept gazing at me and could not believe that I, his former master, an officer, was now before him in such a guise and position; it made him shed tears.
  "Why are you weeping?" said I, "better rejoice over me, dear friend, whom I can never forget, for my path is a glad and joyful one."
  He did not say much, but kept sighing and shaking his head over me tenderly.
  "What has become of your fortune?" he asked.
  "I gave it to the monastery," I answered; "we live in common."
  After tea I began saying good-bye, and suddenly he brought out half a rouble as an offering to the monastery, and another half-rouble I saw him thrusting hurriedly into my hand: "That's for you in your wanderings, it may be of use to you, Father."
  I took his half-rouble, bowed to him and his wife, and went out rejoicing. And on my way I thought: "Here we are both now, he at home and I on the road, sighing and shaking our heads, no doubt, and yet smiling joyfully in the gladness of our hearts, remembering how God brought about our meeting."
I have never seen him again since then. I had been his master and he my servant, but now when we exchanged a loving kiss with softened hearts, there was a great human bond between us. I have thought a great deal about that, and now what I think is this: Is it so inconceivable that that grand and simple-hearted unity might in due time become universal among the Russian people? I believe that it will come to pass and that the time is at hand.
  And of servants I will add this: In old days when I was young I was often angry with servants; "the cook had served something too hot, the orderly had not brushed my clothes." But what taught me better then was a thought of my dear brother's, which I had heard from him in childhood: "Am I worth it, that another should serve me and be ordered about by me in his poverty and ignorance?" And I wondered at the time that such simple and self-evident ideas should be so slow to occur to our minds.
  It is impossible that there should be no servants in the world, but act so that your servant may be freer in spirit than if he were not a servant. And why cannot I be a servant to my servant and even let him see it, and that without any pride on my part or any mistrust on his? Why should not my servant be like my own kindred, so that I may take him into my family and rejoice in doing so? Even now this can be done, but it will lead to the grand unity of men in the future, when a man will not seek servants for himself, or desire to turn his fellow creatures into servants as he does now, but on the contrary, will long with his whole heart to be the servant of all, as the Gospel teaches.
  And can it be a dream, that in the end man will find his joy only in deeds of light and mercy, and not in cruel pleasures as now, in gluttony, fornication, ostentation, boasting and envious rivalry of one with the other? I firmly believe that it is not and that the time is at hand. People laugh and ask: "When will that time come and does it look like coming?" I believe that with Christ's help we shall accomplish this great thing. And how many ideas there have been on earth in the history of man which were unthinkable ten years before they appeared! Yet when their destined hour had come, they came forth and spread over the whole earth. So it will be with us, and our people will shine forth in the world, and all men will say: "The stone which the builders rejected has become the cornerstone of the building."
  And we may ask the scornful themselves: If our hope is a dream, when will you build up your edifice and order things justly by your intellect alone, without Christ? If they declare that it is they who are advancing towards unity, only the most simple-hearted among them believe it, so that one may positively marvel at such simplicity. Of a truth, they have more fantastic dreams than we. They aim at justice, but, denying Christ, they will end by flooding the earth with blood, for blood cries out for blood, and he that taketh up the sword shall perish by the sword. And if it were not for Christ's covenant, they would slaughter one another down to the last two men on earth. And those two last men would not be able to restrain each other in their pride, and the one would slay the other and then himself. And that would come to pass, were it not for the promise of Christ that for the sake of the humble and meek the days shall be shortened.
  While I was still wearing an officer's uniform after my duel, I talked about servants in general society, and I remember everyone was amazed at me. "What!" they asked, "are we to make our servants sit down on the sofa and offer them tea?" And I answered them: "Why not, sometimes at least?" Everyone laughed. Their question was frivolous and my answer was not clear; but the thought in it was to some extent right.

(g) Of Prayer, of Love, and of Contact with other Worlds.

Young man, be not forgetful of prayer. Every time you pray, if your prayer is sincere, there will be new feeling and new meaning in it, which will give you fresh courage, and you will understand that prayer is an education. Remember, too, every day, and whenever you can, repeat to yourself, "Lord, have mercy on all who appear before Thee to-day." For every hour and every moment thousands of men leave life on this earth, and their souls appear before God. And how many of them depart in solitude, unknown, sad, dejected that no one mourns for them or even knows whether they have lived or not! And behold, from the other end of the earth perhaps, your prayer for their rest will rise up to God though you knew them not nor they you. How touching it must be to a soul standing in dread before the Lord to feel at that instant that, for him too, there is one to pray, that there is a fellow creature left on earth to love him too! And God will look on you both more graciously, for if you have had so much pity on him, how much will He have pity Who is infinitely more loving and merciful than you! And He will forgive him for your sake.
  Brothers, have no fear of men's sin. Love a man even in his sin, for that is the semblance of Divine Love and is the highest love on earth. Love all God's creation, the whole and every grain of sand in it. Love every leaf, every ray of God's light. Love the animals, love the plants, love everything. If you love everything, you will perceive the divine mystery in things. Once you perceive it, you will begin to comprehend it better every day. And you will come at last to love the whole world with an all-embracing love. Love the animals: God has given them the rudiments of thought and joy untroubled. Do not trouble it, don't harass them, don't deprive them of their happiness, don't work against God's intent. Man, do not pride yourself on superiority to the animals; they are without sin, and you, with your greatness, defile the earth by your appearance on it, and leave the traces of your foulness after you- alas, it is true of almost every one of us! Love children especially, for they too are sinless like the angels; they live to soften and purify our hearts and, as it were, to guide us. Woe to him who offends a child! Father Anfim taught me to love children. The kind, silent man used often on our wanderings to spend the farthings given us on sweets and cakes for the children. He could not pass by a child without emotion. That's the nature of the man.
  At some thoughts one stands perplexed, especially at the sight of men's sin, and wonders whether one should use force or humble love. Always decide to use humble love. If you resolve on that once for all, you may subdue the whole world. Loving humility is marvellously strong, the strongest of all things, and there is nothing else like it.
  Every day and every hour, every minute, walk round yourself and watch yourself, and see that your image is a seemly one. You pass by a little child, you pass by, spiteful, with ugly words, with wrathful heart; you may not have noticed the child, but he has seen you, and your image, unseemly and ignoble, may remain in his defenceless heart. You don't know it, but you may have sown an evil seed in him and it may grow, and all because you were not careful before the child, because you did not foster in yourself a careful, actively benevolent love. Brothers, love is a teacher; but one must know how to acquire it, for it is hard to acquire, it is dearly bought, it is won slowly by long labour. For we must love not only occasionally, for a moment, but for ever. Everyone can love occasionally, even the wicked can.
  My brother asked the birds to forgive him; that sounds senseless, but it is right; for all is like an ocean, all is flowing and blending; a touch in one place sets up movement at the other end of the earth. It may be senseless to beg forgiveness of the birds, but birds would be happier at your side- a little happier, anyway- and children and all animals, if you were nobler than you are now. It's all like an ocean, I tell you. Then you would pray to the birds too, consumed by an all-embracing love, in a sort of transport, and pray that they too will forgive you your sin. Treasure this ecstasy, however senseless it may seem to men.
  My friends, pray to God for gladness. Be glad as children, as the birds of heaven. And let not the sin of men confound you in your doings. Fear not that it will wear away your work and hinder its being accomplished. Do not say, "Sin is mighty, wickedness is mighty, evil environment is mighty, and we are lonely and helpless, and evil environment is wearing us away and hindering our good work from being done." Fly from that dejection, children! There is only one means of salvation, then take yourself and make yourself responsible for all men's sins, that is the truth, you know, friends, for as soon as you sincerely make yourself responsible for everything and for all men, you will see at once that it is really so, and that you are to blame for everyone and for all things. But throwing your own indolence and impotence on others you will end by sharing the pride of Satan and murmuring against God.
  Of the pride of Satan what I think is this: it is hard for us on earth to comprehend it, and therefore it is so easy to fall into error and to share it, even imagining that we are doing something grand and fine. Indeed, many of the strongest feelings and movements of our nature we cannot comprehend on earth. Let not that be a stumbling-block, and think not that it may serve as a justification to you for anything. For the Eternal judge asks of you what you can comprehend and not what you cannot. You will know that yourself hereafter, for you will behold all things truly then and will not dispute them. On earth, indeed, we are, as it were, astray, and if it were not for the precious image of Christ before us, we should be undone and altogether lost, as was the human race before the flood. Much on earth is hidden from us, but to make up for that we have been given a precious mystic sense of our living bond with the other world, with the higher heavenly world, and the roots of our thoughts and feelings are not here but in other worlds. That is why the philosophers say that we cannot apprehend the reality of things on earth.
  God took seeds from different worlds and sowed them on this earth, and His garden grew up and everything came up that could come up, but what grows lives and is alive only through the feeling of its contact with other mysterious worlds. If that feeling grows weak or is destroyed in you, the heavenly growth will die away in you. Then you will be indifferent to life and even grow to hate it. That's what I think.

(h) Can a Man judge his Fellow Creatures? Faith to the End.

Remember particularly that you cannot be a judge of anyone. For no one can judge a criminal until he recognises that he is just such a criminal as the man standing before him, and that he perhaps is more than all men to blame for that crime. When he understands that, he will be able to be a judge. Though that sounds absurd, it is true. If I had been righteous myself, perhaps there would have been no criminal standing before me. If you can take upon yourself the crime of the criminal your heart is judging, take it at once, suffer for him yourself, and let him go without reproach. And even if the law itself makes you his judge, act in the same spirit so far as possible, for he will go away and condemn himself more bitterly than you have done. If, after your kiss, he goes away untouched, mocking at you, do not let that be a stumbling-block to you. It shows his time has not yet come, but it will come in due course. And if it come not, no Matter; if not he, then another in his place will understand and suffer, and judge and condemn himself, and the truth will be fulfilled. Believe that, believe it without doubt; for in that lies all the hope and faith of the saints.
  Work without ceasing. If you remember in the night as you go to sleep, "I have not done what I ought to have done," rise up at once and do it. If the people around you are spiteful and callous and will not hear you, fall down before them and beg their forgiveness; for in truth you are to blame for their not wanting to hear you. And if you cannot speak to them in their bitterness, serve them in silence and in humility, never losing hope. If all men abandon you and even drive you away by force, then when you are left alone fall on the earth and kiss it, water it with your tears and it will bring forth fruit even though no one has seen or heard you in your solitude. Believe to the end, even if all men went astray and you were left the only one faithful; bring your offering even then and praise God in your loneliness. And if two of you are gathered together- then there is a whole world, a world of living love. Embrace each other tenderly and praise God, for if only in you two His truth has been fulfilled.
  If you sin yourself and grieve even unto death for your sins or for your sudden sin, then rejoice for others, rejoice for the righteous man, rejoice that if you have sinned, he is righteous and has not sinned.
  If the evil-doing of men moves you to indignation and overwhelming distress, even to a desire for vengeance on the evil-doers, shun above all things that feeling. Go at once and seek suffering for yourself, as though you were yourself guilty of that wrong. Accept that suffering and bear it and your heart will find comfort, and you will understand that you too are guilty, for you might have been a light to the evil-doers, even as the one man sinless, and you were not a light to them. If you had been a light, you would have lightened the path for others too, and the evil-doer might perhaps have been saved by your light from his sin. And even though your light was shining, yet you see men were not saved by it, hold firm and doubt not the power of the heavenly light. Believe that if they were not saved, they will be saved hereafter. And if they are not saved hereafter, then their sons will be saved, for your light will not die even when you are dead. The righteous man departs, but his light remains. Men are always saved after the death of the deliverer. Men reject their prophets and slay them, but they love their martyrs and honour those whom they have slain. You are working for the whole, are acting for the future. Seek no reward, for great is your reward on this earth: the spiritual joy which is only vouchsafed to the righteous man. Fear not the great nor the mighty, but be wise and ever serene. Know the measure, know the times, study that. When you are left alone, pray. Love to throw yourself on the earth and kiss it. Kiss the earth and love it with an unceasing, consuming love. Love all men, love everything. Seek that rapture and ecstasy. Water the earth with the tears of your joy and love those tears. Don't be ashamed of that ecstasy, prize it, for it is a gift of God and a great one; it is not given to many but only to the elect.

(i) Of Hell and Hell Fire, a Mystic Reflection.

Fathers and teachers, I ponder, "What is hell?" I maintain that it is the suffering of being unable to love. Once in infinite existence, immeasurable in time and space, a spiritual creature was given on his coming to earth the power of saying, "I am and I love." Once, only once, there was given him a moment of active lifting love, and for that was earthly life given him, and with it times and seasons. And that happy creature rejected the priceless gift, prized it and loved it not, scorned it and remained callous. Such a one, having left the earth, sees Abraham's bosom and talks with Abraham as we are told in the parable of the rich man and Lazarus, and beholds heaven and can go up to the Lord. But that is just his torment, to rise up to the Lord without ever having loved, to be brought close to those who have loved when he has despised their love. For he sees clearly and says to himself, "Now I have understanding, and though I now thirst to love, there will be nothing great, no sacrifice in my love, for my earthly life is over, and Abraham will not come even with a drop of living water (that is the gift of earthly active life) to cool the fiery thirst of spiritual love which burns in me now, though I despised it on earth; there is no more life for me and will be no more time! Even though I would gladly give my life for others, it can never be, for that life is passed which can be sacrificed for love, and now there is a gulf fixed between that life and this existence."
  They talk of hell fire in the material sense. I don't go into that mystery and I shun it. But I think if there were fire in material sense, they would be glad of it, for I imagine that in material agony, their still greater spiritual agony would be forgotten for a moment. Moreover, that spiritual agony cannot be taken from them, for that suffering is not external but within them. And if it could be taken from them, I think it would be bitterer still for the unhappy creatures. For even if the righteous in Paradise forgave them, beholding their torments, and called them up to heaven in their infinite love, they would only multiply their torments, for they would arouse in them still more keenly a flaming thirst for responsive, active and grateful love which is now impossible. In the timidity of my heart I imagine, however, that the very recognition of this impossibility would serve at last to console them. For accepting the love of the righteous together with the impossibility of repaying it, by this submissiveness and the effect of this humility, they will attain at last, as it were, to a certain semblance of that active love which they scorned in life, to something like its outward expression... I am sorry, friends and brothers, that I cannot express this clearly. But woe to those who have slain themselves on earth, woe to the suicides! I believe that there can be none more miserable than they. They tell us that it is a sin to pray for them and outwardly the Church, as it were, renounces them, but in my secret heart I believe that we may pray even for them. Love can never be an offence to Christ. For such as those I have prayed inwardly all my life, I confess it, fathers and teachers, and even now I pray for them every day.
  Oh, there are some who remain proud and fierce even in hell, in spite of their certain knowledge and contemplation of the absolute truth; there are some fearful ones who have given themselves over to Satan and his proud spirit entirely. For such, hell is voluntary and ever consuming; they are tortured by their own choice. For they have cursed themselves, cursing God and life. They live upon their vindictive pride like a starving man in the desert sucking blood out of his own body. But they are never satisfied, and they refuse forgiveness, they curse God Who calls them. They cannot behold the living God without hatred, and they cry out that the God of life should be annihilated, that God should destroy Himself and His own creation. And they will burn in the fire of their own wrath for ever and yearn for death and annihilation. But they will not attain to death....
  Here Alexey Fyodorovitch Karamazov's manuscript ends. I repeat, it is incomplete and fragmentary. Biographical details, for instance, cover only Father Zosima's earliest youth. Of his teaching and opinions we find brought together sayings evidently uttered on very different occasions. His utterances during the last few hours have not been kept separate from the rest, but their general character can be gathered from what we have in Alexey Fyodorovitch's manuscript.
  The elder's death came in the end quite unexpectedly. For although those who were gathered about him that last evening realised that his death was approaching, yet it was difficult to imagine that it would come so suddenly. On the contrary, his friends, as I observed already, seeing him that night apparently so cheerful and talkative, were convinced that there was at least a temporary change for the better in his condition. Even five minutes before his death, they said afterwards wonderingly, it was impossible to foresee it. He seemed suddenly to feel an acute pain in his chest, he turned pale and pressed his hands to his heart. All rose from their seats and hastened to him. But though suffering, he still looked at them with a smile, sank slowly from his chair on to his knees, then bowed his face to the ground, stretched out his arms and as though in joyful ecstasy, praying and kissing the ground, quietly and joyfully gave up his soul to God.
  The news of his death spread at once through the hermitage and reached the monastery. The nearest friends of the deceased and those whose duty it was from their position began to lay out the corpse according to the ancient ritual, and all the monks gathered together in the church. And before dawn the news of the death reached the town. By the morning all the town was talking of the event, and crowds were flocking from the town to the monastery. But this subject will be treated in the next book; I will only add here that before a day had passed something happened so unexpected, so strange, upsetting, and bewildering in its effect on the monks and the townspeople, that after all these years, that day of general suspense is still vividly remembered in the town.

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

No More ANNOYING Java Applets! WebCenter Configuration Made Easy with Fishbowl’s Admin Suite

Anyone who has used WebCenter Content’s provided administration applets will tell you that using them can be problematic. Most browsers implement measures to protect against Java security issues, and the admin applets frequently get caught in these filters. Accessing the applets often means going through several security prompts, switching to older browsers, or even manually executing the applet files from the server’s file system. Even once the applets are launched, they are slow to load. The problems with these Java-based admin applets create unnecessary frustration when trying to configure and administer an instance of WebCenter Content.

With Fishbowl’s Admin Suite 2.0, the most-used applets have been remade into web-based applets that do not rely on the problematic Java applets. Specifically, Configuration Manager, System Properties, User Admin, and Workflow Admin have received a web makeover, with Repository Manager planned to be added by the end of 2017. All the same functionality is available – updating rules and profiles, editing localization settings, configuring aliases, defining security groups and roles, running workflows, and more – in an updated UI that doesn’t require any of the annoying workarounds listed above.

These new applets are laid out the same as the provided Java applets, complete with Oracle’s included help pages – familiarity with the Java applets will directly translate to the new versions. We’ve made compatibility a priority with these new applets; they have been designed to work with WebCenter Content 10g, 11g, and 12c.

Existing Admin Suite customers can get these new web applets free of charge by upgrading to 2.0.  In addition to these applets, Admin Suite still includes Fishbowl’s most popular products:

  • Advanced User Security Mapping – simplify security mapping and reduce LDAP maintenance with our powerful rules engine
  • Enterprise Batchloader – schedule and batch load content from ERP and CRM systems into WebCenter
  • Subscription Notifier – send automatic email notifications, trigger workflows, update metadata
  • Workflow Solution Set – enhance WebCenter workflows with search capabilities, the ability to filter views, and customize the review pane

You can get an overview of the capabilities and value of Admin Suite by watching a replay of this webinar. For a quick overview of Admin Suite, please visit this page on the Fishbowl website.

If you are interested in purchasing Admin Suite or upgrading your existing copy, please contact us at 952-465-3400 or info@fishbowlsolutions.com and we’d be happy to help you.

The post No More ANNOYING Java Applets! WebCenter Configuration Made Easy with Fishbowl’s Admin Suite appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Karamozov

Greg Pavlik - Fri, 2017-11-10 12:02
"Brothers, have no fear of men's sin. Love a man even in his sin, for that is the semblance of Divine Love and is the highest love on earth. Love all God's creation, the whole and every grain of sand in it. Love every leaf, every ray of God's light. Love the animals, love the plants, love everything. If you love everything, you will perceive the divine mystery in things. Once you perceive it, you will begin to comprehend it better every day. And you will come at last to love the whole world with an all-embracing love. Love the animals: God has given them the rudiments of thought and joy untroubled. Do not trouble it, don't harass them, don't deprive them of their happiness, don't work against God's intent. Man, do not pride yourself on superiority to the animals; they are without sin, and you, with your greatness, defile the earth by your appearance on it, and leave the traces of your foulness after you -- alas, it is true of almost every one of us! Love children especially, for they too are sinless like the angels; they live to soften and purify our hearts and, as it were, to guide us. Woe to him who offends a child! Father Anfim taught me to love children. The kind, silent man used often on our wanderings to spend the farthings given us on sweets and cakes for the children. He could not pass by a child without emotion. That's the nature of the man.

At some thoughts one stands perplexed, especially at the sight of men's sin, and wonders whether one should use force or humble love. Always decide to use humble love. If you resolve on that once for all, you may subdue the whole world. Loving humility is marvellously strong, the strongest of all things, and there is nothing else like it....

Brothers, love is a teacher; but one must know how to acquire it, for it is hard to acquire, it is dearly bought, it is won slowly by long labour. For we must love not only occasionally, for a moment, but for ever. Everyone can love occasionally, even the wicked can.

My brother asked the birds to forgive him; that sounds senseless, but it is right; for all is like an ocean, all is flowing and blending; a touch in one place sets up movement at the other end of the earth. It may be senseless to beg forgiveness of the birds, but birds would be happier at your side -- a little happier, anyway -- and children and all animals, if you were nobler than you are now. It's all like an ocean, I tell you. Then you would pray to the birds too, consumed by an all-embracing love, in a sort of transport, and pray that they too will forgive you your sin. Treasure this ecstasy, however senseless it may seem to men."

Why We Chose Mindbreeze for Enterprise Search: Fishbowl’s Competitive Analysis Across Search Platforms

Comparing Mindbreeze to Google Cloud Search, Coveo, Lucidworks, Yippy, Elasticsearch, and Solr

Last month we discussed replacing the Google Search Appliance (GSA) and the Top 5 Reasons We Chose Mindbreeze. In this follow-up, we’ll explore the other vendors who made our shortlist and how they all stack up. In case you missed the last post, here’s a recap of the key requirements against which we were evaluating each solution:

  • Options for searching on-premise content
  • Connectors and connector frameworks for indexing non-web data sources
  • Support for public and secure use cases
  • Tools and APIs for search interface integration
  • Minimal development efforts and ongoing administration required
Mindbreeze vs. Google Cloud Search

As a Google Premier Partner and GSA implementer, we naturally looked to Google for GSA replacement options. At the time of our evaluation, Google Cloud Search did not have any features available to address indexing on-premise content or serving that content through websites or web applications other than their own cloud search interface. In addition, the status of their security integration options and administration experience remained widely unknown. While it was always clear that Google’s new enterprise search index would be cloud-based, the options for pushing enterprise content from on-premise repositories into that index remain unclear. The initial product direction for Google Cloud Search (previously referred to as Springboard) focused on indexing Google’s G Suite data sources such as Gmail, Google Calendar, and Google Drive. Google has since changed their directional statements to reemphasize their intention to implement indexing mechanisms for on-premise content, but even at the time of this writing, that technology is yet to be released.

Our decision to pursue solutions other than Google, and ultimately partner with Mindbreeze, largely came down to the fact that we couldn’t confidently assure our customers that Google would have a replacement ready (and able to meet the aforementioned requirements) in time for the GSA’s end of life. While I continue to be impressed with Google’s cloud innovations and hope those eventually materialize into enterprise search options, Google Cloud Search remains in its infancy.

Mindbreeze vs. Coveo

As a leader in the enterprise search and knowledge management space, Coveo has ranked well for the past several years among the analyst reports for this market. They have a mature product which made our short list of possible solutions. Two primary concerns surrounded Coveo when compared to Mindbreeze and other vendors. First, their product direction is heavily cloud-focused, available only on Amazon Web Services, with a decreasing investment in on-premise search. Our customer base has a strong need to index on-premise content along with a reasonable amount of customers who prefer the search engine itself be available on premise for governance reasons.

The other concern surrounding Coveo was price. By their own admittance, it is one of the most expensive solutions on the market. Mindbreeze was able to meet our requirements as well or better than Coveo, while providing a stronger commitment to on-premise indexing at a more attractive price point.

Mindbreeze vs. Lucidworks

Lucidworks offers enterprise support for the open source search platform Apache Solr. Their flagship product, Lucidworks Fusion, builds on Solr to add enterprise search features, including connectors and administration interfaces. Our primary reasons for preferring Mindbreeze over Lucidworks concern the ease and speed of both deployment and ongoing administration. While the Fusion platform goes a long way in creating a productized layer on top of Solr, the solution still requires comparatively more work to size, provision, configure, and maintain than Mindbreeze.

Another concern during evaluation was the less-flexible security model available with Lucidworks when compared to Mindbreeze. Mindbreeze supports ACL inheritance from container objects which means if a new user is granted access to a folder containing 50,000 items, only one item (the folder container) must be reindexed to apply the new permissions. Lucidworks applies permissions to each document, so all 50,000 documents would need to be reindexed. While Lucidworks was able to meet our indexing requirements, we felt Mindbreeze offered a shorter time to value, easier ongoing administration, and more flexible security options.

Mindbreeze vs. Yippy

The Yippy Search Appliance attempts to offer close feature parity to the GSA and is available as a cloud solution or an on-premise appliance. Our biggest concern with Yippy, when compared to Mindbreeze, was its immaturity as an enterprise search product. Born out of the Yippy metasearch engine, the Yippy Search Appliance was introduced in 2016 specifically in response to the GSA’s end of life.

The solution is notably absent from consideration by both Forrester and Gartner in their respective 2017 market reports which base inclusion criteria on factors such as referenceable enterprise customer base and proven market presence. The solution also lacks interfaces for customers and partners to create custom connectors to proprietary data sources, an important requirement for many of our customers. As a search appliance, we felt Mindbreeze offered a lower risk solution with a longer history, large reference customer base, and mature feature set.

What about open source options?

Open source options were considered during our evaluation but quickly eliminated due to the vastly greater amount of development time and steeper customer learning curve associated with their implementation. For these reasons, we felt open source search solutions were not a good fit for our customers. Due to the high volume of questions we get regarding these options, I felt it worthwhile to include a few comments on the most popular open sources search tools.

Elasticsearch

Elasticsearch is a popular open source search and analytics project created by Elastic.co. Elastic itself doesn’t claim to be an enterprise search solution, but they do offer enterprise analytics solutions, and the Elasticsearch technology is often embedded into enterprise applications to provide search functionality. It’s easy to see the confusion this can create. Gartner did not include Elastic in their 2017 Magic Quadrant for Insight Engines. Elastic was included in the Forrester Wave on Cognitive Search and Knowledge Discovery as a nonparticipating vendor where Forrester stated, “Elastic says that it is not in the enterprise search market, but many enterprise customers ask Forrester about Elasticsearch, so we have included Elastic…” As a search tool, we found Elastic was better suited to log analytics than enterprise search as it lacks many enterprise search features including security, connectors, and pre-built search apps.

Solr

Apache Solr is a widely used open source search project. Many contributions to the project are made by Lucidworks (mentioned above) whose Fusion platform extends this core technology. Standalone Solr is a framework for creating a custom search engine implementation. While powerful and often used to build highly specialized search tools, it is missing out-of-the-box enterprise features including connectors, administration interfaces, and mechanisms to support secure search.

Lucene

Apache Lucene is a popular open source search engine framework. It’s a low-level library which implements indexing and search functionality and must be integrated into another application for use. Lucene provides the base search engine behind both Solr and Elasticsearch.

Finding Success with Mindbreeze

After undergoing our evaluation last winter and joining the Mindbreeze partner network, we continue to find Mindbreeze offers an excellent combination of built-in features with tools for extending capabilities when necessary. In the past year we’ve released our Oracle WebCenter Content Connector for Mindbreeze, had ten employees complete the Mindbreeze Expert Certification and helped a long-time customer migrate from GSA to Mindbreeze. If you have any questions about our experience with Mindbreeze or would like to know more, please contact us or leave a comment below.

Time running out on your GSA?

Our expert team knows both GSA and Mindbreeze. We’ll help you understand your options and design a migration plan to fit your needs.

Contact Us

The post Why We Chose Mindbreeze for Enterprise Search: Fishbowl’s Competitive Analysis Across Search Platforms appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

How to Configure the Top 4 GSA Features in Mindbreeze – Plus 6 New Favorites

In the past few weeks, we’ve looked at why fishbowl chose Mindbreeze as a GSA replacement and how one of our GSA customers transitioned to Mindbreeze. Today I’ll share how to set up the most-used GSA functionality within the Mindbreeze InSpire enterprise search appliance.

Dynamic Navigation

The GSA’s Dynamic navigation enables users to refine a search using metadata attributes as filters. Within Mindbreeze this functionality is called Filter Facets. A default set of filters can be defined for each Mindbreeze client service based on the metadata available from the various indexed content sources. The client service is roughly equivalent to the GSA’s client frontend parameter (as opposed to the proxystylesheet which also references a frontend but is more comparable to a search app in Mindbreeze). In addition to the filters defined for a client service, you can also define filters within custom search apps by explicitly adding the desired filters. This is true for both the GUI-based Mindbreeze Search App Designer, and for search apps built using the Mindbreeze API.

What’s New: Mindbreeze offers a multi-select interface for search facets. This was a much-requested GSA enhancement and allows you to refine your search by selecting among several facet options rather than a single option as available with GSA. Mindbreeze also allows configuration of whether multiple selections should apply AND or OR constraints across the multiple selected values.

Configuring Mindbreeze Search Filters

From the Client Services tab in the Mindbreeze Management Center expand the desired client service and navigate to the Filters heading. Check the box next to each metadata field you want to include as a filter. Any searches performed against this client service will return these filters unless overridden in an individual search app.

Document Previews

The GSA’s document preview engine creates image renditions of Word, PowerPoint, and PDF files for up to 30 pages of a document; previews or thumbnails are not available for other file types out of the box. The Mindbreeze preview engine supports preview settings for 91 different file types. For many files, the preview engine can be configured to create both a document thumbnail, for use on results pages, and a content preview which is typically displayed as a modal popup. For example, Mindbreeze can display a thumbnail of a Word document next to the result title, and a preview link which displays a full-context PDF rendition as the document preview.

What’s New: In addition supporting more files types and creating thumbnails, the Mindbreeze previews highlight all instances of your query terms in the preview rendition making it easy to see where in the document the relevant keywords occur. Mindbreeze previews are controlled by the Mindbreeze filter service which controls many aspects of how document contents are processed and extracted for indexing. The Mindbreeze SDK provides an interface for creating custom filter plugins which can alter or add to the standard preview generation capabilities.

Configuring Mindbreeze Previews

From the Filters tab in the Mindbreeze Management Center, expand the desired Filter Service. For each applicable file type, select the desired filter plugin. For example, to create PDF previews of Excel files, navigate to xlsx and select FilterPlugin.OfficeDocumentToPDFContentFilter. Like GSA, Mindbreeze previews are generated during indexing. Any existing documents will need to be reindexed for preview configuration changes to appear in search results.

Mindbreeze Preview Config

Custom Synonyms

The GSA and Mindbreeze search appliances both provide query transformation services for automatic modification of search queries. Synonym transformation allows you to find search results by looking for different synonyms of a word, therefore the query is transformed to search for every term listed in the synonyms list. For example, if a user searches for “FAQ,” the appliance could also look for documents containing “frequently asked questions”.

What’s New: Although a shared synonyms file is included with Mindbreeze out of the box, unique synonyms may optionally be defined for individual content sources. This means if you use different terms in your ERP system than on your customer extranet, you can define synonymous terms for their respective sources. Mindbreeze also offers two additional query transformation engines that address specific use cases often handled with synonyms in the GSA. The first is Replacements, which completely replace a defined term with an alternative term or terms. The second is Vocabulary, which specifies preferred and alternative versions of defined search terms. Vocabulary entries are treated as synonyms; however, the preferred label is given more weight than the alternate label when determining relevancy.

Configuring Mindbreeze Synonyms

Select Synonyms from the Search Experience menu in the Mindbreeze Management Center. In the table displayed, enter synonymous terms with one term per column and one term group per row as shown.

Mindbreeze query transformation can be applied globally or to a specific data source. To apply the Synonyms to all content, navigate to the Indices tab and locate Query Transformation Services at the bottom of the page. Add the SynonymTransformer from the picklist. Expand the configuration and add the following configuration: Property: SYNONYM_CSV_FILE_PATH and Value: /data/resources/synonyms.csv. To configure synonyms for an individual index perform these same steps within the Query Transformation Services section of an individual index. You can optionally specify a path to a different synonyms file than the default show here.

Suggestions

Both GSA and Mindbreeze can provide query suggestions within the search box that complete a user’s query as they type. The GSA used popular search queries from the past 90 days to determine the top suggestions. Mindbreeze offers a similar option called Similar Queries along with four other possible data sources from which to generate suggestions. Like Filter Facets, suggestions can be defined for each Mindbreeze client service.  Suggestion data is also available using the Mindbreeze Suggest API (api.v2.suggest). This API is useful when adding Mindbreeze suggestions to an existing search box on a website or application. The Mindbreeze Suggest API is similar to the GSA’s Query Suggestion Service /suggest Protocol.

What’s New: Unlike the GSA, Mindbreeze suggestions can be provided from a number of different data sources. Suggestions can even be displayed when a user places their cursor in the search box before entering any characters; this is called Initial Suggest. The following suggestion options are available in Mindbreeze:

  • Similar queries (this is comparable to the GSA’s suggestions feature)
  • Suggestions from a CSV file
  • Mindbreeze tabs to search for the current search term
  • Document properties from indexed metadata (e.g. Document Titles)
  • Recent queries from the last searches performed by a user

The ability to load suggestions from a CSV file provides an easy way to pre-populate suggestions and ensures they remain in the suggestion pool even if they are not frequently used. This was a common enhancement request from GSA customers.

Configuring Mindbreeze Suggestions

From the Client Services tab in the Mindbreeze Management Center expand the desired client service and navigate to the Suggest Settings and Initial Suggest Settings headings, respectively. Check the box next to each suggestion source you want to enable for this client service. Any searches performed against this client service will return these suggestions unless overridden in a direct API request. If suggestions from a CSV file are desired, the path to the CSV file must be defined under the heading Suggest Settings (Concept CSV) also located on the client service configuration page.

Beyond GSA – 6 New Things We Love About Mindbreeze

While Mindbreeze offers GSA parity in many ways, there are plenty of upgrades to be found. Here are a few of our favorites:

  • Mindbreeze lets you boost (i.e. bias) the overall weight of a metadata field enabling you to increase (or decrease) the general importance of fields like title, subject, or keywords.
  • Mindbreeze provides built-in search analytics and application performance monitoring via the integrated App Telemetry platform.
  • Mindbreeze offers a native user feedback mechanism including screenshots from the users’ search results.
  • Mindbreeze provides access to the appliance OS and filesystem. You can upload your own files to support advanced configurations or create custom interfaces. This also allows the use of standard backup techniques on the index and configuration files.
  • Mindbreeze does not require secondary servers for connectors (e.g. Tomcat); even custom connectors run directly on the appliance.
  • Mindbreeze includes a search app builder which provides drag and drop tools for creating use-case specific search apps without coding.

If you have a GSA approaching expiration, we believe Mindbreeze offers the quickest and most reliable search replacement path. As a Mindbreeze partner, we offer both resale and implementation services, and as a long-time GSA partner, we’re familiar with the functionality of both platforms. If you have questions or would like to know more, please contact us or leave a comment below.

Time running out on your GSA?

Our expert team knows both GSA and Mindbreeze. We’ll help you understand your options and design a migration plan to fit your needs.

Contact Us

The post How to Configure the Top 4 GSA Features in Mindbreeze – Plus 6 New Favorites appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Still Stuck on SiteStudio? Move Your Intranet and Modernize with WebCenter Portal

Fishbowl’s Director of Solutions, Jerry Aber, contributed to this blog post.

Surprisingly, there are still many SiteStudio (Oracle WCM) customers out there using the product for their employee intranet. We just chatted with another one this week, in fact. I say surprisingly because even though the product is technically under support (extended lifetime) until 2019, there are so many advantages and benefits of upgrading a SiteStudio intranet to Oracle WebCenter Portal. Oracle themselves outlined a few in their statement of direction document released back in 2012.

Fishbowl has done numerous WebCenter Portal projects over the last 5 years, and some of those have been SiteStudio to Oracle WebCenter Portal upgrades. We have found for employee intranets specifically that WebCenter Portal is the obvious choice due to its flexibility and how it aggregates content, applications, and data onto a single pane of glass. No more link farms, poorly branded sub-pages, and confusing navigation. If your organization is still  using SiteStudio for its intranet, perhaps this blog post will persuade you to upgrade and modernize today.

SiteStudio Revisited

SiteStudio sites are built on the premise of Templates, Regions, Fragments and Lists with a site design overlaying the top of the structure outlined by its architecture. It did include inline contribution and editing model that helps contributors manage the site with less IT intervention. However, the contribution model wasn’t very streamlined as essentially Word documents were used to structure page content and then converted to HTML. This caused numerous page formatting issues.

Compare this to ability with WebCenter Portal – and enhanced with Fishbowl’s Portal Solution Accelerator – to edit text inline of portal pages, and you have a contribution model that is truly optimized for business user contribution. The impact of this is more frequent updates to page content, which keeps employees coming back for new information leading to better engagement.

SiteStudio to WebCenter Portal: Making the Move

As customers consider their employee intranet/portal roadmap and SiteStudio upgrade path, a big concern that comes up frequently is regarding the overall “migration” from a web page-based SiteStudio intranet site to a Portal-based site. There is no natural migration/upgrade roadmap for making this happen as the underlying technologies are considerably different. Additionally, there are two large issues to consider: The SiteStudio code used to render the content, and that the web content is stored in SiteStudio data files.

However, what we’ve found is that WebCenter Portal sites can be created to consume the SiteStudio assets and use the SiteStudio development model by the leveraging what’s called the Content Presenter task flow. This is one way to ensure a tight and clean integration with the Oracle Content Server. This model works nicely when SiteStudio designs and tools are used, but does not translate well to any portal development paradigms. Such paradigms are way more flexible, modular and use current web technology patterns, such as Oracle JET, that not only make the site look nice but keeps it performing at a high-level.

Also, keep in mind this relegates you to sticking with the SiteStudio Data File storage model for your web content which can be a challenge when it comes to managing content and sharing content around the organization.

So, given that, what are some other questions you and your organization can ask to determine if upgrading from SiteStudio to Oracle WebCenter Portal makes sense and would be beneficial to your organization. Consider:

  • Is sticking with a SiteStudio design and development model future-proofing your platform? Does that help you deliver agile-like project and quickly respond to changing needs?
  • Does your development team want to use new web technology frameworks like Oracle JET?
  • Does your content need to be shared easily and seamlessly without conversion? Do  you want to continue to use Oracle WebCenter Content as your enterprise repository?
  • Do you want to provide easier contribution tools for your end users to manage the site better?
  • Does your organization have an initiatives around enhancing employee engagement, increasing employee retention, or attracting top talent – with your employee intranet viewed as the vehicle to help drive these initiatives?

If you answered yes to any of the above, the time is right to move from SiteStudio to WebCenter Portal. Only WebCenter Portal can deliver a modern and engaging experience for employee intranets, with mobile first design capabilities and the technology foundation for future portal creation at scale – on premise or in the cloud. It also provides the tightest integration with Oracle WebCenter Content, enabling your organization to centralize its high value content assets into an industry leading enterprise content management system.

Oracle WebCenter Portal 12c Value Proposition

WebCenter Portal provides all of this and more. It is a true portal platform that satisfies requests for a better user experience with better performing page loads, and page to page navigation. Furthermore it enables:

  • The ability to store content in a manner so that it can be managed and shared easily.
  • The use of inline contribution of content features using WYSIWYG capabilities.
  • Leveraging newer web technologies such as Oracle Jet, Angular, and others.
  • Integrations with Oracle applications such as E-Business Suite, PeopleSoft, and Taleo – surfacing up content from these systems directly within the portal.

SiteStudio was a great tool for building websites, but one could argue that it was never intended to be used for building employee portals or intranets. If your organization is looking to do just that, and take its employee intranet to the next level, Oracle WebCenter Portal is the clear choice.

 

The post Still Stuck on SiteStudio? Move Your Intranet and Modernize with WebCenter Portal appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Manufacturer Replaces the Google Search Appliance with Mindbreeze for Intranet and Website Search: From Racking to Go-Live in 37 Days

In today’s post I’m excited to share the story of a recent Mindbreeze deployment. One of our long-time customers, a global leader in the field of industrial automation, needed a replacement for their expiring Google Search Appliances (GSAs). They had used the GSA to power the search on their public-facing website as well as their employee intranet. When Google announced the GSA’s end of life, they were left in a need of a replacement. Due to its similar feature set and architecture, Mindbreeze offered an easy migration from GSA and allowed existing customizations to be reused.
Working with Fishbowl to implement Mindbreeze went very well. The expertise they brought enabled us to meet our aggressive timeline to remove the Google Search Appliances. Fishbowl’s knowledge allowed them to be flexible to our needs during implementation while still covering all the necessary material. We appreciated that.

Application Development and Support Manager

Google Search Appliance (GSA) Replacement, Alternatives, and Migration
GSA Migration Requirements

Google Search ApplianceIn order to provide comprehensive website search, this organization needed to index content from three different sources. First, they needed to crawl the HTML pages on the site itself. Second, they needed to index records in their parts and products database. And third, they needed to index PDFs and other supporting product documentation stored in Oracle WebCenter Content (their document management system). In order to serve their sales and distribution partners, they needed the option to restrict a subset of this content to only logged-in partners. This organization had previously integrated GSA search results into their website using a custom-built search interface which consumed the GSA’s XML response. They planned to reuse the front-end components of that integration while replacing the backend with Mindbreeze.

For the intranet search, they needed to index secure documents from Oracle WebCenter Content. WebCenter Content was also the platform through which the secure results would be served to employees. The search results on the intranet needed to include both the access-controlled internet documents, as well as the customer and partner-facing documents that would also be accessible from the website.

Mindbreeze Implementation

We began the implementation by configuring Mindbreeze to index the necessary data sources. Each of their three content sources required different indexing tools. The approach was similar to how the same data had been previously indexed using the GSA. First the Mindbreeze web crawler was configured to crawl the site. We were able to reuse the crawl patterns already defined when configuring the GSA. Next, content from their parts and products database was indexed using the Mindbreeze Data Integration connector. This connector uses the Talend ETL platform to create jobs that extract, transform, and load structured data into Mindbreeze without a custom connector. In this case the data integration job was configured to connect to the same tables they had previously indexed with the GSA Connector for Databases. Finally, indexing was configured for the documents stored in Oracle WebCenter Content. In order to index WebCenter Content, the customer purchased Fishbowl’s Oracle WebCenter Content Connector for Mindbreeze. Unlike GSA, Mindbreeze connectors can run directly on the appliance and do not require any off-board connector servers. The connector is deployed via a Mindbreeze plugin and corresponding WebCenter Content component and leverages the Mindbreeze connector framework. The indexing criteria had already been determined during the GSA integration and was able to be copied directly into Mindbreeze. Items from Oracle WebCenter Content were separated into three groups—public content, partner-only content, and secure intranet content. These content groups could then be restricted based on the various serving configurations.

The Mindbreeze application was a step up from our previous search application. We had no problems crawling multiple data sources (website, database, WebCenter) and serving that content to multiple front ends. Although there was an initial learning curve, it is easy to edit configurations and rebuild indexes with very little or no downtime. And the onboard analytics make troubleshooting issues a breeze.

Web Developer

Once indexing was configured, the results needed to be integrated into the website and intranet. Mindbreeze provides a REST API which returns results in JSON format. This integration is comparably easier than working with the GSAs XML or XSLT responses. Because this customer had already written an integration to facilitate communication between the GSA and their website, built using Adobe Experience Manager, they were able reuse their existing site’s search interface. Search requests to the GSA were replaced with calls to the Mindbreeze search API. This integration also controlled the scope of the search based whether or not a user was allowed to access partner-only content.

For the intranet, the results were embedded directly into the Oracle WebCenter Content web application. The customer leveraged the default Mindbreeze search interface, but customized the look and feel using their own style sheet. This gave them the look of a tightly integrated search page but required less than an hour of development to implement. In order to provide secure search, the Mindbreeze authentication mechanism included with the connector was configured. This mechanism passes the identity of a WebCenter user to the Mindbreeze appliance at serve time in much the same way as security search was previously configured with GSA. The Mindbreeze appliance then uses this identity to resolve the access control lists (ACLs) placed on the documents during indexing. This approach is similar to the early-binding options available with the GSA and allows granular access controls to perform well at scale.

Results

The entire project from racking the Mindbreeze appliance to releasing the solution in production took 37 days—although the total days of work effort was considerably less. This project focused on one-to-one replacement of GSA functionality to ensure completion in time for the customer’s upcoming Google Search Appliance expiration. Initial user feedback indicates improved relevancy compared to the previous GSA integration. Future enhancements include implementing rich search suggestions and document previews to further enrich search capabilities.

If you have a GSA approaching expiration, we believe Mindbreeze offers the quickest and most reliable search replacement path. As a Mindbreeze partner, we offer both resale and implementation services, and as a long-time GSA partner, we’re familiar with the functionality of both platforms. If you have questions or would like to know more, please contact us or leave a comment below.

Time running out on your GSA? Our expert team knows both GSA and Mindbreeze. We’ll help you understand your options and design a migration plan to fit your needs.
Contact Us

The post Manufacturer Replaces the Google Search Appliance with Mindbreeze for Intranet and Website Search: From Racking to Go-Live in 37 Days appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Replacing the Google Search Appliance: 5 Reasons Fishbowl Chose Mindbreeze

Google Search Appliance (GSA) Replacement, Alternatives, and Migration
When Google said so long to the Google Search Appliance, we went to the market to find a replacement. We chose Mindbreeze. Here’s why.
If you’re reading this, you’ve likely heard the news that Google has discontinued the Google Search Appliance (GSA). As a long-time Google partner and search appliance implementer, this news left Fishbowl and all of our customers in need of a new search solution. We first looked to Google but determined Google Cloud search wouldn’t be a viable replacement in time for the GSA cut-off. We then went to the market to select the product we felt was best suited to meeting the ongoing search needs of our customers. The following key requirements ultimately drove the selection criteria that led us to Mindbreeze:
  • Options for searching on-premise content
  • Connectors and connector frameworks for indexing non-web data sources
  • Support for public and secure use cases
  • Tools and APIs for search interface integration
  • Minimal development efforts or ongoing administration required
Options for searching on-premise content

While it’s true that more content moves to the cloud each year, the majority of our GSA customers still keep most of their enterprise content on premise. Several of the search vendors in the market, including Google, have set a very cloud-heavy product direction. While there’s nothing wrong with that, the reality is that most almost all of our GSA customers need to index on-premise content. Some customers, although a smaller portion, also have requirements that the search solution itself must be on premise. Even those who are open to putting their search index in the cloud must still overcome the bandwidth challenges of indexing large volumes of content across the internet. Mindbreeze, like the GSA, is a search appliance installed on premise and is well suited to indexing both on-premise and cloud content. While Mindbreeze does offer a hosted version of their Mindbreeze InSpire search product, we typically recommend customers with mostly on-premise content run Mindbreeze on premise. A hybrid architecture is also available where customers can index on-premise content on-premise and cloud content in the cloud, then federate the results at serve time. Reason #1: Even as Mindbreeze expands to index and serve more content in the cloud, they are committed to long-term support for their on-premise search appliance.

Connectors and indexing frameworks

mindbreeze connectorsAn essential requirement for all but a few of our customers is the ability to connect to non-web-crawlable data sources using connectors. This includes SharePoint, file shares, databases, and many others. This also includes Oracle WebCenter Content and PTC Windchill, both specialized content management systems around which Fishbowl has dedicated implementation practices and which are used by many of our customers. To index these systems, Fishbowl developed highly specialized connectors tailored to these sources. We’ve also written GSA connectors for YouTube, Oracle Documents Cloud Service, and Liferay portal. As we evaluated possible GSA replacements, two things were very clear. First, we needed a solution with a strong suite of off-the-shelf connectors, and second, we needed a solid framework for building custom connectors. Mindbreeze has one of the best collections of pre-built connectors on the market, something they have been commended for by both Forrester and Gartner in their respective search vendor reports. Off-the-shelf connectors for Mindbreeze include SharePoint, file shares, LDAP, databases, Salesforce, Confluence, and dozens more. The Mindbreeze Data Integration connector leverages the Talend ETL platform to create integration jobs that extract, transform, and load data from proprietary sources into Mindbreeze without requiring a source-specific connector. Mindbreeze also has a mature SDK available for developing custom connectors to any data source. Fishbowl has already released a connector for Oracle WebCenter Content built on this framework. Last but not least, Mindbreeze supports existing GSA version 4.0 adapters and GSA feeds allowing customers to reuse existing integrations leveraging these frameworks. Reason #2: Mindbreeze has one of the best collections of pre-built connectors on the market plus a mature SDK for custom connector development and support for ingesting GSA feeds.

Strong support for public and secure use cases

Some of our customers use GSA for only public content, but for most customers, at least some of the content is secured. In certain cases, specifically when dealing with SharePoint, Oracle WebCenter, or PTC Windchill, complex security models with layers of inheritance must be enforced. Mindbreeze offers multiple options for implementing secure search. Their internal principal cache and authorization mechanisms allow for fast, document-level authorization checks at serve time using access control lists (ACLs). Mindbreeze also supports ACL inheritance from container objects to further improve performance. For example, if permissions change on a Windchill folder containing 50,000 items, only one item, the folder container, must be reindexed for the new permissions to be reflected within Mindbreeze. This was also possible with GSA, but is not possible with many of the search products on the market because permissions can only be assigned to individual content items. Mindbreeze also supports multiple user authentication mechanisms including Kerberos, Trusted Peer, SAML, and cookie cracking. Existing cookie-based GSA authentication mechanisms can be re-used with Mindbreeze making that transition even easier. Several of our customers use a single GSA to serve both internal (secure) and external (public) use cases. This is also common with Mindbreeze due to their client service architecture which allows configuration of both authentication requirements and data sources for each client service. Reason #3: The Mindbreeze architecture provides one of the most flexible, well-performing secure search implementations we’ve seen, while also allowing segmentation to serve public and secure results on a single deployment.

Tools and APIs for search interface integration

Once data is indexed, it is also necessary that the search technology offer both a built-in search interface and options for integrating search functionality into other websites and applications. Mindbreeze provides a nice combination of pre-built search apps and APIs for creating your own. Customers looking for the easiest path to value can leverage the default Mindbreeze search client which offers a feature rich, mobile friendly, search interface out of the box. You can add your own CSS file for a customized feel with very little development required. Mindbreeze also includes a Search App Designer which provides drag and drop tools for creating use-case specific search apps without coding. The Designer library includes widgets for adding filters, charts, grids, and galleries to various search apps. Mindbreeze also includes an export option which provides all the code needed to embed a search app into a website or application. For customers seeking a more customized integration, the Mindbreeze REST API allows search results to be returned as JSON giving you full control over their presentation. In many cases, customers with custom-built GSA results pages can keep the look of their existing frontend and swap out GSA for Mindbreeze on the backend. In fact, we recently had a customer do exactly this. They went from racking to go-live in less than a month.  Reason #4: Mindbreeze offers a solid combination of UI tools including a no-coding-required UI builder and a REST API for fully customized search applications.

Minimal development efforts or ongoing administration required

Coming from the easy deployment world of GSA, it was important we select a replacement that didn’t require complicated server farms, lengthy IT projects, or significant resource allocation. While we don’t encourage customers to completely forget about their search appliance, the set-it-and-forget-it mindset was prevalent among GSA customers for good reason. Once configured, it just worked. We needed a solution that offered comparably easy setup and maintenance. We didn’t set to out with a requirement to find another physical appliance, but the nature of our requirements made the Mindbreeze search appliance a natural choice. As a productized hardware-software package Mindbreeze setup is comparable to GSA and is considerably quicker than most other search solutions on the market. Even connectors can be run directly on the search appliance eliminating the need for additional application servers. High-availability and disaster-recovery architectures which automatically synchronize data between multiple appliances are also available similar to the mirroring options available with the GSA. And while we have found Mindbreeze to be more configurable than GSA in many ways, customers don’t need to understand indexing pipelines, relevancy algorithms, or machine learning to see great results. Adding connectors, configuring search apps, mapping synonyms, and viewing search analytics can all be done from the web-based Mindbreeze Management Center. Reason #5: The self-contained nature of Mindbreeze allows customers to get search up and running quickly and minimizes ongoing administration activities.

What about relevancy?

You might have noticed a few things conspicuously missing from our list of key requirements. These included strong relevancy, custom synonym dictionaries, search filters, and type-ahead suggestions. Mindbreeze offers all of these features. And so does everyone else. While these features can be critically important to a good search experience, they didn’t end up being important selection criteria because all the leading search tools have them. In many cases, Mindbreeze makes it quicker or easier to implement these features (see Reason #5) but the features themselves are not unique. I should also mention that these capabilities can be huge differentiators when comparing Mindbreeze to search options that come “built in” to content management systems or line of business applications, but those products are not the search tools we were comparing in this evaluation.

Conclusion

In the past seven years we’ve helped numerous customers buy, implement, and maintain their GSAs. Despite the disruption caused by the GSA’s end of life, we’re excited about the possibilities Mindbreeze has to offer. If your requirements are similar to ours, we believe that Mindbreeze offers the quickest, most mature, and smoothest migration path from GSA. As a Mindbreeze partner, we offer both resale and implementation services. If you have questions or would like to know more, please contact us or leave a comment below.

Time running out on your GSA?

Our expert team knows both GSA and Mindbreeze. We’ll help you understand your options and design a migration plan to fit your needs.

Contact Us

The post Replacing the Google Search Appliance: 5 Reasons Fishbowl Chose Mindbreeze appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Using Adobe InDesign with Oracle Content Experience Cloud

5 Things I learned about Using Adobe Design Products with Oracle Content Experience Cloud

As a designer I am always a little leery when someone tells me they are going to ask me to change my process.  To my great relief moving from my desktop and WebCenter to Content Experience Cloud is not only easy but will make me faster.  Here are the first 5 things I have learned since making the switch.

From the Desktop to the Cloud
Working within the Cloud
Commenting in the Cloud

  1. Drag and Drop!  – Content Experience Cloud makes it easy to drag your exported package folder or image source files from your desktop into the cloud.   You can also save yourself a step and save directly to the cloud.
  2. Generating Content – If you work in an environment where one department generates the images and another might do the writing and a third does the final review and publish CEC will make it easy to collaborate.  Simply place the content from the different departments in the shared folder and BAM instant collaboration.  No more broken links and big file drops using a third party.
  3. Open your Adobe file directly – You don’t need to download the file before opening it up each time and relinking your image files.  Open directly from the cloud and immediately start working.
  4. Security – As previously mentioned you don’t need to use one of those third party’s to transfer your files.  You also can control who has access to the shared content at each step.  For example you don’t need to include all departments in the design phase.  Once it is ready for sharing the exported document can be saved into a production folder for publication. This eliminates the risk that a partially finished product would be published by mistake.
  5.  Shorten the Review Cycle – Shorten the review cycle by directing all stakeholders to the correct folder.  This will reduced the need to email each version to everyone each time.  Comments can be made directly within the folder.

Having the ability to work collaboratively within a cloud application is a big advantage for graphic designers.  The files we tend to use are usually large and sending them back and forth is a consistent challenge.  Without a cloud application teams are forced to export and package the project at each step and send to each other using a dropbox or similar application.  The next team member has to download the content to their computer make any edits, and then send it on to the next step.  Watch as I demonstrate how your team can use Oracles Content Experience Cloud with your Adobe software to cut out steps and make collaboration a breeze.

The post Using Adobe InDesign with Oracle Content Experience Cloud appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

The Fishbowl Team Wins the 2017 Modern CX Hackathon at Oracle Openworld

The Fishbowl hackathon team headed out to San Francisco on Friday September 29th with Chatbots on the brain.  Their goal was to develop a solution that would improve sales productivity and margin as well as to improve executive insights and information access by allowing 24/7 conversational access to a sales pipeline.  And so the sales assistant chatbot was born.

The team spent the following 2 days writing code, utilizing Oracle’s cloud based services, and preparing their presentation for the judges.

The solution was dubbed SalesBot – The Intelligent Chatbot that adds optimization and Machine Learning to data access.  SalesBot would enable staff to:

Prepare for Sales Calls

 

  • View Customer Order history
  • List Past Work engagements
  • See Purchased Products
Manage Day to Day workloads
  • Create service Requests
  • Update and query contacts
  • View support tickets
Query Pricing Datasets
  • Quote estimates based on historical pricing data
  • Optimize margins
  • Estimate time to failure of parts

Congratulations to our team of Andy Weaver, Danny LeSage, John Sim, Matt Hornung,  and Tom Johnson.  We will be applying what we learned by expanding our already existing chatbot Atlas.  For more information or to see a demo contact info@fishbowlsolutions.com 

 

The post The Fishbowl Team Wins the 2017 Modern CX Hackathon at Oracle Openworld appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

PTC Windchill Success Story: Measuring so they can Manage

AN EQUIPMENT MANUFACTURER LEVERAGES FISHBOWL’S LINKTUNER TO MEASURE WINDCHILL PERFORMANCE BEFORE, DURING AND AFTER A GLOBAL IMPLEMENTATION

A large global customer planned to consolidate their many PTC data management systems into one global Windchill system. End user adoption was going to be a critical factor in a successful deployment and the Creo+Windchill system performance would be a key factor to facilitate end user adoption.  The Windchill team wanted a simple straightforward repeatable method to measure the Creo+Windchill performance that would allow them to:

  • Know what the incumbent system performance was at the time.
  • Measure and performance tune the new system during pre-production activity
  • Monitor the performance on “Day 1”
  • Systematically benchmark and report system performance into the future

As each division was going through migration and Go Live, the customer would run benchmarks on their existing Creo+Windchill environment, run benchmarks on the future systems in the test/QA environments, and then they would run benchmarks during production Go Live.  They also run ongoing scheduled benchmark monitoring to insure system performance does not degrade.  Fishbowl’s LinkTuner gave them a simple process to repeat the exact same benchmark test again and again without loading cache and diminishing the test results.  It also performed the benchmarks on local Creo workstations so it perfectly emulated what the end user does every day (it doesn’t “fake” transactions at the server level).

As each division migrated and went live on the new global Windchill system, the team was confident the users would have a good experience on “Day 1”, and after all you only have one chance at making a good first impression.

Are you looking to go global or maybe go into the cloud?  Are you curious about what the end user performance experience will be like… and I mean really be like?

Get ahead of potential performance issues by testing and benchmarking performance with actual user processes and data with Fishbowl’s LinkTuner for PTC Windchill. Read below for a customer example of how leveraging LinkTuner enabled them to confidently roll out PTC Windchill to their worldwide locations.

RESULTS
  • The customer successfully deployed a global system that outperformed their expectations and high user acceptance scores
  • They consolidated systems for better efficiencies at many levels and processes.
  • LinkTuner regularly benchmarks and measures the Creo – Windchill performance standard from each global location, allowing the client to be proactive with their system administration

 

Contact  Rick Passolt for more information on LinkTuner

The post PTC Windchill Success Story: Measuring so they can Manage appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Drive down WebCenter Content Storage Costs with Oracle Hierarchical Storage Manager (Oracle HSM) and Oracle Cloud Archive

Fishbowl’s worked with Oracle WebCenter Content customers that have stored as low as 7,000 documents in their content server and as high as 20 million. We are currently working with the customer that has the 20 million documents in their repository to discuss their options of upgrading to Oracle WebCenter Content 12c. The options being discussed include maintaining their on premise instances, or moving their instances to the Oracle Cloud leveraging Oracle Bare Metal.

As part of these cloud consulting engagements, we seek to understand their content management use cases and the content they are currently storing and managing. This customer is a large manufacturer. They store a variety of documents related to their industry including CAD drawings, but they also store business documents like invoices. The invoices are only accessed, on average, once per year but need to be retained for 7 years. They are stored on the same SAN disk array as the CAD drawings and other content, which are accessed more frequently and need to be presented to users quickly. This means they are paying the same per item storage cost to store invoices, CAD drawings, and other content.

A more efficient and economical storage strategy could be utilized with Oracle’s HSM solution. Oracle HSM software manages data between storage tiers to enable organizations to utilize the acquisition and operational cost differences between flash, disk, tape, devices, and the cloud. With Oracle HSM, large WCC environments like our 20 million item customer could store various content types automatically and transparently on the most cost effective storage medium based on retention policies, retrieval frequency and speed necessary. Such capabilities would better align the storage costs with organizational priorities as well as ease management overhead.

HSM could also alleviate any file storage cost concern of getting content off employee hard drives, file shares or other repositories into Oracle WebCenter Content. Content such as photographs used in a company branding or marketing campaign could be checked into WebCenter for long-term archival and directed to an economical storage medium via HSM. Not only does this ensure that high-value, expensive assets like professional photographs can be searched and found easily, it also enables them to be repurposed at a later time – alleviating the overall storage cost concern.

I’ve included below some more resources on Oracle HSM. The Oracle HSM team has even put together a storage cost calculator. Oracle HSM can also be used for video storage. How much storage costs could HSM save your organization?

http://www.oracle.com/us/media/calculator/tieredstorage/index.html

 

The post Drive down WebCenter Content Storage Costs with Oracle Hierarchical Storage Manager (Oracle HSM) and Oracle Cloud Archive appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Oracle WebCenter Enterprise Capture Overview

Oracle WebCenter Enterprise Capture can help resolve many frustrations companies experience. Questionable data integrity, lengthy check-in processes, wasting of resources (time, paper, etc.) are common day-to-day frustrations in many companies.  Oracle WebCenter Enterprise Capture strives to remove some of this headache and much more, all packaged in a user-friendly, web-based interface. I’ve helped several customers work through the process from design to go-live, and hope to share my experience on document capturing solutions.

WebCenter Enterprise Capture is a document capturing tool that includes an initial review for the documents captured by the system. Images can be captured in four different ways: manual upload, scanner, shared directory, or email. All documents can then be automatically released to a commit process or enter a review state. When a document enters the review state, the user can go into the system and view the item and/or define metadata. Also, multiple metadata profiles can be configured so multiple document types can be scanned or uploaded.

Once a document has been reviewed and released this will move to a defined commit processor. There are four different commit profiles. These four commit profiles are WebCenter Content, WebCenter Content Imaging, Oracle Document Cloud Service, or Text File. The defined commit profiles allow content to be easily linked to Oracle products. This helps alleviate issues associated with creating a custom commit driver that will have to be maintained for custom solutions.

Government Use Case

A scenario that a government company may run into is that they are drowning in paper. They will have file rooms filled floor to ceiling with paper documents because of retention policy. Storing large amount of paper documents introduces issues for space as well as time-to-access. Many companies will agree that rooms that are storing documents could have a better use, and that those who spend time digging through those rooms to find those document would likely prefer to be anywhere else.

WebCenter Enterprise Capture can be a great solution for this issue. This allows incoming documents to be stored electronically, removing the necessity of storing a physical copy. In this scenario, WebCenter Enterprise Capture is used to capture all incoming documents. Documents can then be automatically checked into Oracle WebCenter Content, or another content management system. WebCenter Content server can be configured to meet retention policy standards. Also, this solution provides an easy search experience, so users can quickly search for and locate documents.  What once was a frustrating, time-consuming, and potentially sweat-inducing process is now done in the click of a button. 

Now with this solution comes another major benefit. When documents are stored as paper, companies run the risk of disaster recovery. Paper documents are vulnerable to damage in many ways. When documents are stored electronically they can be recovered or restored from backups to minimize total loss.

Construction Company Use Case

Companies may also find frustration with a complicated process to check-in documents. Every company is always looking for the easiest way to get data into a content server. Along with the complexity to get content into the server comes an issue of associating the metadata to the document. WebCenter Enterprise Capture can help resolve this frustration by taking advantage of database lookups and an automated check-in process.

In this scenario, all documents are associated to a unique reference number. This unique reference number is stored in a database that has all associated metadata values for that document. In this solution, an email profile is configured for WebCenter Enterprise Capture to watch for documents entering the system. The subject line will always contain the unique reference number. Once a document is pulled into WebCenter Enterprise Capture the database lookup is triggered to populate all metadata. If there are no errors, this document is released to the content server and checked-in.

This provides two major benefits. The first is that metadata will remain consistent because users do not have to manually type in all the metadata. The other is that by simply sending an email the document is checked in. This reduces the amount of time spent on checking in documents.  Moral of the story: the metadata is now in alignment with the database, the document will be easier to find because of increased data integrity, and the users spent less time getting the document stored correctly. Win-win-win.

Advantages Over Third Party Applications

The first major benefit to using WebCenter Enterprise Capture is that the system is in an upgrade-able state. When using Third Party scanning applications, there is always a high risk of not being able to patch or upgrade other Oracle software because these applications have not been certified or integrated with the new application version. This can also increase the complexity of your solutions and make upgrades grueling or–potentially–fail completely.

The second major benefit is being able to take advantage of Enterprise Capture commit profiles. These profiles are designed in a way to map all data within an interface. In a third-party application, this will need to be developed to be able to map all data. This will lead to customizations which take more effort/time to develop and maintain.

Overall, the time, effort, development, and customization for a third-party application is not as effective as WebCenter Enterprise Capture. WebCenter Enterprise Capture provides more reliability than third party applications.

Tips

When configuring WebCenter Enterprise Capture, it is best practice to think about using database lookups and choice lists. This will provide two benefits. The first being that users will be able to reduce the time to populate metadata fields. The second being that metadata will have greater consistency.

The email upload option in WebCenter Enterprise Capture is an option commonly used when data is being sent to a company externally. This currently only supports IMAP email configuration. If POP3 email configuration is being used, WebCenter Enterprise Capture will not be able to be configured with the email upload. This is an issue that Fishbowl Solutions has run into in the past. If it is not possible to change the email protocol, one option that can be configured is the directory upload. This will allow users to manually drop files off in a filesystem location, or if this was from a multifunctional scanner, a profile can be configured to drop off to the shared watch directory. These files are then ready for Capture.

Conclusion

Overall, WebCenter Enterprise Capture is a document capturing tool that can resolve business problems or help alleviate struggles with current configurations. This tool is very flexible on how documents can be captured and committed. By using an Oracle product, there is not a fear with patching or upgrading software compared to using third-party applications. When trying to resolve problems with document capture, metadata consistency, and easier check-in processes, this product should be considered as a viable solution.

WebCenter Enterprise Capture Overview

Oracle WebCenter Enterprise Capture can help resolve many frustrations companies are experiencing such as, removing unwanted paper, easier check-in process, data integrity, and many more. In my experience, I have found that WebCenter Enterprise Captures interface to be user friendly.

WebCenter Enterprise Capture is a document capturing tool that includes an initial review for the documents being captured. Images can be captured in four different ways manual upload, scanner, shared directory, or email. All documents then can be automatically released to a commit process or enter a review state. When a user is in the review state the document can be viewed and metadata can be defined. Also, Multiple metadata profiles can be configured so multiple document types can be scanned or uploaded.

Once a document has been reviewed and released this will move to a defined commit processor. There are four different commit profiles. These four commit profiles are WebCenter Content, WebCenter Content Imaging, Oracle Document Cloud Service, or Text File. The defined commit profiles allow content to be easily linked to Oracle Products. This helps alleviate issues associated with creating a custom commit driver that will have to be maintained in custom solutions.

Government Use Case

A scenario that a Government company may run into is that they are drowning in paper. They will have file rooms filled floor to ceiling with paper documents because of retention policy. Storing large amount of paper documents introduces issues for space. Many companies will agree that rooms that are storing documents could have a better use.

WebCenter Enterprise Capture can be a great solution for this issue. This allows incoming documents to be stored electronically. This prevents the issue of having to store documents as paper. In this scenario WebCenter Enterprise Capture is used to capture all incoming documents. This then will check items directly into the Content server for storage. WebCenter Content server can be configured to meet retention policy standards. Also, this solution will provide a benefit that will allows users to use search capabilities to locate documents. This will help alleviate time searching in a file rooms for documents and allow the users to just click a button to search.

Now with this solution comes another major benefit. When documents are stored as paper companies run the risk of disaster recovery. Paper documents are vulnerable to damage in many ways. When documents are stored electronically they can be recovered or restored from backups to minimize total loss.

Construction Company Use Case

Companies can run into a frustration with a complicated process to check in documents to the content server. Every company is always looking for the easiest way to get data into a content server. Along with the complexity to get content into the server comes an issue of associating the metadata to the document. WebCenter Enterprise Capture can help resolve this frustration by taking advantage of database lookups and an automated check-in process.

In this scenario, all documents are associated to a unique reference number. This unique reference number is stored in a database that has all associated metadata values for that document. In this solution, an email profile was configured for WebCenter Enterprise Capture to watch for documents entering the system. The subject line will always contain the unique reference number. Once a document is pulled into WebCenter Enterprise Capture the database lookup is triggered to populate all data. If there are no errors this document is released to the content server and check-in.

This provides two major benefits. The first is that data will remain very consistent because users do not have to manually type in all the metadata. The other is that simply by sending an email the document will be checked in. This reduces the amount of time spent on checking documents in. So, users reduce the time to check an item in and increases the ease-ability to find documents in the content server.

Advantages Over Third Party Applications

The first major benefit to using WebCenter Enterprise Capture is being in an upgradable state. When using Third Party scanning applications there is always a high risk of not being able to patch or upgrade other Oracle software because these applications have not been certified or integrated with the new application version. This can also increase the complexity of your solutions and make upgrades grueling and ultimately not work at all.

The second major benefit is being able to take advantage of Enterprise Capture commit profiles. These profiles are designed in a way to map all data in an interface. In a third-party application, this will need to be developed to be able to map all data. This will lead to customizations and more effort/time to develop.

Overall the time effort, development, and customization for a third-party application is not as effective as WebCenter Enterprise Capture. WebCenter Enterprise Capture provides more reliability than third party applications.

Tips

When configuring WebCenter Enterprise Capture it is always best practices to think about using Database Lookups and Choice Lists. This will provide two benefits. The first being the users will be able to reduce the time to populate metadata fields and the second being that metadata in a stored state will have improved consistency of data.

The email upload option in WebCenter Enterprise Capture is an option commonly used when data is being sent to a company externally. This currently only supports IMAP email configuration. If POP3 email configuration is being used WebCenter Enterprise Capture will not be able to be configured with the email upload. This is an issue the Fishbowl Solutions has ran into in the past. If it is not possible to change the Email protocol one option that can be configured to be used is the directory upload. This will allow users to manually drop those files off or if this was from a multifunctional scanner a profile can be configured to drop off to the shared watch directory for upload.

Conclusion

Overall, WebCenter Enterprise Capture is a document capturing tool that can resolve business problems or help alleviate struggles with current configurations. This tool is very flexible on how documents can be captured and committed. By using an Oracle product there is not a fear with patching or upgrading software compared to using third-party applications. When trying to resolve problems with document capture, metadata consistency, and easier check-in processes this product should be considered as a possible solution.

The post Oracle WebCenter Enterprise Capture Overview appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Accelerated Mobile App Development with Oracle Mobile Cloud Service – Part 2

Part 2: Mobile App Development with MCS

In Part 1, we explored using Oracle’s Mobile Cloud Service as tool to provide the backend services needed to retrieve data from an Oracle EBS Pricing and Availability form. With our mobile backend and custom API’s created, the actual app development can now begin!

 

Creating a Native App

For the next step of my POC, I’ll be creating a simple iOS application that allows me to lookup a Pricing and Availability item and view its properties and warehouse locations. Before firing up Xcode, I need to click the “SDK Downloads” from the MCS Applications page and download the iOS SDK.

 

As I mentioned earlier, the SDK will allow me to make MCS API calls with one or two lines of code. In order to take advantage of it I need to add the static libraries and header files from the downloaded SDK to my project in Xcode and properly link them.

 

The SDK download also includes an “OMC.plist” file that will need to be added to my project. The OMC.plist will hold the settings that are needed to connect to our Pricing and Availability mobile backend. The Settings tab of the Pricing and Availability backend in MCS has several of the items we need. Since we’re using basic authentication, we need to get the Mobile Backend ID, Anonymous Key, and the Base URL of our MCS environment.

 

We’ll also need the application key we were provided earlier after creating our mobile client. After adding these items to the OCM.plist, the initial MCS setup of our project is complete.

 

When a user runs my app, the first thing they will need to do is login. I put together a basic login screen with username and password fields.

 

When a user taps the Login button I simply need to authenticate against my mobile backend with these three lines of code:

 

If no error is returned then the authentication is successful and I can dismiss my login screen. My user will then be presented with my search screen which simply contains a table view with a search bar at the top.

This is the point where we utilize the Pricing and Availability custom API that we previously configured. When a user enters a Pricing and Availability Item’s ID and taps the search button I’ll need to make a GET call to the /pricingandavailabilityitem/{id} endpoint in order to return the matching item. Once again, this can be handled with a few lines of code:

 

The response is then parsed and a result row is added to my table view.

 

Tapping on the result row will bring the user to my item details screen where the Pricing and Availability item’s properties are displayed. I also want to display the warehouse locations for my item on the details screen so I make a similar second call to the pricingandavailabilityitem/{id}/pricingandavailabilityitemlocation endpoint and populate the results in another table view.

 

At this point I have successfully achieved the goal of displaying EBS form information on a mobile device! As you can see, the amount of effort required to authenticate and retrieve the data was minimal, whereas without MCS those tasks would have consumed a large percentage of my time.

 

Creating a MAX App

While the iOS SDK may have made my app development seem fairly effortless, MCS actually provides an easier way for me to achieve my goal. On the MCS Applications page, there is a Mobile Apps section that takes you to the Mobile Application Accelerator (MAX) application.

 

With the MAX application, it is possible to quickly put together a mobile app with absolutely no coding involved. With its drag-and-drop web interface, non-technical business users can easily login and build their own mobile apps in minutes.

Let’s take a look at building the same POC as a MAX application. Clicking the “New Application” button will take you through a simple app creation wizard.

 

After providing your app name and choosing your screen layout you will be presented with a blank home screen where you can drag and drop UI elements onto various content areas. Just like the native app, my MAX app will first present the user with a search screen that will display Pricing and Availability Item search results. To handle this, I’ll be adding a list element onto my home screen and enabling its search option which will automatically add a search field to the top of it.

 

Next we’ll need to indicate what data will be populated in our list element. Clicking “Add Data” will allow you to map any UI element to a data source. Choosing a data source is as simple as selecting the Pricing and Availability Item resource from our custom API. Our MAX app will automatically use the appropriate API calls to retrieve our data. We can then drag and drop properties from our Pricing and Availability resource onto each of the four available search result row labels to be displayed. I chose to use the Item Description, Item Type, Unit Pricing, and Pricing currency fields.

 

Since our Pricing and Availability Item API call requires an ID parameter we indicate that the list element’s search field will be the source.

 

Our search page now has what it needs to lookup a Pricing and Availability Item.

 

In order to see the details of a Pricing and Availability item, we will need to provide an action on the list element’s action tab. After clicking the Actions tab, another drag and drop interface allows us to indicate that when a list item is tapped, we will be taken to a new Pricing and Availability item detail screen.

 

In addition to displaying the Pricing and Availability item properties, I also want the new Pricing Item Detail page to display the warehouse locations. To handle this, when creating my details screen I choose the “Screen with Top Tabs and Summary” page template and specify three separate tabs: Overview, Quantities, and Warehouses. For each of the tabs, I follow the same process of dragging UI elements onto the content areas and mapping a data source to them. My Overview tab gets a form UI element that displays my Pricing and Availability Item’s properties. The Warehouses tab gets a list element that displays a list of all warehouse locations for the pricing item.

For the Quantities tab, I wanted to demonstrate a nice feature of MCS with the use of a bar chart to easily view the item quantities at each warehouse. I simply drag a bar chart UI element onto the tab and map the data source to my Pricing and Availability Item Locations resource with the warehouses along the X-Axis and the quantities along the Y-axis.

 

With our app complete, testing it out is as easy as hitting the test button. An iOS or Android simulator will run right in your browser.

 

Testing on or publishing to a mobile device isn’t that much more complicated. Once you install Oracle’s Mobile Application Accelerator client app on your device, you can easily add your MAX apps as “apps within an app” via a QR code. Avoiding time consuming app publishing processes means business users can get the tools they need with a few clicks.

 

Compared to native app development, the MAX app was created in a fraction of the time, and as you can see, no coding was involved. As easy as it was to build my POC, MAX has its limitations. Screens can be easily setup to search, view, add, edit, and delete business objects, but beyond that, you might need to get creative. Developing the right custom API for my Pricing and Availability app could make it possible to submit an item purchase, but the overall user experience will be limited. For more flexibility, native and hybrid apps will still have their place.

 

Conclusion

Overall, my POC just scratches the surface of what MCS can do. With the platform API’s providing database & content storage capabilities, push notifications, offline syncing, and built-in analytics, most of the things mobile apps require are readily available without having to worry about backend hardware and software. Having the ability quickly to assemble these platform API calls into custom API’s that can be reused across many mobile backends means that MCS has the potential to easily bring many aspects of a business to mobile devices.

By utilizing the MCS SDK’s, many of the common tasks of mobile app development that had previously been significant technical hurdles now become minor steps handled with a few lines of code. Considering the amount of effort that some of these common tasks required in my previous mobile projects, I believe MCS could have cut my development time in half. Realistically, organizations could have a mobile app in production use within a matter of hours. Being able to realize such quick time to value with a mobile app is definitely a key value proposition of MCS, so if that is important to your organization I recommend you give MCS a try.

The post Accelerated Mobile App Development with Oracle Mobile Cloud Service – Part 2 appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Accelerated Mobile App Development with Oracle Mobile Cloud Service – Part 1

Part 1: MCS Mobile Backends

The past decade has seen a steady rise in the use of mobile applications across nearly all industries. At Fishbowl Solutions, we have played a part in this trend by developing a series of Android and iOS apps that allow users to easily access their Oracle WebCenter content from their phones and tablets.

In my experience with mobile app development, I have found that a vast majority of development effort is spent on the same common tasks:

  • Writing code involving interaction with the backend server such as authentication & authorization
  • Retrieving & storing data
  • Synching content locally to devices for offline use
  • Sending push notifications across multiple device platforms.

These tasks always take a lot more effort than expected and tend to feel like I am reinventing the wheel. Even after the initial development, periodic changes to the backend server often require updated versions of the apps to be pushed through time-consuming publishing processes.

Time spent on these basic tasks is time that could be better spent adding additional features and creating a better user experience. Because of this, I was excited to learn that Oracle’s Mobile Cloud Service could be the solution to these problems.

What is Oracle Mobile Cloud Service?

Oracle Mobile Cloud Service (MCS) is a cloud service that provides a set of tools to support enterprise-wide mobile development. It allows quick creation and deployment of the back-end services your apps require without the initial hardware and software setup. With a small amount of configuration, any of these back-end services can be made available to your apps via REST API calls.

To handle features required by most apps, MCS includes the following built-in “Platform API’s”:

  • Authentication & Authorization
  • Database Storage
  • Content Storage
  • Push Notifications
  • Analytics
  • Offline Data & Synching
  • Mobile User Management

Having to configure all of these features on your own server would be a daunting task and likely set you back days or even weeks, but MCS provides the capabilities out of the box within minutes.

In addition to these platform API’s, MCS allows custom API’s to be quickly developed in NodeJS to create additional back-end services. With a few lines of JavaScript, additional calls to any of the Platform API’s or external services can be made allowing you to provide the exact functionality required by your mobile apps.

After your API’s are configured, MCS provides downloadable SDK’s for Android, iOS, Cordova (JavaScript), and Windows. Embedding these SDK’s in your code allows MCS API’s to be called with one or two lines of code compared to the many lines of code that would be required to make the API call manually.

MCS Mobile Backend Setup

I decided to try out MCS by creating a small proof-of-concept or POC. One of the problems Fishbowl customers face is accessing forms from Oracle E-Business Suite (EBS) on mobile devices, so I decided that the end goal for my POC would be to view the Pricing and Availability form in EBS on a mobile device.

 

Here is a simplistic view of this business challenge:

 

As a legacy application, EBS has no API of its own. To get around this we decided to enlist the help of a tool called AuraPlayer. AuraPlayer has the ability provide web services that allow us to externally interact with EBS forms. I’m not going to cover the AuraPlayer details in this blog, but the important thing to know is that after setting up the AuraPlayer services, I can now make a request to <AuraPlayerBaseURL>/PricingAndAvailability_queryByLabel?Item=AS18947 and receive a JSON response containing a list of my AS18947 pricing and availability item’s form fields from EBS along with a list of warehouse locations where the item is in stock.

Once the AuraPlayer services to EBS are configured my Pricing and Availability data is one step closer to reaching my mobile app:

 

At this point we’re now ready to setup MCS in order to fill the gap in the process. Our final configuration will look like this:

 

Any mobile application connecting to MCS will first and foremost require a Mobile Backend. Mobile Backends are MCS objects that group together a specific set of API’s along with the client applications and the set of users who will utilize them. In this scenario, I need to create a “Pricing and Availability” mobile backend that exposes a custom “Pricing and Availability” API to my mobile app. Since my Pricing and Availability API needs to make calls to the AuraPlayer services which are outside of MCS, I will also need to create a Connector. Connectors are MCS objects that provide access to external REST and SOAP API’s. Next, in order for my mobile application to access the mobile backend I will need to register my mobile application by setting up a Mobile Application Client. The last item needed is a test user who will have access to the mobile backend and the API. To summarize – labeled above:

  1. Create a mobile backend for “Pricing and Availability”
  2. Create a Pricing and Availability custom API
  3. Create AuraPlayer connector
  4. Register my app by setting up Mobile Application Client
  5. Set up a test user

Let’s now walk through the setup process in MCS.

 

After logging into the MCS interface, we first need to click on “Mobile Backends” and create a new mobile backend called “PricingAndAvailabilityBackend”.

 

With our new mobile backend created, the first thing we need to do is create at least one user who can access the backend. This can be done by clicking on the Users tab. In MCS, all mobile backends are associated with one User Realm. User Realms are sets of users that can either be managed directly in MCS or configured to connect to your company’s SSO. In our case, we will just create a new user called “testuser” under the default realm. Now that we have our test user, we can create our new Pricing and Availability custom API. When clicking on the API’s tab we see the message indicating that we don’t have any API’s selected, but before we create one we first need to create our AuraPlayer connector.

 

A new connector can be created by going to Applications > Connectors and clicking “New Connector”. In the connector setup wizard, I named it “AuraPlayerConnector” and provided the base service URL where the AuraPlayer REST services are accessed.

 

The Rules page of the Connector wizard allows any default parameters to be specified. Since all of my service calls to AuraPlayer have several required parameters I added them here.

 

The last step in the Connector wizard allows the connector to be tested. I provided the /PricingAndAvailability_queryByLabel?Item=AS18947 service URL I mentioned earlier that should return a pricing & availability item from EBS.

 

Since a connector must run under a mobile backend as a specific user, I select my backend and enter my test user’s credentials. I then click “Test Endpoint” and after receiving my expected JSON response I conclude that my AuraPlayer connector is configured correctly!

 

Our next task is to create the custom Pricing and Availability API that will utilize the newly created AuraPlayer connector. Going back to the mobile backend’s API tab we can now click the “New API” button. After providing the name of the API, the first thing to do is specify our available endpoints via the Endpoints tab. Clicking “New Resource” lets you add an Endpoint. I initially add two endpoints. One returns a collection of all pricing and availability items with a resource path of:

/pricingandavailabilityitem

The other returns a specific pricing and availability item with a resource path of:

pricingandavailabilityitem/{id}

where {id} is the item number in EBS.

Since my AuraPlayer services can also return a pricing and availability item’s warehouse locations, I decided to create two more endpoints underneath the pricingandavailabilityitem/{id} endpoint. This is done by clicking that endpoint’s “Add Nested Resource” icon. I create one endpoint that returns all pricing and availability item locations for a given item with a resource path of:

pricingandavailabilityitem/{id}/pricingandavailabilityitemlocation

I then create another endpoint that returns a specific pricing and availability item location for a given item with a resource path of:

pricingandavailabilityitem/{id}/pricingandavailabilityitemlocation /{pricingandavailabilityitemlocation_id}

 

For each endpoint created, I specify display names, descriptions, and available methods. For my initial POC, I’ll really only need GET methods.

 

With our endpoints defined, we now need to implement their behavior. MCS custom API’s are written in NodeJS using the ExpressJS framework. By clicking on the Pricing and Availability API’s Implementation tab, you can see a “JavaScript Scaffold” button which allows you to download a pre-built NodeJS project with each of your API’s endpoints already stubbed out for you.

 

After downloading the scaffold package the main file needing to be edited is the pricingavailabilityapi.js file.

 

In this file, each route will need to be implemented. Since my Pricing and Availability API is simply calling my AuraPlayer connector there won’t be a whole lot of work to be done. For my /pricingandavailabilityitem/{id} route, I basically need to do three things:

  1. Get the Pricing and Availability item’s “{id}” parameter from the request object.
  2. Use my connector to make a GET call to AuraPlayer specifying the “PricingAndAvailability_queryByLabel” resource and the id parameter.
  3. Extract the required elements from the AuraPlayerConnector results and return them in the API response.

 

Aside from building out each of my routes, the other important change is to add my API and connector dependencies in the package.json file.

 

Once that is taken care of, simply package up the files and upload them on the API’s Implementation tab.

 

With our Pricing and Availability API finished, our mobile backend is almost complete. As I mentioned earlier, in order for our mobile application to access the mobile backend we will need to register it on the PricingAndAvailabilityBackend Clients tab by clicking “New Client”.

 

A client is easily created by specifying the client name, platform, app version, and the bundle ID. Once the client is created you will be presented with an application key that will be needed when we build our app.

 

That’s basically it for our MCS setup. Within a few hours, my mobile app has what it needs to access the Pricing and Availability forms in EBS.

 

While MCS will prove to be valuable at quickly providing your backend services, it also provides the tools to save time on our front-end app development. In part 2, I will continue my POC by creating the mobile app that will access the newly created MCS mobile backend.

 

Next: Accelerated Mobile App Development with Oracle Mobile Cloud Service – Part 2

The post Accelerated Mobile App Development with Oracle Mobile Cloud Service – Part 1 appeared first on Fishbowl Solutions.

Categories: Fusion Middleware, Other

Using Cloud Foundry CUPS to inject Spring Security credentials into a Spring Boot Application

Pas Apicella - Thu, 2017-09-14 18:48
The following demo shows how to inject the Spring Security username/password credentials from a User Provided service on PCF, hence using the VCAP_SERVICES env variable to inject the values required to protect the application using HTTP Basic Authentication while running in PCF. Spring Boot automatically converts this data into a flat set of properties so you can easily get to the data as shown below.

The demo application can be found as follows

https://github.com/papicella/springsecurity-cf-cups

The application.yml would access the VCAP_SERVICES CF env variable using the the Spring Boot flat set of properties as shown below.

eg:

VCAP_SERVICES

System-Provided:
{
 "VCAP_SERVICES": {
  "user-provided": [
   {
    "credentials": {
     "password": "myadminpassword",
     "username": "myadminuser"
    },
    "label": "user-provided",
    "name": "my-cfcups-service",
    "syslog_drain_url": "",
    "tags": [],
    "volume_mounts": []
   }
  ]
 }
}
...

application.yml

spring:
  application:
    name: security-cf-cups-demo
security:
  user:
    name: ${vcap.services.my-cfcups-service.credentials.username:admin}
    password: ${vcap.services.my-cfcups-service.credentials.password:password}
Categories: Fusion Middleware

Pages

Subscribe to Oracle FAQ aggregator - Fusion Middleware