Category: Strategy

A Pulse on the Cassandra Community

Posted by on April 08, 2015

IMG_7817

Standing Room Only

I recently attended a Cassandra Day community event. If the crowd was any indication of the install base, I would have to say the interest is strong to quite strong. The weather was miserable in Atlanta and people still managed to show up!

You can spend a lot of time reading articles and various ‘expert’ opinions across the technology world on what is the latest and greatest tool. In addition to reading I would encourage you to collect your own data points and GO TO a community event. You’re able to feel the energy and see first hand the momentum of a product – or lack thereof. Vendor pitches are kept to a minimum and the content tends to be well thought out.

This was my first Cassandra dedicated event but not my first exposure to the Database. The schedule looked typical from the technical side and the morning even included a ‘business’ session that included use-case examples. I made an effort to see a little of both.

The business track was kicked off with your traditional endless amounts of data sales pitches and an introduction to DataStax, the commercial company that offers support and tooling for Cassandra. Standard vendor conference stuff.

So who is using Cassandra? I was pleasantly surprised to hear and learn about companies other than Netflix. Don’t interpret that negatively. Netflix is a great spokesperson for the Cassandra community and helped launch them towards the top of the NoSQL leaderboard. Netflix’s scale is impressive but there is nothing wrong with a little variety. Ask and you shall receive. Target, Safeway and Kroger were all presented as current users.

I found Safeway’s Cassandra use most interesting. They are building an app that takes your shopping list, locates the nearest store and maps product-to-aisle within that store. Cool to see grocery chains embrace technology and try and solve a problem every person has struggled with at one point or another. During the presentation one question stood out in my mind – Why no Mongo? Geolocation has been a very strong use-case for MongoDB since the early days of the product. Unfortunately, the overview was light and the entire story was not shared – but it makes me wonder if Cassandra’s closing the gap on MongoDB faster than what the market perceives.

After DataStax we heard from Asurion (you know, the cell phone insurance folks – you lose or break your phone and they send you a new one for $200), who shared their journey to Cassandra. They followed a typical path through NoSQL enlightenment. RDBMS was failing on scale, along with other things, and they needed a fix.

Asurion’s story: step 1, Postgres to MongoDB. Why didn’t that work for them? It boiled down to lack of understanding MongoDB and assuming it was a drop-in replacement for RDBMS(applying the same relational principles to NoSQL and expecting a better outcome), cites the VP at Asurion. Operational tooling for MongoDB was also another reason why it wasn’t selected. Lack of tooling created a broader challenge when it came to scaling internal resources and their ability to use the tool.

But why Cassandra? DataStax’s operational tooling, analytics strength and scaling capabilities were all mentioned as reasons why – and why they continue to build on Cassandra. I wouldn’t get hung up on the analytics and scale comments since these mean different things to different people. Takeaway, DataStax’s focus on operational tooling continues to be a valuable strategy in gaining new customers.

If MongoDB was evaluated second would it have prevailed? Maybe, Maybe Not.

Data Modeling 101 was the most memorable session for me. When you walk into a large conference room and there are no available seats – you know you’re in for a good session. I’m not exaggerating – there weren’t even the awkward middle seats that people leave open to avoid sitting close to strangers. (see picture at the top)

The speaker was patient and managed the large crowd well. There were plenty of relational modeling to Cassandra modeling references throughout his session.

Now for the recap. So what did I learn?

  • Cassandra’s interest continues to grow
  • DataStax is growing (employees and customers)
  • Hadoop compatibility is top of mind

Cassandra still has ground to catch on MongoDB if you follow db.engines rankings. DataStax growing is good for the community and product evolution. When businesses bet their livelihood on an Apache licensed open source product the community will benefit more often than not. When exploring a new technology the ecosystem can be a great indicator of the current health but DON’T just focus on quantity. The ecosystem is a good indicator of if the technology will a) last and b) prosper. Finally, Hadoop compatibility will continue to be an important piece of the NoSQL conversation and DataStax’s seems to be recognizing that and making it a priority.

It was awesome to see the enthusiasm behind Cassandra in person. NoSQL concepts and products are still new to a lot of people. It is going to take time to make a dent in the RDBMS world but it’s happening. As tools like Cassandra and MongoDB continue to put pressure on the relational databases, users will win. Developers will continue to push database technologies to the limits – therefore forcing products to evolve for the good or disappear.

Utilizing the Employee Experience Maturity Model to Optimize Your Enterprise Collaboration

Posted by on February 19, 2015

What comes to mind when you think of an intranet? In theory, intranets should deliver results in real time. HR should be able to easily publish new policies and other documents, marketing should be able to easily find an inside expert when researching a new technology, and sales should be able to quickly get help on a new presentation. But in reality, this usually isn’t the case.

Legacy intranets are plagued with information that can’t be optimally leveraged –1) outdated old documents, 2) static content instead of useful conversations that draw out important ideas, 3) half-baked people directories instead of rich user profiles, 4) irrelevant company news that doesn’t help get our job done, and 5) lack of mobile access.

Unfortunately, due to these issues, many organizations consider their intranet the place where information goes to die. In fact, a recent survey showed that while a vast majority of organizations have had an intranet for over five years, and over 70% also utilize social business tools (e.g. wikis, forums, messaging, etc.), almost 3 out of 4 would rate their tools as BAD.

Part of this can be attributed to the strategy and approach. Just because you have an intranet and social tools, doesn’t mean it’s a social intranet solution. Organizations need a fresh approach to this problem.

Social Intranet Strategy & Tools

First, a social intranet is multi-faceted. In addition to supporting social collaboration, it needs to support the people and their profiles, user groups, tasks, files and documents, departments, projects, and communities with an organization. An intranet must also integrate easily with other enterprise systems – ERP, CRM, WCM, cloud services, and even outside social networks. In addition, a social intranet should also support the development of custom apps as necessary.

In determining a social intranet strategy, we’ve developed the employee experience maturity model to help organizations assess their current state based on employee behaviors, and establish new targets based on corporate strategy.

Employee Experience Maturity Model

The Employee Experience Maturity Model is comprised of four dimensions – Process, Collaboration, Integration, and Content. Each can be ranked along its level of maturity, from Low to High. Based on actual behaviors and not tool features, you can measure each dimension and plot your current overall maturity level.

ee-maturity-model-2

Together, these four measurements can provide an overview of how mature an organization is at delivering effective and productive digital experiences for its employees.

Content Maturity

Organizations that are high in Content Maturity typically allow their employees to own all content, making them both content producers and consumers. They also support all media types (documents, images, video, audio, etc.), and content is easily accessible by search and faceted navigation. In addition, content is published across multiple channels, with the ability for social commentary, and personalized to individual users, teams, and departments.

On the other hand, those low in Content Maturity tend to have top-down, one way communication, where documents and textual information predominates, with the use of ad-hoc repositories and no way of indexing, tracking or searching content.

Collaboration Maturity

On the Collaboration Maturity scale, companies that rank high tend to easily support collaboration both inside and outside the organization. In addition, a variety of social and collaboration tools are used, including collaborative work spaces, comprehensive user profiles, all with social content weaved throughout and the ability to easily share and subscribe.

On the low end of the scale, email and shared drives are the dominant tools used, along with other ad-hoc tools. The people directory is incomplete, and there are no social features, such as the ability to follow people and teams or comment and rate content.

Integration Maturity

On the Integration Maturity scale, those that rank high generally use standards-based, open architecture platforms that can easily be integrated with. In addition, enterprise applications are used in intranet/portal solutions, where capabilities and interactions are exposed as services. These organizations also utilize Single Sign-On (SSO) across all applications used, along with comprehensive user profiles.

Conversely, businesses on the low end use standalone apps with separate logins, often on proprietary closed systems, resulting in silo’d repositories of content, data, and people. There’s also no employees access to customized dashboards to meet their specific needs.

Process Maturity

Businesses than are high in Process Maturity have processes embedded in their intranet and other applications, which are monitored and managed by workflows that work seamlessly across applications. In addition, analytics are used for process optimization.

Those on the low end of the scale employ ad-hoc manual processes that are only available through desktop access and often not fully documented.

Strategizing With the Maturity Model

While the Employee Experience Maturity Model provides a way to assess where your organization stands, it’s important to keep in mind that a “high” rating on every dimension isn’t required, or even desired. Organizations need to choose their targets based on individual corporate strategies.

For example, companies that focus on innovation, such as startups, may be high on Collaboration and Content, but rank lower on Process. On the other hand, a cost leader may rank high on Integration and Process, but lower on Collaboration. Even more, organizations that want to maintain a singular voice would likely rank high on Collaboration and Process, but lower on Content. Determining your organization’s priorities and choosing your targets is an important part of your overall strategy.

Click here to learn more about the Employee Experience Maturity Model.

Vitalize Your Content in 2015

Posted by on January 13, 2015

revitalize-conceptAt the beginning of every year, the web is flooded with blog posts, articles, and infographics with predictions and trends of what’s in store for the year ahead.

This year, there are a few key trends that seem to consistently appear in every prediction, and they all seem to revolve around mobile, social, personalization/targeting, and analytics.

Not surprisingly, with mobile on an unrelenting rise, organizations large and small are shifting towards a mobile first strategy. And as we’re surrounded by more and more digital content, organizations need to find creative ways to grab users’ attentions, through delivery of targeted and personalized content, and with social features that encourage audience participation.

In a recently published white paper, Vitalizing Content to Drive Social Customer Engagement, we introduce the concept of Vital Content, a new content class born from connecting content, which ultimately enables a deeper level of user engagement.

Traditional Social Enablement Limitations

In this age of the customer, consumers expect their online experiences to be seamless and omni-channel, filled with consistent and contextual data, all the while engaging them through bi-directional conversations.

Traditionally social content and social enablement has been handled with a collection of individual platforms, perhaps one for reviews, another for discussion forums, yet another for ratings and so on. Having content stuck in such silos limits the value we can expect to derive and deliver from our social platforms. While traditional platforms have helped facilitate conversations and drive greater engagement with customers, these individual channels can often seem unrelated and disjoint.

 “Vital Content” and Its Production Challenges

Motivating engagement and participation in the content lifecycle establishes a lasting and valuable relationship with your customers. To build this kind of deep relationship with your customers you must give them a voice and provide them with content and functionality that is vital to their needs. The answer can be found in a combination of process and technology designed to personalize the experience, gather insight, and surface connected content.

This process produces a new content class — Vital Content — resulting from content creators and consumers building a deeper relationship as each learns more about the other. The outcome of this process keeps users actively engaged, connected longer, and produces a more meaningful experience.

However, traditional solutions fail to build an ongoing relationship with the audience because they fail to keep the right content in front of the right people and encourage engagement that breathes new life into the content. Users today want, and expect, a personalized experience that is consistent and contextually relevant and that spans across their entire customer journey. They shouldn’t have to re-educate at each engagement event on their likes, dislikes or previous history. Instead, they should be presented with relevant content that addresses their needs and triggers new engagement. The process of building a relationship with your user or customer is ongoing, and technology should enable that relationship to prosper.

Building Relationships Through Metadata

So how is this accomplished? Since content, comments, ratings and other social content are essentially the same, by connecting them with metadata, it’s possible to build relationships between them, pulling them out of their traditional silos. Through the application of metadata such as tagging, content curators and end users are able to create relationships between any piece of content or commentary, regardless of the source. These cross-referenced pieces can then be dynamically embedded, restructured and linked together in endless configurations.

With these ends in mind, Crafter Software has created Crafter Social, an innovative platform leveraging MongoDB, for creating Vital Content to help organizations maximize their customer engagement and the strength of their customer relationships. Crafter Social enables an increased level of engagement with the user while enhancing the overall experience. Furthermore, requirements will evolve as the user’s engagement increases over time. Crafter Social provides a flexible approach built on a system of relationships, and as these relationships grow, it provides the tools to take action on new data types and sources.

Click here to read more and download the full white paper.

Enabling Smarter Enterprise Collaboration Through Social Intranets

Posted by on November 19, 2013

Traditional intranets – while offering a variety of tools for improving internal communication, workforce productivity, collaboration, and more – are often seen as stuffy, boring systems that employees NEED to use, but not necessarily would WANT to use.

However, that’s all changing now. In an age where Customer Experience Management (CEM/CXM) and producing engaging digital experiences across various channels is at the top of every organization’s digital strategy list, some of that is crossing over to modern intranet solutions. Organizations are now beginning to see the importance of providing that same level of engagement to their employees that they do for their customers.

A new generation of social intranets have emerged that focus on building internal employee communities while incorporating social tools to facilitate knowledge sharing, employee interaction and feedback, and team-building and collective problem solving.

Over the last few months, we’ve presented on this hot topic at several events, including two webinars, two Liferay Roadshows, the Liferay North America Symposium, and KMWorld Conference. Let’s take a deeper look at how a social intranet solution can be used to facilitate smarter enterprise collaboration.

Social Communication is Critical – From Internet to Intranet

Looking at the history of social media in general is important in helping us understand why social features have become an essential part of today’s intranets. Most of us were around before social media and remember when it all first started. As with any new technology, there was some initial resistance. However, it was interesting to see how quickly people naturally gravitated towards using social media and embraced the openness that came with it.

Fast-forward to today and you see users worldwide that are socially active. This proves that the need for social interaction is not cultural, but rather it fulfills a natural human need – the need to share, to discover new things, and to be connected to one another. This is why social media has become an essential part of our internet experience today.

Naturally, companies have caught on to this, and Web applications and services that provide social features started sprouting up globally. In fact, it’s hard to find a successful Web application nowadays that doesn’t incorporate social features to some extent.

However, for a while, social interactions were kept out of the workplace, and employees would change their behaviors to fit within the constraints imposed by their employers. And those who were initially rejected for rallying for social interaction within the workplace were the same visionaries that saw the benefits – as a tool for providing constructive feedback, and to help employees be more efficient, hence improving productivity.

This initial resistance to social interaction within the workplace was no different from the resistance from internet users when social media was first conceived. Intranets are changing, and organizations leading that change are already reaping the benefits.

The Social Intranet

So what makes an intranet social? Unlike the public internet, intranets are trickier, since there are usually a lot of organizational rules to follow, many of which go against the essence of being social. Here we will cover some common features of a social intranet.

Intuitive

First and foremost, it has to be easy to use. Just like social applications on the internet, social intranets shouldn’t require user training. Nowadays, people learn how to use Web tools by talking to each other about it. While the availability of online help resources is always useful, discussion forums teach users a lot more.

Light Community Management

One of the biggest obstacles that get in the way of social intranet adoption are an organization’s existing anti-social rules, such as policing all content. Imagine if every time you posted a forum question someone had to review and approve it before it gets posted. Chances are, you’d never ask anything. Instead of being policed, social intranets should be moderated, where users can post freely, and processes can be put in place to correctly handle improper posts. This also means that some organizations would need to change their company culture and rules prior to adopting a social intranet.

Content is Produced and Consumed

Another key difference between social internet and social intranet apps is that consumers of content are as important as producers of content. We tend to always praise producers and call consumers leeches. This isn’t the case in social intranets, however, since it’s the consumers who are the ones using this content to be more efficient and productive at work. Producers without consumers are useless.

Integrated Search

And last but not least, social intranets tend to be heavy on enterprise search. Discovery is an essential social feature, and search is one of the best tools for enabling discovery, so great social intranets typically put a lot of emphasis on integration with enterprise-wide search solutions.

The change is here, and early adopters are reaping the benefits. In fact, a recent research report published by Nielson Norman Group on social intranets has found that many companies see intranet information sharing and other social features offering true competitive advantages. And more interestingly, many executives recognize that social tools are an expected part of a knowledge worker’s standard toolkit.

Building a Social Intranet – Now What?

Building a successful social intranet means selecting the right tools for the job, and Liferay Portal is one of the best tools to take on this task. Liferay provides all the social intranet features discussed in two ways – through Liferay Social Office or as a tailored social intranet built on the Liferay platform.

Liferay Social Office

Liferay Social Office is a packaged social collaboration solution that successfully addresses many social intranet features.

  • Dashboard – A dashboard is an essential part of any social intranet and offers a great way to keep users informed of what’s going on.
  • Sites – Liferay has site-based architecture, allowing organizations to create sites that serve very different purposes – departmental sites, project and team sites, and even regular websites with editorial content.
  • Contact Center – A big part of social communication is to stay connected, so social intranets put a lot of emphasis on having an easy-to-use people directory. Liferay successfully addresses this through Contact Center, which even includes user profiles in search results.
  • Team Calendar – Liferay’s calendar feature can be used in any site to manage site-specific events.
  • Search – Liferay enables enterprise search through integrations with Apache Solr, Google Search Appliance, Endeca, and more, allowing you to make enterprise-wide information discoverable from within the social intranet.
  • Liferay Sync – Liferay addresses the growing need for ubiquitous file sharing through Liferay Sync, a feature similar to Dropbox/Google Drive. In addition, your enterprise security constraints are honored even when you’re outside of your company’s firewall.
  • Related Content – This feature allows content authors to associate content of different types, resulting in a very rich and dynamic information architecture. For example, reader of a blog post who then posts a relevant question in a forum can relate the blog and forum posts, exposing future blog post readers to the forum posts.

Even more, Liferay Social Office has additional social features such as micro-blogging, private messaging, announcements and alerts, full-featured document management, comments and ratings, and much more.

Custom Social Intranet Solution

Another approach to building a Liferay-based social intranet is to create a custom solution utilizing Liferay as a platform. One of the most popular Liferay use cases is actually a Human Resources (HR) Portal, which is often the first step towards building a social intranet. An HR Portal provides an efficient means of disseminating company information and news, and offers an ideal medium for employee outreach and engagement.

Over the past few years, Rivet Logic has built a variety of intranet solutions for customers with varying business models. Through working with these customers and understanding their requirements for these intranets, we’ve found certain features to be commonly sought across all intranet solutions. Based on these features, we’ve built an open source HR Portal that we’ve contributed back to the Liferay community, now available through the Liferay Marketplace. This easy-to-deploy portal solution comes with many useful features, including:

  • Corporate news authoring and publishing
  • Customizable news publishing channels
  • User-friendly people directory
  • Customizable portal-wide main navigation bar
  • Smart news carousel
  • Customizable quick links

Choosing the Right Approach

So how do organizations determine which approach to use for their social intranet? Liferay Social Office is Liferay’s equivalent to Sharepoint, so it may be better suited for organizations that like what they’re getting out of the box and aren’t looking for a tailored solution.

Those looking for a more tailored solution can either use the HR Portal as a starting point and build an intranet on top of it, or use Liferay as a platform and build an intranet from scratch. The bottom line is, there is no right or wrong approach, but rather determining what each organization needs and finding the approach that best fits with those requirements.

Learn More!

If you’d like to learn more about social intranets, we have several resources to help you gain a better understanding:

Alfresco Cloud’s Key Capabilities

Posted by on March 15, 2013

SaaS Based Collaboration

The first aspect and most basic use of Alfresco Cloud is as a cloud hosted collaboration application for your organization.  Alfresco Cloud is multi-tenant and can host as many organizations (which Alfresco calls networks) and project spaces within each of those networks as is needed.

In the illustration below you can see two independent organizations each with several project teams working independently on the Alfresco Cloud.

 

If you need to spin up a simple collaboration environment for your department Alfresco Cloud is a great solution.  Alfresco Cloud is affordable and based on per user pricing.  There is zero software to install or setup and you get a ton of really rich collaborative features from document libraries to wikis, calendars, blogs and much more.

Cross-Organization Collaboration

Where things start to get really interesting, however, is with cross-organization.  With Alfresco Cloud you can manage content between organizations to enable B2B interactions between knowledge workers from the different organizations – again all with zero infrastructure setup.

In the illustration below you can see a project team from each organization collaborating with one another through Alfresco Cloud’s permissions which ensure that only that content which should be shared is in fact shared.

Alfresco One: Private – Public Cloud Sync

The thing is that not all content is meant to live in the cloud.  Organizations of all sizes generally have some content they still feel needs to be controlled and secured inside the firewall or as is often the case, there are integrations with critical business systems that are mandatory and those integrations are only possible between systems located within our firewalls.

With Alfresco Cloud this is no issue.  You can setup and host your own private infrastructure internally which serves as the system of record and hosts all of your content including those items which must remain internal and for content you want to collaborate on with organizations outside the firewall you can create a synchronization (using Alfresco One) with Alfresco Cloud and synchronize specific content between your organizations private infrastructure and the cloud to facilitate the collaboration.

In the illustration above we have a private infrastructure on the left and the cloud on the right. You can see that some project teams are working only against this internal infrastructure while others may work only against the cloud.   And we can see a secure, relationship between our internal infrastructure on the left with the Alfresco Cloud on the right.  This synchronization is enabling our teams to collaborate with one another regardless of whether they are working on public or private infrastructure.

Remote API for the Cloud

And finally Alfresco Cloud supports a remote application programming interface or API which is based on CMIS (Content Management Interoperability Standard) and a few additional Alfresco specific non-CMIS APIs.

This is a real game changer because it means that collaboration no longer has to take place through the user interface but as we can see here in the diagram we can enable applications and automated processes to participate in our collaborations – and because we have a sync between private a public cloud infrastructure we’re not just talking about cloud based content storage here – which is great in its own right — we also have a very powerful integration platform.

When you combine the API and the public/private sync what you gain is infrastructure akin to an integration bus.

 

 

 

The Web Experience Management Platform Strategy For The Era of Engagement Is All About Integration

Posted by on March 04, 2013

In her blog entry entitled “Buyer Beware of Customer eXperience Management (CXM) Platforms” Irina Guseva gives an accurate and frank accessment of many of the so called WEM (Web Experience Management) platforms available today.  Irina brings three issues to light: The first, is that there is a lot of messaging focused on higher order experience management concerns that down play and in some cases altogether dismiss the importance of WCM (Web Content Management.) In reality, WCM will remain extremely important as content is the cornerstone of experience. The second issue illuminates the fact that it can be extremely difficult for someone in search of a solution to cut through all the marketing and hype in order to get down to what an offering provides and how it is different from the competition.  The third issue points out the flawed strategy employed by many solutions on the market today that try to check off all of the requirements of experience management by offering shallow, mediocre capabilities relative to what can be provided by specialized 3rd party solutions.

We couldn’t agree more.  No single platform can truly meet the today’s customer experience challenge or requirements going forward without integration with critical business systems like CRM (Customer Relationship Management) and specialized 3rd party platforms for lead generation, campaign management, analytics and others. Some platforms will attempt to build these capabilities in.  This is a losing strategy.  The architecture is wrong, the pace of innovation is governed by a single source, and feature sets will never rival that of a dedicated system.  The platform strategy for the era of engagement is all about integration.

Alfresco Cloud is much more than meets the eye

Posted by on February 28, 2013

As many of you know Alfresco introduced its cloud offering almost a year ago. At the time of this writing there are a number of unique ways you can interact with Alfresco Cloud:

  • Collaborative SaaS (Software as a Service) application. Teams to quickly spin up collaborative spaces (in Alfresco’s Share application) and begin working together with zero on premise software.
  • Members of the cloud can join multiple networks which enables them to work and collaborate across organizational boundaries.
  • Custom applications can use Alfresco Cloud as a store. You can interact with cloud through an API (CMIS and Alfresco specific RESTful APIS.)
  • And you can sync content between your on-premise instance of Alfresco and the networks with-in cloud that you belong to.

Share in the cloud as a SaaS offering is a pretty obvious play. There is a lot of value in this simple use case for organizations that need good collaboration tools but just don’t have the appetite for or enough user volume to justify hosting their own infrastructure.

When you combine this SaaS offering with the ability to securely and selectively collaborate with other organizations, you are now enabling all kinds of people-oriented B2B interactions that can be extremely difficult when you have a system that is stuck behind a firewall.

Add to that an API to that and now it’s not just people-oriented B2B and internal interactions that can take place, it’s automation and rich behavior.  At this point Alfresco in the cloud is no longer an application.  It’s a bus.

Now not all content was meant to live outside the firewall and not all systems can or even should live/reach outside the firewall.  With Alfresco’s “cloud sync” capability Alfresco Cloud closes this gap by allowing organizations to selectively and securely sync specific content between an on-premise instance and the cloud.  This is extremely exciting because it opens up a whole new realm of possibilities for B2B integration and mobile enablement.

If you’re thinking about Alfresco Cloud as a simple collaboration application or a simple cloud based content store it’s time to rethink.  Alfresco Cloud paired with Alfresco on premise is an extremely exciting hybrid architecture and integration middle-ware that opens up use cases which have traditionally required dedicated business to business infrastructures that were difficult to get approved let alone set up: basically not possible.

On March 14th Rivet Logic will co-host a webinar with Alfresco entitled Using Alfrescos Hybrid Cloud Architecture for Better Web Content Management where we will discuss and demonstrate how hybrid architectures can be applied in a WCM (Web Content Management) context to enable collaboration with external partners like agencies and for integrations with other content services, providers and consumers such as AP, Routers and the like.  While WCM use cases will be the focus of the conversation, the topic is perfect for anyone interested in learning more about Alfresco hybrid architectures.  See you there!

https://www.alfresco.com/events/webinars/using-alfrescos-hybrid-cloud-architecture-better-web-content-management

Web CMS Content Enrichment with OpenCalais, Crafter Rivet and Alfresco

Posted by on February 15, 2013

Content enrichment is the process of mining content in order to add additional value to it.  A few examples of content enrichment include: entity extraction, topic detection, SEO (Search Engine Optimization,) and sentiment analysis.  Entity extraction is the process of identifying unique entities like people and places and tagging the content with it.  Topic detection looks at the content and determines to some probabilistic measure what the content is about.  SEO enrichment will look at the content and suggest edits and keywords that will boost the content’s search engine performance. Sentiment analysis can determine the tone or polarity (negative or positive) of the content.

Content enrichment provides an enormous opportunity to improve the effectiveness of your content.  However, it is clear that detailed analysis and the work of adding additional markup and metadata to content can be extremely time consuming for authors and content managers.  Fortunately there are many free and commercial services available that can be used to enrich your content while saving countless hours for authors and content managers.

One such service is OpenCalais from Thompson Reuters.  Open Calais is a toolkit of capabilities that includes state-of-the-art semantic data mining of content via restful services.

In the video below you’ll find a short demonstration of how OpenCalais can quickly be integrated with Crafter Rivet’s authoring platform (Crafter Studio) to make it extremely fast and easy for authors to enrich articles and other types of content with rich, structured metadata.

Coupled vs Decoupled Web CMS Architecture

Posted by on February 10, 2013

Generally speaking there are two main types of Web CMS architectures: coupled and decoupled.  Coupling refers to the relationship between the authoring tools and content delivery of your live site.

The classic example of a coupled CMS architecture is a blog engine. In a coupled system, the underlying store for your content serves both authoring and delivery.  Your authoring capabilities are part of the live delivery system but are available only to those who have permissions.  In a coupled system, the process of making content live is typically a matter of setting a flag in the database.

Coupled CMS Architecture

A decoupled system by contrast is one that puts authoring and delivery in separate applications, and potentially, on separate infrastructure. In a decoupled system, the process of making content live is done through a publishing mechanism where content is pushed from the authoring platform (and underlying content repository) to a content delivery infrastructure.

Decoupled CMS Architecture

So which approach is the right architecture? The reality here there is no single right or wrong answer.  The answer depends on context: alignment with your requirements, your business process and your business goals.  The topic of coupled vs. decoupled is not a new one.  It’s a debate that has been going on for a long time and will continue to go on so long as there continues to be Web CMS platforms, “fan boys” and a perception that one size fits all.  The more appropriate way to approach the question is to analyze the strengths and weaknesses of each approach and then to consider these in the context your own specific use cases.  We’ll see that in different scenarios we come to different conclusions on which architecture to use.

Coupled Architecture

Let’s take a look at the strengths and weaknesses for a coupled CMS architecture.

Strengths

  • Easy to set up and deploy a single instance.
  • Authoring and delivery are on the same infrastructure which can make it easier to build cohesive authoring tools.
  • Relatively easy administration of production system for single sites

Weaknesses

  • SLAs (Service Level Agreements) are coupled — meaning that authoring has to be just as available as the live site.
  • Coupled infrastructures are generally more complex to scale, as they typically depend heavily on database scalability.
  • Content is typically captured in a database schema meant for delivery on the site.  This can make integration and migration difficult.
  • Software complexity is higher because the code base contains both authoring and delivery concerns.  All but the most trivial CMS projects involve some development, and thus becomes an development issue.
  • Pushing content in and out of the CMS to and from third parties takes place in the same system that runs your live site.  Integration is not native to the architecture and it may impact the system’s performance.

Decoupled Architecture

Let’s take a look at the strengths and weaknesses of a decoupled CMS architecture.

Strengths

  • Easier to scale for high traffic websites, and to handle multi-site management.
  • SLAs are decoupled.  Authoring can be down for upgrades without impacting delivery. The reverse is also true.
  • Scale only the components that you need.  If you are not adding more authors then there is no need to scale out authoring.  This affects the complexity of the solution and also license costs where they are involved.
  • Code complexity is isolated within each of the two components (authoring and delivery).  Each piece can be as simple or complex as is needed without impacting the other.
  • Integration is a built in concept, as content is natively published to a the remote delivery system, it is generally straightforward to push to other systems as well. Also note, integration takes place on the authoring tier safely away from the live site protecting stability and performance.
  • Content migration and sharing with other systems is generally much more innate to the architecture.
  • Multi-channel support by nature, as publishing to mobile apps, social channels, and other digital channels is a natural extension of the native publishing capability.
  • Content sharing and syndication are more naturally supported.
  • When complexity is isolated and scaling is simple, it’s easier to develop and deploy rich features to your users.

Weaknesses

  • Setup has more components and can be more complex.
  • Publishing introduces additional points of failure.
  • Sub-division of components can go too far driving up complexity and driving down the cohesion of the user experience.

Making a Choice

It’s clear that each approach has its own strengths and weaknesses.  A coupled approach may work really well in once scenario while a decoupled approach may be much more appropriate in another.

Our analysis reveals that a coupled architecture can work well for websites that need to be set up and put on line in short order and that do not need to be able to scale quickly or to publish content beyond the website itself.  On the other hand, we see that a decoupled architecture is ideal for websites that require high levels of availability and performance, need a lot of tailored functionality, must be integrated with third party business systems and must publish to one or more digital channels beyond the website itself.

Managing Component-based Websites with Alfresco

Posted by on November 04, 2012

From time to time at Rivet Logic we get questions concerning Alfresco‘s ability to build and manage component-based websites due to its file / folder based organization. In many cases this question arises from either a limited look at Alfresco’s features (sometimes sourced from industry analyst reports that lack depth) or a far too simplistic understanding of Alfresco’s core capabilities and established best practices for web content management and dynamic content delivery.

Through this short article I will demonstrate the following:

  • Repository organization has no bearing on website placement of components
  • Primary organization in a file / folder structure is a strength and offers technical capability that differentiates Alfresco from lesser Web CMS platforms.

Decoupled CMS ArchitectureThis article will approach this question with the capabilities of Crafter Rivet, a 100% open source web content and experience management solution built as a plug in for Alfresco.  Crafter Rivet consists of two major subsystems:  1) Crafter Studio, an authoring environment built on top of Alfresco’s content repository and 2) Crafter Engine, a high performance content delivery platform which relies on Apache Solr for dynamic content queries. Crafter Rivet and Alfresco enable a de-coupled content management architecture: Crafter Studio and Alfresco for content authoring, management and workflow, and Crafter Engine for high performance dynamic content delivery.  Content is published from Alfresco to the de-coupled Crafter Engine delivery stack, which is where the website application(s) runs. Once deployed to Crafter Engine, content updates are immediately available and are reflected in a high performance, queryable Apache Solr index to support dynamic content delivery.  Moreover, all content is cached in memory for very low response times.

With this understanding of how the separation of content management from content delivery work in a de-coupled Web CMS platform such as Alfresco, we can now discuss how the content organization within the Alfresco repository facilitates component-based site development. We refer to content organization within the repository as the “primary organization” of the content.  Crafter Rivet allows authors to build component-based websites, and place content components anywhere on the site regardless of the primary organization found inside the Alfresco repository.  Components may be placed in a region of a page explicitly through drag-and-drop construction, or they may be surfaced through a dynamic query.

Explicit placement simply links the content to a page through an ID-based association, completely independent of the underlying file/folder structure. Query-driven content placement leverages a Solr-based index and returns a list of component IDs (and other attributes) based on the given criteria. And in both cases, the primary organization of the content plays no role in the ability for the content to be used in any region of any page of the website.

Primary Content OrganizationWithin the repository and authoring life cycle, primary organization is an extremely useful paradigm.  Authors need to be able to find content quickly.  By putting every content item in a structured location (i.e., folder) it is much easier to find when browsing. Contrast this with the opaque database/data structure approach taken by many other platforms which offer no direct access or ability to browse for content.  In general, we have found it best to remove abstraction as much as possible when modeling content. For site pages, as an example, we model these as files and folders that match the URL. Crafter Engine understands that specifically for pages, the URL and this structure are related.  A change in to the folder structure also changes the URL.  This is extremely helpful to authors as it maps directly to their expectation when thinking about page hierarchy in their information architecture.

Components, on the other hand, tend to be grouped by type or some other such criteria. Authors may create arbitrary folder structure to house components, forming a primary organization that enables them to quickly find and work with content. This primary organization has nothing to do with how, when or where the content will be rendered on the site. Further, Alfresco allows content managers to attach rules, policies and permissions to folders inside the repository.  This is an extremely useful and powerful capability not found in may other Web CMS systems. By leveraging the primary organization of pages and components, content managers can enact specific rules for content transformation, metadata extraction, validation, workflow, and much more throughout the authoring life cycle.

 

As you begin to work with Alfresco for web content management you want to keep in mind that the organization of your content inside the repository and the delivery of that content are two very different things.  Alfresco as a content repository is generally de-coupled from the delivery mechanism as we have seen with Crafter Rivet.  Take advantage of the fact that Alfresco’s file / folder structure has many organizational and technical benefits during the authoring life cycle and has no bearing on the delivery of that content when deployed to a dynamic content delivery engine like Crafter Engine.