One of my recent work includes to support a complex workflow scenario.
While I am working on that, I got to know the following small but very useful module, "Create Versions Action" module. You can find it on sitecore marketplace.
https://marketplace.sitecore.net/Modules/Create_Versions_Action.aspx?sc_lang=en
What this module does is, it create a new workflow action. By using this action, we can create new language versions for existing workflow item. Also, it has given a option of selecting which languages that you need to create new version.
I found it very cool.. :-)
I also extend this and added new features. I will write a new blog post in near future about that.
Bye for now.
I am Chaturanga Ranatunga, 6x Sitecore MVP | Sitecore Certified Developer from Sri Lanka. With this blog, I want to distribute the knowledge that I acquired during 11 years of sitecore development experience.
Friday, December 12, 2014
Friday, November 14, 2014
First Meetup of Sitecore User Group Sri Lanka ended Successfully!
After lot of preparation and hard work, we were able to do our first meetup on 12th November.
Over 12 developers participated for the event including developers from Codehouse Ltd, HSBC, Virtusa, Exilesoft, Calcey Technologies, CAAMS software development companies.
Presentation was done by Mr. Sen Guptha, Solution Architect, Sitecore International.
The presentation includes following points
Presentation which took around 1 hour was followed by a Question and Answer session.
Q&A Session was highly successful with participants asking lot of question and clarifying their doubts from Mr. Sen Guptha.
After the presentation and Q&A session, it is time to relax and have some refreshments. Participants were discussed on how to progress with these meeting and how to promote the group so that more and more people with get the benifit from this group.
This event was powered by Codehouse Ltd, Sitecore Solution Partner.
Following are few snaps of the evnet
Looking forward to meet everyone on our December Meetup !
Until then, Ayubowan! (Good Bye) :-)
Over 12 developers participated for the event including developers from Codehouse Ltd, HSBC, Virtusa, Exilesoft, Calcey Technologies, CAAMS software development companies.
Presentation was done by Mr. Sen Guptha, Solution Architect, Sitecore International.
The presentation includes following points
- Introduction to Sitecore Company
- Growth of Sitecore Company
- Introduction to Sitecore - Page Editor, Content Editor, Desktop, etc
- Introduction to Sitecore Marketing suite - Marketing center, DMS, etc
- Sitecore Certification Programs
- Sitecore Resources - Marketplace, SDN, KnowledgeBase, etc
Presentation which took around 1 hour was followed by a Question and Answer session.
Q&A Session was highly successful with participants asking lot of question and clarifying their doubts from Mr. Sen Guptha.
After the presentation and Q&A session, it is time to relax and have some refreshments. Participants were discussed on how to progress with these meeting and how to promote the group so that more and more people with get the benifit from this group.
This event was powered by Codehouse Ltd, Sitecore Solution Partner.
Following are few snaps of the evnet
Looking forward to meet everyone on our December Meetup !
Until then, Ayubowan! (Good Bye) :-)
Wednesday, November 12, 2014
Sitecore User Group Sri Lanka - First Meeting
We are starting "Sitecore User Group Sri Lanka", aiming to grow and educate the sitecore community in Sri Lanka. This will be an open discussion forum dedicated to support growing sitecore community in Sri Lanka.
Sitecore was generous to provide an Exclusive Online Presentation for our first Meetup, 12th November, 2014. We are expecting around 10 - 15 participants for the first meetup.
This will be facilitated by Codehouse Ltd, a Certified Sitecore Partner.
Everyone is welcome! :-)
Sitecore was generous to provide an Exclusive Online Presentation for our first Meetup, 12th November, 2014. We are expecting around 10 - 15 participants for the first meetup.
This will be facilitated by Codehouse Ltd, a Certified Sitecore Partner.
Everyone is welcome! :-)
Monday, September 8, 2014
Issue with SEO Toolkit module and SBOS Accelerator Module running together
One of my recent investigations was about an issue caused by SBOS Accelerator module. After through investigation, it proved to be an issue caused by SEO Toolkit module. This post is about my findings.
Environment :
Sitecore 7.2 rev. 140526
Sitecore Search Engine Optimization -1.3.0 rev.130319
SBOS Accelerators Shared Source Module - 2.0 rev. 140422
Issue 1 : SEO Toolkit module issue
When we run the seo tool for a page, and then select the "Links" link in the results, it returns/displays the following error
when "Links .." link selected,
Issue 2 : SBOS module issue
When we select the "Enable personalization tracking" checkbox and save, and then return to the same place again, checkbox was displayed unselected/unchecked
Investigation/Solution :
Error Logs Message I:
Exception: System.Web.HttpUnhandledException
Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Source: System.Web
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Nested Exception
Exception: System.Web.HttpException
Message: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
Source: System.Web
at System.Web.UI.ControlCollection.Add(Control child)
at Sitecore.Layouts.PageContext.InsertSystemControls()
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Layouts.PageContext.BuildControlTree(Object sender, EventArgs e)
at System.Web.UI.Page.PerformPreInit()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Exception: System.Web.HttpRequestValidationException
Message: A potentially dangerous Request.Form value was detected from the client (<postData><links><link controlID=""a70"><![CDATA[http://chg....").
Source: System.Web
at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection)
at Sitecore.Pipelines.PreprocessRequest.SuppressFormValidation.Process(PreprocessRequestArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Nexus.Web.HttpModule. (Object , EventArgs )
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
6756 13:24:19 ERROR Application error.
Exception: System.Web.HttpRequestValidationException
Message: A potentially dangerous Request.Form value was detected from the client (<html id="...lang="en"><!--<![endif]--><hea...").
Source: System.Web
at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection)
at Sitecore.Pipelines.PreprocessRequest.SuppressFormValidation.Process(PreprocessRequestArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Nexus.Web.HttpModule. (Object , EventArgs )
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Hope this help..
Environment :
Sitecore 7.2 rev. 140526
Sitecore Search Engine Optimization -1.3.0 rev.130319
SBOS Accelerators Shared Source Module - 2.0 rev. 140422
Issue 1 : SEO Toolkit module issue
When we run the seo tool for a page, and then select the "Links" link in the results, it returns/displays the following error
when "Links .." link selected,
Issue 2 : SBOS module issue
When we select the "Enable personalization tracking" checkbox and save, and then return to the same place again, checkbox was displayed unselected/unchecked
Investigation/Solution :
1. When check into the sitecore error logs, following error was found
Error Logs Message I:
Exception: System.Web.HttpUnhandledException
Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
Source: System.Web
at System.Web.UI.Page.HandleError(Exception e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest()
at System.Web.UI.Page.ProcessRequest(HttpContext context)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Nested Exception
Exception: System.Web.HttpException
Message: The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).
Source: System.Web
at System.Web.UI.ControlCollection.Add(Control child)
at Sitecore.Layouts.PageContext.InsertSystemControls()
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Layouts.PageContext.BuildControlTree(Object sender, EventArgs e)
at System.Web.UI.Page.PerformPreInit()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
2. Checked our own control files. -> we could not find any place with <% .. %>
3. Disabled SBOS Accelerators module (rename /App_Config/Include/Sitecore.SBOSAccelerators.config file to Sitecore.SBOSAccelerators.config.disabled)
when clicked on the "Links" after running the SEO module, it again return the error.
4. But, this time, sitecore logs displayed a different error messageError Logs Message II
Exception: System.Web.HttpRequestValidationException
Message: A potentially dangerous Request.Form value was detected from the client (<postData><links><link controlID=""a70"><![CDATA[http://chg....").
Source: System.Web
at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection)
at Sitecore.Pipelines.PreprocessRequest.SuppressFormValidation.Process(PreprocessRequestArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Nexus.Web.HttpModule. (Object , EventArgs )
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
6756 13:24:19 ERROR Application error.
Exception: System.Web.HttpRequestValidationException
Message: A potentially dangerous Request.Form value was detected from the client (<html id="...lang="en"><!--<![endif]--><hea...").
Source: System.Web
at System.Web.HttpRequest.ValidateString(String value, String collectionKey, RequestValidationSource requestCollection)
at System.Web.HttpRequest.ValidateHttpValueCollection(HttpValueCollection collection, RequestValidationSource requestCollection)
at Sitecore.Pipelines.PreprocessRequest.SuppressFormValidation.Process(PreprocessRequestArgs args)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Nexus.Web.HttpModule. (Object , EventArgs )
at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
5. To solve this issue, we add the following property to <httpRuntime ..> tag in web.config<httpRuntime maxRequestLength="512000" executionTimeout="600" enableKernelOutputCache="false" relaxedUrlToFileSystemMapping="true" requestValidationMode="2.0" />
6. Then, SEO Toolkit module start to work fine.
7. Re-enabled the SBOS Accelerators module (rename /App_Config/Include/Sitecore.SBOSAccelerators.config.disabled to Sitecore.SBOSAccelerators.config)
8. SEO toolkit module stopped working again with the Error Logs Message I
9. Then, I looked into the control files in SEO module. In those files I found the <% .. %> code part.
/seotoolkit/ui/Extender.ascx, /seotoolkit/ui/Keyword.ascx, /seotoolkit/ui/SearchEngine.ascx
Fortunately, those files did not have any code behind files. So, I create a seperate library project and moved the <% .. %> code parts into that project. Then, point the seotoolkit .ascx files codebehind to those library .cs files.All the things start to work properly. (Including the issue 2 - "Enable personalization tracking" checkbox).
Hope this help..
Friday, July 18, 2014
Sitecore DMS with MongoDB
From Sitecore 7.5, Sitecore has move its DMS database to MongoDB database.
http://www.velir.com/blog/index.php/2014/06/03/xdb-sitecore-dms-moves-to-mongodb/
http://www.sitecore.net/About/Press-and-Media/Press-Releases/2014/05/MongoDB.aspx
Some of the benefits that Sitecre is aiming to achieve by moving to MongoDB are,
To achieve high scalability and speed, MongoDB has cut down (removed) some features in RDBMs. Few features that MongoDB does not deal with are,
http://www.velir.com/blog/index.php/2014/06/03/xdb-sitecore-dms-moves-to-mongodb/
http://www.sitecore.net/About/Press-and-Media/Press-Releases/2014/05/MongoDB.aspx
Some of the benefits that Sitecre is aiming to achieve by moving to MongoDB are,
- Scalability
- Speed/Performance
- High Availability
- Flexibility with the Data model
About MongoDB
MongoDB is the leading NoSQL database, empowering businesses to be more agile and scalable.
MongoDB is built for scalability, performance and high availability, scaling from single server deployments to large, complex multi-site architectures.
Quote : https://www.mongodb.com/mongodb-overview
To achieve high scalability and speed, MongoDB has cut down (removed) some features in RDBMs. Few features that MongoDB does not deal with are,
- Joins
- Complex Transactions
MongoDB provides some online training/certification programs, which I think very good to learn about MongoDB.
https://university.mongodb.com
I have started to follow "M102: MongoDB for DBAs" training program from MongoDB university. Even though I am in the beginner level when it comes to MongoDB, I have already started to love this new database. :-)
Tuesday, May 20, 2014
Drawbacks in Twitter Bootstrap
From last year onwards, when I first saw and used bootstrap, I was a great fan of that. I used it in one of my ASP.NET MVC project and I was actually in love with it. It makes life so much easy for the developers that is not very good with front-end development (as in my case :-D ) as well as for rapid application development and prototyping.
Alternative/Options :
Some good links regarding this issues :
http://www.wearecube.ch/limitations-of-twitter-bootstrap/
http://stackoverflow.com/questions/14227000/pros-cons-of-switching-to-twitter-bootstrap
https://github.com/dobtco/bootstrap-accessible/issues
Bootstrap, a sleek, intuitive, and powerful mobile first front-end framework for faster and easier web development.
Quote : http://getbootstrap.com
But, recently I have heard some negatives about Bootstrap framework from few of my UI expert friends. I tried to list the drawback points below.
- Adds more than necessary (bulky) HTML and CSS to a web page
- Hard to structure/design web pages as necessary
- Contains some accessibility issues - Ex: color contrast issues, non-sementic markup, etc
- Released versions are not backward compatible
- W3C HTML and CSS validation issues
Alternative/Options :
- Customize the bootstrap framework to fix these issues
- Foundation 5 framework - http://foundation.zurb.com
- Note: I have not used this. One of my UI expert friend highly recommend this framework
Some good links regarding this issues :
http://www.wearecube.ch/limitations-of-twitter-bootstrap/
http://stackoverflow.com/questions/14227000/pros-cons-of-switching-to-twitter-bootstrap
https://github.com/dobtco/bootstrap-accessible/issues
Wednesday, April 16, 2014
Modeling Sitecore Data Templates
Yesterday, one of my best friends asked me, "What is the process you are using to Model sitecore data templates, out of sitecore?"
After that I did some research and came up with the below points.
I found following links very useful
http://gettingtoknowsitecore.blogspot.com/2010/01/inheritance-content-modeling-sitecore.html
http://maigruen.netzkern.de/data-modeling-in-sitecore.aspx
http://sdn.sitecore.net/Developer/Fundamental%20Concepts/Template.aspx
http://sdn.sitecore.net/upload/sdn5/developer/fundamentals.pdf
2.3 Templates and Field
Please let me know your idea/methodology about this as comments below.
After that I did some research and came up with the below points.
- Think sitecore data templates as Object Oriented classes.
- Use template inheritance as OO Inheritance.
- Use Class Diagrams to do the initial modeling of data in the site.
- Think only about the data in the site. Don't think about the design.
- MS Visio (or any that kind of tool) can be used for draw your initial models
I found following links very useful
http://gettingtoknowsitecore.blogspot.com/2010/01/inheritance-content-modeling-sitecore.html
http://maigruen.netzkern.de/data-modeling-in-sitecore.aspx
http://sdn.sitecore.net/Developer/Fundamental%20Concepts/Template.aspx
http://sdn.sitecore.net/upload/sdn5/developer/fundamentals.pdf
2.3 Templates and Field
Please let me know your idea/methodology about this as comments below.
Subscribe to:
Comments (Atom)



