sitecore / xgenerator Goto Github PK
View Code? Open in Web Editor NEWUtility to generate "realistically looking" traffic for Sitecore sites with configurable patterns
Utility to generate "realistically looking" traffic for Sitecore sites with configurable patterns
Hello,
Does the 10.0 release support 10.2?
https://github.com/Sitecore/xGenerator/releases/tag/10.0.0
Thanks
Configure a contact in xProfile Generator
Set contact to multiple visits
Run xProfile Generator
Actual: multiple (new) contacts get generated for each visit
Expected: Single contact with multiple visits should be created.
Not sure if this is something I've done wrong or not, so I've no issue with this being closed if I've just misread the instructions - but here's the issue I'm seeing:
I have an instance of V9.1u1 installed onto a single machine using the "XP1-SingleDeveloper.ps1" script. It's vanilla Sitecore - not a Habitat site. As far as I can see it's running ok. No errors in the logs for the CM or CD roles at least, after I browse about a bit.
I installed the package currently linked from your repo's root page (which is described as compatible with v9.1) and it completed ok. I then followed the instructions the package shows for scaled deployments. I unzipped the "files" folder from the package onto the CD instance, and edited the config on the CM instance to say it was a scaled deployment.
When I go to the Experience Generator page, and configure it to look at the CD URL, I can start a generation operation, but the CD server's log gets errors like this:
10388 15:21:59 ERROR [Sitecore Services]: HTTP GET
URL http://sc911.cd/clientapi/xgen/websites
Exception System.InvalidOperationException: Could not find configuration node: databases/database[@id='core']
at Sitecore.Configuration.DefaultFactory.GetConfigNode(String xpath, Boolean assert)
at Sitecore.Configuration.DefaultFactory.CreateObject(String configPath, String[] parameters, Boolean assert)
at Sitecore.Configuration.DefaultFactory.GetDatabase(String name, Boolean assert)
at Sitecore.Configuration.DefaultFactory.GetDatabase(String name)
at Sitecore.Sites.SiteContext.get_Database()
at ExperienceGenerator.Client.Controllers.SiteRepository.<>c.<GetSites>b__9_1(SiteContext site)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at ExperienceGenerator.Client.Controllers.SiteRepository.GetSites()
at ExperienceGenerator.Client.Controllers.SiteRepository.get_Sites()
at ExperienceGenerator.Client.Controllers.SiteRepository.GetValidSites()
at ExperienceGenerator.Client.Controllers.SiteRepository.get_ValidSites()
at ExperienceGenerator.Client.Controllers.ExperienceGeneratorActionsController.Websites(Boolean all)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__3(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<InvokeActionAsyncCore>d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Web.Http.Filters.ActionFilterAttribute.<CallOnActionExecutedAsync>d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.ActionFilterAttribute.<ExecuteActionFilterAsyncCore>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<ExecuteAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.<ExecuteAuthorizationFilterAsyncCore>d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__15.MoveNext()
That looks to me like the code makes reference to the Core DB - but I don't think V9.1 deploys a connection to Core with the CD role any more? I can see some references directly to the Core DB in the SettingsRepository classes - could they be the issue here perhaps?
Is there something I should be doing on my deployment to fix / work around the error? Or is it a bug that needs resolving in the code?
Any help appreciated...
In the scope of LaunchPad redesign work the icons of all apps were changed. I would like to ask to update items of icons that appear on LaunchPad to align them with the new design.
Please, use the following icon paths:
LaunchPadIcons/32x32/EXM Experience Generator.png
LaunchPadIcons/32x32/Experience Generator.png
LaunchPadIcons/32x32/Profile Experience Generator.png
Note: All icons are located at Sitecore.Themes repository.
Please, reach me out if you need more details.
{"Message":"An error has occurred.","ExceptionMessage":"Could not load type 'Sitecore.Jobs.JobOptions' from assembly 'Sitecore.Kernel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=null'.","ExceptionType":"System.TypeLoadException","StackTrace":" at ExperienceGenerator.Client.Infrastructure.XGenSitecoreJobManager.StartJob(JobInfo info, JobSegment segment)\r\n at ExperienceGenerator.XGenJobManager.StartNew(JobSpecification spec)\r\n at ExperienceGenerator.Client.Controllers.ExperienceGeneratorJobsController.Post(JobSpecification spec)\r\n at lambda_method(Closure , Object , Object[] )\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.b__3(Object instance, Object[] methodParameters)\r\n at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__6.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Filters.AuthorizationFilterAttribute.d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()"}
We're running xGenerator for a client on Sitecore 9.0.2 but having a problem. It's not actually generating anything and the xConnect logs are filled with identifer should not be empty
. I did a bunch of debugging and it seems in ContactDataProcessor.cs
, the value for emailValue
is empty in
Tracker.Current.Session.IdentifyAs("xGenerator", emailValue);
based on what i'm seeing in the code:
requestInfo.SetIfVariablePresent("ContactEmail", email =>
{
emailValue = email;
});
it would seem that the variable "ContactEmail" is not getting populated before ContactDataProcessor
is being run.
When adding a Sitecore Campaign in the interactions editor in xProfileGenerator, campaigns were never saved and run.
Installed the package on 9.3 initial release with habitat home demo, and getting error that says:
Exception System.TypeLoadException: Could not load type 'Sitecore.Jobs.JobOptions' from assembly 'Sitecore.Kernel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=null'.
at ExperienceGenerator.Client.Infrastructure.XGenSitecoreJobManager.StartJob(JobInfo info, JobSegment segment)
Actual: Visit is created 10 days in the future
Expected: Visit should be created 10 days in the past
This is likely related to Bug #35 but creating as a separate bug just in case not related.
Epic | xGenerator for Commerce | Provide the ability to showcase the full functionality of xDb / Commerce Analytics by generating realistic data using the xGenerator tool and the Commerce API(s)
-- | -- | --
Feature | | xGen - Test Commerce Analytics | Install the upgraded version of Habitat Home Commerce 9.1 and ensure that the Analytics are behaving as they should (triggering events, registering goals, value, etc).
User Story | | | Test Standard Commerce Analytics | Ensure basic analytics are accumulated for commerce related activity
User Story | | | Test Writing to Analytics | Determine if we can write to the analytics DB Items to test * Search Product * View Product * Add to cart * User placed an order * Abandon Cart (add item but never go through checkout process)
Feature | | xGen - Configuration | Modify the config file so that the commerce tab will not show in xGen unless commerce is installed.
User Story | | | xGen - Configuration | Modify the config file so that the commerce tab will not show in xGen unless commerce is installed.
Feature | | xGen -xData Generate Products/PDP Views | Create a list of product based on parameters (selected catalog, weighings, etc) This list will be used in creating xData for each contact. Do we need to take inventory into account (can it be added to cart if level = 0) Checkout will fail if the inventory is zero, but you can add oos products to your cart
User Story | | | xGen - Random Products Algorithm Design
User Story | | | xGen - Generate PDP Views |
Feature | | xGen - Category Selection UI |
User Story | | | xGen - Top Categories UI | System presents top 5 categories from commerce data
User Story | | | xGen - Random Categories UI | User selects adds a single random category
User Story | | | xGen - Optional Categories By Search
User Story | | | xGen - Optional Categories By Category Tree | Select additional categories from Category Tree
User Story | | | xGen - Optional Random Categories | Select a random category feature on UI Weight set at 50% User can change weighing
Feature | | xGen - Category Selection BE | Assign random weights to randomly selected categories Assign user specified weights to user selected categories
User Story | | | xGen - System stores selected categories
User Story | | | xGen - Find Top 5 Categories | Query commerce data to find top 5 categories in terms of # products sold
User Story | | | xGen - Select Random Categories | Select random categories - Either one to be weighed by UI - Or user chosen number to be stored from xData production
Feature | | xGen - Select Products | From the categories selected, choose random products. Products based on number customers selected, number of products in each category and weighing.
User Story | | | xGen - Generate Products | Create pool of products for xData from products assinged to categories. Based on number of customers and number of products in each category selected * weighing.
Feature | | xGen - Generate Customers |
User Story | | | xData - Evaluate Analytics Solution | Evaluate and test that the existing solution can be leveraged for xGen commerce. KP built a feature to record purchases before analytics was available. Make sure this works.
User Story | | | xGen - Create Visitors | Create visitor records based on previously built xGen components
User Story | | | xGen - Create Commerce Customers | See if we can use virtual users first. Can the virtual user go through the whole flow as the same user?
Feature | | xGen - Checkout Options |
User Story | | | xGen - Checkout Weighing UI | UI to select weights on abandon cart, drop order, place order.
User Story | | | xGen - Save Checkout Weighing | Add checkout weights to xGen parameters that will be used for xData generation
Feature | | xGen - Generate Orders |
User Story | | | xGen - Generate Orders |
User Story | | | xGen - Generate Shipping and Payment
Feature | | xGen - Review Saved Data |
User Story | | | xGen - Troubleshoot Generated Data
User Story | | | xGen - View Generated Data |
Feature | | xGen - Cart Events |
User Story | | | xGen - Record Abandon Cart |
User Story | | | xGen - Record Add To Cart |
It seems that xGen doesn’t work with Sitecore 8.2.1. The following exception can be found in the log files:
Exception System.Resources.MissingManifestResourceException: Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "Sitecore.ExperienceAnalytics.Api.Resources.RegionResources.resources" was correctly embedded or linked into assembly "Sitecore.ExperienceAnalytics.Api" at compile time, or that all the satellite assemblies required are loadable and fully signed.
at System.Resources.ManifestBasedResourceGroveler.HandleResourceStreamMissing(String fileName)
at System.Resources.ManifestBasedResourceGroveler.GrovelForResourceSet(CultureInfo culture, Dictionary`2 localResourceSets, Boolean tryParents, Boolean createIfNotExists, StackCrawlMark& stackMark)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo requestedCulture, Boolean createIfNotExists, Boolean tryParents, StackCrawlMark& stackMark)
at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at System.Resources.ResourceManager.GetResourceSet(CultureInfo culture, Boolean createIfNotExists, Boolean tryParents)
at ExperienceGenerator.Data.GeoDataCache.LoadRegionsFromResource()
at ExperienceGenerator.Data.GeoDataCache.FromResource()
at ExperienceGenerator.Repositories.GeoDataRepository.get_Cache()
It seems it’s due to the fact that the Sitecore.ExperienceAnalytics.Api.dll assembly doesn’t have resources
whereas 8.2.0 does have...
Approx results:
10000 contacts for 1 page per visit generated in 2 mins
10000 contacts for 5 page per visit - generation time 4:10
Please submit comment if you intend on helping out, to avoid duplication of effort!
Temporary workaround is to add at least one campaign to Sitecore in order for the error to go away.
Deleting an interaction for a contact in xProfileGenerator does not work
Issue must be that the contact specification is not updated when deleting interactions. Need to investigate how to trigger an update of the specification in JS on deleting.
Sitecore 10 package is only available as WDP, we should add a regular package to allow manual install.
Periodically not all countries are loaded from this document and the resulting issues are:
Using version 9.3 of the xGenerator results in the following error message:
{ "Message": "No HTTP resource was found that matches the request URI 'https://web-local.onvz.nl/clientapi/xgen/countries'.", "MessageDetail": "No type was found that matches the controller named 'ExperienceGeneratorActions'." }
Been trying many different ways to get the route correct but nothing seems to work.....any ideas?
If more than one interaction is created for a contact, the duration (time on site) is incorrect and somehow tied to the recency of the visit. This leads to duration time is days or hours. For example, If the interaction recency (time since visit) is 28 days, the duration (time on site) is usually something like 27 days, 23 hours.
The EXM generator fails.
I traced it to the GetRandomCity method. The issue is where it is loading cities by subcontinent from GeoIP cache. The error is fired when no cities exist.
It appears to be looking for the City data from a file named "ExperienceGenerator.Data.countryInfo.txt"
Where does this text file come from?
ManagedPoolThread #9 12:25:55 ERROR EXM Generator failed for campaign: 71b62829-0550-4c3a-8328-0cfb0d49d615
Exception: System.InvalidOperationException
Message: No items specified
Source: Colossus
at Colossus.Statistics.WeightedSetBuilder`1.Build()
at ExperienceGenerator.Services.GetRandomCityService.GetRandomCity(String subcontinentCode)
This is with Sitecore 8.1 update 2.
This issue is mostly hidden but has the following results:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.