I was playing with Sitecore solution & projects setup and configuration, I faced a need to alter code generation logic used in it. We use TDS for content synchronization as well as it’s code generation engine build on T4 text templates.
While T4 is great for code generation, it is not as straightforward to debug them as it might be expected. So let me describe how to do this.
Continue reading “Debug TDS code generation templates”
Sitecore is quite a hot topic at in our company. We have a lot of impressive initiatives going on: platform education programs, an optimization of project implementation approaches, formalization of development best practices, various accelerators from project starter kits to integration external systems covering different aspects of digital marketing and commerce, just investigation of new technologies and their potential applications to Sitecore. Beeing an R&D solution architect in Digital Engagement practice, I’m fortunate to be in the middle of those activities.
One of my projects now is an exploration of Sitecore Commerce and StoreFront as it’s reference implementation. About a year ago I’ve touched it a bit during hybris integration POC, unfortunately, that time it didn’t go any further than that. So now it’s time to get back to Sitecore Commerce Connect module.
To make this exploration more interesting we also decided to add to the mix Sitecore Habitat and apply principles and techniques that it defines and promote to a simple commerce implementation.
Continue reading “Inception: Sitecore Storefront to Habitat Migrating”
It is quite a standard approach that you can see in many CMS project now – designs, UX, and HTML is done upfront or way in advance in comparison with CMS development. You might think now about Agile and say that all done almost simultaneously within one iteration, but even in this case, you would need to have HTML done before it would be converted into your Sitecore rendering.
In addition to that, there is a huge shift towards front-end technologies which affect Sitecore projects as well. Being a big advocate of a full stack developers that are knowledgeable enough in both Sitecore and front-end technologies used, I still see a lot of cases when Sitecore and front-end code are done by different developers with completely different skill sets.
All of the above creates a problem of integration of deliverables and maintenance from Sitecore and front-end developers during a project timeline:
- double work of updating HTML and Sitecore views
- update HTML directly in rendering or in HTML repository and ask Sitecore developer to add his changes
- sometimes work even done in separate repositories which make versioning and branching look like “mission impossible”
- testability of a front-end code isn’t great and not always make sense if errors might be introduced during copying of HTML to renderings.
To address those issues there should be a better way of front-end code integration into Sitecore.
Continue reading “Using AngularJS directives in Sitecore edit mode”
It is a quite common situation when you need to prepare multiple Sitecore servers with different roles. If you take a look a Sitecore documentation you will find a huge amount of tables with configuration files that need to be enabled/disabled.
Going manually through all of them isn’t the most fun task you could do, so I prefer to do this only once. Don’t repeat yourself 🙂
Also, this would be needed for an environment automation work I’m involved in, but this would be a separate set of posts. Continue reading “Manipulating config files with PowerShell”
Working with FXM, I faced a very interesting sporadic issue: every 10-15 times some of the components were not loading on a page. A response object was identical all the time, no errors in console, no changes in a site code since the last deployments. I think you get the situation.
However, this issue was able to cause a lot of troubles for a client as FXM was used on many legacy sites. So I continued digging…
Continue reading “Why FXM should wait for your page to load”
Federated Experience Manager (FXM) is a marketing tool from Sitecore, that allows you to use components defined in your WCM on other site and application. This is very useful if you ned to update multiple legacy applications or try some part of a new design on an existing site.
There should be something similar to $(document).ready()…
Continue reading “$(document).ready() for Sitecore FXM”
It is not always possible to find enough time to play with your free-time projects and sometimes it might take more than a week after you created environment and you started using it. And during this week you could forget something, e.g. password for you SSH connection 🙂
This is exactly what happened to me this weekend when I returned to my Sitecore development VMs with xDB and SOLR in Azure. Fortunately, I was able to find solution.
Continue reading “Restore SSH password for VM with #sitecore #xdb in Azure”
My nodeJS project is finally completed, so I could turn back to Sitecore and look for some interesting questions and solutions for them. Fortunately, I recently got one request.
We have an e-commerce solution integrated with Sitecore, we also have DMS in place and it is gathering statistics about users and their behavior on the site. We could add personalization to the site trying to engage more clients, but it would be quite static, as a limited set of prepared content blocks would be shown based on defined rules. This is cool when you want to show promotion, but what if you need to show relevant products or pages.
Continue reading “Sitecore Patterns Matching with SOLR”
In my previous post I’ve described solution that allow you to inject scripts and styles in a specific placeholders in a layout. Scripts are registered in views, but they will be rendered by global filters only when all output of a page is ready. However, when it comes to caching Sitecore will be able to record HTML generated by your component just after it is rendered.
So none of the actions that will be required in other parts of the site will be triggered with cache enabled.
Continue reading “Cache indirect output of Sitecore controls”
According to HTML best practices and guidelines we need to put styles in head (so that they would be applied to html immediately after rendering) and scripts in the end of body (so that they will not block your browser from downloading other content). On the other hand for Sitecore you need to create component, which could require some styles on specific scripts, and put them in a placeholder in the middle of the page.
This results in two common solutions: small scripts and style section spread all over the page, added in each component, or huge styles and scripts files containing all required content and added according to guidelines.
There should be a better way, lets see how it looks.
Continue reading “Require JS and CSS for a Sitecore components”