This document contains information about Tomasz Kłos and Robert Dębowski who work at SoftServe. Tomasz is a Sitecore Developer and Team Leader with over 8 years of experience in .NET. He enjoys swimming, snowboarding, and board games. Robert is a Certified Sitecore MVP and winner of the Sitecore Hackathon who advises clients as a consultant. Both enjoy inspiring others and learning new technologies.
4. The Sitecore Developer (C#, .Net, SQL) responsible for creating of
applications that take into consideration all aspects of application
development architecture design including – performance,
scalability, coding, caching, security, encryption, session state
management, and error logging and testing.
• Hobby: swimming, snowboarding, board games.
Tomasz Kłos & Robert Dębowski
5. Certified Sitecore 9 Sitecore MVP 2018 and Winner of Sitecore
Hackathon 2018 working as Sitecore Team Leader at SoftServe.
Consultant, who always advice to find the best solution for client
issues. Over 8 years in .net business. Loves to inspire devs, teams
and go through the newest technologies stack.
Between those activities likes dancing, gym and sport in general.
Favorite color: yellow !
Tomasz Kłos & Robert Dębowski
12. SoftServe Confidential
xConnect is the service layer that sits in between the xDB and any trusted client, device,
or interface that wants to read, write, or search xDB data.
Communication must happen over HTTPS and clients must have the appropriate
certificate thumbprint.
Tomasz Kłos & Robert Dębowski
16. SoftServe Confidential
The term xConnect describes the services and APIs that support the collection and search
of experience data. This includes:
• xConnect Collection service
• xConnect Search service
• xConnect Client API
• xConnect Search Indexer
Tomasz Kłos & Robert Dębowski
17. SoftServe Confidential
The xConnect Search Indexer is responsible for adding contact and interaction data to the
xDB search index. The indexer can be set up as Windows Service or an Azure Web Job, and
regularly polls the collection database for changes to index.
IMPORTANT:
Indexing is NOT by the processing server. This is a significant change from version 8.2 and
below.
Tomasz Kłos & Robert Dębowski
18. SoftServe Confidential
xConnect does not use Sitecore.ContentSearch
xConnect search does not rely on Sitecore.ContentSearch. xConnect search and Content
Search are separate frameworks with separate APIs and indexing mechanisms.
21. SoftServe Confidential
Contact and interaction facets are automatically indexed by xConnect.
Facets or facet propreties decorated with the [DoNotIndex] attribute are never indexed.
Facets or facet properties marked with [PIISensitive] are only indexed if indexing of PII
sensitive data is enabled. If a facet is not indexed, it cannot be used in a search query.
Tomasz Kłos & Robert Dębowski
22. SoftServe Confidential
• The xConnect Client API is a portable web API that allows trusted clients to create, read,
update, and search contacts and interactions over HTTPS.
• The xConnect Client API is the only way to work with experience data. You cannot
access the collection database or search index directly
• The xConnect Client API does not replace the tracker. However, the tracker relies on the
xConnect Client API to read and write data
Tomasz Kłos & Robert Dębowski
23. SoftServe Confidential
• As a first step in vertical xConnect scaled architecture, xConnect has been extracted to
a Collection and Search server.
• The second steps say that xConnect can also be split into dedicated xConnect Collection
and xConnect Search servers.
Tomasz Kłos & Robert Dębowski
26. SoftServe Confidential
• A contact represents an individual who interacts with or may potentially interact with
your organization.
• Contacts are represented by the Sitecore.Xconnect.Contact class, and are uniquely
identified by ID (of type Guid) within the xDB. IDs are generated by the service layer
when a contact is saved and should not be saved outside the xDB.
Tomasz Kłos & Robert Dębowski
27. SoftServe Confidential
An interaction describes any point at which a contact interfaces with a brand, either online
or offline. Examples of interactions include:
• Purchasing a something from a physical store
• Using an app
• Browsing a website
• A phone conversation
Interactions are represented by the Sitecore.XConnect.Interaction class and must have at
least one event.
Tomasz Kłos & Robert Dębowski
28. SoftServe Confidential
• An event is anything significant that occurs within the context of an interaction, such
viewing a web page or making a purchase in a physical store.
• Events ultimately inherit the Sitecore.XConnect.Event class and are represented by the
Events collection on the Interaction class.
• Interactions must have at least one event. All events are triggered with an event model,
an event definition ID, and a timestamp.
Tomasz Kłos & Robert Dębowski
29. SoftServe Confidential
A facet is piece of information that enriches a contact or an interaction. For contacts, this
might include their name and address. For interactions, this might include the location of
the interaction. Each facet is made up of:
• A facet model, which is a class that inherits Sitecore.XConnect.Facet.
• A facet definition, which associates a facet model with a key and assigns it to an entity
(either contacts or interactions). Facets are defined in code, in a collection model.
A facet model can be re-used with a different key, or defined with the same key for
contacts and then interactions.
Tomasz Kłos & Robert Dębowski
32. SoftServe Confidential
Create console app
to serialize newly
created xDB Model
Serialize xDB
Model Builder
into JSON
Copy JSON file to directory of
xConnect Search and xConnect
Collection services
Copy this JSON
into xConnect
Serach Indexer
Tomasz Kłos & Robert Dębowski
33. SoftServe Confidential
Copy the model DLL to the
root of every instance of the
Marketing Automation Engine
Create a XML
configuration
file
Register you
custom xDB Model
Tomasz Kłos & Robert Dębowski
34. SoftServe Confidential
Copy the model DLL
into the bin directory
of your core Sitecore
instance
Patch your own
model class into
Sitecore.XConnect.Cli
ent.config
In your code,
reference the
model DLL
Use the
xConnect Client
API
Tomasz Kłos & Robert Dębowski
43. SoftServe Confidential
• Separation between xDB implementation and custom
modification of it
• Various technology stack options to keep xDB
• Clear and unified approach to combine Sitecore with external
systems
• Well done documentation
Tomasz Kłos & Robert Dębowski
The aim of this presentation is to show how you can easily generate random traffic on you web page, using xGenerator for sitecore 9.
SummaryAfter installing the sitecore 9, I needed dummy data in experience profile and experience analytics to check how data are displayed and confirm that everything is configure in a proper way.
I used generator that already exists to derive data for sitecore 8, but rebuilding was necessary in order to use it in sitecore 9.
xConnect is the service layer that sits in between the xDB and any trusted client, device, or interface that wants to read, write, or search xDB data. Communication must happen over HTTPS and clients must have the appropriate certificate thumbprint.
No system has direct access to the collection database or search indexes. Systems that are internal to the xDB, such as Processing, must also use xConnect to access xDB data.
In practical terms, xConnect exposes a web API end point
xConnect exists independently of Sitecore itself and does not have any dependencies on the Sitecore kernel. Developer workstations will have two separate IIS websites, two web roots, and two URLs - one for your client (such as an instance of Sitecore), and one for xConnect
New solution uses xconnect client api in sitecore 9, generate analytical data and save it in sql server database. On the picture below you can see how xgenerator works.
Experience Generator
Generate "realistically looking" traffic for the Sitecore Experience Database (xDB) with configurable patterns, including:
Trends over time
Identified contacts with multiple visits
Bounce rate
Geo location
Landing pages
Channels
Referrers
Internal and external search
Outcomes
Campaigns
For build instructions please refer to [Build Instructions.txt](src/Build instructions.txt)
Experience Profile Generator
Generate visits for Sitecore contacts (xProfile) with configurable settings:
Contact information
Visit pages
Recency
Outcomes
Geo location
Goals
Channel
1 User opens XGenerator tools, performs job configuration.
2 User clicks “Start” button
3 ExperienceGenerator.Client pass received configuration (.json file) to ExperienceGenerator parser
4 ExperienceGenerator parser creates set of segments with request variables based on configuration and pass them to XGenerator JobManager
5 JobManager starts invoking xconnect api requests based on behavior configuration in first step: XProfile behavior simulator or XAnalytics behavior simulator.