AdoptOS

Assistance with Open Source adoption

ECM

8 Boas Práticas para Sua Estratégia Omnichannel

Liferay - Tue, 10/17/2017 - 11:27
O sucesso de estratégias omnichannel depende de experiências consistentes em todas as interações. Isso pode trazer vários benefícios tanto para o ambiente interno quanto externo da sua organização, incluindo processos de back-end que informam como operações do dia-a-dia ocorrem assim como as diversas maneiras que seu público-alvo pode interagir com você. Adotar uma estratégias bem definida e efetiva permite que os objetivos omnichannel de uma marca sejam atingidos com maior êxito e eficazes na sua implementação.   Se você ainda não desenvolveu uma estratégia omnichannel ou está no meio de sua execução e está à procura de melhorias, as 10 práticas a seguir podem ajudar a evitar complicações desnecessárias e manter suas estratégias no alvo.   1. Enfatize fluidez e consistência A Harvard Business Review reportou que 73% daqueles que participaram de sua pesquisa  alternam entre múltiplos canais durante a jornada do cliente. Ao criar ou atualizar sua presença móvel, ter certeza que os usuários podem alternar entre dispositivos de maneira fácil sem a perda de informações importantes irá evitar falhas na jornada do cliente. Garantir a consistência dos dados no back end tornará essas transições mais fluidas. Ninguém quer recomeçar seu processo de compras ao trocar de dispositivo ou não conseguir encontrar o que eles precisavam devido a uma mudança drástica de layouts. Consistência pode prover experiências sem frustrações. Muitas empresas antigas utilizam softwares que mantém os dados do cliente em um único ou alguns departamentos. No entanto, isso pode impedir que outros departamentos usem esses dados para fornecer informações mais úteis e criar um perfil consistente. Ao quebrar os silos, esses dados podem ser usados em maior grau em todos os aspectos relevantes de uma empresa.   2. Forneça atualizações em tempo real Para ter uma verdadeira experiência de omnichannel, tudo, desde o status do pedido ao histórico de pesquisa, deve ser atualizado em tempo real, de modo que o que é feito em um local é refletido em todos os outros. De acordo com a pesquisa da Accenture, 71 por cento dos clientes esperam poder visualizar online o estoque de uma loja e 50 por cento esperam poder fazer pedidos online e pegar na loja. Melhorar a continuidade dos dados empresariais através da integração entre informações online e inventário de varejo pode evitar frustrações para os clientes que precisaram percorrer toda a jornada de compra, apenas para descobrir que os serviços que eles querem não estão atualmente disponíveis.   3. Permita a conectividade da Internet das Coisas A Internet das coisas (IoT) e seu papel na vida cotidiana e nos negócios continua crescendo a cada ano. Estudos mostram que essa forma de conectividade só continuará a crescer nos próximos anos, com o Gartner prevendo o uso de 20,4 bilhões de unidades habilitadas para IoT em todo o mundo até 2020. Sendo assim, habilitar seu software, dispositivos e aplicativos para comunicar-se e conectar-se com outros a fim de acessar a Internet das Coisas, não só permitirá que os clientes de hoje tenham uma experiência omnichannel única, mas que a futura integração do IoT seja implementada sem problemas, como seu papel na vida cotidiana continua a crescer.   4. Considere como seus canais são utilizados  Embora cada canal, interno e externo, deva receber sua devida atenção, eles podem ser usados de maneiras distintas. Analise o comportamento do usuário para ver como sua audiência usa geralmente dispositivos móveis, aplicativos, desktop, mídias sociais e muito mais. Análises aprofundadas que medem o tempo de uso, a freqüência de uso, os caminhos dos usuários, as taxas de rejeição, as fontes de referência, os perfis de usuários e mais, permitirão que você veja como diferentes tipos usuários navegam com frequência através da presença online da sua empresa, incluindo momentos decisão ao longo do caminho, que determina se continuarão a fazer uma compra ou ir para um concorrente. Além disso, considere como sua empresa se comunica internamente e quais processos podem ser refinados para evitar redundâncias e complicações.   5. Complemente Experiências Pessoais com Experiências Digitais Não só as interações online devem informar experiências pessoais, mas as duas devem se unir para experiências novas e únicas. Por exemplo, a realidade aumentada pode permitir que os clientes experimentem aspectos virtuais de uma loja quando visitam pessoalmente para interações novas e únicas. Ao permitir isso, uma marca pode envolver todos os aspectos da experiência omnichannel em vez de renunciar interações pessoais a favor de uma presença apenas online. A Pottery Barn recentemente introduziu um aplicativo de realidade aumentada que permite aos clientes sobreponha móveis em sua casa vivo através da tela do seu smartphone para ver como a marca pode atender às necessidades do mundo real. A mistura desses tipos de experiências ajudará a desfazer os limites entre os canais para uma experiência mais coesa.   6. Mapei a Jornada do Cliente Você precisará saber o caminho que os clientes tomam na primeira interação com sua marca até o final de uma venda, a fim de garantir que elas possam se mover de um ponto ao outro sem problemas. Tenha em mente que há muitas jornadas possíveis, então você precisará garantir que muitos pontos de entrada e caminhos diferentes sejam abordados. As jornadas de clientes de hoje incluem pesquisas móveis, compras no desktop, atendimento ao cliente pessoalmente, downloads de aplicativos e muito mais, que se juntam para capacitar os clientes para encontrar o que desejam. Um mapa bem sucedido se adapta a muitos pontos de entrada e interesses diferentes.   7. Impulsione Mensagens para Atender às Necessidades da Sua Audiência

Mais pessoas do que nunca estão usando mensagens para comunicar-se com empresas, como o Facebook Messenger. Em vez de ligar para o atendimento ao cliente ou responder suas perguntas pessoalmente, o público está usando aplicativos de mensagens para se comunicar diretamente com os atendentes, para receber realizar perguntas e mesmo pedir produtos ou serviços. Embora estas demanda por mensagens possa ser atendida de várias maneiras, incluindo o uso crescente de chatbots, a incorporação de mensagens dentro de uma estratégia omnichannel fornece outro canal de comunicação e evita que o público sinta que falta algum elemento na experiência geral com a empresa.

  8. Fortaleça suas interações em pessoa Muitas marcas que adotam o omnichannel focam apenas em suas experiências online, mas se você conta com lojas físicas, elas podem ter um grande papel no omnichannel. Como muitas vendas são feitas pessoalmente, os funcionários precisam estar equipados com um dispositivo que disponibilize o histórico do cliente, interesses e motivos de um cliente visitar um local para atender rapidamente às suas necessidades e valorizar seu tempo. Tornar isso possível fará com que as interações em pessoa sejam um aspecto poderoso de venda da sua empresa, em vez de um ponto fraco.   Implementando com Sucesso Sua Estratégia Omnichannel Embora existam muitas ações específicas necessárias para suas necessidades e objetivos únicos, criar uma linha do tempo acionável, ter um orçamento em potencial e funções dos funcionários para implementar essas 10 práticas ajudarão você a começar. Dessa maneira, sua empresa estará melhor equipada para impulsionar sua experiência omnichannel e permanecer no alvo com estratégias de curto e longo prazos.   Impulsionando seu aplicativo móvel   Sempre há o que aprender quando se trata de estratégias omnichannel efetivas e de acordo com os objetivos da empresa.   Saiba como a Plataforma Móvel da Liferay pode empoderar sua empresa    Isabella Rocha 2017-10-17T16:27:28Z
Categories: CMS, ECM

Liferay Symposium North America 2017 - Day Two Live Blog

Liferay - Tue, 10/17/2017 - 08:17

Welcome back to Liferay Symposium North America Day Two!

Stay tuned for live coverage of everything happening today with our live blog, which will be updated throughout the day in reverse chronological order. Click here for our full coverage of Day One.

---

That's it for Liferay Symposium North America 2017!

Thank you for following along and we wish safe travels to everyone who made it out to Austin. We hope to see you next year!

4:20 PM - Closing Remarks

Bryan Cheung closed out Liferay Symposium by highlighting the differences that the Liferay community is continuing to make around the world, including a well recently dug in Ethiopia, providing clean water for many people who previously had to walk countless miles every day to get water for their families.

In addition, Bryan revealed that 182 people filled out candy grams for the Austin Angels charity drive. As a result, the Liferay Foundation will be donating $18,200 to Austin Angels.

4:00 PM: Keynote - Susan Ramirez

Susan Ramirez, President and CEO of Austin Angels, spoke about the importance of community when working to enact change within the foster care system, which is the focus of Austin Angels.

Susan shared insights into the foster care system, including the statistics that 80% of the prison population is made up of people formerly in foster care and that 50% of the homeless population is made up of former children. In addition, only 50% of foster children will graduate high school.

Susan founded Austin Angels after attending a conference where she heard of the frequent abuse suffered by two young boys who stayed in the foster care system from an early age until they both became 18 years old, by which time they had been in 22 and 23 different placements. One of these boys was found by his father at 18 years old and went on to found the largest foster and adopt organization in Texas, but the other committed suicide soon after aging out of the system.

These stories show the need to make a difference in the lives of foster children and the foster system as a whole.

Austin Angels launched a pilot program in 2013 and Susan shared how soon after beginning the program, Austin Angels was able to help turn around the school performance and life of a teenager within the foster system.

Austin Angels focuses on three areas of impact:

  1. Intentional Giving - Empowering pre-existing groups to speak into the lives of local foster children and providing a Love Box every month that includes the things they both need and love.
  2. Relationship Building - Austin Angels group members also participate in the lives of the foster children they provide for so that there can be a sense of normalcy in their lives.
  3. Mentorship - Groups also help educate and prepare children for what they need when they age out of foster care, including financial planning, job interview preparation and the other needed skiils for transitioning into a successful and healthy adult life.

Susan closed by highlighting a quote by Winston Churchhill - "We make a living by what we get ... We make a life by what we give."

3:20 PM - Transforming the Employee Experience for an Iconic Media Brand: Hearst Inc.'s Journey

Clay Olbon, Advanced Tech and Architecture with Accenture, and Johann Rodriguez, Senior Product Manager at Hearst, Inc., revealed how Hearst built on Liferay's platform to create a digital experience that connected the more than 360 separate businesses and more than 20,000 employees that make up Hearst, Inc.

Hearst had created Hearst Labs, a homegrown portal that tested the waters of the company to see if there was a desire for a robust portal, which led to the creation of MyHearst, which is a single portal that includes news and announcements, documents, and many more capabilities focused on connecting and equipping employees.

Johann detailed problems including multiple home pages and logins, duplicate content presented differently, time-consuming processes, lack of integration and a large amount of clutter. To solve these issues, Hearst teamed up with Accenture and selected Liferay, then used cross-functional teams to coordinate on functionality, appearance and usage. In addition, the company sought out as much feedback as possible through user personas, stakeholder showcases, focus groups, three alpha build releases and the use of a feedback mechanism.

This led to the launch of MyHearst v1.0 on October 1, with a wide variety of components, which was demonstrated live by Johann so that the audience could see how elements like the carousel, customizable bookmarks, and persistent search bar empower employees to find whatever they need, whenever they need it. The successful launch of MyHearst includes 17,000 unique users that have visited the site in less than a month since launch and a very low amount of help desk tickets.

Johann revealed that Hearst plans to continue expanding the portal and showed attendees current wireframes for a sneak peek at the future of MyHearst. This included a Google Maps-like interface to see all offices in the company and their respective employees.

Clay then took over for the second half, showing his insights as the technical lead for Accenture on the MyHearst project.

Site strategy was a critical component of the design process, as it was crucial that they understood the business rules for content visibility, defined the approach to meeting business rules and how these elements could leverage OOB Liferay capabilities.

Clay also highlighted that a mature DevOps process was key to the success of launching MyHearst, with strong guiding principles helping to ensure that Liferay could be used in the ways Hearst needed for their portal. As he walked through the advantages and challenges of the process, Clay gave helpful strategies regarding how Hearst approached Liferay software, what was used to reconfigured software in the ways they uniquely needed and how their development team is structured for a consistently successful strategy for portal management on Liferay.

In addition, Clay emphasized that better understanding how to do things the "Liferay Way" can help leverage capabilities instead of altering them to a vast degree, with the customizable user card architecture being a key example of the unique power of Liferay, which will grow larger and larger within the overall MyHearst development strategy going forward.

2:40 PM - Diagnose Your SEO Problems: Common Issues in Liferay Projects

Corbin Murakami, Sr. Specialist in Demand Generation at Liferay, Inc., discussed the common issues affecting search engine optimization on Liferay websites, as well as what can be done to better understand and improve your site's SEO.

Corbin walked the audience through several major points in better understanding SEO, including creating an axis that showed the most common and important SEO issues that can affect Liferay websites, seen here:

Technical Warnings include using overly dynamic URLs that lead to long and unfriendly URLs while Content Warnings include bad search presentation, leading to issues regarding how page titles and meta descriptions are presented in search results.

Severe Technical Issues includes 4xx and 5xx errors, which cause page authority from links to be lost and a bad experience for users. Solutions can be found by identifying top offenders, identifying the source of the issue, applying 301 redirects to relevant content, and leaving the rest as 404. In addition, poorly written robot.txt can prevent proper crawling of the site's pages.

Severe Content Issues include bad H1 tags, such as using more than one or none at all, which can be easily corrected. In addition, lack of, or non-descriptive, title tags can prevent proper indexing and site administrators should allow the creation of title tags.

Corbin also presented strong tools that can be used to strengthen SEO efforts, including Google Search Console, Bing Webmaser Tools, Screaming Frog SEO Spider, SEO Macroscape and Facebook Open Graph Debugger. By understanding what can negatively impact your site and eliminating these issues, combined with efforts to strengthen your site's overall SEO, websites can have a far stronger chance at ranking for the desired keywords.

1:50 PM - Finding Moments of Truth: Customer Journey Mapping to Better Serve Your Customers

Henry Nakamura, Senior Customer Experience Manager at Liferay, Inc., gave attendees insights into what it takes to identify moments of truth and positively impact a customer journey through the creation of a customer journey map.

Henry highlighted that while some people's feelings toward brands are obvious, and great brands generate positive feelings from target audiences, many companies may not be aware of just how much impact their customer experience may have on the feelings of their consumers. However, digital transformation has completely disrupted tried and true methods of providing satisfing customer experiences.

In a recent conference, Henry heard one bank representative state that the biggest challenge relating to digital transformation is the "struggle with remaining relevant."

Customer experience is on the front line of better understanding what audiences feel about a business and what can be done to improve these opinions. However, everyone in a business today has a responsibility to developing good customer experience

Henry highlighted Customer Centricity strategy, which is doing business with your customer in a way that provides a positive experience during their length of engagement in order to drive repeat business, customer loyalty and profits. Doing so is in service of providing "customer-first" experiences. Companies today use a wide variety of tools to try and get to this results and Henry specifically highlighted two of them: Journey Maps and Moments of Truth.

In journey maps, companies detail the many touchpoints and their related emotions in order to better understand how and why audiences move along their journey with a company, as well as what may be positively or negatively affecting their experience. Within these journey maps can be found moments of truth, which are critical touchpoints that potentially define a customer relationship.

As a way to better understand a journey map, Henry walked the room through a hotel stay journey map. Within this journey were specific areas that a company should focus on in order to greatly increase the quality of the customer experience, with a problemtaic check-in process inspired by a real-life experience of Henry's being the largest area in need of improvement.

Henry showed that finding and improving moments of truth can be done through the use of data and survey validation, intuition and a focus on what may be the most difficult aspects to change.

Most of all, companies should focus on touchpoints customers cannot control in order to most effectively address moments of truth.

1:10 PM - Transforming Customer Experience with the Power of Forms

Charlles Pinon, Product Manager at Liferay, Inc., gave insights into the latest innovations in Liferay Forms and how they can be used within marketing, customer support and various business applications.

As Charlles pointed out, forms are everywhere in the modern user experience and are essential within everyday life. Through a use case example with Expedia, Charlles showed that even a small change like removing the company name caused major confusion regarding what the customers thought they needed to provide and led to a large amount of failed transactions.

According to Charlles, good forms are not only complex to build, but are filled with relevant questions. He covered three important aspects within the evolution of Liferay Forms:

  1. Personalization - Finding a balance between a high level of personalization and a minimum cost of customization. Through a low code approach, businesses can better personalize the forms as they needed but do not require a high level of investment, which Charlles demonstrated through a walkthrough of building fields and the ability to use a variety of field types, including required, enable and disable, autofill, show and hide, jump to page, calculations and more. By having access to these various types of fields, a form can become highly customizable in very little time in order to meet the unique needs of each form being created by a company. Charlles also showcased new upcoming field types, field library, autosave and multi-language support, which will be introduced in the next Liferay Forms update.
  2. Relevant Data + Low Code Application - Companies need to better understand abandonment. By studying the rate of form abandonment and using A/B testing, a company can see what may be causing users to abandon form completion and make changes that will prevent this from occurring. Through the use of chain analytics, companies can connect clickthroughs, form completions and document uploads to understand the total rate of process completion. When better understood, these insights can be applied through low code applications for faster deployment of new forms and form changes.
  3. Transform the Conversation - Forms are evolving into conversational forms, seen in today's chatbots and voice-powered digital assistants like Alexa and Siri. By powering webforms and turning them into conversations with voice assistants, the data-focused goals of forms can be combined with the user-focused goals of voice assistants in order to make the most of these data gathering services and bring the most value possible out of your digital transformation strategies.

All of these evolutions can empower both Liferay Forms and businesses that use Forms to better reach their target audience.

12:00 PM - Lunchtime

Attendees spent the final lunch of Liferay Symposium 2017 connecting with one another and exploring new possibilities in numerous ways, including:

Taking in more lightning sessions, with topics including connecting NodeJS with Liferay and the privacy feature of Liferay DXP.

Getting fast insights into Liferay with speed consulting.

Learning about the brand new WeDeploy firsthand from Jonni Lundy and Zeno Rocha.

Being able to experience a workplace demonstration of how Liferay DXP can be used to create an Internet of Things environment at an office.

11:10 AM - Product Roadmap

Ed Chung, Liferay's VP of Product Management, is providing insights regarding Liferay DXP and the roadmap going forward. Exciting news! Join us next year so you don't miss out.

11:00 AM - The Liferay Pulse Awards

Every year, we enjoy taking the time to acknowledge our contributors and outstanding members of the community with the Liferay Pulse Awards.

This year, awards were given out for:

  • Best Overall Digital Transformation: Smith & Nephew
  • Best B2B Digital Experience: Infosys Finacle
  • Best B2B Digital Experience: LifeCare
  • Best Omnichannel Experience: Spire Energy
  • Customer Connect MVP: Bob Ward from QAD and Michael Goldstein from HCA.
  • Community Excellence - Partners: A.C.A. IT Solutions, Accenture, Cignex Datamatics, EmDev, SMC, Webtown and Xtivia
  • Contributor of the Year - Individuals: Juan Gonzalez, Andrew Jardine and Cristoph Rabel

Liferay is always grateful for the many people and organizations that have been able to use our platform to reach new audiences in new ways and it's great to give them recognition for their efforts each year!

10:20 AM - Guest Keynote: Curtis (Bob) Burns

Guest keynote speaker Curtis (Bob) Burns, Social Media/Public Affairs Specialist with the Transportation Security Administration (TSA) spoke on what led to the government agency's Instagram account being ranked the fourth best account to follow by Rolling Stone.

Bob has been with the TSA since 2002 and began blogging for the organization in 2008 in order to better communicate with the public regarding policies and procedures in ways that were not possible previously.

In 2016, the TSA screened 738,318,264 passengers for an average of more than 2 million per day. With so many people interacting with the agency, there was a need to better communicate and facilitate stronger relationships. This was met by the blog, which was greeted with a large readership and the ability to actively meet customer complaints, provide new information and improve public perception of the agency. The success of the blog eventually led to the launch of TSA's Instagram account.

Rolling Stone went on to rank the TSA Instagram account at #4 of The 100 Best Instagram Accounts, including beating out Beyonce! The publication highlighted the insights provided by the account into what officers had to deal with on a regular basis and a unique perspective not possible for those who do not work in the agency.

Bob highlighted that the TSA has a neverending source of content for the Instagram account, which is generated by countless incident reports and their associated images and curated by a focus on finding the strongest content that doesn't just entertain but also informs. These incident images are broken up by public service announcements when needed and a more human look into the TSA, which can include images sent in by travelers.

Bob went on to highlight the many different types of content provided, everything from heartbreaking to heartwarming stories, some truly weird items that no flyer should have ever tried to carry onto an airplane and infographics that both enlighten and shock, as needed. This potent blend of topics has helped TSA to continue to connect with flyers across the country, but also prevent potential mishaps that can save time and money for both the TSA and travelers.

In conjunction with many great examples of why the TSA Instagram has connected with such a wide audience, Bob highlighted how the agency uses their Twitter account Ask TSA, which uses a dedicated team to field questions through the social media site. Surprisingly, the Twitter account didn't take away from a number of calls fielded by the call center, but rather opened up customer service to a whole new audience. These Twitter questions are sometimes cross-posted into the Instagram account for interrelated promotion.

Bob closed by considering whether Instagram is right for every company. If a company has a really good use for the social media platform and a way to connect with audiences in ways that were never possible before, then Instagram could be right for your business. A well managed social media presence can change the conversation about a business, much like it did for TSA.

9:40 AM - Digital Experience Platforms: Analyzing the New Market

Christine Reyes, Marketing Content Creator at Liferay, Inc., discussed how today's digital experience platforms can give companies to chance to rethink their technology architecture and how they can uniquely integrate products through leading-edge capability. As Liferay has moved past being simply a portal and into being a digital experience platform, Christine has dived into discerning the true advantages of this type of platform.

Liferay defines a digital experience platform as an enterprise software seeking to meet the needs of companies undergoing digital transformation, with the ultimate goal of providing better customer experiences.

By using DXPs, companies around the world are seeking to better understand the unique interests of target audiences and find new markets before competitors. These capabilities are becoming crucial in the modern era of market disruption being caused by digital transformation. Christine pointed out the modern automobile industry, with numerous businesses now providing subscription services for owning and leasing cars, with the purchasing process now akin to buying a phone rather than buying a car. However, these new demands and a new way of owning a car have caused the entire process to be reworked and need a new type of software.

Digital experience platforms are meant to solve these new problems in today's age of digital transformation, however, Christine highlighted the many different approaches to these platforms. There are three main pillars that define what makes a digital experience platform:

  1. DXPs Have Broad Capabilities Baked In - This can prevent redundancies in innovation and help teams focus on getting valuable and customized software launched faster and more efficiently.
  2. DXPs Encompass the Entire Customer Journey - After a product has been sold, companies today still need to provide for customers, including using software to track potential problems and the need for future service.
  3. DXPs Prioritize Integration for a Unified Platform - There's a flexibility that is possible with DXPs that can integrate with anything, which is necessary due to today's continued innovation and the creation of new technologies, such as Internet-of-Things-powered devices.

As Christine highlighted, DXPs solve the challenges you didn't plan for and then discussed what today's top DXPs can currently do for customers, as well as what Forrester values in today's DXPs.

Modern DXPs are often the evolution of software coming from different backgrounds, such as commerce heritage platforms being strong in commerce aspects of a DXP, but potentially weaker in other areas.

Closing out, Christine highlighted what digital transformation can look like with a digital experience platform, showing how a new meal delivery service known as Wellio is using artificial intelligence to track what users like to eat and anticipate preferences for individually customized meals without the need for the company to constantly create a new meal for each customer. 

Transformation with a DXP means that a company can start anywhere and help modern innovation and today's enhanced technologies coexist with pre-existing systems, as well as the gradual process of updating and digitizing old processes as needed.

9:00 AM - Collaborative Enterprise Networks: How DXP Enhances Experience

Michael Goldstein, Manager of Development Technology at HCA Healthcare, revealed how the Hospital Corporation of America recently upgraded from Liferay 6.1 to DXP for improved coordination of more than 600 intranet sites, enhancement of blogging and message boards, new forms, mobile experience and more.

On average, HCA has 80,000 active users, 2.6 million page views and more than 400 active sites per month. HCA sought to drive enterprise content through a corporate homepage built on Lexicon, dynamic content that is surfaced through Liferay Portlets and the ability to quickly provide emergency news and calls to action.

Michael demonstrated how HCA is focused on going past the typical intranet site, as the organization is working to drive meaningful conversations through the message boards and blogs powered by Liferay in order to foster community. Sites vary from application hosting to empower workers to a hub that helps organize both work schedules and charity events.

Michael also shared how HCA's sites have been able to specifically drive engagement with their nursing community and foster two-way communication with the community around the world, as both HCA and its community members are able to blog and spread awareness of issues and needs.

HCA is dedicated to supporting a collaborative culture, with monthly site administrator meetings providing training and bringing attention to new development, emails from executives highlighting great moments within the community and many more efforts to better recognize and support the community.

HCA's readership continues to grow, with 6,400 users subscribed, approximately 9,300 monthly message board views and 32,000 monthly blog views. In addition, HCA has had their intranet go mobile through responsive design and web content templates that are easy to use by site administrators without the need for training concerning mobile development. Today, more than 40,000 mobile devices are being managed by HCA's mobile intranet developments.

Michael revealed that going forward, HCA is working on using Liferay DXP to create a single stop for informational and collaborative needs within HCA, easier user experiences across applications and enabling customized or automated experiences. Through the use of additional Liferay features like Forms, HCA is working to create a cohesive and easy to use platform for all types of users that is also reducing costs for the company.

8:40 AM - Breakfast

Good morning! Grab your breakfast, get ready and don't forget to check out the many great booths at Liferay Symposium North America 2017, including the Austin Angels charity drive. Sessions are set to begin at 9:00 am.

Matthew Draper 2017-10-17T13:17:30Z
Categories: CMS, ECM

Liferay Symposium North America 2017 - Day One Live Blog

Liferay - Sun, 10/15/2017 - 22:37

Welcome to Liferay Symposium North America 2017! Check back here all day and tomorrow, October 17, for live updates on the many different sessions happening at Symposium. Content will run in reverse chronological order, so just refresh the page if you are following along live to see the latest on top.

Click here for live coverage of Liferay Symposium Day Two.

5:00 PM - Dinner, Networking and Music

That's a wrap on Liferay Symposium North America 2017 Day One! Attendees were treated to a delicious dinner and a taste of the live local music by The Austin Moonlighters after Monday's final sessions ended.

Join us here tomorrow for our continued live coverage of LSNA 2017 Day Two.

4:10 PM - Intelligent Information Discovery: Machine Driven Search

Andre Oliviera, Search Engineering Lead at Liferay, Inc., provided attendees with a greater understanding of how to navigate today's massive digital transformation and the resulting explosion of content affecting users everywhere, as well as a look at where Liferay Search is headed.

Users are bombarded with information from everywhere at all times of the day, so businesses and application developers need to formulate their information discovery strategy. Andre provided the audience with a look at the past of online customer journeys and the future of journeys:

  • 1st Generation: Browsing for Content - A simple customer journey through a website with a click-oriented customer journey.
  • 2nd Generation: Searching for Content - Users find freedom from navigation with keyword-oriented information discovery.
  • Next Generation: Predicting Relevant Content - The discovery gateway is everywhere and applications tell users what they would probably like to see and do, with interest-oriented information discovery influencing the customer journey.

Andre discussed how Intelligent Information Discovery is the next stage and it all begins with search. This goes beyond simple database queries and uses ranking and relevance algorithms to better match results with user interests. Today, results are continuing to go toward user-based predictions, with search engine output being scored predictions for a more successful and tailored search result.

Data science and machine learning are gaining more and more importance in business and search strategies today, including training neural networks to make predictions.

According to Andre, the essential challenge in machine learning is modeling your input universe on meaningful numbers so that the data collected is linked together and better understood in order to create an accurate and useful result. When calculating search engine results, Andre advised using TF-IDF (Term Frequency-Inverse Document Frequency), which shows how often a term appears in the field, how rare the term is in the whole index, and the length of the field where the term appears, in order to accurately score the field when predicting results scores. From there, you can remove stopwords, spellcheck aggressively, predict non-text fields and more.

Andre provided multiple examples and strategies regarding how to better understand why your pages are ranking in searches as they currently are and what can be done to improve your results over time. Companies can find content similar to a previously existing document, use MLT on specific target fields and apply TF-IDF to better analyze top search results versus your targeted pages. Companies can also store successful queries for users, which match the company's intended customer journey and an indication of interest from audiences in the services and products you provide. Afterward, directly visited content can be clustered with successful results to further refine content relevancy. Finally, companies can cluster successful queries from users with content to better understand their interrelated results.

The result of successful efforts means the creation of smart content delivery, with a discovery gateway that is everywhere, including front page search results, autofilling in search bars, content views, push notifications, matching new content based on previous successful actions from a user and more in order to anticipate and influence the interests and actions of users. The result is an ever-improving intelligent information score.

Andre also provided insights into what's next for Liferay Search. This includes an upgrade to Elasticsearch 6, packaged with X-Pack and Kibana. Machine learning capabilities are included and the architecture is being redesigned for a modular search infrastructure for extensibility, as well as small, single-purpose components that are reusable and easier to test and the use of new extension points.

The next generation of Liferay Search includes search page templates, search bar, search results, multi-selection facets, search-aware portlets and more so that users can implement the components that fit into their unique strategies and services.

Andre also revealed that the upcoming Liferay Commerce will be powered by Liferay Search end-to-end for fast and flexible results and prediction strategies.

3:30 PM - Building Real Value for Partners: A Hewlett Packard Case Study

Andrew Shaber, Sr. Software Engineer and Development Lead for Hewlett Packard, talked about how HP is building a DaaS (Device as a Service) Management Portal with Liferay.

HP's DaaS Management Portal is used to support HP's DaaS Business, including device deployment dashboard and document repository. In order to create the portal, HP leveraged Liferay's portal platform capabilities, the customer application development of DXP and a partnership between Liferay Global Services and HP development teams.

The DaaS Management Portal includes Rapid Price Estimation (CPQ) that allows for the selection of hardware, refinement of services, an estimation survey, and a DaaS expert workflow. This provides the ability to accurately estimate services and thoroughly manage DaaS development.

Through the use of Liferay, HP was able to quickly implement workflow capabilities without the need to build their own and create granular access control of the DaaS Management Portal for role-based management.

Andrew then took attendees through a quick and intuitive walkthrough of the DaaS Management Portal's Price Estimation Tool, displaying how a user could control everything from contract length to platform to part number in order to have fast and accurate estimations regarding pricing and business needs. Afterward, the portal can be used to configure, deploy, optimize, maintain, dispose and refresh services as needed in order to create a package that fits whatever user group is being focused on.

In addition to the price estimation tool, HP has built a Contracts Document Server, using out-of-the-box functionality combined with HP's look and feel display for the storage of customer documentation, including contracts, change orders, invoices, purchase orders and UAT acceptance. This can be filtered through Liferay's asset categories in order to pull specific results as needed by users. In the event of a new type of document, users can quickly add the new type into categorization so that the catalog can grow and be managed as needed.

HP's Deployments Dashboard was also built on Liferay, using dynamic data lists and highcharts in order to both manage and import a variety of spreadsheet data.

Andrew pointed out that organization and coordination between HP's departments, including their Development Team, UI/UX Design Team and Product Owner Business Team, as well as Liferay Global Services and Liferay Silver Partner, enabled HP to ensure that the product was built right the first time and was able to be sustained over the long-term

2:10 PM - Creating Exceptional Digital Experiences: User-Centered Design Patterns and Principles

Ben Shoemate, Co-Founder & Info Architect of Base 22 discussed the 12 proven design principles and patterns of world-class portals.

Ben talked about information architecture - the principles and patterns that define systems and keep it organized as it grows - and what can be done to create useful and beautiful architecture for websites and portals. If a system is not organizing information properly, even the most valuable information will lose its usefulness.

The question was asked, what makes a website great? Is it the design, content, technology or governance? The following 12 principles shown in the image can be applied to create a great, living website:

A dead website is no longer growing and has lost its usefulness, while living sites have principles and patterns including comprehensiveness, accessibility, integrated content, transparent design for users, mobile capabilities, security and more. In addition, designers must understand the many different forces that have an effect on the creation of a website, including everything from the market to imagination. These forces need to be balanced in order to create a website that is both useful and beautiful.

Ben pointed out that even if a website is beautiful, if it does not truly serve its purpose, then that beauty will cause users to hate using it. Good design listens and brings balance to the forces and companies should let the user own the design in order to create great experiences. After all, sites and portals that are being created belong to the user in the end because they are the ones drawing value from it.

In addition, well-designed websites are able to communicate clearly with the user and beautiful design highlights their useful information. Great websites are unambiguous, with one, and only one, page per topic.

Ben also highlighted what it takes to create a clean, useful and well-designed portal. Like a tree, a portal is highly structured through branches that organize a wide variety of information, with sites and sub-sites built on topic hubs, which are built on a role-based dashboard, which is based on the portal as a whole.

Once your site has been created, it will be powered by frequently updated resources and a consistent cycle of news. Ben discussed that a constantly valuable and used website goes through two steps. First, create or update a resource. Second, promote the update with a news item. Valuable resources stay up to date while old news articles can be replaced with the latest news articles, which will highlight updated resources.

When this great content is based on well-designed sites, companies can provide great value to their target audiences.

1:30 PM - Getting Designers to See Eye-to-Eye with You

Paul Hanoaka, Web Designer with Liferay, Inc., provides a customer-centric approach to implementing effective digital business strategies.

As lead designer for Liferay.com, Paul walked attendees through Liferay's recent website updates and the changes made to balance aesthetics with functionality. When discussing the disconnect between project goals and customer needs that occur so often with businesses, Paul showed why it may be a design problem. Even if you are not a designer, by focusing on users, businesses can maximize the value of design.

"Design is the rendering of intent." - Jared Spool.

Users (prospects, customers and coworkers) generate revenue. How does a business get to valuable design creation? The following strategies can help:

1. Get Designers Involved Early

  • Reveal the Right Vision - Make sure that what is really being made is valuable to the customer.
  • Help them Stay on Target - Remember what the user really wants and help get to the core of their needs.

By developing design alongside content research and creation, all aspects of a recent Liferay project were able to be prepared and launched in a short amount of time and with a high initial value.

2. Understand Better

  • Review Effectively - Make sure to set clear review goals for usability and a delightful product that makes the user happy.
  • Know Where You Are - Provide stage-appropriate feedback that makes the most of each review process.

3. Provide Problems, Not Solutions

  • Designers provide solutions, so a business should provide designers with problems for them to solve, rather than a strict, pre-determined solution for them to implement without their own input.

4. Provide Scenarios, Not Opinions

  • Instead of saying what you don't like, provide a useful scenario that a designer can address and solve through their creativity.

5. Test

  • Frequently testing allows for continued growth and the ability to properly address problems.

Paul pointed out how providing in-depth data with tools such as Google Analytics and Hot Jar can inform and help designers in new ways through concrete information. While numbers will not tell you the whole story, they can give your designers greater context to work off of and make valuable design choices.

12:00 PM - Lunchtime!

Symposium attendees spent their lunch break filling up with a delicious meal and connecting with people from around the world while preparing for the second half of Symposium.

Attendees also had the opportunity to fill out candy grams for Austin Angels. The Halloween candy care packages are sent to foster youth with the organization and Liferay has pledged to donate $100 to Austin Angels for every candy gram filled throughout Symposium. With lunch only just beginning, the candy grams were already beginning to pile up!

Multiple lightning sessions were also held throughout lunch, with presenters walking guests through a wide variety of possibilities available with Liferay. Seen here, a demo of the Liferay-based Angular Single Page Application "Provider Finder" built by XTIVIA for BCBSAL.

11:20 AM - Smith & Nephew: Creating a Connected Care platform for the Future

David Kelman, VP of Technology Service & Support for Smith & Nephew, discusses how interactive digital solutions are helping hospitals and surgeons improve operating room efficiency and reduce cost through its S2 Procedure Performance application.

Smith & Nephew is an orthopedic device company, designing a wide variety of joint replacements. However, healthcare costs have continued to increase over the years and the surgery process has become more intricate, frequently leading to the need for an implant device sales rep to be present in the operating room to advise in the process. In addition, hospital staff turnover is increasing due to escalating retirement rates.

In order to equip and train staff concerning device implantation, Smith & Nephew created the S2 Procedure Performance application, which helped meet needs by providing important insights, but eventually required an update and expansion to meet new demands. These included the need for a strong platform partner to better create their vision

Smith & Nephew chose Liferay DXP to provide a platform that included information on each doctor, the ability to provide photos and videos concerning how the doctor wants the patient prepped, special notes regarding the procedure, videos on how the instrumentation must be assembled, every single instrument that the surgeon needs to be laid out step by step and much more. All of these insights can be displayed in the operating room through a tablet for quick and direct access.

Smith & Nephew also created surgical sequence training to test and score how well a user understands and is prepared for a specific surgical procedure. These lessons and quizzes can be used to create certifications in order to better understand how knowledgeable the staff is and what must be done in order to improve operating room skill and efficiency. In addition, Smith & Nephew has been able to find unused instruments in order to remove excess tools, thereby lowering operating room costs in conjunction with improved operating efficiency.

Smith & Nephew sees S2 as a core service that they will continue to expand on and deliver to different countries around the world.

10:40 AM - Liferay as a Case Study: We're Not Just the Vendor, We're the Client

Brian Kim, COO of Liferay, Inc., and JC Choi, Director of U.S. Operations of Liferay, Inc.

Reflecting back on the previous year's Symposium, Brian discussed the need to scale from an independent company to one that meets the needs of thousands of people and the question that arises: how can we improve our customer experience?

Customers expect a better overall experience because the bar is being set higher by other companies, necessitating improved strategies and the ability to better understand customers on an individual level.

JC provided a use case example concerning how a company can be disconnected internally when trying to meet the needs of a customer. With sales, support, marketing and consulting all attempting to understand and provide for a unique customer. When these methods are disorganized, the customer can be bombarded by different messages, leading to dissatisfaction.

Liferay worked toward unifying the internal systems of the business, using Liferay DXP to unify Support, Liferay.com, Customer Portal, Marketplace, HubSpot and Salesforce, which resulted in the creation of Dossiera.

Dossiera works toward taking information from disparate systems and bringing them together to create meaningful insights that employees may not be able to create on their own.

Brian and JC then provided a demo of Dossiera, showing how the system can manage separate accounts and separate employees. Dossiera's finalized internal workplace shows the full customer lifecycle and the many different interactions experienced by a consumer. These various customer actions can show their unique interests concerning a company and what products and services may best meet their needs.

In addition, urgent needs are displayed so that account managers can quickly and efficiently help their customers. The lifecycles of the various services and products they have purchased are shown for greater insights into the future of a customer. the goal of these many different insights is to better equip employees with the ability to provide for accounts in timely, effective ways that are informed by many different viewpoints.

Liferay is continuing to focus on how analytics, personalization, customer engagement scores and more can be used to further empower employees through Dossiera, with users being able to not only work efficiently, but work effectively.

Major traits that have been correlated to the likelihood to renew based on insights from Dossiera include:

  • Customer Profile
  • Customer Behavior
  • Project Attributes

Using these insights, Liferay was able to better understand the probability to renew versus customers marked as target accounts for an improved ability to segment and strategize over the long term. These new possibilities were able to shift Liferay's approach to marketing and more.

10:00 AM - Liferay Commerce: A Preview of Our Upcoming Features

Marco Leo, Software Architect with Liferay, Inc., provides an exclusive glimpse into Liferay's upcoming commerce platform.

Liferay is creating a full-feature commerce platform with a vision to provide a platform that improves customer experience in every aspect. Companies today will need to create a unified solution for all customer needs, including both B2B and B2C needs, as the future of customer demands will be nothing like it is today.

Today's digital commerce provides personalization, search, analytics and more through both internationalization and localization. The modern customer has the easy ability to buy anything they need, whenever they need it. But the future is smart enhanced shopping, where consumers can buy when they need it before they even know they need it.

The commerce needs for B2B and B2C are merging. B2B companies must improve experiences or risk being left behind, including omnichannel shopping and improved personalization. In addition, B2C companies are getting into B2C business. These changes are evolving the landscape of commerce.

Liferay Commerce will provide features including:

  • Catalog Management
    • Products, options, attachments, images, SKCs and more
  • Commerce Engine
    • Payments, taxes, discounts, shipments and inventory
  • Customer Portal
    • Full product ready to use, account management, order management at platform level and complex configuration support

Liferay Commerce covers the full customer lifecycle, from prospect to customer to advocate, so that both consumers and the company can benefit from the experience.

Marco also provided a walkthrough of how Liferay Commerce can create a B2C fashion website, showing how a user can browse through a site and shop for a handbag. The demonstration showed how the entire customer purchasing cycle can be completed on the platform, as well as how back-end systems can create a brand new product listing quickly and easily. A product manager can manage images, location on the site, product information and more through a product management system that is integrated with the front-end user experience.

Liferay Commerce will be available for out-of-the-box integration in H2 of 2018.

9:20 AM - Guest Keynote: Dr. Tony Murphy, GLOBE Project

Dr. Murphy is the director of the GLOBE Implementation Office (GIO).

GLOBE's initiative is to create citizen scientists, helping to get a younger generation invested in science. In recent years, GLOBE has begun to also focus on creating adult citizen scientists. The project has created numerous apps in order to equip people around the world to better understand science in their own environment.

In 2017, GLOBE created an eclipse app to help people observe the North American eclipse, which will also be used for future eclipses around the world. The app generated more than 100,000 scientific observations by more than 10,000 observers during the recent eclipse in both North and South America, including air temperature and ground temperature measurements.

The data that is being generated is also being used by NASA scientists and helping people around the world to better understand the world around them. This includes GLOBE's creation of a mosquito protocol, which has recently been applied to an app called the Mosquito Mapper. This app helps to determine the location of mosquitos and eliminate their presence in order to prevent the spread of serious diseases.

In addition, students are able to better understand and analyze data available through GLOBE's apps so that they can begin to better understand their areas of scientific interest and present their analytics in events hosted by GLOBE.

Liferay has helped GLOBE build their community by providing their audience with capabilities they did not have on their own and allowing for greater control of the organization's hierarchical management. Data entry forms, material translation into nine different languages and the ability to better connect with the community worldwide are possible through the use of Liferay.

GLOBE is also preparing to launch a whole new web page system based on Liferay, including an event collaboration calendar and a more dynamic website animation that provides fast access to needed information. Data is just one part of GLOBE's story, with stories about students and schools around the world available on GLOBE's website through an interactive globe.

9:00 AM - Opening Keynote by Bryan Cheung

Bryan Cheung, Liferay CEO, kicked off Liferay Symposium by showcasing the wide variety of companies and sites around the world powered by Liferay, as well as the growing community. As the expectations concerning digital experiences continue to grow, so does Liferay.

With a vision toward the future, Bryan highlighted several ways in which the Liferay platform is focused on growing and strengthening.

1. Modular Backend Services - With modularity, users can more quickly change the apps they build to keep up with rapidly shifting customer demands.

2. APIs - Designed to evolve and be consumed through headless usage in order to future proof so that clients can stay powerful and relevant to modern needs.

3. Modernize Front End Tech and Put UX First - Nine of 14 Liferay opensource projects are interface related in order to emphasize great design and create great user experiences.

4. Ready for Cloud Deployment - Liferay's WeDeploy is a new platform for the cloud in order to launch cloud-based services within as little time as possible.

Bryan also highlighted the vision for the Liferay platform, including new ways to embrace scalability, the ability to assemble apps from pre-built interfaces and more. Liferay continues to focus on web content management as the way that websites are built continues to evolve as well as the evolution of forms in order to build simple business applications very quickly.

In 2018, Liferay will be adding a digital commerce server in order to provide a single platform in order to provide for the many interrelated needs of customers.

Liferay Symposium 2017's theme is "Making Real Transformation Happen."

Fundamentally changing your business goes beyond front-end systems and transforms entire organizations end to end. Many different transformation stories will be highlighted throughout Liferay Symposium, including Smith & Nephew's digital learning platform for surgeons and Spire Energy's unification of front-end channels, digital operations, and multiple customer care systems.

Bryan also highlighted the Austin Angels, who work to care for foster children. Liferay will donate $100 for each Symposium attendee member who takes part in today and tomorrow's charity event.

8:45 AM - Welcome to Liferay Symposium 2017

Good morning! Liferay Symposium 2017 is about to begin with an opening keynote by Liferay CEO Bryan Cheung. Just a few of the sessions that will be happening today include:

  • A preview of Liferay Commerce
  • Case studies from many of Liferay's customers
  • Creating exceptional digital experiences
  • Learning about machine-driven search
  • Charity events

All this and plenty more will be happening at Symposium and will be live blogged right here.

Matthew Draper 2017-10-16T03:37:35Z
Categories: CMS, ECM

DevCon 2017

Liferay - Sat, 10/14/2017 - 15:42

So I've been home for almost a week now after having attended Devcon 2017 in Amsterdam.

I have to give a shout out to Pascal Brusset and his entire team for putting on a great event. The venue was great, the sessions were great, and the speakers were great too. I especially want to thank them and all of Liferay for letting me attend and give a presentation, it has been one of the things on my bucket list for a while now that I can now check off of the list.    Note this doesn't mean I don't want to go again to a future one, hint hint hint...

And another shout out to my good friend, Olaf Kock, who organized the sold-out Unconference. I'm glad I was able to attend, and I'm going to be sure to sign up as early as I can next year so I can make the cut 

I want to thank my friend Ray Auge for the idea about OSGi Subsystems; they solve a problem I've been concerned about, and once he planted the idea in my head I was able to burn the midnight oil and turn it into a new blog post.

For all of those who I had a chance to talk with and hopefully help a little, it was truly my honor. And to those that I didn't get a chance to, well that's something I hope to reconcile at a future event.

To those that attended my session on Development Pitfalls, thanks for attending. Remember if you have any questions or concerns, you can usually get a response from me in the forums.

Now I'm getting ready for next week's LSNA in Austin. I'm looking forward to catching up with some of my old friends and hopefully making some new ones.

If you're going to LSNA, feel free to stop me and say Hi or ask a question or whatever. To me, that's the best part of attending the events and getting to hear your problems and issues and potentially turning those into a new blog post.

 

David H Nebinger 2017-10-14T20:42:23Z
Categories: CMS, ECM

Why Your Customer Journey Map Doesn't Match Reality

Liferay - Wed, 10/11/2017 - 15:54

Great customer experiences are crafted by companies in ways that meet and hopefully exceed expectations by anticipating their target audience’s next actions and interests. However, companies will need to create a detailed and accurate depiction of these potential experiences in the form of customer journey maps, which show the many steps that customers go through when interacting with a business. These maps trace the journey from first interaction to the close of a sale and perhaps even beyond that, but an inaccurate customer journey map that does not reflect the realities of their audience experiences can cause unnecessary complications for a business.

Whether your company is currently creating a map or has already completed mapping, it is vital that you know why a journey map may not reflect reality in order to create a more accurate map and, as a result, better meet your customers’ needs.

Common Journey Map Problems

While each company will need to work toward making their journey map accurately reflect their own unique business, there are several problems that frequently occur in the creation process. Consider whether these issues are affecting your own journey map.

  • Idealized Steps - There is a difference between how you would like your customers to behave versus how they truly act. If your customer journey only reflects the ways in which you would ideally like them to interact with you, then it cannot be used as a tool for change. Useful journey maps see the true journey as it currently stands so that you and your team can enact positive change.
  • Leaving Out Steps That Don’t Include You - Great journey maps detail all phases of the process, including the steps that don’t involve your business. This can include when a customer checks out a competitor or learns more about a product through a different website. You may not be able to control these steps, but they impact the overall journey.
  • Forgetting Customer POV - What does your customer think of you? It’s a crucial question to ask and one which will help a company better understand how each step in a journey influences perceptions and either encourages or discourages the customer in taking the next step. Remember that journeys are still subject to the views and interests of the customer, no matter how effective your customer experience strategy may be.
  • Lack of Performance Indicators - Effective journey maps identify which areas can be improved by incorporating performance indicators. As discussed by Tandem Seven, these indicators provide insights into customers’ emotional highs and lows in order to see what may be preventing the completion of a sale. Not including indicators can prevent a company from understanding the reasons behind a journey and making the right changes.

Being aware of these pitfalls in journey maps can help companies better understand the effectiveness of their mapping and begin to see the underlying causes of potential problems.

What is Causing Your Incorrect Customer Journey Map?

Most often, inaccurate journey mapping is the result of having a limited scope of vision during the creation process. If a brand does not work to see all stages of a journey and incorporate many different perspectives during mapping, the company will not be able to produce a map with enough detail and scope.

Make sure the journey map is the result of all of your company’s stakeholders providing their insights, which can give a greater understanding of steps that involve various departments. Voices from different departments mean that no single area of the journey will outweigh the others, such as a journey map that is only created by a social media department but leaves out important customer service details. As discussed by The Customer Framework, inaccurate journey maps may reflect an “Ivory Tower” development, which makes a map look complete without actually involving those who deliver essential steps of the journey. The result is the use of a journey map that employees do not know is incomplete until they have used it.

Besides making sure all departments and stakeholders are involved, don’t discount going directly to the focus of your map - the customer. MyCustomer.com points out that no matter how much data can be mined by a business, it is still crucial to speak with customers. In doing so, a company can gain valuable insights and new perspectives that are not possible through data analysis and internal feedback alone.

Creating an Accurate Journey Map

Today, companies can use in-depth analytics that gather large amounts of data from how customers interact with them online during mapping. In doing so, the process can go past the hypothetical and be grounded in measurable data. This data can include social media interactions, advertisements, website browsing, customer service calls and any other action that creates data, which back-end integration of analytics systems can collect and organize.

Accurate analysis means that your company will have the ability to truly see how your customers interact with you for a more accurate journey map. As a result, the changes you make to improve the customer journey have a greater chance at making real, helpful changes that address true customer demands.

Learn more about creating great journey maps and identifying customer pain points that must be addressed in “Finding Your Biggest Customer Pain Points.”

Start Transforming Your Customer Journey

After better understanding your customer journeys, you will want to begin improving them to the greatest degree possible. Learn about how to transform customer experiences in the way that is right for your company through our insightful whitepaper.

Read “Four Strategies to Transform Your Customer Experience”   Matthew Draper 2017-10-11T20:54:17Z
Categories: CMS, ECM

Liferay Symposium 2017: La innovación digital al servicio de la experiencia de usuario y la transformación de procesos

Liferay - Wed, 10/11/2017 - 05:45

Por octavo año consecutivo, en Liferay celebramos nuestro Symposium anual, una cita con la innovación como motor de la transformación de los negocios. Un evento en el que reuniremos a más de 400 profesionales de organizaciones de primer nivel, de diferentes industrias como banca, seguros, administración pública, o retail, entre otros.

La Agenda de esta edición ofrece más de 40 sesiones, abordadas desde las perspectivas tanto técnica, como de negocio. Unos contenidos que están especialmente pensados para aportar un valor añadido a las empresas y administraciones públicas asistentes. Además, daremos respuesta a las necesidades de profesionales de los distintos ámbitos que conforman el proceso de transformación digital en las organizaciones: desde ingenieros, desarrolladores, tomadores de decisión, o perfiles en puestos de gestión empresarial.

Entre las temáticas de perfil de negocio destacan:

  • Cómo mejorar la experiencia de cliente en puntos de contacto digitales a través de la omnicalidad.
  • Cómo el cloud nos puede ayudar a estar preparados para evolucionar nuestra estrategia digital.
  • La transformación de los espacios de trabajo como punto clave dentro de la transformación digital
  • Liferay Commerce: preview del producto Liferay Commerce cuyo lanzamiento está previsto para 2018.

En el lado más técnico podemos encontrar novedades sobre:

  • Construcción de APIs
  • Desarrollos móviles híbridos
  • Desarrollo de estrategias cloud
  • WeDeploy: presentación de las últimas novedades tras su lanzamiento en Liferay DevCon.

Además, casos de éxito y paneles de tendencias completan esta programación que hacen de este Symposium uno de los eventos de referencia en los que encontrar soluciones ante los desafíos reales a los que se enfrentan las compañías en la actualidad; aportando así un valor que permitirá a las organizaciones ser más competitivas y agilizar sus procesos de negocio. Y todo ello sin olvidarnos de la importancia del networking y del intercambio de experiencias con otros líderes.

Las últimas novedades de la tecnología de Liferay: conoce su potencial y próximos lanzamientos

Como no podía ser de otra manera, durante el Symposium presentaremos las últimas novedades de la tecnología Liferay. Conocerás de primera mano tanto los detalles de su evolución, como las últimas novedades y lanzamientos previstos, que, sin duda, supondrán un impulso en las estrategias de digitalización de los negocios. Liferay Commerce o WeDeploy serán dos de los anuncios a los que podrás asistir a modo de primicia.

Además, aportaremos las claves para lograr el máximo rendimiento de la tecnología de nuestra Plataforma de Experiencia Digital para explotar así sus posibilidades, mostrando aplicaciones reales de sus funcionalidades y lograr con ello maximizar su potencial.

Paneles de tendencias

Con el objetivo de debatir acerca de los retos del actual contexto digital de los negocios, la importancia de la innovación y las nuevas tendencias predominantes en el ámbito de la transformación digital, en esta edición contaremos, además, con paneles de tendencias tecnológicas e innovación. Unas sesiones que estarán participadas por ponentes de referencia de empresas tecnológicas de referencia y que tratarán de poner sobre la mesa, compartir y dar solución a estos desafíos. Conoce:

  • Panel de Tendencias: IoT, Realidad virtual, Chatbots: Cómo cambiar la forma de relación con los clientes
  • Panel de Tendencias: ¡Conectados! Explorando las tendencias en estrategia digital como usuarios y trabajadores.
Lazos con la Comunidad

La segunda jornada de Symposium será abierta por Zeno Rocha, Principal Developer Advocate, que impartirá una charla dirigida a la Comunidad, y abordará sus novedades y contribuciones. Además, con ánimo de apoyar la misma, al finalizar la primera jornada del evento está prevista la celebración de un encuentro con miembros de este colectivo, tan importante para Liferay. Si estás interesado en asistir, escríbenos a events-es[arroba]liferay.com.

Partners de referencia como sponsors

Siendo fieles con la filosofía y objetivos del Symposium desde Liferay contamos con la colaboración de nuestros partners. En esta edición destaca la presencia de everis y VASS como patrocinadores Platinum, y mimacom, Ricoh, Zylk y Sopra Steria como patrocinadores Gold. Así, incluimos una amplia y renovada zona expositiva, lo que amplía las posibilidades de networking.

Una zona de gaming completa las experiencias de estas jornadas donde el usuario y su interacción con el mundo digital de tu organización son los protagonistas.

En definitiva, el Liferay Symposium 2017 servirá como punto de encuentro para abordar las problemáticas actuales que presenta la adopción y evolución de la estrategia digital de los negocios desde un punto de vista holístico.

Así, si te interesa todo lo que tenemos que ofrecerte, interactuar con los ingenieros que desarrollan el producto, conocer su experiencia, así como enterarte de las soluciones y casos de éxito ante los desafíos cotidianos de las organizaciones: este es tu evento.

Dentro del contexto de constante innovación y agilidad empresarial en el que nos encontramos: ¿te lo vas a perder?

¡Os esperamos!

 

Marta Dueñas González 2017-10-11T10:45:11Z
Categories: CMS, ECM

OSGi Subsystems and Why You Want Them

Liferay - Mon, 10/09/2017 - 23:44

So last week I'm sitting in an Unconference session at DevCon in a group talking about OSGi. I don't remember how it came up, but we got on a discussion about deployment issues and someone asked about creating an LPKG file (the format Liferay uses to distribute a single artifact containing many bundles). I explained that it might be possible to create a file, but the problem was that the format (outside of being a zip file) is not documented and subject to change at any moment.

That's when Ray Auge jumped in and stated that we didn't want to use LPKG files anyway. Instead we should be using Subsystems, an OSGi specification for packaging many bundles in a single artifact.

Well I had not heard of Subsystems before, so I jotted down a note to myself to do some research on them to see just what they were and how I could use them...

Introduction

OSGi Subsystems is part of the R5 specification for OSGi.

"So What?" you might ask. Well, it turns out they are really useful.

For example, Liferay actually distributes all of their bundles as .lpkg files because it can be hard to distribute and deploy over 500 bundles, but it's actually pretty easy to distribute and deploy 7 .lpkg files.

The problem for us, though, is that the .lpkg file is undocumented and generally not for our use as developers and deployers.

Fine, but when it comes time for you to deploy your own app that consists of, say, 30 bundles, that deployment process can easily become a point of failure. It is all too easy to deploy 29 of the 30 files (without even knowing that one has been missed) or using the wrong version of one of the bundles...

As soon as the number of deployment artifacts grows that large, the risk of deployment failure or issue rises along with the artifact count.

What we need is an .lpkg-like mechanism to package all of our own custom artifacts into one or a small number of deployment artifacts.  This way we can keep the level of modularity we want with the bundles, but we can package them and deploy them together in a managable number of artifacts.

Enter the OSGi Subsystem Specification...

OSGi Subsystems

In case you haven't guessed it, subsystems represent a package or container of other bundles, fragments or even other subsystems.

Subsystems break down into three different types:

  1. Feature - A Feature subsystem is the simplest type and represents basically a container of bundles. All of the bundles in the feature subsystem are accessible from outside of the feature, and all of the bundles inside the feature can access outside bundles.
  2. Application - An Application subsystem is a container of bundles, but these bundles can only access bundles outside of the application; no outside bundles can use or leverage bundles or services inside of the application.
  3. Composite - A Composite subsystem is the most complex type, it is a container of bundles with fine-grained access control for bundles inside and outside of the subsystem.

While each of these types represent a container of bundles, the differences lie in accessibility inside of the subsystem or outside of the subsystem.

Although Subsystems has a lot of available features and functionality, I'm going to limit scope here to a discussion of feature subsystems. I see great value in being able to create a single artifact out of multiple bundles for deployment, but I tend to question the value in limiting or controlling access to the bundles. For most projects, that kind of (micro)management seems to be overkill; I'm guessing that these other types start to show their benefits as the project size increases.

That said, this blog post will help you get started with the simplest of subsystems, the Feature subsystem, but you'll have all of the necessary stuff installed as a foundation for your self-education on the other subsystem types.

You can find out about the full Subsystems specs and usage here:

Benefits of Feature Subsystems

Why do I see value in Feature Subsystems? Because they bring the following benefits to the table:

  • Simplifies deployment by reducing bundle count. Instead of pushing out 30 bundles for deployment, maybe I can reduce that to 5 or even 1.
  • Defines a named and semanticaly-versioned grouping of the contained bundles. Want to release version 1.1 of your portlet? Fine, it may consist of 1.3 of an api, 1.22 of an impl bundle and 1.8 of the portlet module, but they can all version together inside the subsystem.

These are the benefits that are clear to me. There may be others related to management (and scope control if you build an Application or Composite subsystem), plus others that you might see that I'm missing.

Installing Subsystems into Liferay

Okay, so there are a number of bundles you'll need to download and drop into your Liferay deploy folder:

Group ID Artifact ID Version Link org.apache.aries.subsystem org.apache.aries.subsystem.api 2.0.6 https://repo1.maven.org/maven2/org/apache/aries/subsystem/org.apache.aries.subsystem.api
/2.0.6/org.apache.aries.subsystem.api-2.0.6.jar
org.apache.aries.subsystem org.apache.aries.subsystem.core 2.0.6 https://repo1.maven.org/maven2/org/apache/aries/subsystem/org.apache.aries.subsystem.core
/2.0.6/org.apache.aries.subsystem.core-2.0.6.jar
org.apache.aries org.apache.aries.util 1.1.1 http://repo1.maven.org/maven2/org/apache/aries/org.apache.aries.util/1.1.1/org.apache.aries.util-1.1.1.jar org.apache.felix org.apache.felix.coordinator 1.0.0 http://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.coordinator
/1.0.0/org.apache.felix.coordinator-1.0.0.jar
org.eclipse.equinox org.eclipse.equinox.region 1.2.101.v20150831-1342 http://repo1.maven.org/maven2/org/eclipse/equinox
/org.eclipse.equinox.region/1.2.101.v20150831-1342/org.eclipse.equinox.region-1.2.101.v20150831-1342.jar
org.slf4j slf4j-api 1.7.12 http://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.12/slf4j-api-1.7.12.jar org.apache.aries.subsystem org.apache.aries.subsystem.gogo-command 1.0.0 https://repo1.maven.org/maven2/org/apache/aries/subsystem
/org.apache.aries.subsystem.gogo-command/1.0.0/org.apache.aries.subsystem.gogo-command-1.0.0.jar

Note: You may want to check to see if there are newer versions you might want to use.

When using SLF4J, you also need to provide a binding to an actual logging implementation. I want the messages to go to the Liferay logging system, so I created an SLF4J binding for the Liferay logging system. You can get the project here: https://github.com/dnebing/slf4j-liferay.

After they have deployed, you can drop into the Gogo shell to check their status:

g! lb | grep slf4j 534|Active | 10|slf4j-liferay (1.7.12) 535|Active | 10|slf4j-api (1.7.12) true g! lb | grep Apache 25|Active | 6|Apache Commons FileUpload (1.3.2) 27|Active | 6|Apache Felix Bundle Repository (2.0.2.LIFERAY-PATCHED-1) 28|Active | 6|Apache Felix Configuration Admin Service (1.8.8) 29|Active | 6|Apache Felix Dependency Manager (3.2.0) 30|Active | 6|Apache Felix Dependency Manager Shell (3.2.0) 31|Active | 6|Apache Felix EventAdmin (1.4.6) 32|Active | 6|Apache Felix File Install (3.5.4.LIFERAY-PATCHED-1) 33|Active | 6|Apache Felix Gogo Command (0.12.0) 34|Active | 6|Apache Felix Gogo Runtime (0.10.0) 35|Active | 6|Apache Felix Gogo Shell (0.10.0) 36|Active | 6|Apache Felix Declarative Services (2.0.6) 537|Active | 10|Apache Aries Util (1.1.1) 538|Active | 10|Apache Felix Coordinator Service (1.0.0) 539|Active | 10|Apache Aries Subsystem Core (2.0.6) 540|Active | 10|Apache Aries Subsystem API (2.0.6) 542|Active | 10|Apache Aries Subsystem Gogo command (1.0.0) true g! lb | grep region 541|Active | 1|org.osgi.service.subsystem.region.context.0 (1.0.0) true

I've highlighted the new bundles that we loaded.

Part of the deployed bundles includes a new Gogo command for subsystems:

g! subsystem:list 0 ACTIVE org.osgi.service.subsystem.root 1.0.0

At this point you've installed subsystems, so lets go on to building and deploying one.

Building an Enterprise Subsystem Archive Hey, before you start on this step, do yourself a favor and make sure your bundles deploy outside of Subsystems. My first pass at this was based off of using some modules I built out of the Blade Samples. I used those to create an esa archive and tried to deploy it and got some errors. Thinking they were Subsystem errors, I spent some time trying to resolve them. Eventually I decided just to make sure they would work and deploy them directly and all of the errors I was seeing were still there. The modules I had built were not complete and they wouldn't activate whether as normal bundles or within a Subsystem. I started over with clean projects, got them working by deploying directly and only when that was all working did I proceed to work this step.

Moral of the story - Only build an ESA archive out of working, deployable modules.

So, in case you haven't guessed it yet, we need to build a zip file (it is an archive after all) with the extension .esa, this is our Enterprise Subsystem Archive.

Building an esa archive is actually kind of easy.

If you're using Maven, you're going to be leveraging the ESA Maven Plugin. If you're using Ant or Gradle, you're going to be leveraging the ESA Ant Task. For those of you who are new to Gradle, you might want to check out how to invoke Ant from within your Gradle build script.

I created a rather simple set of modules available via this Github repo for a maven workspace: https://github.com/dnebing/subsystem-sample. There's two ServiceBuilder modules, one an API and one a service jar, and there's also a portlet module to do CRUD operations. The entities represent and extremely simple "event" system for booking events for conference rooms.

Each of the three modules were deployed directly into a local dev environment to ensure they could start and be active in the portal.

Our go at this is going to be based on pulling in dependencies to be part of the esa archive. I created a new submodule in the project, subsystem-events-esa, to pull in the dependencies. I like to use mvn archetype:generate to start a new project, but you can create one however you'd like.

Then we need to update the pom. This is the one I came up with:

<?xml version="1.0"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>com.dnebinger</groupId> <artifactId>subsystems-modules</artifactId> <version>1.0.0</version> </parent> <groupId>com.dnebinger</groupId> <artifactId>subsystem-events-esa</artifactId> <version>1.0.0</version> <packaging>esa</packaging> <name>subsystem-events-esa</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencies> <dependency> <groupId>com.dnebinger</groupId> <artifactId>subsystem-events-api</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>com.dnebinger</groupId> <artifactId>subsystem-events-service</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>com.dnebinger</groupId> <artifactId>subsystem-events-web</artifactId> <version>1.0.0</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.aries</groupId> <artifactId>esa-maven-plugin</artifactId> <version>1.0.2</version> <extensions>true</extensions> <configuration> <generateManifest>true</generateManifest> <startOrder>dependencies</startOrder> <instructions> <Subsystem-Type>osgi.subsystem.feature</Subsystem-Type> </instructions> </configuration> </plugin> </plugins> </build> </project>

Now when you build this guy, you will get a foo-1.0.0.esa file in the target folder. Peel him open with your zip tool and you should see something like:

So what did we end up with?

Well, we have our three dependencies that were listed in the pom. There's a couple of Maven pom artifacts that we don't really worry about. The other thing we have is the SUBSYSTEM.MF file:

Subsystem-ManifestVersion: 1 Subsystem-SymbolicName: com.dnebinger.subsystem-events-esa Subsystem-Version: 1.0.0 Subsystem-Name: subsystem-events-esa Subsystem-Content: com.dnebinger.subsystem.events.api;version="[1.0.0,1.0.0]";start-order:="1", com.dnebinger.subsystem.events.service;version="[1.0.0,1.0.0]";start-order:="2", com.dnebinger.subsystem.events.admin;version="[1.0.0,1.0.0]";start-order:="3" Subsystem-Type: osgi.subsystem.feature

If you check the pom, I asked for the file to be generated. You can just as easily specify your own if you wanted to.

This file defines the subsystem, the modules it contains and has the semantic versioning details for the esa.

Deploying the esa Archive

So we built it, let's deploy it. Note that I'm using a clean bundle here, not one where the foo Blade samples have already been deployed to.

Drop the foo-1.0.0.esa file in the Liferay deploy folder and...

Nothing. Which is kind of what I expected. You see, Liferay has an extension point for the Felix FileInstall module to handle .lpkg files and, well, we need a similar extension to support the esa Archives.

Fortunately for everyone, I've already created it. The whole project is available at https://github.com/dnebing/subsystem-deployer. Build the module and drop it into your Liferay deploy folder. Any .esa file dropped in the Liferay deploy folder will be picked up by the module and moved to the osgi/modules directory where it will be processed by OSGi and the Felix FileInstall service.

With this module in place, the .esa file will be picked up and processed. With our new subsystem Gogo command, we can now see the following:

g! subsystem:list 0 ACTIVE org.osgi.service.subsystem.root 1.0.0 3 ACTIVE com.dnebinger.subsystem-events-esa 1.0.0

So the subsystem looks good, but how about our bundles?

g! lb | grep subsystem-events 548|Active | 1|subsystem-events-service (1.0.0) 549|Active | 1|subsystem-events-api (1.0.0) 550|Active | 1|subsystem-events-web (1.0.0) true

That's exactly what we hope to see! Since the bundles are all valid, you can now log into the portal and place the portlet on a page and try it out.

Conclusion

So that's really it. We can now leverage OSGi Subsystems in our portal. This allows us to build an esa archive file containing multiple files (bundles, fragments or other subsystem esa files) and deploy them as a single unit.

Here I've presented how to use the Feature subsystem type that has no limits on using bundles in the subsystem or bundles outside the subsystem it can use.

The two other subsystem types, the Application and Composite types, I didn't do anything with. If you come up with a valid use case or some example code, please share as I'm sure we'd like to hear about your successes.

David H Nebinger 2017-10-10T04:44:34Z
Categories: CMS, ECM

How to Configure Remote Staging in a Clustered Liferay DXP Environment

Liferay - Mon, 10/09/2017 - 08:57
  Well, I decided to write this post after breaking my head a lot (almost brains were flying everywhere), to be able to configure remote staging in a clustered environment. The staging is that feature that you love or hate, it's a case of love and hate, like a mexican novel style, where in the end everything is right and everyone lives happily forever :p   Let's stop chatting and follow what matters, what we need to do to achieve success with staging is not as complicated as it seems, I believe that after this post, when your boss says "configure remote staging in our environment," you'll not feel like a cat when hear its owner saying it will give a bath.     The architecture we are going to base is simple, a instance that will be staging (which has database configurations and file repository different from the cluster nodes), a balancer, responsible for the traffic between the nodes of the cluster, two nodes that we will call of appserver01 and appserver02 connected to the same database.     Assuming that the web and application tier are already configured and that the cluster is already configured as well, I've divided the staging configuration into three parts:   1 - Configuration of properties: staging, appserver01 and appserver02; 2 - Setting the TunnelAuthVerifier property in the system settings; 3 - Enabling remote staging in the publishing option of the Site Adminidtration.   The first thing to worry about is the Liferay property files, more specifically the portal-ext.properties files, where we'll set up the tunneling.served.shared.secret and tunneling.servlet.shared.secret.hex properties on the stagingappserver01 and appserver02.   This property guarantees the secure communication of one portal with the other, thus denying another portal that does not share the same secret key.   tunneling.servlet.shared.secret=[secret]   If your operating system is Unix, you can use this command to generate a 128-bit AES key.   openssl enc -aes-128-cbc -k abc123 -P -md sha1   The following key lengths are supported by the available encryption algorithms:
  • AES: 128, 192, and 256 bit keys
  • Blowfish: 32 - 448 bit keys
  • DESede (Triple DES): 56, 112, or 168 bit keys (However, Liferay places an artificial limit on the minimum key length and does not support the 56 bit key length)
By setting this property to true, you must configure the tunneling.served.shared.secret property using a hexadecimal encoding.   tunneling.servlet.shared.secret.hex=true   Add the following lines to the portal-ext.properties file of each Liferay by configuring a secret key:   tunneling.servlet.shared.secret=[secret] tunneling.servlet.shared.secret.hex=true   Another property that we should worry about is the tunnel.servlet.hosts.allowed, which must be added in the portal-ext.properties file on the application tier, appserver01 and appserver02, this property will allow connection between the configured IPs, you must inform in this property the IP of the staging instance.   Add the following lines to the portal-ext.properties file on the appserver01 and appserver02 nodes:   tunnel.servlet.hosts.allowed=127.0.0.1,SERVER_IP,STAGING_IP tunnel.servlet.https.required=false   Note: SERVER_IP must be replaced by the IP of the instance itself and STAGING_IP by the IP of the Staging instance;   After setting up the properties files, you need to restart each portal.   The second thing we need to configure is the TunnelAuthVerifier property in the system settings of the nodes in our application tier, appserver01 and appserver02, navigate to the Control Panel → Configuration → System Settings → Foundation → Tunnel Auth Verifier. Click /api/liferay/do and insert the Staging IP addresses you are using in the Hosts allowed field. Then select Update.   You can also do this configuration on each node of your cluster, through the TunnelAuthVerifierConfiguration-default.config file that you are in (I really recommend that the configuration should be done this way):   osgi/configs/com.liferay.portal.security.auth.verifier.tunnel.module.configuration.TunnelAuthVerifierConfiguration-default.config   Adding the following lines to the file:   enabled=true hostsAllowed=127.0.0.1,SERVER_IP,STAGING_IP serviceAccessPolicyName=SYSTEM_USER_PASSWORD urlsIncludes=/api/liferay/do   Note: If your portal is less than or equal to SP4 version the file extension should be .cfg   Finally, we must enable remote staging on our Staging instance, go to the Publishing options in the Site Administration and select Staging, then select Remote Live and additional options appear.     Fill in the field Remote Host/IP, for the sake of availability, it is recommended to fill this field with the balancer IP of our WEB tier, then inform the remote port of this balancer through the Remote Port field and, finally, access appserver01, copy the remote site ID and paste in the Remote Site ID field, save the settings.       Anderson Perrelli 2017-10-09T13:57:17Z
Categories: CMS, ECM

Key Takeaways From JavaOne 2017 Talks

Liferay - Fri, 10/06/2017 - 12:36
Key Takeaways From JavaOne 2017 Talks

Here are some of the key takeaways that I learned from the talks I attended at JavaOne 2017:

How to Use Java Cryptography API Securely

by Mansi Sheth (video)

The Java Cryptography API is quite powerful and up-to-date as of Java 8, however there are some pitfalls when using it. Mainly, the JavaDoc examples and API defaults tend to use insecure, old crypto standards. Also for backwards compatibility, the Crypto API provides options that are not recommended or are insecure or deprecated. However, the API does provide modern, secure crypto options, so developers should check the best practices to ensure that they are using modern options before employing the Cryptography API.

Servlet 4.0: A New Twist On An Old Favorite

by Ed Burns and Shing wai Chan (video)

Servlet 4.0 supports HTTP/2 and specifically Servlet Push. Servlet Push allows the servlet to send resources such as CSS and JS to the browser along with the html response to avoid unnecessary extra requests. Frameworks such as JSF will be able to take full advantage of this feature since they know which resources their view requires before returning the response. Servlet 4.0 has also added support for the HTTP trailer—which can be used to provide a checksum for the response among other things—and mapping discovery which can be used to determine how the current servlet was obtained.

JavaOne Monday October 2, 2017 Keynote (video)
  • Intel is optimizing hardware for Java and has released a few open source libraries for use cases such as persistent memory.
  • Java is still one of the world’s most popular programming languages.
  • Oracle is providing the open-source Fn project to support serverless computing.
  • Oracle JDK and Open JDK will be merged.
  • Java SE 9 provides a new module system and linker so that smaller custom JRE’s can be built to include only the modules that are necessary.
  • Java SE is now on a 6 month release cycle.
Understanding Java Garbage Collection

by Gil Tene (video)

There are many options for garbage collection strategies in Java including copying collection or mark -> sweep -> compact. It’s difficult (but possible) to implement a responsive garbage collector that does not pause the entire JVM while performing garbage collection (since memory is still growing if the JVM is not paused). Testing garbage collection is difficult since many JVMs will attempt to delay garbage collection as long as possible (usually until after the test is done).

The Secret Sauce of Successful Teams

by Sven Peters (video)

Good teams provide psychological safety to explore (potentially bad) ideas and make mistakes. Good teams have at least some overarching schedule and an ability to grade themselves on whether they accomplished their goals (for example using OKRs).

JSF 2.3 in Action

by Kito Mann

JSF 2.3 includes many new features features and additions (several of which were contributed by community members Bauke Scholtz and Arjan Tijms). To name a few: f:websocket, h:commandScript, f:importConstants, ui:repeat begin, end, and step attributes which allow for iteration without a data model, and CDI injection of JSF objects like FacesContext. For a more complete list, see Arjan Tijm’s blog post What’s new in JSF 2.3?.

The Art of Performance Tuning

by Jonathan Ross

Since Java and the JVM are so complex, use the scientific method rather than intuition to test and improve performance. The Open JDK JMH framework allows developers to write performance regression tests.

Java Secure Coding Guidelines

by Sean Mullan

Oracle provides Secure Coding Guidelines for Java SE. Deserializing untrusted data can allow remote or malicious code to be executed on the JVM.

The Power and Practicality of Immutability

by Venkat Subramaniam

Immutability can make code simpler to reason about, allow compiler optimizations, and be exploited for easy parallelism.

SSL/TLS for Mortals

by Maarten Mulders (video)

Encryption allows for secure interactions on the web. Certificate authorities are needed to verify that data is being sent to legitimate sites. However, certificate authorities can be compromised, so browsers need to keep up-to-date information on trusted certificate authorities as well.

Scale Up With Lock-Free Algorithms

by Roman Elizarov (video)

Lock-free algorithms can be implemented with atomic variables using the compareAndSet() method inside a while (true) loop. Lock-free algorithms tend to perform better than locking algorithms in read-heavy real-world scenarios (as opposed to write-heavy).

The Anatomy of Java Vulnerabilities

by Steve Poole (video)

Vulnerabilities include bugs, features, and developer tools that a hacker can exploit.

Portlet 3.0 Deep Dive (Teaser)

I’m planning on including the Portlet 3.0 Deep Dive video in a larger blog post about Portlet 3.0 in general. So look forward to that soon.

Conclusion

One of the biggest takeaways from JavaOne was the commitment to open sourcing even more technology including TCKs and specifications that are moving to the Eclipse Foundation (as EE4J). Learning about all these technologies and best-practices was fun, but the best part of JavaOne was talking to JavaEE experts like Kito Mann and Ed Burns and listening to the problems that JavaEE devs are solving today.

Kyle Joseph Stiemann 2017-10-06T17:36:46Z
Categories: CMS, ECM

Why Your Business Can No Longer Ignore Digital Customer Experience

Liferay - Thu, 10/05/2017 - 18:35

Successful businesses rely on great customer experiences more than ever. According to a Walker study, customer experience will become the key differentiator between brands by the year 2020, beating out both price and product. An increasingly important part of that will come in the form of digital customer experience.

Digital customer experience is just as crucial as traditional, in-person customer experience. Brands must consider these two facets as separate yet strongly connected in order to create an effective strategy that appeals to target audiences. But understanding these two types of experiences can be confusing for those who are not fully aware of their differences and similarities.

Defining Customer Experiences

The term customer experience (CX) is a broad term concerning how a consumer feels about their treatment by a company. This includes traditional aspects of customer service, such as in-person help from a representative, as well as newer, digitally-based company interactions, like chatbot services. The term digital customer experience (DCX) is exclusively focused on these digital services, as well as back-office tools that help make these online experiences possible, such as personalization software.

Think of customer experience and digital customer experience as equally important in serving the needs of target audiences and providing them with a cohesive and beneficial interaction with your brand. Although DCX can be included within the larger term of CX, they are distinct from one another in how they operate while still driving toward the same goal of sales completion.

Different Experiences Need Different Strategies

It is important for businesses to understand that the same principles used to create great CX do not always translate perfectly into great DCX. While a business’ target audience should be able to find the same level of service and care both in person and online, companies should note that customer experience and digital customer experience do not have a direct one-to-one correlation.

As discussed by Harvard Business Review, a large part of traditional CX relies on the actions of other customers, the physical environment and location, which often results in customers lowering their expectations for the experience. However, DCX is purely online and subject to the high standards of consumers, including fast loading time, being able to quickly find the items they want and having their needs met in the exact ways they expect. Customers who are in a store know that employees are busy and may need to wait to be helped, but online customers feel like there is no excuse for slow or inefficient service when shopping on their computer. These different expectations will require different strategies in order to be met properly.

Businesses will need to use sophisticated data insights to make the most of how consumers interact with them through digital platforms in order to create great digital customer experiences. Gartner reports that the most popular way to begin refining and improving DCX is by improving how customer feedback is collected and analyzed. In doing so, companies can have a better understanding of how to improve in ways that meet customer expectations.

The Worth of Digital Customer Experience

With the amount of work needed to make great DCX, businesses may wonder if it is worth the effort. But effective digital customer experiences have been shown to have a positive effect on customers and lead to a high return on investment. While the impact of DCX on a company’s profits will vary from business to business, information from Forbes shows that higher adoption of a digital interaction (such as an online shopping cart) leads to higher revenue and lower operational cost. McKinsey research also shows that businesses that have greater digital capabilities can convert sales at a rate that is 2.5 times greater than businesses with lesser digital capabilities.

Like traditional CX, poor DCX can cause customers to turn to a competitor. As discussed in an article on Huffington Post, 67% of customers have cited bad experiences as a reason for leaving a company in favor of a competitor. This includes poor experiences online. It is important to note that even if you are not hearing direct customer complaints, statistics show that only 1 in every 26 unhappy customers will complain about a bad experience. The silence of your target audience regarding poor or nonexistent DCX does not mean you should not improve your online experiences.

The Future of DCX

It is important to note that online and offline experiences, while still different from one another, are becoming closer together than ever in the customer journey. The modern customer often expects to be able to switch between devices while online, as well as begin, continue or finish their journey in person whenever he or she wishes. This means that a company should provide digital experiences that can transfer important information across devices and also access such information at physical locations for a smooth, interconnected experience.

As you manage and seek to improve your current DCX, keep this in mind so that your brand can keep pace with the evolving expectations of the modern audience.

Strengthen Your Digital Customer Experience

Learn more about digital customer experience and what you can do to create great DCX for your unique target audience.

Read More About Digital Customer Experience   Matthew Draper 2017-10-05T23:35:54Z
Categories: CMS, ECM

Creating a Google Like Search

Liferay - Thu, 10/05/2017 - 10:07
More than once I've been asked to customise Liferay search to be "simpler" and more "Google like".   In the first part of this blog series I'm going to create a custom search portlet from scratch and in the second part I’ll be discussing options to tune search behaviour like relevance.   First task in creating a custom search portlet was the choice of UI technology. This time I wanted to try something new. As far as Javascript framework was concerned, I was used to work with Alloy UI but as it's deprecated as of version 7 I decided to choose something else. Using Metal.js and SOY seemed attractive and interesting but there was not too much documentation or full bodied tutorials. On that basis, for someone like me who didn't have experience of closure templates, the task seemed somewhat challenging but I decided to take the challenge. It took a while to get the idea but in the end I think it was definitely worth it. Metal.js and SOY is a great and powerful combination. They enable and facilitate creating cleaner UI code than before by almost forcing you to separate presentation and logic layers.  See more information about Metal.js on https://metaljs.com   I wanted this new portlet to be lightweight, simple, support sorting and facets. It should be working with GET instead of POST parameters to make it bookmarkable and easier to work with Google Analytics. The parameters on address line should be readable. Above all I wanted to be fast. I didn't try to make it configurable for all the situations or support all the asset types like users but still it to be easily extensible and customisable. As a basis for something I could build on later. So I added there support for Web content, Blogs and Message boards. Support for other types can be easily added. There's no configuration option for the asset types in this example but basically there are just three things to do: add your new type in the menu, handle the form post QueryParamsBuilder.setTypeParam() and overload BaseResultBuilder for your asset type if needed.    The code was done on DXP FP30 but it should work on CE too. I didn’t use the embedded ElasticSearch engine but a standalone one as debugging the index is much easier that way. There's by the way a great free  ElasticHQ plugin for ElasticSearch http://www.elastichq.org/. Instructions for setting up a standalone ElasticSearch are here https://dev.liferay.com/discover/deployment/-/knowledge_base/7-0/installing-elasticsearch   I tried to make code and comments easily readable. Have a look at it at GitHub.     Installation and configuration Clone the git repo, build with Gradle and deploy to your portal. After deploying there's just one thing you need to do: put an AssetPublisher on the site you plant the Search portlet to. That’s needed to show any Web contents that do not have a display page but are in the CMS only. By default the portlet searches for a page with friendlyURL "/viewasset" but you can change that in the portlet configuration which can be found along the other few options  in Control Panel -> Configuration -> System Settings -> Other -> Gsearch display configuration

Code is available here https://github.com/peerkar/liferay-gsearch. Hopefully you'll find it useful!

  Petteri Karttunen 2017-10-05T15:07:06Z
Categories: CMS, ECM

Transitioning to DXP Digital Enterprise and Liferay Portal CE 7.0 Development

Liferay - Thu, 10/05/2017 - 10:06

If you've been developing apps, hooks, and themes on Liferay Portal 6, you might be wondering whether you'll be able to develop apps the same way on DXP Digital Enterprise 7 and Liferay Portal CE 7. The answer is "yes"!

You might also be curious whether Liferay's provided documentation that speaks to Liferay Portal 6 developers ready to transition to DXP Digital Enterprise and Portal CE 7 development. Once again, the answer is an emphatic "yes"!!

We've tailored a Learning Path for you titled From Liferay Portal 6 to 7!

Here are its topics:

There's lots of good stuff to cover. The Learning Path starts by relating the new product to what you know from Liferay Portal 6. It builds from there by highlighting new benefits, diving into OSGi and modularity fundamentals, and sharing tool improvements. But in case you need to deploy your plugins on 7.0 right away, you can jump to documentation on planning plugin upgrades first. It's completely up to you.

The upgrade planning article provides a "cheat sheet" that maps 6.x plugin types to 7.0. So you can upgrade fast. The Code Upgrade Tool does most of the code adaptations for you and it upgrades your Plugins SDK too. The Plugin Upgrade tutorials cover all the 6.x plugin types. In most cases, you can deploy your plugins as you always have (as .war files).

This From Liferay Portal 6 to 7 Learning Path orients you to the new product. You can take your time learning its architecture and comparing it with the 6.x arch hope is that you'll build new apps using modules. And you can decide whether it makes sense to leverage modularity in apps you've upgraded.

Lastly, you can continue to build apps using whatever tools you like. And Liferay continues to provide better tooling than ever. Here are some of the tooling improvements:

  • Rich templates for stubbing out projects
  • Extensible build environments that offer state-of-the-art plugins
  • Deployment and runtime management tools
  • Application upgrade automation
  • Liferay Workspace
  • More with Maven

Our hope is that this Learning Path helps you thrive quickly developing on 7.0. We can't wait to see the things you develop!

 

James Hinkey 2017-10-05T15:06:46Z
Categories: CMS, ECM

3 principales desafíos en la implantación de plataformas móviles

Liferay - Thu, 10/05/2017 - 06:04

¿Estás desarrollando una aplicación o una web responsiva y te encuentras con barreras que te dificultan llevar a cabo el proyecto con éxito?

Afortunadamente, ya existen soluciones para hacer frente a los principals problemas que surgen en el desarrollo de aplicaciones móviles, las cuales harán que construyas una plataforma que facilite la vida tanto de tus clientes como de tus empleados.

Durante la creación de una estrategia móvil deberás determinar cómo desarrollar, lanzar e integrar tu aplicación con otras plataformas para la consecución de tus objetivos. Así, es importante que tengas en cuenta tanto los pros como los contras que vas a encontrarte en este proceso. Existen múltiples complicaciones que pueden impedir a las empresas implementar sus estrategias con éxito. A continuación describimos algunas de las soluciones ante los principales obstáculos encontrados por las compañías que están desarrollando una estrategia móvil y de web responsiva:

Obstáculo 1: No disponer de tecnologías mobile-friendly

Mientras que algunas compañías llevan ya años utilizando plataformas mobile-friendly, aún existen otras que ni siquiera han empezado a poner en marcha la implementación de este tipo de tecnología.

Tanto si tu objetivo es mejorar tu plataforma móvil para integrarla con facilidad al resto de tu ecosistema digital, como si tu finalidad es crear tu primera plataforma móvil, no contar con la tecnología idónea que te provea de todas las funcionalidades necesarias de creación e integración, puede suponerte una enorme barrera que dificulte en gran medida el éxito de tu proyecto.

Las plataformas móviles más modernas permiten que exista una integración más fluida y sencilla con otras plataformas, haciendo posible que sus usuarios puedan empezar una actividad en un dispositivo, como puede ser rellenar un formulario en el móvil, y concluirla en otro, como terminar de rellenar el mismo formulario en el ordenador. Sin una tecnología de desarrollo móvil diseñada para integrarse con facilidad a otras plataformas, podrías tener que utilizar tecnologías alternativas para este fin, sin ni siquiera conseguir generar una experiencia omnicanal real.

Solución: Así como las experiencias omnicanales son cada vez más demandadas por los clientes, las compañías deben desarrollar sitios móviles y aplicaciones que se integren al resto de  herramientas que ya utilizan en  su presencia online. Según Forrester, el número de dispositivos smart utilizados en los hogares de Estados Unidos experimentarán un crecimiento  del 25% de 2016 hasta 2021, siendo los  móviles  los dispositivos clave para mantenerse conectado y poder beneficiarse del creciente sector del internet de las cosas (IoT). De ahí que altos índices de integración con cualquier tipo de dispositivo o plataforma sea una ventaja competitiva cada vez más importante en el desarrollo de aplicaciones.


Al escoger una tecnología para desarrollo de software, debes tener en cuenta cuáles de ellas cuentan con las funcionalidades que puedan dar respuesta a tus necesidades específicas, tanto en el corto, como en el largo plazo. Una  tecnología móvil exitosa incluye funcionalidades como: la capacidad de enviar notificaciones (push), de hacer geotargeting, capacidad para el desarrollo de aplicaciones, o conectarse a diferentes plataformas. Estas son las funcionalidades que te ayudarán a sacar el máximo partido a tu plataforma móvil.

Además, las aplicaciones móviles integradas con éxito tendrán servicios de back-end utilizados por diferentes dispositivos para compartir datos, una biblioteca de extensiones de aplicaciones que le permitirán cumplir con diversos niveles de complejidad tanto en la integración, como en la capacidad de crear y editar sitios web responsivos, nativos o aplicaciones híbridas, según sea necesario. Para lograr una integración exitosa, la flexibilidad será crucial. La elección del software adecuado te permitirá ser tan flexible como necesitas.

Obstáculo 2: No contar con los recursos necesarios para mantener tu estrategia móvil

Toda estrategia de negocio necesita de una serie de recursos necesarios para alcanzar todos objetivos de manera efectiva en tiempo y con el presupuesto disponible. Pero ¿cuáles son los recursos que necesitas para desarrollar una estrategia móvil exitosa? Si empiezas tu proyecto sin un plan definido, sin un equipo experimentado o sin el presupuesto suficiente en lugar de enfocarte en explotar el potencial de tu diseño web responsive y en tu plan de desarrollo de aplicaciones, te verás en la situación de tener que superar el presupuesto establecido o de no cumplir con los plazos acordados. En definitiva, pasarás gran parte del tiempo orientado a resolver estos  problemas, en lugar de estar enfocado en lo que realmente importa: el desarrollo de una estrategia efectiva.

Solución: Antes de implementar tu nueva plataforma móvil debes analizar los recursos que tienes y asegurarte  de que son suficientes para alcanzar tu objetivo final.

  • ¿Tienes un servidor con capacidad suficiente? Esto es crucial para garantizar que tu aplicación va a ser capaz de atender a las demandas de tu audiencia. Debes considerar la estrategia más adecuada en tu caso para solventar este requisito: si optar por servidores dedicados o por el almacenamiento en la nube. Cabe considerar cada una de ellas, pues para algunas compañías esta última opción puede ser una forma de optimizar sus recursos disponibles.
  • ¿El desarrollo lo realizará  un equipo propio o vas a subcontratar a una empresa de desarrollo externa? Es importante conocer cada una de las implicaciones que conlleva cada elección, para poder así decidir en consecuencia en función de los recursos disponibles. Por su parte, un equipo interno estará más enfocado, trabajando en la plataforma de la empresa con la prioridad que tú definas, aunque también suelen suponer un coste más elevado que si externalizas el servicio. Por su parte, las empresas de desarrollo tendrán que encajar tu proyecto en medio de otros que puedan tener, es decir, no estarán enfocadas solamente en el proyecto de tu empresa.
  • ¿Has tenido en cuenta la optimización SEO con tu estrategia de marketing? Disponer de una web responsive es algo que los algoritmos de Google tienen en cuenta a la hora de priorizar resultados, desde la actualización de su algoritmo en 2016. No te quedes atrás, apuesta por una estrategia de posicionamiento online y saca el máximo partido a tu estrategia móvil.
  • ¿Has configurado la analítica de tu app? Entender mejor el comportamiento de los usuarios es clave para mejorar las experiencias de las aplicaciones. Habilitar las funciones de analitica de tu aplicación te va a ayudar a monitorizar y controlar el comportamiento de tus usuarios de cara a que puedas hacer los ajustes necesarios para optimizar su potencial: saber a qué hora y por cuánto tiempo se conectan, cuáles son las herramientas que más utilizan, cómo son sus perfiles, etc.
  • ¿Has hecho el presupuesto de forma correcta? Vas a tener que evaluar bien tus recursos y preparar a tu equipo antes de empezar tu proyecto de desarrollo de app móvil. Webs como estimatemyapp.com pueden ser de gran utilidad para que tengas una visión general de los recursos financieros que vas a necesitar y para que entiendas mejor la estructura de los costes relacionados a este proyecto.
Obstáculo 3: Ser incapaz de escalar aplicaciones durante la implementación.

En las primeras fases de periodo de prueba y de beta testings, es esencial que escales tu aplicación para comprobar que pueda atender a las dimensiones de tu audiencia y evitar así posibles complicaciones en el futuro que ocasionen una mala experiencia de usuario. Además, a medida que crece tu base de usuarios, tener una aplicación escalable será esencial para que consigas acompañar este crecimiento sin perder calidad. Si no inviertes en este aspecto desde el principio puedes encontrarte con el problema de tener que solucionar problemas de rendimiento de tu app; y si la acabas de lanzar, puedes acabar generando una mala impresión entre tus usuarios.

Solución: Estate preparado para escalar tu aplicación antes de su lanzamiento para que seas capaz de reaccionar con agilidad en caso de que sea necesario, sin que suponga mayores implicaciones para los usuarios. Una de las maneras más comunes de solventar este inconveniente en el desarrollo de aplicaciones es generar una base de datos que esté diseñada especialmente para los objetivos de la app. Según Venture Beat, el almacenamiento en cloud es ideal para las nuevas empresas online, ya que tienen que lidiar con problemas comunes como son diferentes requerimientos de anchos de banda, así como un tráfico web en cambio constante. Además, el cloud también beneficia a las compañías que tienen necesidades de aumento de la capacidad de almacenamiento de los servidores dedicados.

Asegúrate de que el tiempo de respuesta de tu aplicación está optimizado en términos de velocidad y de consistencia. Si utilizas servidores dedicados, es necesario prever un posible suministro de más servidores para manejar distintos volúmenes de datos según sea necesario. Al tener en cuenta estas soluciones de escalado, estarás preparado para responder a lo inesperado lo más rápido posible.

Creando estrategias móviles efectivas

Las mejores estrategias de implementación de plataformas móviles se hacen posibles con softwares diseñados para la integración y para llevar a cabo proyectos a largo plazo Aprende más sobre las integraciones de aplicaciones móviles eficientes y cómo Liferay puede hacerlas posibles con nuestro whitepaper.

Estrategias Móviles: Lo que toda empresa debe conocer

Marta Dueñas González 2017-10-05T11:04:37Z
Categories: CMS, ECM

Start Planning Your Austin LSNA Getaway Today

Liferay - Wed, 10/04/2017 - 16:25

Liferay Symposium North America is almost here and is taking place in the city named the best place to live in 2017 by U.S. News & World Report - Austin.

With so many sights to see and restaurants to try, there will be plenty to do when you’re not at LSNA. The following are just a few of the many must-try experiences in Austin that will make Symposium a trip to remember.

1. Barton Springs Pool

It may be cooling down across the nation in October, but it’s still plenty warm in Austin and especially so in Barton Springs Pool. As a natural, spring-fed pool, Barton Springs stays warm and inviting year-round and can make for a fun getaway within the city. And don’t forget to explore the rest of the surrounding Zilker Metropolitan Park for even more great nature.

2. Lady Bird Lake

Amongst the busy roads of the big city is a chance for relaxation and beautiful sights at Lady Bird Lake. Whether you are looking for a slow stroll along the shoreline, exercise on the nearby hiking trails or fishing on the lake itself, visitors can enjoy this versatile lake whichever way they want.

3. Congress Ave. Bridge

Austin plays home to the world’s largest urban bat colony, located directly underneath the Congress Avenue Bridge. Hang out on the bridge at dusk and take in the sights as the massive colony swarms out while the sun sets. While bats are beginning to migrate for the winter, it’s still warm enough to catch this one-of-a-kind sight for yourself.

4. Franklin Barbecue

There are too many great places to eat in Austin to list, but one iconic spot that any visiting attendee should try is Franklin Barbecue, which is renowned throughout the city for its meat. After closing temporarily due to fire damage, Franklin Barbecue is set to reopen right before Liferay Symposium. Locals are excited for Franklin to swing its doors open once again and so should LSNA attendees.

5. Alamo Drafthouse

If you’re looking for a quieter night in Austin, think about taking in a one-of-a-kind moviegoing experience at one of the many Alamo Drafthouse theaters in the city. Here, moviegoers can watch a film while enjoying a full meal and drinks. Plus, Drafthouses regularly have special screenings and events that include limited edition drinks, meals and other experiences built around the movies they show.

6. Bullock Texas State History Museum

If you’re interested in learning all about The Lone Star State, the Bullock Texas State History Museum has a massive collection of exhibits that are separated into three floors themed according to land, identity and opportunity. It’s a chance to dive deep into the storied history of Texas in this renowned museum.

7. Food Trucks

If you’re looking for a quick bite to eat, Austin is filled with food trucks that cover all types of cuisine and fusion styles. Ranging from vegan comfort food to kebabs to brand new creations that defy category, check out the daily locations of these trucks and take an eating and walking tour of Austin for an on-foot and up-close way to experience the city.

Get Ready for Liferay Symposium North America 2017

If you haven’t registered for LSNA 2017 in Austin yet, there’s still time. Sign up and use the discount code LASTCHANCE17 for a Buy 1 Get 1 Free Offer for Liferay Symposium 2017!

Register Today

Matthew Draper 2017-10-04T21:25:05Z
Categories: CMS, ECM

Liferay OSGI module project dependency resolution

Liferay - Wed, 10/04/2017 - 06:38
OSGI Module Gradle Project

We have worked on ANT and MAVEN with Liferay in previous versions. In Liferay DXP Gradle has been introduced. It is quite an interesting feature to learn with Liferay development.

Gradle is powerful and wonderful tool, but due to lack of documentation to use with Liferay I sometimes stuck with dependencies resolutions. I explored it further to overcome the dependency resolution blues that often came to my way. I went through many blogs, forums and wikis and came to know some interesting points which I wanted to sum up on one place that might be helpful for the community.

Generally to add dependency in the build.gradle dependencies we do as follows

dependencies {

      .

      .

      compileOnly 'com.fasterxml.jackson.core:jackson-databind:2.6.7.1'

}

In the above declaration what it “compileOnly” task do is , it compile the source code,it doesn’t include the this dependency and it’s transitive dependencies in the jar package that creates problem while deploying the module in the OSGI container as dependency jars are not resolved.

To overcome this scenario we need to include all transitive dependencies in the dependencies declaration. But how do we know what is the dependency tree?

To get the transitive dependencies and their version, there is task which helps a lot at this step. For that go to Liferay module project ,open CMD and execute below task.

gradlew dependencies --configuration compileOnly

This task  prints the dependencies tree as  below.

compileOnly - Compile dependencies for source set 'main'.

:

:

\--- com.fasterxml.jackson.core:jackson-databind:2.6.7.1

     +--- com.fasterxml.jackson.core:jackson-annotations:2.6.0

     \--- com.fasterxml.jackson.core:jackson-core:2.6.7

 

It gives us the idea that jackson-databind-2.6.7.1 depends on jackson-annotations-2.6.0  and jackson-core:2.6.7 those are also need to include in the build.gradle . To instruct build to include these dependencies in the jar package. We need to configure bnd.bnd as follows. Though David has well explained in his blog for below bnd.bnd entries, i want to recall few of them to understand the context properly.

-includeresource:\

      lib/jackson-annotations.jar=jackson-annotations-2.6.0.jar, \

      lib/jackson-core.jar=jackson-core-2.6.7.jar,\

      lib/jackson-databind.jar=jackson-databind-2.6.7.1.jar

Above instructs build to include dependency jars in the module jar package. But to configure OSGI bundle classpath, it should be included as follows.

Bundle-ClassPath: \

      .,\

    lib/jackson-annotations.jar,\

    lib/jackson-core.jar,\

    lib/jackson-databind.jar

 

Above are steps that gives us more control to specify transitive dependencies and their version. But if we want to rely on gradle to fetch transitive dependencies and configure MENIFEST.MF then compileInclude type can be used in the build.gradle as follows.

dependencies {

      .

      .

      compileInclude 'com.fasterxml.jackson.core:jackson-databind:2.6.7.1'

}

In this case if build gradle plugin it not only compile the source code but also include dependency mentioned and it’s transitive dependency in the module jar package.

To get the transitive dependencies and their version included by gradle, go to Liferay module project ,open CMD and execute below task.

gradlew dependencies --configuration compileInclude

It will print the dependency tree of the dependencies that gradle have included in the jar package. In this case we don’t need to configure bnd.bnd, it is done by gradle task in the MENIFEST.MF in module jar.

OSGI Module Maven Project

For a osgi module project created through Liferay IDE as well dependency analysis is little bit same as Gradle project we have seen above.

Assume we have added a dependency in the Module project.

</dependencies>

                                :

                                :

<dependency>

                  <groupId>com.fasterxml.jackson.core</groupId>

                  <artifactId>jackson-databind</artifactId>

                  <version>2.6.7.1</version>

            </dependency>

</dependencies>

 

To get the dependency tree ,execute following goal.

mvn dependency:tree

It will print the dependency tree like below which help us what all transitive dependency of the project  that we have declared in the project pom.

\- com.fasterxml.jackson.core:jackson-databind:jar:2.6.7.1:compile

    +- com.fasterxml.jackson.core:jackson-annotations:jar:2.6.0:compile

    \- com.fasterxml.jackson.core:jackson-core:jar:2.6.7:compile

It gives us the idea that jackson-databind-2.6.7.1 depends on jackson-annotations-2.6.0  and jackson-core:2.6.7 those are also need to mention  in the bnd.bnd file similar to as we did for gradle project above .i.e.

-includeresource:\

      lib/jackson-annotations.jar=jackson-annotations-2.6.0.jar, \

      lib/jackson-core.jar=jackson-core-2.6.7.jar,\

      lib/jackson-databind.jar=jackson-databind-2.6.7.1.jar

 

Bundle-ClassPath: \

      .,\

    lib/jackson-annotations.jar,\

    lib/jackson-core.jar,\

    lib/jackson-databind.jar

 

 

As osgi resolve dependencies in deifferent way based on the entries in MENIFEST.MF so above is another step we need to take care from OSGI point view other than build tools Gradle and Maven dependency resolution. Hope it helps.

 

Sushil Patidar 2017-10-04T11:38:04Z
Categories: CMS, ECM

New Clustering Code for Liferay Portal Community

Liferay - Wed, 10/04/2017 - 05:03

Hello Liferay Community! 

I'm here at the Liferay Unconference in Amsterdam, listening to Brett Swaim talk about his real world experiences with upgrades and Staging. Earlier, I ran into Darryl from Paris to catch up on his dancing career, and last night I got to see Corne for the first time in two years, which seems far too long! 

Over the last 24 hours, Liferay people have been arriving in Amsterdam, and for a while I couldn't walk more than a few blocks without seeing a familiar face. It's been great. 

I thought it would be a great moment to let you know that we've released clustering code for Liferay Portal Community. I've had some spirited discussions with you online about this and I told you some of our reasons for removing it before, but in the end we decided it was a mistake. 

You can find instructions and documentation here

More than the clustering, we have so many exciting things coming in Liferay Portal, that I can't wait to share with you this week! It's going to be great.  

Thanks for reading. And if you happen to see me here, please come say hello!

Bryan Cheung 2017-10-04T10:03:02Z
Categories: CMS, ECM

Four Starting Points in Breaking Down Company Silo Walls

Liferay - Mon, 10/02/2017 - 10:51

The idea of working across organizational boundaries within a company can be traced back to the late ‘80s and the vision of Jack Welch, then-CEO of General Electric. By breaking down what came to be known as company silo walls within a business, Welch predicted that businesses would be able to match the speed and technological innovation that would come in the 21st century.

Today, we are living in that reality, with organizations in all industries working to keep up with the speed of modern business. However, company silos are still very much present in the way many brands do business and the process of breaking these walls down and instigating effective reorganization can seem like an intimidating process to begin. According to a PwC Study, 55% of companies work in silos, with each function of a business deciding which areas of operation matter the most on their own.

The following four starting points can help your business begin the process of breaking down company silo walls in helpful, actionable ways. In doing so, your company can be improved through higher productivity, better internal collaboration, more effective marketing and a greater ability to reach company goals.

1. Cross-Departmental Communication

Effectively breaking down silo walls is often not a matter of completely restructuring how a business is organized, but improving the ties that bind every aspect of a company. Easy cross-department communication is a key aspect in overcoming the silo effect, both in how employees directly communicate information to one another and how data is shared within the organization. In simplifying and improving communication channels, a business can make the next two starting points easier to accomplish, as they often rely on effective communication.

However, your business may not even be fully aware of how well its employees are communicating with one another. According to a ClearCompany survey, only 18% of employees polled said that communication evaluations were part of their performance reviews, indicating that even though collaboration is seen as important, actual communication is rarely evaluated. Properly evaluate how your company is internally communicating through employee surveys and evaluations of your communication channels. Then, determine a strategy to improve communications, such as choosing new messaging software, encouraging cross-department meetings and empowering both managers and other employees to express their ideas to other team members they have not been in touch with previously.

2. Data Access

Having well-structured data is vital in being able to effectively interpret and use information in the ways a company needs, such as customer profiles leveraged in marketing or customer service records used to evaluate the quality of a product. However, the ways in which this information is stored can lead to siloing, such as customer service departments having sole access to service call recordings or social media departments being the only ones able to access data concerning the profiles of followers.

By sharing such data with other departments, new uses and greater value can be found that may have not been previously possible when information is kept within a single department. When brought together, companies have a greater possibility than ever to create a single customer view, which is a comprehensive profile of an individual consumer based on robust data. In order to do so, a company will need to pull information from many different sources in order to correctly determine a person’s interest, location, history, family connections, career and more, which enables improved marketing and customer service efforts.

3. Data Analysis

It’s not enough to only give access to data within a company, employees must be able to analyze it in order for it to be useful. Inaccessible data is affecting businesses across all industries and the amount will only grow in the coming years. IBM research indicates that as much as 80% of all data is dark and unstructured, meaning that businesses can neither read it nor use it within computing systems. With the amount of data being generated by people around the world increasing every year, IBM predicts that 93% of all data will be unstructured by the year 2020.

To counteract this trend, companies must ensure their back-end systems are properly gathering data from customer actions and that they are using modern analytics processes to accurately interpret trends and interests. Today, companies are using AI to parse unstructured data faster and more accurately than humans. In addition, real-time data analysis can be achieved in order to better understand target audience actions as they happen. This data can then be distributed throughout a company in order to empower any and all departments that may benefit from its insights.

4. Company-Wide Vision

It’s easy for departments to slowly become unaligned with each other and with the objectives of the company as a whole when an organization is not proactively creating and emphasizing a unified vision. The result of a fractured vision can mean vastly different strategies and ways of interacting with customers from department to department, such as an SEO department tailoring content to reach a vastly different audience than what is being targeted by social media. According to eConsultancy, 40% of the companies they polled in a customer experience survey say that different departments within their business have their own agendas concerning how to approach customer experience.

A successful company-wide vision not only has measurable goals, but also applies these goals to the unique duties and strategies of each department. By doing so, and ensuring that departments continue to pursue these goals, each department will be more naturally aligned with one another and more aware of how they can work together for the greater good of the company.

The Benefits of Breaking Down Silos

Companies who eliminate negative silo effects can experience the benefits of faster communication, improved usage of data, departments that work in sync with one another, helpful intra-company collaborations and a company vision that informs the actions of all departments. The result is less wasted time and finances as well as a more efficient process for reaching company goals.

Empower Your Business Through Digital Transformation

Improved company coordination and the ability to embrace new ways of doing business can be made possible by building on a dependable software. Liferay DXP has equipped brands around the world with the tools needed to improve business strategies and everyday processes. See how Liferay can empower your business today.

Read “Digital Experience Platforms: Designed for Digital Transformation”   Matthew Draper 2017-10-02T15:51:24Z
Categories: CMS, ECM

Radio Liferay Episode 59: Testing @ Liferay with Kristoffer Onias and Victor Ware

Liferay - Mon, 10/02/2017 - 10:29

  Yay, another episode, and maybe in time to sweeten your trip to Devcon in Amsterdam. I spoke to Kristoffer Onias and Victor Ware. Both work on testing Liferay with different areas of interest. You'll hear quite a bit about what Liferay does internally on testing.

I actually talked to them quite a while ago, and the episode has been sitting on my disk since then.The numbers that you hear may no longer be accurate, but the overall information definitely is. Sorry for keeping it a secret for so long (there's an even longer kept secret... up next...)

We're talking about these (and more) topics

  • Different levels of Tests:
    • Unittests
    • Integration Tests
    • Functional Tests
  • How SPA influenced frontend testing
  • Selenium, Selenium IDE, Web Driver, Capybara, Docker, and Jenkins
  • How pull requests are tested before they reach their addressee
  • The scale of Liferay's testing infrastructure
  • KC's (at the time) still unnamed project. Watch out for him at the North American Symposium for updates to this. Oh, and: By now his project actually has a name: Testray
  • Maintenance of large test sets - UI locators etc.
  • SevenCogs and its resurrection
  • How to scale testing infrastructure for potentially a lot more servers and environments
  • The Test Pyramid
  • A wild idea: Livestream of test runs
  • Liferay's Testing Whitepaper and a Testing Webinar
  • 50 shades of red and its part 2

Follow @RadioLiferay and me (@olafk) on twitter.

You'll find this episode - and make sure that you don't miss any of the future episodes - by subscribing to  http://feeds.feedburner.com/RadioLiferay. You can also subscribe on itunes.: Just search for "Radio Liferay" or just "Liferay" in the podcast directory. Make sure to write a review for the podcast directory of your choice - or find everything about Radio Liferay on radioliferay.com.

Or just download the MP3 here

Olaf Kock 2017-10-02T15:29:49Z
Categories: CMS, ECM

Modern frontend workflows in Liferay Portal

Liferay - Mon, 10/02/2017 - 08:58

Dear Liferay Developers:

We would like to share with you a new feature we have been working in very hard during the last months.

As we all know, Liferay Portal’s current support for frontend development does not fully meet the expectations of the standard frontend developer. These expectations include leveraging npm, the most used package manager, to manage dependencies in projects. This cannot be done with the current tooling unless you apply some effort and tweaks in the build process. Even after doing that, the current AMD Loader does not implement semantic versioning which may lead to problems when trying to make portlets cooperate between them.

To fix that situation we have extended the Portal, the AMD Loader, and created a set of tooling to let you use npm in your projects so that you can then deploy them to the Portal and see everything working seamlessly with little effort. 

Also, we have taken into account the modularity of the Portal from the beginning so that even portlets that don’t know each other may share npm packages with zero configuration, optimizing the performance and not overloading the browser with multiple instances of the same package.

This magic is mainly done by the new liferay-npm-bundler tool, a bundler inspired by others like Browserify or Webpack that targets Liferay Portal as the platform for deployment. 

You can find more information about the use of this new feature in the Liferay Developer Network, under this section.

Also, we have prepared some examples demonstrating the use of the most popular frameworks out there (like Angular, React, Vue.js, …) inside portlets. You can check them here.

And of course, you can hear us talking about this stuff in the upcoming events:

See you there or in the cyberspace!

Ivan Zaera 2017-10-02T13:58:06Z
Categories: CMS, ECM

Getting changes into production safely and quickly with continuous delivery (I)

Liferay - Mon, 10/02/2017 - 05:55

One more year, Liferay Developer Conference (DEVCON) will bring together developers from all around the world to learn about Liferay, our platform, available tools and the people behind the product. The fifth edition of the Liferay DEVCON will take place in the historic Beurs van Berlage in the heart of Amsterdam. Featuring more than 40 in-depth sessions and technical workshops, the three-day Conference is part of the Amsterdam eWeek.

 

This year Rubén Pulido and I will be talking about Continuous Delivery at Liferay. Why have we chosen this topic? Because as software developers, our priority is to continuously deliver software of value to our customers.

What’s Continuous Delivery?

Once your code changes have passed unit and integration tests, you should validate if they work in production-like conditions before delivering them to your customers. Depending on the resources and the time required by these tests (e.g. traffic load, scalability, data update), you can define one or more environments and perform different validations on each. At the end of the line, your application has to be ready for production. This ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way is what we call continuous delivery.

By definition, the put-into-production step in a continuous delivery schema is performed manually. If your deployment to production is performed automatically, then you’d be doing continuous deployment. This choice depends exclusively on your business strategy, since from a technical point of view you’re always ready to release your code.

 

Continuous Delivery at Liferay

As you know, Liferay has moved from a monolithic on premise application model towards a distributed service platform model. In other words, Liferay Digital Experience Platform introduces an scenario of software-as-a-service applications that demand high availability, zero-fault tolerance and shorter release cycles. Many of the applications that Liferay will be presenting in the next months will follow these criteria, and therefore continuous delivery has become a keystone process for us.

So, how are we using continuous delivery at Liferay? Basically, we’ve defined a continuous delivery pipeline for our applications. When code changes are pushed to the repository, the Continuous Integration (CI) server runs tests automatically and on success publishes a snapshot of the application to a distribution repository. The CI server also triggers the setup of the pre-production environments. On every environment, the distributable application is deployed and some specific tests are run. Only it tests pass on an environment, the next one is updated. Finally, if all tests pass in all environments, changes are accepted as production ready. At this point the application is tagged as a release in the repository and after manual approval, the changes are deployed into production.

Implementing a Continuous Delivery Pipeline for Liferay Applications

During our session at DEVCON, Ruben and I will show you how to use a continuous delivery pipeline to release changes in a demo Liferay application quickly and safely. We’ll also provide all the requirements to create a continuous delivery pipeline for your own applications. Don’t miss out and join us this week at DEVCON! See you in Amsterdam!

Eduardo P. Garcia 2017-10-02T10:55:36Z
Categories: CMS, ECM
Syndicate content