Dieses Blog durchsuchen

Freitag, 5. Dezember 2014

SITECORE: Understand Users and Roles in Sitecore


Fist things first - a big thank to http://www.nehemiahj.com/
For SSO Stuff go to his blog.

The Administrator:

Sitecore Admin are the kings. The need no group/role to access the Content editor. They will be able to access the whole system with a single checkbox in user admin.

The roles or groups

The basic roles in Sitecore are the following:

sitecore\Sitecore Client Account Managing
sitecore\Sitecore Client Authoring
sitecore\Sitecore Client Configuring
sitecore\Sitecore Client Designing
sitecore\Sitecore Client Developing
sitecore\Sitecore Client Forms Author
sitecore\Sitecore Client Maintaining
sitecore\Sitecore Client Publishing
sitecore\Sitecore Client Securing
sitecore\Sitecore Client Translating
sitecore\Sitecore Client Users

The minimum role that user should have is "Sitecore Client Users". If the user doesn't have proper roles, Sitecore will throws access denied error and redirects to default Sitecore login page.

Each group has different access levels. For minimum level of access, the particular user should be a member of Sitecore Client Users.

The brief information on each group.

Members – (Domain - Sitecore)
Member Of
sitecore\Sitecore Client Account Managing
Sitecore Local Administrators
Sitecore Client Users
sitecore\Sitecore Client Authoring
Sitecore Client Users
sitecore\Sitecore Client Configuring
Sitecore Client Users
sitecore\Sitecore Client Designing
Sitecore Client Users
sitecore\Sitecore Client Developing
Sitecore Client Users
sitecore\Sitecore Client Forms Author
Sitecore Marketer Form Author
Sitecore Client Users
sitecore\Sitecore Client Maintaining
Sitecore Client Users
sitecore\Sitecore Client Publishing
Sitecore Client Users
sitecore\Sitecore Client Securing
Sitecore Local Administrators
Sitecore Client Users
sitecore\Sitecore Client Translating
Sitecore Client Users
sitecore\Sitecore Client Users
All Other Groups

Ex: A normal content author should be at least a member of Sitecore Client Authoring group.

Access Levels of each Group – Ref: Link

     1.    Everyone

§  Content Editor
§  Media Library
§  WebEdit
§  Preview
§  Carousel
§  Recycle Bin
§  Search
§  Workbox
§  Control Panel

Content Editor Commands
·  Navigate
·  Review
·  Versions
·  View

Control Panel Commands
·  Administration
·  Preferences
·  Reports

     2.    Sitecore Client Users

Every User who wants to login using LDAP or Single Sign On has to be a member of this group. If not, LDAP login will not allow the user to login.

Cannot log in: The user '<DOMAIN>\<USERNAME>' is not a member of the 'sitecore\Sitecore Client Users' role

     3.    Sitecore Client Authoring

This is the basic role for a user to author in the site.

            Access to:
·  The Home tab, all chunks and commands.
·  The Review tab, Validate and Workflow chunks.
·  The Publish tab, Restrictions chunk.
·  The Versions tab, Versions chunk.

     4.    Sitecore Client Configuring

Access to:
·  Change the appearance
·  Configure tab to the Content Editor

     5.    Sitecore Client Maintaining

This role is for the Sitecore developer. Almost like second higher level access after Admin role

Application Access:
§  Template Manager
§  Development Tools
§  Reporting Tools
§  All Applications

Content Editor Commands
§  Versions tab Reset command
§  Configure tab Change Template and Edit Template
§  Presentation

Control Panel Commands
§  Administration
§  Database
§  Globalization
§  Reports

     6.    Sitecore Client Publishing

This role provides access to trigger publishing. This enables the publish chunks in publish tab in the content tree.

     7.    Sitecore Client Account Managing

Sitecore Client Account Managing provides access to applications used to maintain users, roles, and domains.

     8.    Sitecore Client Designing

Sitecore Client Designing provides access to the Page Editor Design Pane features.

     9.    Sitecore Client Translating

Provides access to languages other than site’s default language.

Content Editor Commands
§  Review
§  Versions

Control Panel
§  Reports

     10. Sitecore Client Securing

Provides access to maintain users, roles and access rights.

§  Security Editor
§  Security Tools

            Content Editor
§  Security Tab

            Control Panel
§  User Manager
§  Create a new User

     11. Sitecore Client Developing
Developer role needs other roles like
§  Sitecore Client Authoring
§  Sitecore Client Maintaining
§  Sitecore Client Configuring
§  Sitecore Client Securing

§  Developer Center
§  Debug
§  Development Tools

            Content Editor Commands
§  View chunk’s Hidden Items, Standard Fields, and Raw Values toggles

            Control Panel
§  Database

     12. Sitecore Client Forms Author

This role provides user to design web forms using web form for marketer’s module.

Recommended Roles and Access Levels

     1.    An Author:

An author is a person who does content changes, add a new version, configuring an item (ex: Icon to an item) and design forms using WFM.

a.     Sitecore Client Users (Base to other roles.)
b.    Sitecore Client Authoring
c.     Sitecore Client Translating
d.    Sitecore Client Forms Author
e.     Sitecore Client Configuring
f.      Sitecore Client Designing – (Higher access to set layouts)

     2.    A Security Administrator:

A security admin is the one who does administrative tasks like adding a new user, providing access to Sitecore items, verify the user access levels etc.

a.     Sitecore Client Users (Base to other roles.)
b.    Sitecore Client Securing
c.     Sitecore Client Account Managing

     3.    A Release manager:

A release manager is the one who takes care of deployments, manages the content tree. He is one who takes care of Package Installation and publishing.
(Facilitator, Gatekeeper, Architect, Coordinator)

a.     Sitecore Client Users (Base to other roles.)
b.    Sitecore Client Maintaining
c.     Sitecore Client Publishing
d.    Sitecore Client Configuring

     4.    A developer:

A developer needs access to the developer specific functionality in the user interface.

a.     Sitecore Client Users (Base to other roles.)
b.    Sitecore Client Developing
c.     Sitecore Client Maintaining
d.    Sitecore Client Designing
e.     Sitecore Client Configuring
f.      Sitecore Client Authoring
g.    Sitecore Client Translating
h.    Sitecore Client Forms Author
i.      Sitecore Client Securing – (Higher Access - Not recommended)

Mittwoch, 3. Dezember 2014

Sitecore Training/Certification Part 1: Some round robin questions and answers from Module 2.

1. What is an item?

An item is an addressable unit of content.

2. How are an item’s fields defined? In other words, what defines an item?

Data templates define items with fields and field types.

3. What are the advantages of template inheritance?

  • The advantages of template inheritance are numerous: 
  • developers create complex content types by inheriting from base data templates; 
  • standardized fields across data templates lets developers easily create presentation components; 
  • allows business users see normalized field names and field types for content they create and edit. 
  • In addition, if not overridden, template standard values are inherited, allowing developers to easily describe default values for fields as well as define default settings such as insert options and layout details.

4. What is the name of the data template that ALL data templates inherit from?

Standard Template

5. Where are default values set?

Template Standard Values known also as the __Standard Values item.

6. Give an example of when you would use a default value?

There are two type of default values: Dynamic and Static. Dynamic values are tokens, like $name,
$date, and $id. This values are defined when an item is created (when the object has been
instantiated). Static values are hard coded, such as a default value for database field. A good
example for when to use a dynamic default value (like $name) is when you want to capture the item
name into a given field such as a Menu Title field. For a checkbox field named Required, a good
default value might be 1, which means checked.
  • $name: Is replaced with the name of the created item
  • $parentname: Is replaced with the name of the parent to the created item
  • $date: Is replaced with the current date
  • $time: Is replaced with the current time
  • $now: Is replaced with current date and time
  • $id: Is replaced with the id of the created item
  • $parentid: Is replaced with the id of the parent to the created item.

7. What are Insert Options?

Insert options allow business users to create child items. There are three types of insert options: data
templates, branch templates or command templates. It is possible to override the behavior defined
insert options using Insert Rules and/or the modifying the <uiGetMasters pipeline.

8. What’s a best practice for defining insert options?

As a best practice, developers should define insert options on the __Standard Values item of the
given data template.

Montag, 1. Dezember 2014

Sitecore / UG / CH: Interesting Github projects and tools


During talks on Sitecore and .NET events I heared about stuff that I didn't knew before. Here is a short list of cool github projects tools and principles.

Packaging tools:

Sitecore Unicorn
Unicorn is a utility for Sitecore that solves the issue of moving templates, renderings, and other database items between Sitecore instances. This becomes problematic when developers have their own local instances - packages are error-prone and tend to be forgotten on the way to production. Unicorn solves this issue by using the Serialization APIs to keep copies of Sitecore items on disk along with the code - this way, a copy of the necessary database items for a given codebase accompanies it in source control.

Sitecore Ship
Ship provides a CI (Continuous integration) service layer for Sitecore.

Continuous integration tools

  1. Jenkins former Hudson My number 1 because I love OpenSource, and is a common tool.
  2. Bamboo by Atlassian because  its nicly integrated with jira,...
  3. TeamCity by JetBrains JetBrains deliver excellent Software tools

There many,many more tools to explore.
See here: Comparison

Unit Testing

Sitecore FakeDB

FakeDb substitutes real Sitecore providers with fake "in-memory" providers to avoid calls to database or configuration. The providers does not replicate real Sitecore behavior but used mainly as stubs with minimal logic. They can be replaced with mocks in unit tests using provider switchers.

Performance testing tools:

- Jmeter
- Browser Network monitor
- dotTrace by Jetbrains

Have fun exploring those tools.

Montag, 24. November 2014

Google analytics: How to activate site search tracking

Recently I should track the search terms on our own website search. This is an easy one, but it's sometimes hard to find the place.

0. Login to Google Analytics
1. Go to admin section in the top ribbon.
2. Click on "View Settings" link in the last right column.

GA Dashboard

3. I there you should find section called "Site Search Settings"

  1. Set a query parameter, that contains your search term. In my case its simply the letter "q". from the URL: en/Corporate/Search?q=test&
  2. Add a Category filter if you want to know which filter are the most used.

The result:

Go the the Reports > Behavoir > Site Search

Happy tracking.

Freitag, 21. November 2014

Mittwoch, 12. November 2014

Sitecore Usergroup Switzerland succesfully started.

On a Tuesday evening in November the first Sitecore usergroup Switzerland meeting take place.
The railway hub Olten is perfect to reach from Zurich or Berne.
Also we had great food sponsored by Sitecore and some beer of course.
Apart from the great location we hat 3 fantastic presentations hold by mvp or senior devs.

Here my summary:

First we heard a talk by Reto Hugi Sitecore mvp about Sitecore 8. He went to all the new not fully working stuff of the Sitecore 8 techical preview. I was impressed by the the new dashboard, the experience manager and analytics profiling based on mongoDB.
Also the federation experience manager (FXM) is very powerful tool to set Sitecore content on 3rd party or legacy websites. Also looking forward for the 50 OOTB DMS reports.

Better codequality with sonarqube - namics

This was the highlight for me of this evening. I know sonar and Jenkins from my former java time and was always impressed by this so useful tools. Long time I tried to set them both up for the .net world.
Till know I was not able to do it. One day later I give it again a try. This time set set up only sonarqube on my local machine, it is pretty easy and well documented. With the sonar runner I could check one of our biggest project and could fine a few blockers in our code.
Rafael and Stefan also presented some Sitecore specific rules which they implemented into sonar.
Also the promised to share them to the the SUGCH. Thanks both for sharing your experience!

3 layer architecture - Kevin Brechbuehl

In this talk Kevin presented how to set up a independent 3 layer architecture. This was cool to see the lean and well structured code. Also the tests run perfectly through.
All the stuff can be find on his blog: http://ctor.io/

Thanks for the great event. Looking forward for the next one.

My little topic wishlist:
- Sitecore search / facets / solar and index strategies 
- how to build nice, customizable and user friendly forms 
- DMS helper class for the most tracking things