AdoptOS

Assistance with Open Source adoption

ECM

Changes to Community Blogs

Liferay - 9 hours 29 min ago

Over the weekend you may have have noticed our community blogs page got a makeover! There are several new additions and changes to the page which we hope will make your liferay.com blogging experience better and more informative, and make it easier for you to not only keep up with what's going on but to contribute your ideas in a more structured/categorized way.

Highlighted Bloggers

First, I wanted to thank all of you who have contributed to your blogs on liferay.com!

Since opening up liferay.com blogging to our entire community in 2013, we have been thrilled to see how our community has responded, with lots of informative entries and quality content.. but the very coarse categorization (Staff vs. Community) isn't enough, can be confusing for staff, and the sheer number of posts showing up in each of these buckets means that you get a big flat list of tons of blog entries, some really good, and some that could have used more polishing before publishing 

To help you with choosing what to read, the new main blog landing page is now a curated list, showing you the "best of the best" (as decided by our editorial staff and feedback from the community on specific posts). As a reader, it should be the first thing you follow/subscribe to! The same list of highlighted blogs will also appear on the right side of the community landing page.

You can still follow all of our community's blog posts by clicking on the All tab, which will work as before and show a reverse chronological list of all blog posts. We hope that you find value in the curation and are motivated to produce high quality posts that show up here!

How do I get highlighted?

It's really easy (well, easy to understand, a bit harder to execute) - just publish quality content that is easy to read, informative, and does a good job at reaching your intended audience. You might want to read through the Blog Guidelines at the bottom of the Content Policy page for some tips about writing quality posts. If you do it enough, your readers will respond, and our curation department will most definitely recognize you and highlight you or your blog posts, or both!

Non-highlighted posts will continue to show up on the All category (and of course, your personal blog page!).

Categories

Not everyone is interested in technical blogs, or blogs about Liferay the company, so we've enabled Categories (using Liferay's built-in categories feature of course!). Categories allow blog authors to mark their posts to be in a particular category, causing it to show up on the specific sub-page of the All tab. You can also subscribe/follow individual categories using the RSS links at the bottom of each tab. We started small: Company posts relate to Liferay the company (such as Zeno's recent post about his Liferay Brazil office experiences), whereas Technical posts are (you guessed it) more technical in nature, like Srikanth's recent post about Service Builder. The General category is for posts that don't fit in the other categories.


As an author, you will be required to specify a category (with the default being General). Be sure to choose wisely! Only staff members will be able to pick the Company category. This will help your readers pick the posts they are most interested in. If you have suggestions for more categories, let us know in comments (yeah, there are tons of possibilities here, but the simpler the better, for UI and UX!).

Also note that your past posts aren't automatically categorized - if you want them to appear in the proper category, you will need to Edit them and select the right category on the Edit screen.

Most Active Bloggers

There is also a new link on the left navigation area under Blogs - Most Active Bloggers will show you the most active bloggers by number of posts in the past 6 months, regardless of whether they have produced any highlighted blogs. Readers who want to keep up to date in the community can find out exactly who is contributing on liferay.com blogs using this page. The page also features easy RSS feed links for each individual author.

Note that this list only shows bloggers from liferay.com - if you had your external blog listed previously, it will be returning very soon, so stay tuned!

Updated Look & Feel

The blogs pages also has a new look, with rounded pictures, crisper fonts, more category and subject lozenges, and new icons for views and comments. We hope you like the look of the new page, along with the new features and new curated lists.

How do I post a blog?

Everyone who has an account on liferay.com can publish blog posts. To publish a blog, visit your profile page by logging in, clicking your profile picture at the upper right, and choose Account and then click Profile at the top next to your profile picture (or, if you know your screen name, just type in liferay.com/web/{screenname}/profile into your browser's address bar).

Once on your profile page, look for the Blog link on the left, and click on it, and click the Add Entry button to draft a new entry using Liferay's built-in WYSIWYG editor. If you do not see a Blog link, you will need to request a blog (this is an additional anti-spam measure, as long as your account is in good standing you will get a blog!). Happy blogging!

Kudos

As usual, I am only the messenger here, and several people chipped in to make this a reality. Ryan Schuhler, Nathan Cook, Enoch Chu, Luke Shackelford, and Amos Fong worked on the frontend and backend development, while Juan Hidalgo and Yoshiki Hisamoto were responsible for the awesome design. And you, our community, were and continue to be instrumental in making our blogs interesting and informative!

James Falkner 2014-07-28T19:06:32Z
Categories: CMS, ECM

Analytics using Piwik in Liferay 6.2

Liferay - Fri, 07/25/2014 - 06:28

Hi All,

Using Liferay 6.2 OOTB features, you can achieve analytics using Piwik .

Piwik is the leading open source web analytics platform that gives you valuable insight into your website's visitors, your marketing compaigns and much more, so you can optimize your strategy and online experience of visitors.

You can deploy piwik in local environment and cloud also.

I am sharing steps to configure this in local environment.

1. Install Piwik on local machine using this link

  To run Piwik, your host need couple of things:

  Webserver such as Apache, Nginx, IIS etc.

  PHP version 5.3.2 or greater

  MYSQL version 4.1 or greater

  (enable by default) PHP extension pdo and pdo_mysql, or the mysqli extension.

2. Register you website IP or domain name, once piwik is installed. It generates the javascript code:

 

3. In Liferay Portal, go to Site Administration > Site settings > Analytics. Paste full javascript code into Piwik section.

Once done you will be able to see these reports:

 

Enjoy analytics with Piwik.

Thanks:

Ankit

 

 

 

 

Ankit Srivastava 2014-07-25T11:28:43Z
Categories: CMS, ECM

Use Custom URL Variables to Display certain Paginated Web Content

Liferay - Thu, 07/24/2014 - 15:52

Ever wanted to explicitly define what page to display on the current pagination content from a url password?

This code should aim you in the right direction. Logic: -Get url variable ("page") value.
-set $total to the size of the pagination repeatable structure.
-If $pageId is set and is less than or equal to $total then use $pageId; else use the latest item.

#set ($friendlyURL = $request.get('attributes').get('CURRENT_COMPLETE_URL')) #set ($pageId = $httpUtil.getParameter($friendlyURL, 'page")) #set ($total = $image.siblings.size()) #if($pageId != "" && $getterUtil.getInteger($pageId) <= $total) #set($targetPage = $pageId) #else #set($targetPage = $total) #end #foreach($image in $image.siblings) <img src="${image.data}" /> #end

Pagination JS that can be included in the velocity file
- define page: to be $targetPage

<script type="text/javascript"> AUI().ready('aui-paginator', function(A) { var pgA = new A.Paginator({ page: ${targetPage}, containers: '.paginatorA', total: 10, maxPageLinks: 10, rowsPerPage: 1, circular: true, rowsPerPageOptions: [ 1, 3, 5, 7 ], on: { changeRequest: function(event) { var instance = this; var newState = event.state; var page = newState.page; // newState.total = 100; if (newState.before) { var lastPage = newState.before.page; A.one('.contentA .page' + lastPage).setStyle('display', 'none'); } A.one('.contentA .page' + page).setStyle('display', 'block'); // IMPORTANT! // we need to .setState(newState) or .set(STATE, newState) // to update the UI instance.setState(newState); } } }) .render(); }); </script>


*note: Have the Pagination JS code in the same template velocity file as the web content.

Bradley Wood 2014-07-24T20:52:33Z
Categories: CMS, ECM

Embedding Navigation Portlet into Layout using Custom Settings

Liferay - Thu, 07/24/2014 - 15:45

Special thanks to atul patel's forum post displays how to embed a navigation portlet into a layout using custom settings.
With Custom Settings Basic display styles: There are 6 different basic views (source wiki):

  1. looks like breadcrumbs; shows parent page and current page but not siblings
  2. current page only?
  3. shows parent page and all subpages (siblings). The current page is bold. This seems to be the most valuable normal setting.
  4. shows subpages (siblings), no parent
  5. ? looks like 4
  6. Is a full community/org nav. Shows all pages in tier
$velocityPortletPreferences.setValue("portlet-setup-show-borders", "false") $velocityPortletPreferences.setValue("root-layout-type", "absolute") $velocityPortletPreferences.setValue("bullet-style", "main") $velocityPortletPreferences.setValue("header-type", "none") $velocityPortletPreferences.setValue("root-layout-level", "0") $velocityPortletPreferences.setValue("included-layouts", "all") $velocityPortletPreferences.setValue("display-style", "") $theme.runtime("71_INSTANCE_MAIN", "", $velocityPortletPreferences.toString()) $velocityPortletPreferences.reset()

 

Bradley Wood 2014-07-24T20:45:26Z
Categories: CMS, ECM

Liferay Faces Project News - July 2014

Liferay - Mon, 07/21/2014 - 15:19
Liferay Faces Showcase

The Liferay Faces team has been hard at work on the new Liferay Faces Showcase which demonstrates the new JSF components we are developing. Many of the components utilize Liferay's AlloyUI technology (which is based on YUI3 and Twitter Bootstrap).

Component Design Features:

  • The new AlloyUI JSF components will work with Liferay Faces 4.2 (JSF 2.2) and Liferay Faces 3.2 (JSF 2.1)
  • Although the new AlloyUI JSF components require Liferay Portal 6.2, they will also work in a plain webapp!
  • When running in a plain webapp, the new AlloyUI JSF components provide the YUI3 and AlloyUI 2.0.0 JavaScript resources automatically.
  • Our goal is to have the new AlloyUI JSF components be able to exist in the same JSF view as ICEfaces/PrimeFaces/RichFaces components. This should be technologically possible since this was one of the original design goals of JSF, and the other component suites are based on jQuery.

Stay tuned for a technology preview in the coming weeks! 

Facelet Tag Library Namespaces

Liferay Faces is an umbrella project that is comprised of several sub-projects. In order to make it easier to identify which components are associated to a sub-project, we decided to simplify the Facelet Tag Library namespaces:

Namespace Prefix Sub-Project alloy: Liferay Faces Alloy bridge: Liferay Faces Bridge portal: Liferay Faces Portal  Team Members

Back in January of 2014, Liferay's Bruno Basto became a contributor to our team by helping us develop a code generator for AlloyUI JSF components.

Since then Kyle Stiemann has made the code generator more robust which has strengthened the overall quality of the software. Kyle has also developed JSF components like alloy:button, alloy:commandButton, alloy:icon, alloy:inputDate, and alloy:panelGroup.

Vernon Singleton has developed JSF components like alloy:outputText, alloy:outputRemainingChars, alloy:selectOneRadio, alloy:selectStarRating, alloy:selectThumbRating, and alloy:accordion.

I've been working on the Showcase portlet itself, and also developing components like alloy:inputSourceCode, alloy:tabView, etc. Working on the Showcase has been lots of fun because it is built with Liferay Faces.

Again, stay tuned for our technology preview in the coming weeks!

-- Neil


Left to right: Bruno Basto, Kyle Stiemann, Vernon Singleton, and Neil Griffin

Neil Griffin 2014-07-21T20:19:15Z
Categories: CMS, ECM

The Learning Curve, Chapter 3 - Documentation (sic!)

Liferay - Mon, 07/21/2014 - 06:08

Are you new to Liferay? Found Liferay and want to know what it can do for you? Or are you with Liferay and still remember the time when you were new and unexperienced? Where did you come from and what was the biggest problem you faced? Can you ever learn enough? And how do you keep up with the current trends and new features?

A platform as big as Liferay spans several technologies and areas of best practices that are beneficial to know of. Nobody can know everything - there's always a learning curve. At the beginning, it's quite steep. Some argue that it's flattening the more you know. Some argue that it gets steeper: The more you know, the more you know what you don't know.

I'd like to give you pointers to resources that are available to you, in order to learn about Liferay, resources that help you avoid steep detours, when there are flatter direct connections. This is meant to be (eventually) comprehensive but I'm sure that it will never be complete. It's just what I remember while I write this article and the follow ups (yes, there are more, already drafted)

Today's Target Audience: All (unless more specifically indicated in the individual paragraphs below)

There's a good argument that this chapter should have been the first. However, just saying "RTFM" is guaranteed to give the least amount of attention possible. So I postponed the obvious until chapter 5. Is it really obvious? Let's check.

User Guide

Have you ever read Liferay's User Guide? Whatever you answer, my prediction is that you don't know what's in there today - if only because it's constantly updated. As a regular user of Liferay, no matter what your role is, you probably need to know several of the chapters outlined in that guide. It's covering anything from Content- and User-Management, Installation, Dealing with Plugins etc.

It's worth checking it out, even if you have some experience developing with Liferay. After all: When you know about a feature being available in Liferay, you can just use it instead of implementing it yourself. Every built in feature that you use, you don't have to write & maintain yourself. Remember that story from chapter 1 - the training participants that only took Mastering Liferay fundamentals training years after their project started? Same reasons here.

If you're missing content or want to suggest/provide improvements, you can do so on Jira. If you're technically savvy, you might want to follow the evolution of this guide on github or contribute.

Developer's Guide

Next to the User Guide you'll find the Developer Guide. Similar to the User Guide, this document is a living one and gets updated from time to time. If you have read it already, you might want to check back if it has been extended since that time. Even if you believe that you should know it by now: There are many gems that you might have missed the first time you read it. (I am constantly learning new tricks in Liferay, especially when going through well known material again)

Of course, you can also follow the Developer's Guide evolution on github and contribute through pull requests or issues, just like with the User Guide.

Books

I'll have to admit, it's been a while since I last read books about Liferay. Among the ones that I read, there were some that I liked and some that didn't really match my expectations... As it's been a while (a few versions ago), only one recommendation is left: Liferay in Action, though based on version 6.0, still contains very relevant content.

Sorry to not be able to point you to new books. If you want to recommend in the comments, please do so. Also indicate any relationship to the author or why you particularly liked the book - please don't just mention that there is a book.

Wiki

I'd like to mention our Wiki here. For one, you might find it as search results in case you're looking for information. It has quite good information, but you'll have to be aware that it's sometimes severely outdated. Double check the history of the articles: If it hasn't been touched for a few years or mentions Liferay versions 4.x, use it with a grain of salt - more to this in a later chapter about community resources.

Next up?

Stay tuned for Chapter 4 - Next week: Well hidden documentation (for developers), covering documentation that is available, but arguably harder to find than clicking on the "Documentation" link or searching for "Liferay" on Amazon.

Call For Feedback and Suggestions

For chapter 5 or 6 I'm planning to cover Community Resources. You might have your favorite go-to place that I haven't found yet. If you want to make sure that your favourite resource gets mentioned: Give me a hint.

Olaf Kock 2014-07-21T11:08:11Z
Categories: CMS, ECM

Using existing Bootstrap themes in Liferay (Part II).

Liferay - Sat, 07/19/2014 - 04:02

Hi again!

This is the second (and last) part of my blog series for using existing Bootstrap themes into Liferay 6.2. In my previous blog post I talked about using LESS files, and how to, by simply changing some text strings, make it useful for a Liferay theme.

In this post I'll tell you how to use two of the available Bootstrap theme generators. So, as you may have noticed, you don't even have to know about bootstrap development for creating your own customizing themes after reading this post. Looks good, isn't it? 

As what it seems, the bootstrap generators creates a complete bootstrap css file. This means that the downloaded css is ready to use, and we have to override the bootstrap css file that is included in Liferay with this one. This shouldn't cause any big issue in our theme if we are using Bootstrap 2.3.2, but, as we will see later, it's advisable to make some adjustments in our theme to make it work perfectly fine.

Hint: you can use these steps when having this text in its css header: * Bootstrap v2.3.2 * * Copyright 2012 Twitter, Inc * Licensed under the Apache License v2.0 * http://www.apache.org/licenses/LICENSE-2.0 * * Designed and built with all the love in the world @twitter by @mdo and @fat. I'll be using examples from these theme generators:
  • Bootstrap Magic
  • BootswatchR
BOOTSTRAP MAGIC

In order to create themes from scratch, we are going to start with Bootstrap Magic theme generator (http://pikock.github.io/bootstrap-magic/2.3.2/app/index.html).

For testing purposes, we are going to change some colour (of course you can customize whatever variable you want). Select a different color in “Scaffolding” section, @linkColor variable, and click in “Apply” at the bottom of the page (in my case, I chose green colour):

Then, as we did in the previous blog post, change path for icons:

 

Then, just click in “Save CSS” and your css file will be downloaded.

Now we can create our Liferay theme as always, using _styled as a parent template. For overrriding Liferay bootstrap css, we have to create this file in theme directory:

  • _diffs/css/aui.css

and copy/paste the contents from the downloaded file there.

Now remove this string text ocurrences from _diff/css/aui.css_

http://pikock.github.io/bootstrap-magic/2.3.2/twitter-bootstrap/less/

So far so good! Unfortunately, the generated css seems to not adjust portlets properly when resizing, among with other issues:

 

How to solve this? Alloy-bootstrap to the rescue! 

Hint: you can use css from alloy-bootstrap project for adjusting your own bootstrap themes if there is any css issue in Liferay.

For overriding the responsive css part, and for future maintenance, we are going to create another file in theme:

  • _diffs/css/custom.css

In this file we are going to paste content from alloy responsive css file (https://github.com/liferay/alloy-bootstrap/blob/v2.2.2/lib/_responsive-767px-max.scss). Content would be as follows:

img { /* Responsive images (ensure images don't scale beyond their parents) */ max-width: 100%; /* Part 1: Set a maxium relative to the parent */ width: auto\9; /* IE7-8 need help adjusting responsive images */ height: auto; /* Part 2: Scale the height according to the width, otherwise you get stretching */ vertical-align: middle; border: 0; -ms-interpolation-mode: bicubic; } @media ( max-width : 767px) { .aui body { padding-left: 20px; padding-right: 20px; } .aui .navbar-fixed-top,.aui .navbar-fixed-bottom,.aui .navbar-static-top { margin-left: -20px; margin-right: -20px; } .aui .container-fluid { padding: 0; } .aui .dl-horizontal dt { float: none; clear: none; width: auto; text-align: left; } .aui .dl-horizontal dd { margin-left: 0; } .aui .container { width: auto; } .aui .row-fluid { width: 100%; } .aui .row,.aui .thumbnails { margin-left: 0; } .aui .thumbnails>li { float: none; margin-left: 0; } .aui [class*="span"],.aui .uneditable-input[class*="span"],.aui .row-fluid [class*="span"] { float: none; display: block; width: 100%; margin-left: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .aui .span12,.aui .row-fluid .span12 { width: 100%; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .aui .row-fluid [class*="offset"]:first-child { margin-left: 0; } .aui .input-large,.aui .input-xlarge,.aui .input-xxlarge,.aui input[class*="span"],.aui select[class*="span"],.aui textarea[class*="span"],.aui .uneditable-input { display: block; width: 100%; min-height: 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } .aui .input-prepend input,.aui .input-append input,.aui .input-prepend input[class*="span"],.aui .input-append input[class*="span"] { display: inline-block; width: auto; } .aui .controls-row [class*="span"]+[class*="span"] { margin-left: 0; } .aui .modal { position: fixed; top: 20px; left: 20px; right: 20px; width: auto; margin: 0; } .aui .modal.fade { top: -100px; } .aui .modal.fade.in { top: 20px; } }

We can make other adjustments as well. For example, remove the icon showing next to portlet title, by adding this css snippet into _diffs/css/custom.css:

.aui .portlet-topper .portlet-title i,.aui .portlet-topper .portlet-title span img { display: none; }

 

And one more improvement could be removing the duplicated portlet title, caused by accesibility text (add this css snippet into _diffs/css/custom.css too):   .hide-accessible { clip: rect(0, 0, 0, 0) !important; position: absolute !important; -webkit-transform: scale(0); -webkit-transform-origin-x: 0px; -webkit-transform-origin-y: 0px; *position: fixed !important; _position: absolute !important; }   Now you can build and deploy your theme. You have now a custom bootstrap theme with your own colour ready to use in Liferay 6.2, Isn't wonderful?    BOOTSWATCHR

This is another great bootstrap theme generator you can find in the Internet, where you can create Bootstrap v.2.3.2 themes.

Simply enter http://bootswatchr.com and click in "Create", which is located at the top of the page. 

Select “New” and then you can start configuring your theme. Before customizing the elements for the theme, you have to change to Bootstrap 2.3 first. For achieve that, select the “Settings” element in upper-left corner, and change the boostrap version, both for “Preview” and “Bootstrap Version” to 2.x and 2.3.2 respectively.

In left panel you’ll see the variables which you can customize for creating your theme. In this case, we can simply change these two variables:

@linkColor: #<FILL_HERE_YOUR_COLOR>; @navbarLinkColor: #<FILL_HERE_YOUR_NAVBAR_COLOR>;

We should change icons path too, so we can use built-in FontAwesome from Liferay:

@iconSpritePath: "../images/aui/glyphicons-halflings.png"; @iconWhiteSpritePath: "../images/aui/glyphicons-halflings-white.png";

Any time you change any variable value, you can see how it looks like in the right.

When finished, just click in “Get Css” -> “Full” just next to “Settings” in upper-left corner.

Then, you can create your Liferay theme (from _styled template) and simply copy/paste the css into _diffs/css/aui.css and you’re done!   In this case you don’t have to use the responsive css snippet from the previous theme provider, but you can use the snippets for removing icon from portlet title or remove duplicated text in portlet title.    This should be the final result:         So, now you have no reasons for not implementing your own bootstrap themes, even if you are not a frontend expert!   Hope you liked it! Enjoy Liferay theme development.   

 

Juan Gonzalez 2014-07-19T09:02:22Z
Categories: CMS, ECM

The Real Innovation in Sales and Marketing

KnowledgTree - Fri, 07/18/2014 - 09:52

It’s a good time to be in sales and marketing.  The pace of innovation among platform and tool vendors is staggering.  Long-held pains like prospect data quality and sales pipeline analytics are now commonly tackled.

The speed of development in this space triggered a healthy industry debate about where the sales and marketing divide lies and who’s out-innovating whom, Sales or Marketing.  Sales Benchmark Index wrote a great piece last year that is still very relevant.  It looks at how the Chief Marketing Officer can take a sales focus to help advance sales activities.

At the same time, there’s another actor that’s innovating too.  That’s the enterprise buyers themselves.  They are awash in information about how to solve pains.  With a simple search she can uncover multiple vendors, check references, and test software.  And this has radically reshaped the classic sales funnel.

The New Buyer Changes the Sales and Marketing Funnel

The new level of control means that buyers dip in and out of their ‘journey’ toward purchasing.  They may interact with an outbound call, read content marketing assets, consult with a salesperson, start a trial, ask for pricing, and any combination of approaches.

The funnel has been melted down and recast into a web of touch-points that bring a buyer to buy.  This complexity makes sales and marketing coordination imperative.  A “Smarketing” approach, as Hubspot popularized it, means the two teams partner along the entire buyer journey.  In fact, the hand-off between the two teams of processed leads that are ready to be sold to may never actually happen.

Innovation Comes at the Sales and Marketing Nexus

In nature, evolutionary explosions often come fastest at the edges: where sea meets land or forest meet field.  The same is true at the nexus of sales and marketing.  And that has led to exciting innovation coming from the interaction of traditional sales and marketing stacks, and sales enablement.  Innovation that has been compelled by the shift in buyer mentality.  Let me give you two examples:

Sales Enablement: Nurture Programs

Nurture programs are often delivered by marketing automation tools.  Engaging, funny, and challenging content is channeled to prospects via tailored website content, email, and other paths.  But sales people, particularly up the value-chain, engage in their own content-led nurture programs.

Both flavors of nurture programs have taken great strides.  For instance, marketing automation’s ability to trigger highly relevant content by prospect behaviors.  Or, sales acceleration tools’ ability to alert sales reps when prospects engage with content.

But where innovation gets exciting is at the nexus of the two.  For example:

  • A prospect has engaged with a marketing drip program — prioritize them in the outbound sales queue for rapid follow-up.  Companies like InsideSales.com have measured tenfold increases in conversion rates from actions like these.  Or,
  • A prospect opens content that a sales rep shared with his prospect.  Avoid sending the same content via marketing automation and instead send a proven follow-up with targeted content.

Tools like Hubspot’s Signals and Marketo’s Sales Insights are great examples of tools where the gap between marketing and sales’ nurture programs are bridged.

Sales Enablement: Analytics

Tactical level analytics have seen widespread adoption.  Analytics that support decisions like ‘which event should we sponsor?’ or ‘which prospecting emails are most likely to be opened?’ help sales and marketing teams prioritize actions.

No doubt.  But cross-team innovation lets us answer bigger questions.  We can now get to a holistic view of lead-to-revenue.  The long-cherished dream of CMOs and CROs.  Innovation that straddles the two teams is bringing us to this.  That let’s us answer questions like:

  • What marketing actions generate the most profitable customers?  It’s not enough to see what produces the most leads.  Rather, did a particular event generate more closed business?  Did a certain piece of content advance more opportunities through the funnel?  Holistic analytic vendors are innovating in this space, helping marketing place bets on what drives healthy pipeline.
  • Speaking of pipeline, sales is also faced with decisions about where to put resources.  Tools now exist that identify ‘likely to buy’ patterns among prospects based on, for instance, how they engaged with marketing content.  That let’s sales choose more likely prospects to focus on.  After all, leads are not all equal.

Great innovation comes when sales and marketing team up.  That lets companies innovate holistically in their go-to-markets to land more profitable customers.

The post The Real Innovation in Sales and Marketing appeared first on KnowledgeTree.

Categories: ECM

What Thinking Like LeBron James Can Do For Your Company

Liferay - Wed, 07/16/2014 - 12:09
  LeBron James has something to teach us about how to be a championship-caliber business. Let me explain.   On July 11, James sent a jolt through the sports world with three simple words: I'm coming home. The NBA superstar, in a moving letter published on si.com, announced his plan to return to the team which drafted him No. 1 overall in 2003, the Cleveland Cavaliers. This seems like a logical move on the surface. After all, the Cavs have a younger roster with talent plus the salary cap space to offer him a max contract.    But James is on a greater mission—one that goes beyond titles or money. By returning to his hometown, James looks to help revitalize the city and restore a sense of civic pride. He hopes that one day some of the kids he mentored "will come home after college and start a family or open a business." To a region that has suffered through many hardships, James speaks of hope and redemption. And he understands his homecoming as part of a greater plan. With this decision, James is redefining his legacy and gaining many supporters who are rooting for him to bring a title to Cleveland.   What LeBron James has achieved is the same thing that many companies haven't fully defined—a clear vision and purpose. Essentially, the key to organizational and individual success boils down to these ideals. As author and speaker Simon Sinek describes it, the combination of the what, why and how are the most important elements in defining who we are—but we must start with why. We must ask ourselves, Why do we do what we do? What is our purpose for our daily activities or tasks? What truly drives our organization and compels us to perform well?    Consider the vision as the root from which all other branches and leaves grow. If the vision of your organization is simply to turn a profit, then the actions and decisions of your company will revolve around that goal. Don't be surprised if employees cut a few corners with clients to fatten their own pockets. Or your product quality might begin to suffer because cheaper parts were used to maximize the margins. These actions would be a natural extension of a vision rooted in money.   But what if you stood for something beyond yourself? Then you are no longer just a brand, but a mission. The companies that are exceptional get this. Think Apple. Certainly, they've produced one amazing tech product after another, but their vision is to reach a new generation with ideas. To galvanize a world with a call to "think different." Remember this—brands might come and go, but missions never die.   Interestingly enough, like LeBron James, Liferay was committed to a greater hope in Ohio. (This might be the only time you hear LeBron and Liferay in the same sentence.) About eight months ago, we launched a Sales office based out in Hamilton. It was not a decision based solely on strategy—we also wanted to help rejuvenate the local region by creating job opportunities and stimulating economic growth. For some, New York or San Francisco would have made more business sense. But for us, it made perfect sense. At the heart of Liferay's vision is an idea of "for life", which means we exist to impact the world community. Which is one of the many reasons I love working here.    Whether you're an entrepreneur or member of a corporate ecosystem, the challenge is to define a clear vision that people believe in. And it starts with understanding your purpose and your place in the greater culture. If you can execute on these fundamentals, the rest should be a slam dunk.   *****

Liferay: Nerd On The Street is a blog devoted to sharing new ideas about business and technology. To continue the discussion, post comments below or email martin.yan@liferay.com.

Martin Yan 2014-07-16T17:09:49Z
Categories: CMS, ECM

dev.life Community Developer Sessions

Liferay - Tue, 07/15/2014 - 15:22

I'm not sure if I've said it enough -- our community is awesome! Each of us comes from different geographic places, cultural backgrounds, and Liferay experiences and we bring that collective story together through software by developing contributions, cool apps, and ultimately learning through sharing. And in that spirit I'm happy to announce a new initiative for our developer community: dev.life Community Developer Sessions!

2 weeks from today will begin a regular series of online hangouts designed for you, the Liferay Developer. Don't worry, these won't be boring slide presentations, but instead will each be unique and interactive hands-on coding sessions with a small, focused goal that each of us can achieve during the session and can then take home for later. Think of it like a mini-"workshop/hacking session" with a small, well-defined goal, led by your fellow developers from around the community. You won't find intro to portlets or here's my fully baked project - good luck kinds of sessions here. You will however learn something new every 2 weeks.

Specifically, these will be 60-90 minute hangouts every 2 weeks using Google+ Hangouts and YouTube, along with interactive features like a dedicated IRC chat room for Q&A, online collaborative coding whiteboards, Q&A and more. Simply show up with your mind (and your development environment) and start hacking! We are all stuck behind a monitor and keyboard most of the day, so this gives us all a chance to “get out there” and get more personal with our community and meet and engage with others in the world of Liferay and teach small things that can lead to larger things later on. And best of all, it's totally free (as in beer).

To give you a taste of what's coming, here are some example sessions (some of which are already on the calendar):

  • Calling a Liferay service from a mobile app
  • Sending out mass emails using Liferay's SubscriptionSender
  • OSGi and Gogo Shell interface examples
  • Extending AlloyUI's FormBuilder 
  • How to use other Databases/data sources in your app 
  • Creating a service using ServiceBuilder
  • Integrating custom assets into Recycle Bin
  • Creating a custom JSON Web Service that's anonymously accessible -
  • Defining a custom resource and permissions
  • Lucene/Solr integration for custom apps
  • Creating a simple Spring MVC Portlet
  • Converting an out-of-box Bootstrap theme to Liferay
  • Using Application Display Templates in your app
  • Creating power macros for FreeMarker
  • Integrating custom assets into ADT
  • Using Liferay JavaScript to call a service
  • Configuring a simple cluster
  • Integrating Liferay with an external CMIS repository
  • Turning on and using Social Activities features in custom apps
  • (And my personal favorite) Answering random posts from the community forums!

It's a big experiment that I hope you will enjoy and participate in. The first session is on July 29 at 1400 GMT (that's 0400 HAST, 0700 PDT, 1000 EDT, 1600 CEST, 1700 EEST, 1930 IST, 2200 CST, 2300 JST, 0000 AEST, and so on...) where we'll go over the typical dev environment one might use, how to use the collab tools, and introduce the upcoming sessions. As we go along we might change the tools, but the spirit of the sessions will remain the same. Following the first session, we'll do one every 2 weeks at about the same time of day. We have about 10 sessions in the pipeline so far (the next 3 sessions are on the upcoming sessions page).

How to Participate

To participate, check out http://liferay.com/community/dev.life and join us on July 29. On the site you'll also find a list of upcoming sessions (along with any prerequisites for each session), a calendar to which you can subscribe, and more information about the sessions. Each session will be broadcasted via Google+ and YouTube, but you need only visit the home page to join the session (there is an embedded YouTube stream and IRC chat on the page). You should also join IRC (specifically, the #liferay-dev-life channel for use during the session, and #liferay for general community chat) to join in the online chat in parallel to the hangout, as useful links and other information will be given, and you can directly interact with others. 

These sessions are geared toward Liferay Developers, and so you should also have your preferred development environment set up and ready to go if you intend to participate (and I highly recommend you do - you'll learn quite a bit more when forced to do things vs. passively watching!)

Calling all Developers

This is an ambitious effort to undertake, and your fellow community members would be super-appreciative to see what you're working on or what you've achieved with Liferay. Why not lead your own session? If you're interested, email me at james.falkner@liferay.com with your ideas - everything development-related is welcome, but please no sales pitches or theoretical physics papers :) These are real world tasks with real results, buddy! And you'll get a small gift in return for your efforts!

So get fired up for dev.life, be sure to read the prerequisites for each session and get your toolbox ready to rock. It should be fun!

James Falkner 2014-07-15T20:22:46Z
Categories: CMS, ECM

Troubleshooting JSF Portlet Deployment Errors

Liferay - Tue, 07/15/2014 - 10:59

Many of us have experienced it, you go to deploy a new application into your portal instance and see the dreaded deployment error messages. What do you do? Is the error message helpful? How can I find the solution?

If you're experiencing deployment problems with deploying a JSF portlet on Liferay, there's a simple process you can follow to solve your deployment issues. Instead of trying to figure out what's wrong with your code, it's sometimes easier to compare your portlet to a working example. The strategy/tutorial below creates a working example to compare your project to. This strategy is recommended by our Liferay Faces experts.

For the following steps, we assume someone is using a JBoss server. However, these fundamental steps can be followed for any app server. Here they are:

  1. Download a Liferay+JBoss bundle
  2. Determine the correct version of Liferay Faces: Liferay Faces Version Scheme
  3. Follow the instructions to upgrade Mojarra: For JBoss or for other app servers
  4. Follow the instructions to upgrade Weld: For JBoss or for other app servers
  5. Follow the instructions for Building Liferay Faces From Source
  6. Build the jsf2-portlet (from liferay-faces on Github) using theJBoss profile and deploy it to the Liferay+JBoss bundle:

            cd liferay-faces/demos/bridge/jsf2-portlet
            mvn -P jboss clean package
            cp target/jsf2-portlet*.war $LIFERAY_HOME/deploy


    7. Build the primefaces4-portlet (from liferay-faces on Github) using the JBoss profile and deploy it to the Liferay+JBoss bundle:


            cd liferay-faces/demos/bridge/primefaces4-portlet
            mvn -P jboss clean package
            cp target/primefaces4-portlet*.war $LIFERAY_HOME/deploy


    8. Examine the working example WARs and find out how they are different from the WARs that you are having trouble deploying. Typically it is a problem with dependencies. For example, you might be including portal-service.jar inside of WEB-INF/lib which could cause a ClassCastException.

This specific Liferay Faces troubleshooting tutorial is currently being migrated into Liferay's documentation. I'll post the link to the official tutorial to this post, once it's complete. Hope this helps!

Cody Hoag 2014-07-15T15:59:02Z
Categories: CMS, ECM

The Learning Curve, Chapter 2 - Infrastructure

Liferay - Sat, 07/12/2014 - 06:06

Are you new to Liferay? Found Liferay and want to know what it can do for you? Or are you with Liferay and still remember the time when you were new and unexperienced? Where did you come from and what was the biggest problem you faced? Can you ever learn enough? And how do you keep up with the current trends and new features?

A platform as big as Liferay spans several technologies and areas of best practices that are beneficial to know of. Nobody can know everything - there's always a learning curve. At the beginning, it's quite steep. Some argue that it's flattening the more you know. Some argue that it gets steeper: The more you know, the more you know what you don't know.

I'd like to give you pointers to resources that are available to you, in order to learn about Liferay, resources that help you avoid steep detours, when there are flatter direct connections. This is meant to be (eventually) comprehensive but I'm sure that it will never be complete. It's just what I remember while I write this article and the follow ups (yes, there are more, already drafted)

Today's Target Audience: Technical (Sysadmins and Developers), unless indicated otherwise:

Basic Understanding

Liferay is always running in some kind of environment. It requires a database to store its data. It requires an application server to run on. And there are a lot more component that you can operate in combination with Liferay: Single-Sign-On, LDAP, Search Appliances, Monitoring Systems etc. Let's look at the most common ones and keep the other ones for later:

Liferay's User Guide has several chapters on Administration and Installation. While this gives you the necessary step-by-step instructions to get started on any (supported) platform, the more experience you have on a platform, the more you can get your own policy or opinion into the game.

Application Server

Liferay is an application that requires a container to run in. This can be a simple servlet container or a full blown application server. Naturally, quite a bit of configuration for Liferay depends on the container that you're running on. And, as technical staff, you should know a bit about your container of choice and about Java Web applications in general. For the purpose of this blog post, I'm summarizing all these containers as "Application Servers" even if they might be more simple than you'd expect from such a component.

Among the things that you should know (or learn) about your application server of choice are

  • Proper setup for production, including hardening, protecting default management interfaces from public access
  • Update procedures. Even (or especially) if you're running Liferay from a bundle: The maintenance of the appserver is in your realm.
  • Backup and (Disaster) Recovery.

Where do you find that information and experience? The vendor (or supporting website) of your appserver vendor should have it, alternatively somebody in your team or on the market: Having a good system administrator or developers with good understanding of the platform they're developing on is gold. There's trainings for the server of your choice, books, and the internet is full of Q&A. If you wonder why there's no link here: Liferay supports various versions of the following application servers, and I'm familiar with only few of them:

  • Glassfish
  • JBoss
  • Tcat
  • tcServer
  • Tomcat
  • Weblogic
  • WebSphere
  • Resin

Speaking about your Application server of choice: Which one should you choose? The bulletpoints above might already answer this question: Choose the one that you feel most familiar with. If I give my recommendation (the one I'm most familiar with), this doesn't help you: you might not have a clue about hardening, maintenance, backup and recovery of that platform. So check your team's experience with and make your own choice. Ask your team about the best way to learn about their preferred platform. Mentor each other. Find local usergroups, online resources and meetups/conferences for the platform of your choice. (this exercise is left for the reader. If you have outstanding, specific preferred resources, feel free to add them as comment)

Database

The same goes for your database: Liferay supports many of the databases available on the market. While it will be happy to store its data in your DB, the setup, backup, maintenance and tuning of that database is totally outside the realm of Liferay. Where do you get the experience? With the vendor or platform of your choice. Here we have the same recommendation as with appserver: Choose the one platform that you can maintain best. It's not worth choosing my favourite one just because it's 5% faster when you have no clue about its backup strategy or disaster recovery.

Again - where do you find this information? With the database vendor of your choice. From Q&A sites. From training and from experienced admins that you're working with. (and again: Feel free to add outstanding resources as comments)

For databases, just like for application servers, you'll have to make your own choice: Here are the databases that Liferay supports (in various versions)

  • DB2
  • MySQL
  • Oracle
  • Postgresql
  • SQL Server
  • Sybase ASE
Installation/Maintenance Training

Naturally, with Liferay's Training offerings, "there's a course for that": In Administering Liferay Systems, we spend 3 full days to set up, maintain and tune Liferay within the infrastructure. While this course concentrates on the open source appservers and databases (because that's what we can legally distribute for the class), you're free to bring your own appservers and databases and try out the principles that you learn in this class.

Target Audience for this class, naturally: System Administrators and DevOps.

As always, this course is available in public trainings, scheduled around the world, as well as onsite, with a trainer coming to your organization.

Links?

So much for the infrastructure. Granted, due to the nature of these recommendations there are not a lot of clickable links here. Help me fix this and add your recommendations for the environment of your choice in the comments. And stay tuned for Chapter 3: Documentation (sic!).

People that liked this article, also liked The Learning Curve Chapter 1 - a basic overview.
People that like to learn more about what happens behind the scenes, also like to listen to Radio Liferay. ;)

Olaf Kock 2014-07-12T11:06:12Z
Categories: CMS, ECM

Using existing Bootstrap themes in Liferay (Part I).

Liferay - Fri, 07/11/2014 - 09:49

Yes, it's true bootstrap give us a lot of improvements for creating themes. And is also true that since Liferay 6.2 we can take advantage of all this useful tools for developing your own themes in Liferay.

Looking for developing my own themes for some personal portals (yes, I like developing in Liferay in my free time too ) without being a frontend developer seemed more less complicated. Although there were some attempts for explaining it, the steps were not clear enough for a bootstrap newbie like me.

After some investigation (and with the help from Nate Cavanaugh, Ilyan Peychev and Chema Balsas, thanks very much mates!) I could finally put all pieces together and create some steps for integrating an existing bootstrap theme into Liferay sucessfully.

So after reading this 2-part blog series you would be able to get any already developed bootstrap theme and use it in Liferay. In fact, I used some of the existing bootstrap themes showcases and generators.

As what I've seen round there, there are two types of themes from bootstrap showcases/generators:

  1. Themes with downloadable LESS files.
  2. Themes with complete bootstrap (v. 2.3.2) CSS.

In this post I'll be explaining the steps for the first point. So here we go!

Themes from LESS files (http://bootswatch.com/2/)

When searching for bootstrap themes, you probably found bootswatch as one of the first results. It has some free themes and many themes for purchasing. As you can see just after opening the page, you are selecting Bootstrap v.2. This is required for Liferay 6.2, as it uses Bootstrap 2.3.2. But there are good news. Next Liferay version will be compatible with Bootstrap v3, although you have to stay with v.2.3.2 until new version is out.

Just choose one of your free or purchased theme, and download the variables.less and bootswatch.less files (in my case, I've chosen "Slate" free theme):

After downloading those files, follow these steps:

  1. Create theme using Liferay IDE or SDK command line  (styled + Velocity, if using Freemarker you will find this known error: https://issues.liferay.com/browse/LPS-47408).
  2. Create these new files, using _diffs directory as usual:
    1. _diffs/css/_aui_variables.scss
    2. _diffs/css/_aui_custom.scss
  3. ​Copy content from variables.less into _diffs/css/_aui_variables.scss
  4. Copy content from  bootswatch.less into _diffs/css/_aui_custom.scss
  5. Downloaded files are in LESS format. We need to convert them to SASS. There are some rules we can follow easily: https://github.com/m5o/sass-bootstrap/blob/master/README.md#sass-conversion-quick-tips. Below I write the replacement rules I've followed, using regex patterns and the replacement value.
  6. LESS replacements Pattern/string to replace Replacement @(?!(?:import|media|charset|font-|page|((-(moz|o|ms|webkit)-)?(keyframes|viewport)))) $ spin\( adjust-hue( \.([\w-]+)(?=\() @include $1 #gradient > @include vertical @include gradient-vertical #gradient > @include directional @include gradient-directional &- Replace with the css class where that element belongs to: (ex.:  &-inverse belongs to .navbar, so it should be .navbar-inverse)
  7. Change icon path in _aui_variables.scss:
$iconSpritePath: "../images/aui/glyphicons-halflings.png"; $iconWhiteSpritePath: "../images/aui/glyphicons-halflings-white.png";

 

Then, after executing "ant deploy" (or using Liferay IDE) your theme should deploy properly and result, if you chose the same theme as me, should be like following:

 

 

Looks good, isn't it? As you can see, you can have a bootstrap theme as a Liferay theme in only few minutes!

That's all for now! In next blog post I'll be showing how to generate a custom bootstrap theme from scratch using some of the available generators existing in Internet, and use it as a Liferay theme.

Hope you liked it, stay tuned! 

Juan Gonzalez 2014-07-11T14:49:33Z
Categories: CMS, ECM

The Learning Curve, Chapter 1 - A basic overview

Liferay - Thu, 07/10/2014 - 15:48

Are you new to Liferay? Found Liferay and want to know what it can do for you? Or are you with Liferay and still remember the time when you were new and unexperienced? Where did you come from and what was the biggest problem you faced? Can you ever learn enough? And how do you keep up with the current trends and new features?

A platform as big as Liferay spans several technologies and areas of best practices that are beneficial to know of. Nobody can know everything - there's always a learning curve. At the beginning, it's quite steep. Some argue that it's flattening the more you know. Some argue that it gets steeper: The more you know, the more you know what you don't know.

I'd like to give you pointers to resources that are available to you, in order to learn about Liferay, resources that help you avoid steep detours, when there are flatter direct connections. This is meant to be (eventually) comprehensive but I'm sure that it will never be complete. It's just what I remember while I write this article and the follow ups (yes, there are more, already drafted)

Today's Target Audience: All, this is providing an overview and basic information

Quick reads

A very quick overview over the aspects of the Liferay Platform are the Whitepapers found in the "Business Whitepapers" section. I recommend them even for technically oriented folks, as they show off some aspects that you otherwise wouldn't necessary get in contact with, and they're really quick to read.

Continuing on the quick reads, you might be interested in case studies, e.g. matching your industry, your usecase or your location. All of them are easy to filter.

Events



To get in contact with people that are actually using Liferay, a good opportunity is to visit the events that are happening all over the world. Starting with half-day roadshows that are conducted in cooperation with our service partners. These typically feature some customer case study and - most important - bring you face to face with experienced Liferay-, Partner- and Customer-Staff. You'll get real experience & answers to the questions that you bring.

On with other events: All over the world, you'll find either "Symposiums" or "Liferay Portal Solutions Forum" or LPSF. These are typically single- or two-day events. Some are in the language local to the country they take place in, others are in english, or mixed. About the content, LPSF is focussing on the business aspect of Liferay. You'll typically find customer case studies, insights into Liferay's Roadmap and our "Speed consulting", where an experienced Consultant answers as many questions as you can ask during your appointed time slot. In contrast, Symposiums add the technical crowd to the mix. The different target audiences are organized in different tracks, but there's some overlap and you can choose from session to session. Purely technical people are the target audience for DevCon

Trainings

Liferay offers different certified courses for all target audiences - how about getting you or your project team kickstarted with Mastering Liferay Fundamentals? This course gives you a comprehensive overview over Liferay Features. After having taken this course, you have a solid impression of Liferay's feature set, the configurability and how to adapt this great platform for your own site(s). Our trainers are well experienced, so you'll be able to get your own questions answered during class, in addition to the curriculum.

For the managers and business owners: You'll learn what Liferay can do for you.

For the developers and technical people: You'll learn that Liferay has many features that you just need to enable or tweak, rather than implementing them yourself, from ground up.

A customer once stated to me that they'd have saved months of implementation if their developers only had taken this class at the beginning of their implementation, rather than a few years in.

Trainings are offered on-site (a good deal for 5 and more participants from your organization: Have the trainer come to your place) or as public trainings, open for anybody to sign up. "Mastering Liferay Fundamentals" is also available online. For all Liferay trainings, you can get a certification of participation as well as a badge on your liferay.com profile (check out mine)

So much for the basic overview, stay tuned for Chapter 2: The infrastructure Liferay is running in, and what you should know about it.

Olaf Kock 2014-07-10T20:48:40Z
Categories: CMS, ECM

50+ Twitter Accounts Every Sales Enablement Professional Must Follow

KnowledgTree - Thu, 07/10/2014 - 12:05

Sales Enablement thought leaders are a great bunch. They produce a ton of great content and are keen to share best practices with colleagues, fellow practitioners, and sales enablement enthusiasts. In fact, we rely on their thinking a lot in our blog.

To help spread the word about great sales enablement content, we compiled a list of great Twitter accounts that you should follow to get the latest strategies for supporting your sales teams.

50 Sales Enablement Thought Leaders to Follow

Salesenablement – Salesenablement has 3,000+ followers. He is very up to date on sales enablement practices around the world. Because he sources his tweets from a wide range of blogs, he always provides interesting takes on different sales enablement solutions.

MarketingProfs – MarketingProfs have 243,000 followers. Although MarketingProfs focus on marketing, they often share important sales enablement news. MarketingProfs’ materials are also excellent reads.

Digitalolson – Digitalolson has 5,700+ followers. He is an expert in product marketing and employs his expertise to provide interesting perspectives on enabling sales. Following digitalolson will ensure that you’re well versed on different methods of increasing sales productivity.

Tamaraschenk – Tamara has 1700 followers. She does research in sales enablement and has a blog dedicated to it. All of her tweets are unique, refreshing, and reliable sources of sales enablement news. Reading her tweets is an enjoyable learning experience.

Jimdickie - CSO Insights is legendary, with their annual surveys on best practices, compensation, and more — they are a go-to-source for sales enablement insights.

Siriusdecisions – SiriusDecisions has 9000+ followers. They frequently congratulate non-vendor companies for their sales enablement milestones and recommend sales enablement solutions. A great resource to stay well-informed on current and innovative sales enablement solutions.

Tahoepartners – Tahoe Partners has 5,000 followers. They tap into a wide array of marketing and sales blog posts to deliver the latest news on sales enablement and sales enablement companies. Their platform of being on the forefront of engagement and collaboration innovations yields new and interesting information.

Sellingtools – Sellingtools has 13,300 followers. Nancy Nardin, who runs Selling Tools, is extremely well-informed in marketing and sales and specializes in sales productivity. She is a sales guru and is more than willing to share her wisdom via twitter. No matter how experienced you are in sales, sellingtools will still teach you something new about sales enablement.

CRM –  CRM has 17,000 followers. They focus on utilizing CRMs to increase sales productivity and have a unique perspective towards sales enablement. If you want to learn more about how CRMs can help enable your sales, CRM is worth following.

Davidabrock – David has 8,000 followers. Because David focuses on solving sales problems, his tweets are centered around improving sales enablement. He gathers information from his followers and different blog posts, ensuring diverse content in each of his tweets.

Aberdeengroup – Aberdeen Group has 3,000 followers. They cover a wide range of insights about enabling sales. Their varied tweets provide fresh sources of sales enablement inspiration.

ASTDSalesEnable – ASTDSalesEnable focuses on engaging, educating, enriching, and empowering sales. Roxy’s insightful posts about sales enablement makes her an important asset for all sales professionals.

Iannarino – Iannarino has 34,000 followers. His tweets are largely data and statistics based, dedicated towards teaching about sales enablement. The aforementioned traits combine to create an easily digestible source of sales enablement knowledge.

Peterostrow – Peter supplies us with valuable content about improving sales effectiveness. He obtains his information from a wide range of sources to ensure accurate, diverse, and engaging information.

Jill_rowley – Jill has 16,000 followers. Jill approaches sales enablement with social selling in mind. Jill’s unique approach towards sales enablement and her experience in sales and marketing makes her a valuable sales enablement reporter.

Jamietshanks – Jamie provides us with useful tips for enabling sales and social selling. Jamie’s content is rich with useful sales enablement information and is extremely entertaining to engage with.

HeinzMarketing - Taking a marketing perspective on topics including sales enablement, Matt is filled with practical, informative, and motivating insights.

Davestei – Dave is a sales and marketing leader and does us a favor by sharing his wise insights. He provides us interesting and informative content that will help you and your business.

Forrester – Forrester Research has 268,000 followers and often educates us with up to date statistics and research. Forrester’s tweets are a valuable resource for new sales enablement insights and a must follow account for any sales or marketing professional.

KurlanAssoc – Kurlan & Associates are experts in sales and sales solutions. Applying the extensive amount of tips they share will maximize your sales team’s productivity and enable your sales.

Jillkonrath - author of legendary books like Agile Selling and Snap Selling, Jill know sales process and sales enablement inside and out.

Erikmehl – Erik has 3,000 followers. Erik’s curiosity towards improving sales and marketing’s performance is easily shown in his posts. He is an assistant professor at a business school and is constantly updating his twitter with new sales and marketing research. If you want to stay ahead of the pack and remain up to date on sales and marketing practices, following Erik would be a wise decision.

SalesArchitects – SalesArchitects has 21,500 followers. SalesArchitects provides new lessons for sales almost hourly. SalesArchitects is a sales encyclopedia and the go-to sales resource for beginners and experts alike. Following SalesArchitects is the ultimate hack for further educating yourself in sales.

BriangBurns – Brian has 14,000 followers. The beauty of BrianBurns is that he shares not only useful sales enablement content, but also shares motivational and thought provoking quotes. The combination of the two balances together to make BrianBurns an interesting read and a valuable resource for all sales professionals.

StevenARosen – Steven inspires and educates sales professionals at the same time. All of his posts are great reads and very insightful. I highly recommend every person in sales to follow StevenARosen.

Funnelholic - Craig Rosenberg has great data, great headlines, and very deep — and highly practical — thoughts on getting sales and marketing to work together.  A must follow.

MattCookSales – MattCookSales has 22,600 followers. Matt covers every topic regarding sales, easily making Matt a leader in sales knowledge. Every sales professional will find Matt’s content useful for improving their sales performance.

sfsAlexTraynor – AlexTraynor has 6,000 followers. Alex is a great resource for sales enablement knowledge and an interesting read.

Webinarwoman – Webinarwoman has 5,000 followers. Webinarwoman’s posts are all engaging and informative for sales professionals. She is focused on improving sales performance and sales management. Read webinarwoman’s posts for unique insights towards sales.

Salespowertips – Salespowertips has 14,200 followers. He delivers a combination of motivational quotes, powerful sales tips, and thought provoking sales articles to help maximize sales performance for businesses around the world.

RBhowmik1 – RBhowmik1’s viewpoint towards sales enablement from a marketing perspective is a refreshing take on solving our sales problems.

EricTTung – EricTTung has 104,000 followers. Eric posts compelling sales and marketing information, as well as other miscellaneous materials that will help improve you as a person and as a business professional. Eric is a global leader in marketing and sales enablement for a reason – check him out.

Buyerpersona – Adele Revella has both entertaining and ingenious articles about sales enablement. Adele’s ingenuity comes from her extensive experience in both sales and marketing, making her a well rounded professional with many breakthrough sales enablement insights.

Gdaviddodd – G. David Dodd is consistent in delivering useful content for improving sales, marketing, and businesses. His passion for B2B business strategy is apparent and motivates him to update his followers with new and effective B2B business strategies.

ShellyKramer – Shelly has 72,500 followers. As a content specialist, Shelly shares meaningful sales enablement and marketing articles.

Mike_Kunkle –  Mike is involved with all aspects of sales performance improvement. His insights in sales enablement is invaluable and a must read for all salespeople and business leaders.

Gdavies2 – Gemma Davies is a professional on the crossroads of sales and marketing. As such, Gemma frequently shares a unique perspective and content that is concerned with sales and marketing at the same time.

DemandGenMaven – DemandGenMaven has 3,000+ followers. Keith’s devotion to delivering the latest sales and marketing alignment news and sales enablement strategies makes Keith a valuable twitter user for any business professional.

StrategicGuy -StrategicGuy is a leader in content marketing and sales enablement. StrategicGuy’s posts are educational and interesting – a must follow for every marketer and salesperson.

RichBohn – RichBohn’s posts cover sales, marketing, and CRM uses. His extensive experience in sales and marketing yields wise insights for enabling sales.

TopSalesWorld – TopSalesWorld has 103,000 followers. TopSalesWorld is an asset for salespeople because it delivers powerful resources from the industry’s best known sales experts around the world.

Lattice_Engines – Lattice Engines has over 3,000 followers. Lattice Engines shares excellent articles and blog posts from a variety of reliable sources, making them a leader in delivering sales enablement content.

Ramonray – Ramon Ray has 16,800 followers. Ramon constantly updates us with the newest business technologies. If you are interested in innovation and new sales enablement solutions from small businesses, I highly recommend you check out Ramon.

Steveology – Steve has 114,000 followers. As a Forbes top 50 content marketing strategist, Steve only shares the best materials. The combination of his extensive background in content marketing and his interest in sales enablement makes Steve a thought leader in the field.

Pardot – Pardot has 50,500 followers. Pardot’s extensive research in sales and marketing is thankfully shared through their twitter account. Following Pardot is a necessity for all sales and marketing professionals that want to stay up to date in their respective fields.

Chiefmartec – Scott Brinker has 14,400 followers. Scott is a prime resource for learning about how technology can help your sales and marketing team’s performance.

Tpisello – Thomas Pisello is an expert in sales enablement and content marketing. He is constantly updating his audience with sales enablement news, ensuring that they are always informed with the most up to date information.

Dmscott – David Scott has 107,000 followers. David is a 9 times best selling author in the fields of sales and marketing – and it is evident in his educational and thought provoking posts. David is a valuable resource for sales and marketing knowledge.

SMAssociation – Sales Management Association’s sole focus on improving sales effectiveness and its large pool of resources makes it a consistent source of great sales enablement content.

CRMHourlyNews – It’s not a secret that CRMs can help enable sales. CRM Hourly News ensures that its followers are kept in the loop on CRMs and are constantly learning more about how CRMs can help their sales teams.

Gerhard20 – Gerhard has 11,500 followers. Gerhard is very insightful, has amazing sales knowledge, and great blog posts, making Gerhard a must follow for every salesperson.

TonyZambito – Tony is intent on tackling sales enablement issues from a content marketing perspective. Tony has many lessons on content marketing, but these lessons contain value for sales professionals as well.

CoachLee – Leanne is determined to help improve sales teams’ efficiency. CoachLee is named rightly so – she is an admirable coach, the Mike Krzyzewski of sales.

Equintanilla – Elizabeth Quintanilla provides important sales enablement information, marketing tips, and inspirational quotes. Everyone will find worth from following Elizabeth.

TechSalesOps - Neal Murphy is a proven sales operations leader with deep experience getting process right in sales enablement initiatives.

The post 50+ Twitter Accounts Every Sales Enablement Professional Must Follow appeared first on KnowledgeTree.

Categories: ECM

Liferay IDE 2.1.1 Release

Liferay - Wed, 07/09/2014 - 22:08

A new release of Liferay IDE has been made available today, version 2.1.1.  You can update or install the new release here as usual:

http://releases.liferay.com/tools/ide/latest/stable/

Or go over to the download page and grab one of the bundles that includes Eclipse Luna JavaEE package with Liferay IDE 2.1.1 pre-installed: 

https://www.liferay.com/downloads/liferay-projects/liferay-ide

Some release highlights include:

  • New Improved Liferay Project wizard
  • Better Vaadin7 support
  • Better Java8 support
  • Minor improvements to liferay-maven-plugin support
  • Initial support for web-type plugins
  • Eclipse Luna support

Full list of issues can be see here.  Actually we have had several releases of Liferay IDE since my last blog post.  I'll try to do a better job of keeping you up2date in the future.  We have some exciting things planned for Liferay IDE 2.2, namely, better AlloyUI/JavaScript support!

Gregory Amerson 2014-07-10T03:08:01Z
Categories: CMS, ECM

3 Problems Your Sales Team Has with Your Sales Collateral

KnowledgTree - Wed, 07/09/2014 - 15:10

As many of you may know, there exists a great divide between sales and marketing. The divide is so great, in fact, that 41% of salespeople don’t know which marketing content to use, how to use it, or when to use it. The end result is ill-equipped sales teams within our businesses, looking for sales collateral that end up being irrelevant, outdated, or unengaging for our prospects.

The sales and marketing divide poses as a large threat for our businesses. First of all, sales representatives’ uncertainty over which sales collateral to use means that they are wasting valuable time probing through marketing materials.

The average sales representative spends 35 hours per month creating or finding content. This statistic is a startling flag of inefficiency and lack of productivity among our salespeople. Brilliant content is already created via our marketing teams and finding that content should be simple and quick. Let’s run through some hypothetical numbers to obtain a firmer grasp on how much time and money the great divide is wasting. Let’s say your business has 200 salespeople. 200 salespeople x 35 hours a month creating or finding content = 7,000 wasted hours every month.

Instead, those 7,000 hours of labor you funded could be wisely spent on that brand new Mercedes-Benz CLA class you eye on the corner of the dealership lot every morning, 2 round trip plane tickets to Tokyo with a week booked at a 4 star hotel, 2 pairs of Google Glasses, 1 years’ worth of tuition at your state’s public university, and you would still have over $9,000 left over to donate to charity.

Despite all of the hard work and time our salespeople invest in obtaining content, they often ruin sales opportunities by misusing that very content. This is shown by the 41% of salespeople that don’t know how, when, or which marketing content to use. “Wait? Are you telling me that my sales reps spend so much time finding and creating content and still lose prospects?! How are they possibly misusing their content?!” This is my segue to the heart of their sales collateral problem.

Sign Up For A DemoKnowledgeTree lets you deliver the right content at the right time to your sales team. Common Sales Collateral Mistakes

1. Sales collateral used at the wrong time. The lead to revenue path has many stages and a specific piece of sales collateral is most suitable for a specific stage. Imagine this scenario: Mike, one of your sales representatives, has a recent prospect that is still in the discovery stage. Mike spends time searching through content in a variety of different places. In the end, Mike decides not to waste any more time and opts to send his best go-to generic content instead. He clicks the “Send” button. The sales collateral he opted to use was meant for prospects in the later proposal stage. The sales collateral didn’t resonate with the prospect and ultimately the opportunity was lost. This is a very common occurrence because our salespeople don’t know when to use a given piece of content.

2. Misuse of sales collateral. Marketing often gives content to the sales teams without any explanation of the materials. This results in sales teams’ misinformation about the purpose of the given sales collateral. Their unawareness of the sales collateral’s purpose leads to them using it for the wrong reasons. For example, marketing creates a piece that was meant to be a competitive kill sheet; however, a sales representative uses the collateral for the wrong competitor. Another example would be sales collateral meant for a manufacturing business that is sent to a financial services company instead. Obviously the prospect will be rubbed the wrong way and the sale will be lost.

3.  Unacceptable sales collateral. Quite simply, the sales collateral that your sales team is using right now could be outdated, contain typos, or have mistaken information. It’s easy for salespeople to overlook, especially if they’re trying to hit their quotas. This does not look good to your leads and it is very hard to recover from sending erroneous materials.

All of these big problems stem from the sales and marketing divide. If you can close the divide, then you can surely increase the amount of time your sales team spends engaging prospects and provide them with the right sales collateral at the right time. Your business’s efficiency, productivity, and profits will surely increase.

KnowledgeTree is here to abolish the great sales and marketing divide around content used in the sales process. By surfacing the most relevant content created by marketing right into Salesforce.com your sales team will never have to search for content again and those 7,000 hours of wasted labor will now be hours well spent. Check out this article to learn more about how we close the sales and marketing divide.

 

The post 3 Problems Your Sales Team Has with Your Sales Collateral appeared first on KnowledgeTree.

Categories: ECM

What I learned in 2 years at Liferay

Liferay - Tue, 07/08/2014 - 19:33

Seems like yesterday when I decided to move from this huge company based in Rio to this not-so-well-known company based in LA. That was not an easy decision, but I’m glad I made it.

Now, two years after that day, here I am to share some of the things I learned.

  Passion is the most important skill

Hiring is a very delicate topic in every tech company nowadays. As developers we’re usually doing more stuff than we should do. And we all know how hard is to find talented people, specially if you’re very selective with who you hire.

I had the opportunity to interview some people and it’s interesting to find out that those who got the job are not always the most skilled developers or designers. They simply demonstrated more passion about what they were doing.

After all, we think that learning technical skills is much easier than changing how someone feel about doing their work.

    There’s life beyond the software community

As an open source company we care a lot about the software community. We go to conferences all the time. We push code to GitHub like there’s no tomorrow. We essentially live this whole atmosphere all the time.

This is a very nice thing, but when you go deep into a particular community you may end up forgetting that there are other communities out there. Communities with much bigger problems to solve. Communities that could use your help somehow.

By leading Liferay’s EVP (Employee Volunteer Program) committee in Latin America along with Cleydyr, we’re able to collect more than 700 kg (1543 pounds) of food in less than 24 hours to help poor families in the state of Pernambuco, Brazil.

Being part of initiatives like that is just incredible.

    The mentoring cascade

The way I see, Brian Chan, the company founder, grew the engineering teams with an amazing mentoring cascade model.

It’s really hard to describe how it works because it’s a kind of mentoring that goes beyond code review. We spend a huge amount of time teaching other people.

Brian mentored Nate, Nate mentored Eduardo and a bunch other guys, Eduardo mentored me and a bunch of other guys too, now I’m mentoring Henrique, Thiago and so on.

The cool thing is that I’m just one leaf of that tree, there are many other leaves like that spread all over the world.

    People before profit

Last year I went to Europe for couple presentations and ended up in a hospital in Madrid for 3 weeks. I got there alone and had many troubles to communicate since I don’t speak Spanish very well and they didn’t understand English or Portuguese at all.

Fortunately, many of my coworkers from the Spain office went there to visit me. They were all very friendly, trying to entertain me all the time. They even brought my Macbook and a 3G USB modem, so I could “escape” from that situation using a computer (interesting fact: the dracula theme was created in that hospital).

During the second week there, I had to leave my room for 15 seconds and when I got back my computer and tablet were stolen.

The only way I had to communicate with my family was gone. I was totally devastated.

Again Liferay was very kind to me. They brought me a new computer, some DVDs to watch, and most importantly they flew my sister all the way from Rio to Madrid just to be there with me.

Those were, by far, the worst 3 weeks of my life. But I learned so much from it. Specially ‘cause those are the moments that you truly get to know those around you.

Any other company could be angry because I wasn’t working for a long time, worried about the hospital bill or simply didn’t care at all. But not Liferay. They did much more than I could expect and for that I'll be always grateful.

 

Thanks you guys, it’s been two wonderful years :)

Zeno Rocha 2014-07-09T00:33:18Z
Categories: CMS, ECM

Connecting to different database using Liferay Service Builder

Liferay - Tue, 07/08/2014 - 02:47
                   Connecting to different database using Liferay Service Builder

 

Generally when we create a Custom portlet using Service builder or use Service Builder to generate code for persistence and service/model layers. The logic we use is persisting the data in Liferay DB .i.e... DB configured in portal-ext. properties.

But in my case I had a requirement where in, Client had a separate DB schema and he wanted complete separation of logic from Liferay DB. All he needed is Crud operations on those tables.

We also have requirement that Client wants there Data on Separate Schema or Separate DB.
But In Liferay how we can connect with different DB?

After searching and analyzing different blogs, I came to conclusion and starting implementing them.

As we are using service-builder, it means that you need code for  tables other than liferay default DB. So it requires for you to create new plugins project and in that you need to create service.xml under webapps/WEB-INF and with the help of ANT(ant build-service) or MAVEN (mvn liferay:build-service) you will able to create full structure for your service. But still it is pointing to the default DB.

So let’s start our code with basic data model as shown below.

Step 1:  Service.xml :

<entity name="Organization" table="ORGANIZATION" local-service="true" remote-service="true" >

  

    <!-- PK fields -->

 

    <column name="vmId" type="long" primary="true" />

   

    <!-- Audit fields -->

   

    <column name="organizationId" type="String"  />

    <column name="name"                  type="String" />

    <column name="addrId"                type="long" />

    <column name="created"        type="Date" />

    <column name="trash"                 type="String" />

   

   

   

    <!-- finder Methods  -->

    <finder return-type="Collection" name="organizationId">

       <finder-column name="organizationId"></finder-column>

    </finder>

 

   </entity>     

 

Once you run the build service, it will generate all the code required for model, service and persistence layer as shown below.

 

create table ORGANIZATION (

       id_ LONG not null primary key,

       organizationId VARCHAR(75) null,

       name VARCHAR(75) null,

       addrId LONG,

       created DATE null,

       trash VARCHAR(75) null

);

Step 2:

As we define the jdbc properties for the liferayportal in portal-ext.properties, same way add for the external DB or separate schema as shown below:-  

########## Liferay Portal  MySQL Database Configuration ##########

jdbc.default.driverClassName=com.mysql.jdbc.Driver

jdbc.default.url=jdbc:mysql://localhost/liferay6_1_2?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false

jdbc.default.username=root

jdbc.default.password=root

 

########## External DB   MySQL Database Configuration ##########

#jdbc.tcs.driverClassName=com.mysql.jdbc.Driver

#jdbc.tcs.url=jdbc:mysql://localhost/tcsdb?useUnicode=true&characterEncoding=UTF-8&useFastDateParsing=false

#jdbc.tcs.username=root

#jdbc.tcs.password=root

 

  ########### External DB   Oracle Database Configuration ##########

   #

   #

    jdbc.tcs.driverClassName=oracle.jdbc.driver.OracleDriver

    jdbc.tcs.url=jdbc:oracle:thin:@localhost:1521:mdb

    jdbc.tcs.username=root

    jdbc.tcs.password=root

 

Explanation :-                   

Here based on your external DB type, add the  DB configuration in above property file.

In my case, I used Oracle DB as shown above.
The first four line starts with the jdbc.default, it means that it was associated with the Default Data Source. So it will connect to the Default Liferay DB.


Last four line line starts with the jdbc.tcs, which does not belong to the Default DB. It will be connected to some other DB whose entry will be in ext-spring.xml.

 

Note: I have changed the DB configuration attribute from “default” to “tcs”.

 

 Step 3:

                Now you need to create a new file ext-spring.xml under WEB-INF/src/META-INF dir. Inside META-INF folder you will find couple of xml files whose entry will be there in liferay portal.properties file as shown below :-

 

spring.configs=\

        META-INF/base-spring.xml,\

        \

        META-INF/hibernate-spring.xml,\

        META-INF/infrastructure-spring.xml,\

        META-INF/management-spring.xml,\

        \

        META-INF/util-spring.xml,\

        \

        META-INF/jpa-spring.xml,\

        \

        META-INF/executor-spring.xml,\

        \

        META-INF/audit-spring.xml,\

        META-INF/cluster-spring.xml,\

        META-INF/editor-spring.xml,\

        META-INF/jcr-spring.xml,\

        META-INF/ldap-spring.xml,\

        META-INF/messaging-core-spring.xml,\

        META-INF/messaging-misc-spring.xml,\

        META-INF/mobile-device-spring.xml,\

        META-INF/notifications-spring.xml,\

        META-INF/poller-spring.xml,\

        META-INF/rules-spring.xml,\

        META-INF/scheduler-spring.xml,\

        META-INF/scripting-spring.xml,\

        META-INF/search-spring.xml,\

        META-INF/workflow-spring.xml,\

        \

        META-INF/counter-spring.xml,\

        META-INF/mail-spring.xml,\

        META-INF/portal-spring.xml,\

        META-INF/portlet-container-spring.xml,\

        META-INF/staging-spring.xml,\

        META-INF/virtual-layouts-spring.xml,\

        \

        #META-INF/dynamic-data-source-spring.xml,\

        #META-INF/shard-data-source-spring.xml,\

        #META-INF/memcached-spring.xml,\

        #META-INF/monitoring-spring.xml,\

        \

        META-INF/ext-spring.xml

If you notice the order of xml file loading in portal.properties file, then you will find that the last file is ext-spring.xml is loaded. So we will now create ext-spring.xml and putting all transaction, datasource and sessionfactory related changed on that file as shown below :-

 

    This is the structure were we need to create the ext-spring.xml file.

 

 

Now ext-spring.xml  contains below lines.

 

 

<?xml version="1.0"?>

<beans xmlns="http://www.springframework.org/schema/beans"

       xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"

       xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

       xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

 

<bean id="basePersistence" abstract="true">

       <property name="dataSource" ref="tcsDS" />

       <property name="sessionFactory" ref="tcsSessionFactory" />

</bean>

      

<bean id="tcsHibernateSessionFactory"           class="com.liferay.portal.spring.hibernate.PortletHibernateConfiguration"

              lazy-init="true">

       <property name="dataSource" ref="tcsDS" />

</bean>

 

<bean id="tcsSessionFactory" class="com.liferay.portal.dao.orm.hibernate.SessionFactoryImpl"    lazy-init="true">

       <property name="sessionFactoryImplementor" ref="tcsHibernateSessionFactory" />

</bean>

 

<bean id="tcsDS"           class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">

       <property name="targetDataSource">

              <bean class="com.liferay.portal.dao.jdbc.util.DataSourceFactoryBean">

                     <property name="propertyPrefix" value="jdbc.tcs." />

              </bean>

       </property>

</bean>

 

</beans>

 

 

Note: Here  data-source, session-factory, tx-manager  has same ID or Name  which we will  defined in service.xml file under <Entity>.

 

 

Step 4:

       Now the last and the final step you need to do is that you need to modify the existing service.xml as follows

 

Now the last and the final step you need to do is that you need to modify the existing service.xml as follows

               

<entity name="Organization" table="ORGANIZATION" local-service="true" remote-service="true" data-source="tcsDS" session-factory="tcsSessionFactory" tx-manager="tcsTransactionManager">

 

And re-build the services .

 

Explaination:

The data-source value specifies the data source target that is set to the persistence class. The default value is the Liferay data source. This is used in conjunction with session-factory.

The session-factory value specifies the session factory that is set to the persistence class. The default value is the Liferay session factory. This is used in conjunction with data-source.

The tx-manager value specifies the transaction manager that Spring uses. The default value is the Spring Hibernate transaction manager that wraps the Liferay data source and session factory.

If the local-service value is true, then the service will generate the local interfaces for the service. The default value is false.

If the remote-service value is true, then the service will generate remote interfaces for the service. The default value is true.
You can use the local-service and remote-service attribute according to your needs.

You are now connected with your external DB.

 

 

Data Base view :

 

 

 

Result page :

     

I would thank all the user whose shared such a good information ,which made my task so easy .

Below are the links

  1.  http://liferaytrends.blogspot.in/2012/05/connecting-to-different-database-using.html
  2. http://liferayazam.wordpress.com/2011/05/30/connect-to-different-database-through-service-xml-liferay6/
  3. http://bairdblog.wordpress.com/2011/02/11/using-liferay-6-0-x-service-builder-with-external-databases/

 

 

 

Thanks

Srikanth  S


 

Srikanth Reddy 2014-07-08T07:47:40Z
Categories: CMS, ECM

Liferay Symposium: Featured Speakers & the Future of Mobile

Liferay - Mon, 07/07/2014 - 22:56

We asked our featured speakers for their take and insight into where mobile is headed in design, user experience and enterprise management. Here's what they had to share.

 

  A Roundtable Discussion on Where Mobile Is Going

Mobile technology is reshaping the way we live and work by fueling our need to access information and connect with people and objects. Moreover, mobile is disrupting business sectors and creating a new platform for enterprise mobility. Touch-based infrastructures, wallet technologies, phablets, sensor-based applications, and responsive design will continue to be refined for the mobile market as users expect an immersive experience.

We asked our featured speakers for their take and insight into where mobile is headed in design, user experience, and enterprise management. Here's what they had to share.

How does developing mobile apps engage an audience?

James Falkner: Mobile devices from smartphones to wearables are treated more as a personal extension of ourselves rather than as a tool used to get work done. People are reaching for their phones in everyday situations, so creating apps that meet their immediate and long term needs is key to engaging them.  

Juan Fernàndez: The mobile apps extend the information experience to places never imagined before. We can now interact with users and users can access and share information wherever they are, whenever they need. The mobile experience is the final step for audience engagement.

What do you think of wearable technology as a digital experience?

James: It’s nice to finally see wearable technology progress. We've had wristwatches for what—500 years? It makes more sense that wearable technology gets connected digitally because it is even more of an extension of yourself than the phone in your pocket. There are many applications that can make use of wearables which are not possible with physically disconnected devices, like healthcare apps that monitor your sugar levels, or pants that tell you to get back to the gym because they are getting stretched out a bit more than last week.

Juan:  It opens a really interesting set of possibilities never before imagined. Using standards, being modular, and focusing on service allows us to enter the market as a back-end service for wearable experiences. We are starting to see projects linking these new devices to Liferay to extend digital experiences even further.

What can cause user disenchantment or disengagement?

James: Intrusive apps that don't respect your privacy, don't respect platform norms (e.g., iOS vs. Android), unintuitive or tedious user experiences, and, of course, bugs.

Juan: Irrelevant information, outdated information, hard-to-search content, and a bad user experience usually lead to disengagement.

What can we look forward to with Mobile SDK? Any enhancements?

Juan: We plan to continue adding support to most common features native app developers need when dealing with Liferay Portal integrations. Features such as push notifications or offline and synchronization management of assets are on our list. We also plan to extend the scope of this project to include reusable visual components to make the mobile developers' lives easier by hiding complexity on accessing our services remotely.

Describe the perfect Mobile SDK user experience.

Juan: Personally, the perfect Mobile SDK experience would be a mobile developer designing a whole business app, from back-end services to user interface, just by reusing and connecting a set of Lego-like building blocks provided by Liferay. That way he would only need to worry about the business problem he's trying to solve: we'd take care of the rest.

Will building hybrid mobile apps be the wave of the future or should developers look to hybrid over native or mobile apps?

James: Hybrid mobile apps are no better or worse than other mobile solutions and approaches. Each has its drawbacks and advantages, so you have to decide which to use based on your specific requirements and resources. There are amazing apps made using each approach. The great thing is Liferay supports them all and makes it easy to build, regardless of your chosen development model!

What makes you passionate about your job or this industry?

James: Meeting and learning more about a diverse crowd of people from around the world and seeing the cool things that our community creates that Liferay never would have thought about.

Juan: Constant change, fast-paced evolution, contact with customers with a global impact, and creating tools to solve real life problems for people.

 

We tapped Vitor Fernandes and Juan Hildalgo from the Engineering Team for their ideas about mobile design. Vitor believes in a mobile first design approach that informs enhancing user experience. Juan draws from a breadth of design and interface experience in creating meaningful user interaction. 

 

What trends are we seeing in mobile design?

Vitor Fernandes: The ubiquity of mobile is apparent in our day-to-day lives, from the emergence of new smart devices like watches and glasses, to mPayment technologies like Google Wallet, Square, and Paypal Beacon. For the first time, mobile is influencing desktop-based interfaces, and content delivery is taking precedence. The level of complexity is also rising on matters of security with biometrics and face-scanning as password protection. Moreover, remote access to home and office from a mobile device is becoming commonplace. Motion interactive-graphics and animation are also popping up as a new layer of design, like Google’s Material Design OS.

Juan Hidalgo: Flat design is the new rule of simplicity in design as mobile leaders have adopted this and are turning away from the traditional skeumorphic design, which relies on the principles of physical objects. Flat design enhances user experience, refocuses the attention on your content, and uses a simple color scheme. Parallax scrolling and single page use are hot design trends, not just because they are easy to develop for a great experience, but they are also conceived to having a mobile first approach. Scrolling helps to create a way where users can navigate through information instead of through clicking. Parallax design provides depth and snippets of animation and emotion to create an immersive user experience. Single page web experiences help to remove the necessity of navigating between pages.

What are on our users' wish list?

Vitor: Our users are the best idea starters. Big on the wish list are responsive interactions or interfaces without lags, bugs, or glitches. They’re expecting automation to simplify tasks, personalization where they’re remembered, and customization to work smarter. Most of all, they wish for options to work, play, and share through a convergence of the technologies that they use to communicate and connect not just with people, but now with objects. The future of mobile is about bringing more beauty and meaning into each and every day.

Juan H.: Users want to have the same experience that they are feeling with other interfaces in different devices regardless of the connection point like the home, car, or office. The line between devices and experiences is becoming thinner. The important thing to remember is that if your product is not aligned with the feelings and the experience that the users want, you do not have a product. You only have an “interface,” which might be pretty to look at but without much utility for user experience.

We want to thank everyone who participated in our roundtable discussion on mobile. To learn more about how Liferay is adapting mobile technology for enterprise projects, please check out the hands-on workshops at the Liferay Symposium.

.  

BRING THE TEAM!

Attendees on a team of 3 or more will each receive $100 off the standard rate.

SAVE $50 NOW

Lock in the Early Bird rate of $649 by 8/1.

Register

CALL FOR PAPERS ENDING

Share what you know! July 11 is the last day to submit topic ideas.

 

 

td.coloredcell { color: white; padding: 20.0px; border: 10.0px solid rgb(255,255,255); width: 33.0%; } td.coloredcell.one { background-color: rgb(0,183,165); } td.coloredcell.two { background-color: rgb(249,163,35); } td.coloredcell.three { background-color: rgb(0,121,181); } td.coloredcell p { margin: 0.0px 15.0px; } td.coloredcell a { color: white; } td.coloredcell.two a.btn { color: rgb(249,163,35); } td.coloredcell.two a.btn:hover { color: white; } Angela Wu 2014-07-08T03:56:38Z
Categories: CMS, ECM
Syndicate content