DDD Sydney – Episerver session (Headless CMS!)

Next, DDD Sydney would be on 18th of August and my proposed session about Headless CMS is not on the vote! I need you Episerver gurus help to help me get my session approved. DDD has cool concept off democratically selected agenda. So all submitted agendas would be on the vote and YOU!!! can help me my session be presented by voting. Obviously, if you like it!

To vote you please:

  • click on THIS LINK
  • Wait until the page fully loaded (the list of sessions is quite big and use AJAX to load).
  • When the page loaded (you can see the list of sessions), search for term ‘future’

 

  • This is my session and if you like to vote, please click on ‘Vote’. You can select more than one item, so clicking on ‘Vote’ doesn’t mean you are done (SORRY I KNOW IT IS HASSLE!)
  • When your vote is selected you need to click on ‘Submit Votes’

  • And if you get a success message, you are DONE!

 

THANKS SO MUCH FOR SUPPORTING ME!

Third Sydney Episerver Meetup

Our third meetup is going to more focus on innovation. 1990 Digital will host our meetup this time.

Nicola is the technical lead and working very closely with customer and know customer tears! She will speak about the new tool she built that impressed her customer and think would impress you as a¬†developer as well!! ‘Episerver CMS Audit’ will help developers to visualize the content instances and content type dependencies and can help developers to find out more about how their content type is being used. Especially on the complex multi-site environment which you end up many content types, this tool would help testing of the site much easier.

I’m going to speak about headless CMS with a good example. This practice can help to understand the Episerver Content Deliver API structure little a bit better and how that fits into the mobile app! and finally, as Nicola proposed we want to see the marriage of Episerver CMS Alloy sample and Cortana (Microsoft virtual assistant) and show how content deliver API can fit into new content channels!

Hope to see you all there. Please register here.

Content as a Service and Episerver – Part 3 – Content Delivery API

Episerver Content Delivery API empowers you to expose your content via HTTP protocol. This enables  Recently Episerver enterprises to use their content in the mobile apps or any third party which needs the content of your website. Episerver released a beta version of Content Delivery API recently and can be used via Nuget Package. This would be a big step for Episerver to add the ability to Enterprises to go toward the concept of Content as a Service (CaaS).

What features does it have? It allows you to expose all content of your site via HTTP using JSON

That scary!? Na, you already exposing your content via HTTP using a browser! That is correct, some content is restricted content and should be exposed to all and that is facilitated by authenticating users via OAuth.

Query the content, that could be slow? The API will leverage Episerver Find to query the content and this means query will be run efficiently without affecting your website performance.

Mmm..So what I need to have to start? It is quite simple, create new Episerver Alloy Sample and go through below steps:

In this stage Episerver Content Delivery API would be just one package but I expect this would be change

  1. Register a new Episerver Find service and put the content into the sample website
  2. Install Content Delivery API Nuget Package
  3. Add below code to your ‘ConfigureContainer’ function:

     

Content as a Service and Episerver – Part 2 – What is Content as a Service

CaaS is standing for Content as a Service. Means a content provider stored some kind of content and then sell the content to others! Or even the provider may store others data and then sell it back to you! But why this is important? Bellow is some scenarios:

  • Centralize your content: An enterprise has many channels of user engagements and each channel stores data separately. No one aware of the data existence and these data stored in many places. For example, user’s feedback comes from different channels (website, post-purchase support, in-store¬†feedback, …) and each feedback stores in the different systems. Having a service to stores all feedbacks in one Content Management System, you can use data to analyze how good you are doing, or moderated feedbacks on the website.
  • Omnichannel content: When you have a content stored in a centralized location, then you can easily handle how is the best way content¬†in different channels! Yes, it is all about omnichannel. If you present a lightweight image with fewer details on the mobile device, your customer would be much happier!
  • Personalization: If you have all above next step would be to personalize the content for your user. Refer to Janrain,¬†74% of online consumers get frustrated when digital content has nothing to do with their interests. And based on Evergage study, 73% of advanced organizations who utilize continuous personalization saw huge increments in client engagement and bring down bounce rate. Sooner or later personalization become a must for your enterprise.
  • Continuous Improvement and Machine Learning: As you see above the process should improve more and more. The user needs more relevant data and this needs to be real-time across multiple channels. If the user has an abundant¬†shopping cart, the system needs to send an email and motivate the user¬†to complete the purchase using a discount coupon or provide more relevant product to the user and this needs machine learning.

 

As above you can see, you need to think more about your content strategy and leverage all facilities from your platform to provide the best user experience for your customers. Episerver recently provided new services that can bring future to you now. To achieve the best content strategy and giving users best experience, Episerver provides many services:

  • Episerver Content API: Set of APIs to expose your content to outside world. API client can query the content and get the result with good performance. This service is very useful to share content with mobile apps and other websites.
  • Episerver Social: A real-time APIs to store, moderate user-generated content (e.g. comment, rating, …)
  • Episerver Campaign: Cross-channel campaign management too. (e.g. SMS, Email, …)
  • Episerver Advance: Machine learning powered tool for content recommendation
  • Episerver Reach: Machine learning powered tool for the content recommendation via email.¬†Personalized email recommendations and message triggers, based on visitor browsing behavior, such as product interest
  • Episerver Insight: Keep track of user interaction with the application. This tool helps content and marketer strategist to segment clients and use the data to feed other services.
  • Episerver Personalized Find: This tool helps to improve and personalize the Episerver Find outcome.

In series of blog post, we are going to speak more about what Episerver bring to you and your enterprise and how you can integrate it.

Content as a Service and Episerver – Part 1 – Introduction

In these series we are going to speak about content of CaaS:

 

The first item we cover is headless CMS:

 

Headless CMS

Headless sounds like the crazy concept! NO HEAD like above picture! But when you dig into it you will see this is a quite new concept and maybe a start of Content As A Service (CaaS)! Content marketing is fast growing business and for some online business is crucial to provide relative content for their customers in the proper view based on their channel (website, mobile app, …) in right shape! Seems crazy!!!¬†Let’s look into some examples.

As a user, I surf¬†a website using my mobile. The website provides me huge images which takes time to load a¬†page and images with many details which I can’t see on my mobile:

 

Another good example, I have a brand new eCommerce website and my products do not have a proper rating and related content. I would love to purchase product reviews, user’s images, and rating.

You can see the importance of the content and content marketing. Site owners now need to pick a CMS/eCommerce platform which provides facility to use other’s content and expose my content. As part of the series, I want to speak about the CaaS concept and it’s important and how Episerver provides facility to leverage CaaS. In next post, I want to dig into the concept of CaaS and some statistics about this concept. Next to speak about how each aspect of CaaS fit into Episerver services.

Episerver Developer Tool

Episerver is a great tool, especially for developers. Easy to learn and easy to adapt. One of the downfalls of any complex system is debugging. You need to have a good understanding of the architecture and have some domain knowledge about the area you are debugging. To speed up the process we usually rely on tools. Debugging Tools are very important part of the developer’s toolbox. Episerver has a¬†powerful tool which can help you to find issues and improve the application. It helps you to:

  • Container (IoC): Give you “StructureMap container used by EPiServer”
  • Content-Type Analyzer:¬†¬†content type Synchronization status during initialization
  • Loaded Assemblies
  • Log Viewer (In Memory Logs)
  • Memory Dump
  • Remote Event
  • Routes
  • Startup Performance
  • Templates
  • View Locations

To install this tool you can just install nuget package “EPiServer.DeveloperTools”. Just run powershell¬†script:

And then when you build and run application and login to Episerver Admin area and you can see:

I personally use IoC container, Routes, View Location and Remote Event. Please remember Episerver is not actively supporting this tool and it is not recommended to use this tool in a production environment.

I would say, we are moving more to the cloud, we need more tools like this to help us debugging cloud-based services (e.g. Episerver Find).

Second Episerver Developer Meet Up – Sydney

DXC is one of the most popular services from Episerver and demand of using it growing. Cost effective and good support from Episerver made DXC one of best service in CMS/e-commerce area. Marcus is going to speak about the DXC service. This will help developers to get a better idea of all offering and some best practices which developer need to consider.

E-commerce these days are one other f hot topics and we all engaged in designing and developing e-commerce websites and one key area is payment pages! Many websites owners and solution architect ignoring the importance of the PCI compliance. Gareth is going to speak about PCI compliant and how we as developers need to consider this important factor!

 

Hope to see you in the meetup:

JOIN US

When: April 24th, 2018 6.00-8.00pm

Where:¬†Studio 60’s office, 24 Merriman Street, Millers Point NSW 2000, Sydney

If you can’t make it join us virtually using GotoMeeting!

 

Hope to see you all!

Sydney Episerver Meetup

We have 2 cool sessions planned for this meetup:

“Episerver Insight Preview”¬†¬†(Marcus Babajews/Damien Dias)

‚Äʬ† Episerver Insight Sneak Preview from a Tech perspective

‚ÄúTag your content using Azure Machine Learning‚Ä̬†(Aria Zanganeh)

‚Äʬ† Using cognitive services to automatically tag Episerver Content

There will be pizza and drinks during the evening.

If you want to join the party please clock on https://www.meetup.com/Episerver-Community-Meetup/events/244161665/

We hope you can make it!

What is CDN and how it fits to Episerver solution (Part 2) – Setup cloudflare

Welcome to the¬†second post of CDN series. In these¬†series, I’m trying to describe how CDN works and with one example show how it can integrate with Episerver and finally we tackle some¬†caching challenges CDN and Episerver has. In this post, we are going to integrate one sample CDN with one of our existing¬†websites. One of ¬†CDN Episerver is using in their managed services called DXC¬†is called¬†cloudflare. I have not affiliated with this company and¬†used it because it may be used by some of DXC clients. Cloudflare is quite good and stable service. They have a very simple dashboard and quite good and fast support. So let’s dig down into it!

  1. I created sample Episerver site and hosted that in http://test5.levo.com.au
  2. Register on cloudflare РIt is free (select free-personal plan) (not CC require)
  3. Now you need to provide your domain name(s) –¬†my domain name, in this case, would be levo.com – it may take some time to scan¬†domain

  4. Now you can see list of DNS records which domain scan process fetched. In my case none of them items in the list is relevant, so I removed all of items and add one line for test5:

    Cloudflare proposed me to change my¬†Name Server to use Cloudflare which I haven’t. What I did was just is to remove all items and add my “test5” and associated IP address!

  5. Our original image URL was “http://test5.levo.com.au” so now with our latest cloudflare configuration we can access “test5” using “http://test5.levo.com.au.cdn.cloudflare.net”!¬†So without changing name server, we can test our application. Remember in real world scenario if you need to leverage sage DNS and GEO Loaction DNS, you need to use CDN Domain Name Service!
  6. Next step is to add record to IIS website binding:

  7. And obviously new URL to Episerver:

  8. Navigate to cloudflare URL and you should see CDN version of your site!

Question:

  1. How should  I know the site is using the cache?
    1. In Chome navigate to site using developer tools -> Network
    2. Wait until all site is loaded
    3. Find one of your images comes from Episerver:

    4. You can see “CF-Cache-Status:HIT” in ¬†HTTP Header. That means the¬†image is coming from CDN (more information)
  2. What happens if  I delete my asset file from Episerver?
    1. If you are using CDN URL, CDN will provide the image. That means even if you delete image from your web server, CDN keeps the file till TTL finish (more information)
  3. How should I know HTML is cached or not in CDN?
    1. HTTP Header is where to find out:

    2. As you can see “CF-Cache-Status:HIT” is missing
    3. If you need want to cache HTML as well you can refer here.
  4. If I’m going to use CDN, what about if my image¬†or video (or any asset, even HTML of the site) is live and I need to update it?
    1. This is our next post!

In our next post, we will look into how INVALIDATE CDN cache from Episerver. ¬†We are going to build a NuGet package specifically for¬†cloudflare¬†CDN to invalidate cached content when the content is updated in Episerver. This can improve site performance by caching content as much as possible and allow¬†web editors to publish the latest content ALWAYS and finally we plan for integrating visitor group ¬†with CloudFalre PageRules! This will be amazing journey, next post will come soon ūüôā