Fishbowl’s Agile (like) Approach to Oracle WebCenter Portal Projects

In this video blog, Fishbowl Solutions’ Technical Project Manager, Justin Ames, and Marketing Team Lead, Jason Lamon, discuss Fishbowl’s Agile (like) approach to managing Oracle WebCenter portal projects. Justin shares an overview of what Agile and Scrum mean, how it is applied to portal development, and the customer benefits of applying Agile to an overall portal project.

Customer Testimonial:

“This is my first large project being managed with an Agile-like approach, and it has made a believer out of me. The Sprints

and Scrum meetings led by the Fishbowl Solutions team enable us to focus on producing working portal features that can be quickly validated. And because it is an iterative build process, we can quickly make changes. This has lead to the desired functionality we are looking for within our new employee portal based on Oracle WebCenter.”

Michael Berry

Staff VP, Compensation and HRIS

Large Health Insurance Provider

Oracle JET and RequireJS

What is RequireJS and why is it important?

RequireJS is a JavaScript file and module loader. Oracle JET uses Require to load only the libraries and modules/components that are needed for a particular part of an Oracle JET application.

As the JavaScript world has taken off, web applications have grown large, and monolithic client.js files have become the norm. This type of code “organization” is difficult to maintain, read and test. In addition, more and more libraries, frameworks, plugins, etc. are being included in applications, making the loading of those resources complicated and slow. Truly, it is a waste to load every script file for each page of an application if it is not needed to run that particular page.

Require was born out of the need to reduce this code complexity. As such, it improves the speed and quality of our code. At its heart, RequireJS was designed to encourage and support modular development.

What is modular development?

Modular development separates out code into distinct functional units. This kind of organization is easy to maintain, easy to read (when coming into an existing project, for example), easy to test, and increases code re-usability. RequireJS supports the Asynchronous Module Definition (AMD) API for JavaScript modules. AMD has a particular way of encapsulating a module and embraces asynchronous loading of a module and its dependencies:

Factory Function

In this module, we call define with an array of the dependencies needed. The dependencies are passed into the factory function as arguments. Importantly, the function is only executed once the required dependencies are loaded.

What does Require look like in Oracle JET

In an Oracle JET application, RequireJS is set up in the main.js (aka “bootstrap”) file. First we need to configure the paths to the various scripts/libraries needed for the app. Here is an example of the RequireJS configuration in the main.js file of the Oracle JET QuickStart template. It establishes the names and paths to all of the various libraries necessary to run the application:

RequireJS configuration

 

Next we have the top-level “require” call which “starts”our application. It follows the AMD API method of encapsulating the module with the require, and passing in dependencies as an array of string values, then executing the callback function once the dependencies have loaded.

Top Level Require

Here we are requiring any scripts and modules needed to load the application, and subsequently calling the function that creates the initial view. Any other code which is used in the initial view of the application is also written here (routing, for example). Note, we only pass in the dependencies that we need to load the initial application, saving valuable resources.

Using RequireJS in other modules/viewModels

RequireJS is also used in the other JavaScript files of a JET application to define viewModels. The syntax used, however, is slightly different, and can be confusing. Let’s take a look:

View Model RequireJS Syntax

Here we are passing in an array of dependencies, but we’re using “define”, and not “require.” In short, “define” is used to facilitate module definition, while “require” is used to handle dependency loading. In a module definition, for example, we can utilize “require” WITHIN a module to fetch other dependencies dynamically. “Require” is typically used to load code in the top-level JavaScript file, and “define” is used to define a module, or distinct functional portion of the application.

Oracle JET makes use of RequireJS to support modular development. Require manages the many JavaScript files and module dependencies needed in an Oracle JET application. It simplifies and organizes the development process, and makes reading, writing and testing code much more straightforward.

Taxonomy is a Sleeper. The reasons from A to ZZZs that taxonomy hasn’t been a part of your most important projects—but should be!

I’m a taxonomy practitioner at Fishbowl Solutions who has worked with many companies to implement simple to sophisticated document management systems. I’ve noticed over the years the large number of obstacles that have prevented companies from establishing taxonomy frameworks to support effective document management. I won’t review an exhaustive alphabetic list of obstacles, in fact, there are probably far more than 26, but I’ll highlight the top culprits that have turned even the best, most sophisticated companies away from taxonomy.  Don’t fall asleep.  Don’t hit snooze.  Make sure you don’t miss one of the most important parts of a document management software project–taxonomy. Taxonomy is a necessity to deliver effective document management solutions in Oracle WebCenter Content, SharePoint, or any other enterprise content management solution.  You’ll get the most out of the software and your users.

Authority. Who owns taxonomy? Does IT own the taxonomy or a Quality Management Department or all departments own a piece?   Determining decision-makers and authority to sign off on taxonomy frameworks can be difficult.  After all, taxonomies are best when they are enterprise-wide solutions.  Then, users have a familiar context when working with documents for all business purposes.  Don’t let challenges with authority prevent you from establishing taxonomy for your project.  Plan on establishing a governance team to own the taxonomy practice for the current project and in the future.

Bright. Shiny. Object. Taxonomy is not a bright shiny object.  It’s not as fancy as the user interface of the new software.  It doesn’t have the “bells and whistles” that hardware and devices have either.  So, too often document management projects end up focusing on the software and not the necessary taxonomy that makes that software a rock star.  Don’t be blinded.  If you want users to have a great experience, work with documents effectively, and generally adopt your new document management software, you must ensure you define a taxonomy.   Otherwise, your bright shiny object may easily be replaced by the next one as it loses appeal.

Complicated. I often hear from customers that a business taxonomy is complicated.  It can seem insurmountable to sift through existing taxonomy frameworks (or identify new ones), synthesize frameworks, identify new requirements, and really come up with something comprehensive.  Regardless, it’s necessary.  If a taxonomy effort is complicated, think of how complicated managing and searching documents is for your users. Help your users by including taxonomy in your next project to simplify their experience.  It’s the foundation for browsing, searching, contribution, workflows, interface design, and more.

Glamour. Unfortunately, taxonomy is not glamorous.  It’s hard, investigative work.  It entails identifying stakeholders; meeting with stakeholders to really understand documentation, process, and users; generating consensus; and documenting, documenting, documenting.  On top of that, it’s invisible.  Users often don’t even notice taxonomies, especially if they’re good.  But if a taxonomy is non-existent or poorly designed, your users will notice the taxonomy for all the wrong reasons—unintuitive naming, missing categories, illogical hierarchies, and more.  Even though taxonomy is not glamorous, it demands an investment to ensure your project is successful, at launch and thereafter.

Time. It’s common to hear in projects that there is just not enough time.  Customers may say “We need to complete X with the project by date Y.”  Or, “The management team really needs to see something.”  Frequently, the most important milestones for projects are software-related, causing taxonomy to lose focus.  The good thing about taxonomy is that projects can work concurrently on the software build out as they work on taxonomy frameworks.  You can do both and do them well.  Resist the urge to scope out taxonomy in your next project and consider creative ways to plan in taxonomy.

What? Yes, taxonomy has been around for a long time, but still often in projects I see that it’s just something that people are not aware of.  It’s existed for years in the biological and library sciences fields and has had application in IT and many other fields, but often it is just not understood for document management projects.  If you’re not familiar with taxonomy, see my previous blog post “Taxonomy isn’t just for frogs anymore.” and consider hiring a reputable company that can guide you through the practice for your next project.

ZZZs. It’s often perceived as a boring practice with tasks that are in the weeds, but some of us do love it.  Actually, we even find it rewarding to solve the puzzle of the perfect categorization that works for the project and the customer.  If you’re new to taxonomy, you may find that you like it too.  If not, find a resource for your project who has a passion for taxonomy because a good taxonomy is so important to successful document management projects.

smileyeyesIt’s time to have your eyes wide open. If you’re considering a document management software or improvement project, consider how important the underlying taxonomy is for your project and plan taxonomy analysis and development as a required effort.  Your users will appreciate it and your business will see increased software utilization.  Remember the old adage, “Technology cannot solve your business problems?”  It can’t.  But technology + taxonomy can.

 

 

This blog is one in a series discussing taxonomy topics.  Watch for the next blog coming soon.

 

Carrie McCollor is a Business Solutions Architect at Fishbowl Solutions. Fishbowl Solutions was founded in 1999. Their areas of expertise include Oracle WebCenter, PTC’s Product Development System (PDS), and enterprise search solutions using the Google Search Appliance. Check out our site to learn more about what we do.

 

Taxonomy isn’t just for frogs anymore. What taxonomy means in document management.

 

taxonomyfrogTaxonomy can be a nebulous term. It has existed for years, having probably its most common roots in the sciences, but has blossomed to apply its practices to a plethora of other fields.  The wide application of taxonomy shows how useful and effective it is, yet its meaning can be unclear due to its diversity.  We identify with taxonomy in library sciences with the Dewey Decimal System and we identify with taxonomy in the scientific use when we talk about animals (Kingdom: Animalia; Phylum: Chordata; Class: Amphibia; Clade: Salientia; Order: Anura (frog)).  These are familiar uses to us.  We learned of them early on in school.  We’ve seen them around for years—even if we didn’t identify them as taxonomies.  But what is taxonomy when we talk about subjects, like documents and data, that aren’t so tangible?  As a Business Solutions Architect at Fishbowl Solutions, I encounter this question quite a bit when working on Oracle WebCenter Content document management projects with customers.

The historical Greek term taxonomy means “arrangement law.”  Taxonomy is the practice in which things, in this case documents, are arranged and classified to provide order for users.  When it comes to documents, we give this order by identifying field names, field values, and business rules and requirements for tagging documents with these fields.  These fields then describe the document so that we can order the document, know more about it, and do more with it.

Here’s an example:lilypadtax

  • Document Type: Policy
  • Document Status: Active
  • Document Owner: Administrator
  • Lifecycle: Approved
  • Folder: HR
  • Sub-Folder: Employee Policies
  • And so on…

Defining taxonomy for documents provides a host of business and user benefits for document management, such as:

  • A classification and context for documents. It tells users how a document is classified and where it “fits in” with other documents. It gives the document a name and a place. When a document is named and placed, it enables easier searching and browsing for users to find documents, as well as an understanding of the relationship of one document to another. Users know where it will be and how to get it.
  • A simplified experience. When we have order, we reduce clutter and chaos. No more abandoned or lost documents. Everything has a place. This simplifies and improves the user experience and can reduce frustration as well. Another bonus: document management and cleanup is a simple effort. Documents out of order are easy to identify and can be put in place. Documents that are ordered can be easily retrieved, for instance for an archiving process, and managed.frogelement
  • An arrangement that makes sense for the business. Using taxonomy in a document management system like Oracle’s WebCenter Content allows a company to define its own arrangement for storing and managing documents that resonates with users. Implementing a taxonomy that is familiar to users will make the document management system exponentially more usable and easier to adopt. No more guessing or interpreting arrangement or terminology—users know what to expect, terms are common, they are in their element!
  • A scalable framework. Utilizing a defined and maintained taxonomy will allow users to adopt the common taxonomy as they use the document management system, but will also allow for business growth as new scope (documents, processes, capabilities, etc.) is added. Adding in a new department with new documents? Got it. Your scalable taxonomy can be reused or built upon. Using a comprehensive taxonomy that is scalable allows for an enterprise approach to document management where customizations and one-offs are minimized, allowing for a common experience for users across the business.
  • A fully-enabled document management system. Lastly, defining a taxonomy will allow for full utilization of your OracleWebCenter Content, or other, document management system.   Defining a taxonomy and integrating it with your document management system will enable building out:
    • logical folder structures,
    • effective browse and search capabilities,
    • detailed profiles and filters,
    • advanced security,
    • sophisticated user interfaces and more.

Clearly, a taxonomy is the solution to providing necessary order and classification to documents. It creates a common arrangement and vocabulary to empower your users, and your document management system, to work the best for you.  Now hop to it!

This blog is the first in a series discussing taxonomy topics.  Watch for the next blog entitled “Taxonomy is a Sleeper. The reasons from A to ZZZs that taxonomy hasn’t been a part of your most important projects—but should be!”

Carrie McCollor is a Business Solutions Architect at Fishbowl Solutions. Fishbowl Solutions was founded in 1999. Their areas of expertise include Oracle WebCenter, PTC’s Product Development System (PDS), and enterprise search solutions using the Google Search Appliance. Check out our site to learn more about what we do.

Fishbowl Hackathon 2016 Summary – Oracle WebCenter Innovations with Slack, Google Vision, and Email

This post comes from Fishbowl’s president, Tim Gruidl. One of Tim’s biggest passions is technology innovation, and not only does he encourage others to innovate, he participates and helps drive this where he can. Tim likes to say “we innovate to help customers dominate”. Tim summarizes Fishbowl’s Hackathon event, held last Friday and Saturday at Fishbowl Solutions, in the post below.

TimWhat an event! I want to start by thanking Andy Weaver and John Sim (Oracle ACE)! Without their passion, drive, leadership and innovation, this event would not be possible.

What a great event to learn, build the team, interact with others and compete. We also created some innovative solutions that I’m sure at some point will be options to help our customers innovate and extend their WebCenter investments. This year, we had 3 teams that designed and coded the following solutions:

  • InSight Image Processing – Greg Bollom and Kim Negaard

They leveraged the Google Vision API to enable the submission of images to Oracle WebCenter and then leveraged Google Vision to pull metadata back and populate fields within the system. They also added the ability to pull in GPS coordinates from photos (taken from cameras, etc.) and have that metadata and EXIF data populate WebCenter Content.

Fishbowl Product Manager, Kim Negaard, discusses the Google Vision API integration with WebCenter

Fishbowl Product Manager, Kim Negaard, discusses the Google Vision API integration with WebCenter.

  • Slack Integation with WebCenter Portal and Content – Andy Weaver, Dan Haugen, Jason Lamon and Jayme Smith

Team collaboration is a key driver for many of our portals, and Slack is one of the most popular collaboration tools. In fact, it is currently valued at $3.6 billion, and there seems to be a rapidly growing market for what they do. The team did some crazy innovation and integration to link Slack to both WebCenter Portal and WebCenter Content. I think the technical learning and sophistication of what they did was probably the most involved and required the most pre-work and effort at the event, and it was so cool to see it actually working.

Team Slack integration presentation.

Team Slack integration presentation.

  • Oracle WebCenter Email NotesJohn Sim (Oracle ACE) Lauren Beatty and me

Valuable corporate content is stored in email, and more value can be obtained from those emails if the content can be tagged and context added in a content management system – Oracle WebCenter. John and Lauren did an awesome job of taking a forwarded email, checking it into WebCenter Content to a workspace, and using related content to build relationships. You can then view the relationships in a graphical way for context. They also created a mobile app to allow you to tag the content on the go and release it for the value of the org.

That's me explaining the email integration with Oracle WebCenter Content.

That’s me explaining the email integration with Oracle WebCenter Content.

Participants voted on the competing solutions, and it ended up being a tie between the Google Insight team and the Email Notes team, but all the solutions truly showed some innovation, sophistication, and completeness of vision. A key aspect of the event for me was how it supported all of Fishbowl’s company values:

Customer First – the solutions we build were based on real-life scenarios our customers have discussed, so this will help us be a better partner for them.

Teamwork – the groups not only worked within their teams, but there was cross team collaboration – Andy Weaver helped John Sim solve an issue he was having, for example.

Intellectual Agility – this goes without saying.

Ambition – people worked late and on the weekend – to learn more, work with the team and have fun.

Continuous Learning – we learned a lot about Slack, cloud, email, etc.

Overall, the annual Hackathon is a unique event that differentiates Fishbowl on so many fronts. From the team building, to the innovation keeping us ahead of the technology curve, to all the learnings – Hackathons truly are a great example of what Fishbowl is all about.

Thanks to all that participated, and remember, let’s continue to innovate so our customers can dominate.

Tim