Saturday, August 19, 2017

Sitecore - Set sequences for template fields - Combined with base and derived tamplate

Hi All,

The problem statement - One template - having two base template, the sequence of all combined field should be mixed and match.

Example -

Base Template 1 - field Heading 1, Heading 2
Base Template 2 field Heading 3, Heading 4
Derived Template fields Heading 5 Heading6.

Result of final template's field should be

Heading 1
Heading 3
Heading 5
Heading 2
Heading 4


For setting up sequence order within template it's very straight forward - change the value in sequence field.

But for the base template - Make sure both the sections( Base Template 1, Base Template 2 and Drived Template ) in base and derived should have same sequence values.

Friday, August 18, 2017

Sitecore YASCA - Code review, inbuild plugin (FindBugs,FxCo and PMD)-Recommendation by OWASP

Sitecore code Review and Security (Automation and Engineering)
Part-1 YASCA Integration


1.1     Context

This document is intended to provide the understanding about Sitecore Security, automation, Performace.static and dynamic code analyzer.

1.1  Security

Security thread in an important place to be taken care for the application, considering this OWASP provided complete guidelines.

1.1.1  YASCA Code Review, Open source and recommended by OWASP.

Security thread in an important place to be taken care for the application, considering this OWASP provided complete guidelines.
As per Sitecore consideration – Here we will use the YASCA tool to verify the thread and compliance for the security, below are the details and all steps.
security, below are the details and all steps.

1.1.1  What is YASCA

1.      Yasca is an open source program which looks for security vulnerabilities, code-quality, performance, and conformance to best practices in program source code. It leverages external open source programs, such as FindBugsPMDJLintJavaScript LintPHPLintCppcheckClamAVRATS, and Pixy to scan specific file types, and also contains many custom scanners developed just for Yasca. It is a command-line tool that generates reports in HTML, CSV, XML, SQLite, and other formats. Yasca is easily extensible via a plugin-based architecture, so scanning any particular file is as simple as coming up with the rules or integrating external tools.
2.      Yasca also features a simple regular-expression plugin that allows new rules to be written in less than a minute.

Reference taken from below link- Please visit for more details.:-
  2. Yasca is hosted on Github and has the main project website at
  3. Download Link:-
  4. Github code:-

Complete security and vulnerability guidelines: -
After download, the file structure will look like below

1.1.2  How to run YASCA and to generate a report.

Go to command prompt and go the root folder of downloaded YASCA folder.
Open command prompt-
Go to the root path: -
Example: - D:\YASCO Folder (Space) YSACA and Path of your source code.
It will generate report in below folder

1.1.3  YASCA – Understanding the report structure.

Default report will be generated in the HTML format and can be easily browsed.

This is shorted by Severity

Click on details button it will provide all details about the Severity and why it’s falling with reference to the OWASP and CWE etc.
Supported plugin through YASCA those can be extended.
1.      CppCheck
2.      FindBugs
3.      FxCop
4.      Pixy
5.      PMD

Happy coding - Will share next details in part2

Tuesday, August 15, 2017

Dynamic Compression for the IIS to improve Sitecore performance.

For improving the site performance and page load time – This can be planned.

Sitecore 8.1 , IIS v10


Add Entry

 Enable these setting – apply and restart the IIS

Plan to request vis Accept-Encoding header

If this will not work try to add below configuration in web.config

Wednesday, April 5, 2017

iPhone Application development through Xcode - Part 2 - Solution Structure

Hi All,

Here we will discuss all capabilities and options with Xcode then will move to create a sample application.

Step 1- Open Xcode and create a new Xcode project

Step 2 - Create basic project - Single View Application

Step 3- Project landing screen

Select simulator and run the quiz project.

Run this application - It will open the blank landing screen.

Here it's

Stope simulator by using Command + q

Step 4 - Understanding solution structure and entry points to start.

Go to AppDelegate.swift under project section - details below

Important note here for this class AppDelegate.swift

  1. All App content will be drawn here
  2. A place to respond for the state transition
Important note 

Application object - The application object is responsible for managing the life cycle of the app. The system also create a instance of your AppDelegate class, and assigns it to application objects, Finally, the system launches your app.

The AppDelegate class adopts the UIApplicationDelegate protocol. This protocol defines a number of methods you use to set up your app, to respond to the app’s state changes, and to handle other app-level events.

We may not change in these file for now.

The view controller source file.

Building story boards-

This is the main area - we can see the actual design 

You use storyboards to lay out the flow—or story—that drives your app. You see exactly what you're building while you’re building it, get immediate feedback about what’s working and what’s not, and make instantly visible changes to your user interface.
Main story board

When you ran your app in the iPhone 7 Simulator app, the view in this scene is what you saw on the device screen. However, the scene on the canvas may not have the same dimensions as the simulator’s screen. You can select the screen size and orientation at the bottom of the canvas. In this case, it’s set to iPhone 7 in a portrait orientation, so the canvas and the simulator are the same.

iPhone Application development through Xcode - Part 1 -Development Machine Setup

Hi All,

Today we are going to setup environment for the development of iPhone application.


1. Install Xcode  - Go to Appstore - type xcode.

2. First problem statement:- 

Xcode can’t be installed on “MACINTOSHD” because OS X version 10.12 or later is required.

3. Upgrade existing OS - Latest version of Xcode required 10.12

Go to App-feature and find out the latest OS  mscOS Sierra - 10.12.4


Installation completed, Now here is the latest OS - check click on Apple icon in the menu bar - then about this apple.

Install Xcode again - Go to app store and type Xcode
Required cost while installing Xcode.

Download completed - start installation.
Installation in progress.
Xcode installation completed, below would be the stating screen.

Thursday, March 30, 2017

Sunday, March 26, 2017

Schedule Publish/UnPublish Best practices

Publishing best practices
Schedule Publishing/UnPublishing
Architecture and customization
-Jitendara Soni

1 Introduction

For scheduling and unpublished content based on the upcoming dates is a key area for the Architecture to take the right decision, even to agree for the initial discussion,
Here, it’s an attempt to cover – What is default is Sitecore and what all are the must required changes/customization.
Example – Scheduling.

2 Schedule publishing and unpublishing – Best Practices.

Schedule publishing and unpublishing scenarios.

Scneaion after enabling the future publishing job, as example below

3.1 Scenario 1 – Create an item without any worklow.

Item will be published.

3.2 Scenario 1.1 – Create second version of that item without any workflow

Second item will automatically published.

3.3 Scenario 1.1 – never publish setup without any workflow.

Set never publish to this items – let see if this item automatically disappear or not
It would be quickly deleted.

3.4 Scenario 2.1 – Create item with workflow

It will be published after approval

3.5 Scenario 2.2 – Create new version of workflow items

After approval for next 5 minutes, previous content will be moved.

3.6 Scenario 2.3 – Schdule multiple item through publish menu-change options

Here multiple item can be defined, below are the details

Pipeline Execution:-

Note :-  For any execution and logic for the pipeline execution below information will be usefull.

We wanted to process some date modification on pipeline and used itemCompleted pipeline but that will only triggered once for all language versions, then have to move our code to itemProcessing pipelines.


ItemProcessing - this will be executed for all language versions. Let's say if you have one content for five languages then it will be executed for five time, You code should handle to be executed for one or multiple time based on your field type Shared or not.

Pipeline processing End :- This will be executetd only one time, let's say if you have content published for five languages it will be executed once.

Piple line end: this will also be executed once as Pipeline process End