Sitecore powershell extension: como ler uma variável utilizando o comando Read-Variable

Outro dia eu estava utilizando o comando o módulo powershell extention e precisei utilizar o comando  “Read-Variable”, e eu estava tentando descobrir como utilizar os valores preenchidos pelos usuários nos formulários gerados. Então eu decidi escrever este post para ajudar a outros desenvolvedores, para que não percam miuito tempo tentando ver como fazer. Este era o script que eu utilizei:

$item = Get-Item master:\content\home

$result = Read-Variable -Parameters `
@{ Name = “someText”; Value=”Some Text”; Title=”Single Line Text”; Tooltip=”Tooltip for singleline”; Placeholder=”You see this when text box is empty”},
@{ Name = “item”; Title=”Start Item”; Root=”/sitecore/content/”} `
-Description “This Dialog shows less editors, it doesn’t need tabs as there is less of the edited variables” `
-Title “Initialise various variable types (without tabs)” -Width 500 -Height 480 -OkButtonName “Proceed” -CancelButtonName “Abort”

$result

Eis o que este script faz:

Ele está utilizando o comando Read-Variable para gerar um formulário com um campo de texto e um droplink, além dos botões OK e Cancelar.

A variável $result retornava o valor “ok” ou “cancel” dependendo da ação. Em relação ao valor do campo “someText” tudo o que você precisa fazer é utilizar o comando $Variable:someText. O mesmo vale para outras variáveis.
Espero que seja útil!

 

Advertisements

Sitecore powershell extension: reading the values from the variables when using Read-Variable command

The other day I was using the very handy Sitecore powershell module and I needed to use the”Read-Variable” command and I was trying to figure out how to actually use the values entered by the user when they fill in the form this command creates. So I decided to create this post to help others so they don’t have to spend too much time figuring it out.

So here is the script I had:

$item = Get-Item master:\content\home

$result = Read-Variable -Parameters `
@{ Name = “someText”; Value=”Some Text”; Title=”Single Line Text”; Tooltip=”Tooltip for singleline”; Placeholder=”You see this when text box is empty”},
@{ Name = “item”; Title=”Start Item”; Root=”/sitecore/content/”} `
-Description “This Dialog shows less editors, it doesn’t need tabs as there is less of the edited variables” `
-Title “Initialise various variable types (without tabs)” -Width 500 -Height 480 -OkButtonName “Proceed” -CancelButtonName “Abort”

$result

Breaking down the script:

It is using the Read-Variable command to generate a form with one text box and a droplink, and a confirm and cancel buttons.

The $result variable  would return ‘ok’ or ‘cancel’ depending on the action the user would take. So to read the value from the input ‘someText’ for example all you have to do is use $Variable:someText.  The same goes for other variables.

Hope this saves you some time!

Sitecore – 7 passos em como redirectionar um domínio meudominio.com para www.meudominio.com

De tempos em tempos eu me deparo com o seguinte requisito:

“Eu quero que os links do meu site rodando em Sitecore passem a redirecionar de meudominio.com para http://www.meudominio.com

Como se pode fazer isso? Na verdade existem algumas maneiras. Eu vou descrever uma delas que é fácil e funciona bem.

Seguem 7 passos de como realizar isso. Mas antes de mais nada você vai precisar o módulo IIS Rewrite para que isso funcione. Você pode fazer o download aqui.

 

Existem duas partes que necessitam ser configuradas:

There are two part that need to be properly configured:

  1.  O site definition do Sitecore
  2. Criar uma regra usando o módulo IIS rewrite que cuidará da parte de redirecionamento.
  3. Create a rule using this module to take care of the redirection piece

1 – atualizar o atributo hostname  do site definiton para resolver ambas urls.

Na sua solução abra o arquivo SiteDefiniion.config. Por padrão ele fica localizado na pasta App_config/Include.

Observação: esta configuração assume que voce removeu o .example do arquivo SiteDefinition.config. Se você tiver um arquivo customizado para a definição de configurações do site, é neste arquivo que voce deve realizar esta alteração.

Localize neste arquivo o site que você quer alterar e atualize o atributo hostName para resolver ambos http://www.meudominio.com e meudominio.com. Para isso voce pode adicionar duas entradas separadas pelo caracter “|” ou adicionar um “*” e deixar o Sitecore resolver(mais recomendado).

Opção 1: hostName=”meudominio.com|www.meudominio.com”

Opção 2: hostName=”*meudominio.com”.

Depois de realizar esta configuração o Sitecore já estará resolvendo estes domínios, porém o IIS não.

 

2 – No IIS voce precisa ter um binding que resolva http://www.meudominio.com para o site. Para fazer isso abra o site no IIS e clique em bindings conforme abaixo:

b1_step1

 

 3 – Crie um binding que resolva http://www.meudominio.com

Clique em Add e configure o hostname com o valor http://www.meudominio.com e clique OK. Você verá a seguinte tela:

b1_step2

 

4 – Abra a seção do URL rewrite do seu site.

Selecione o seu site no IIS e procure pelo botão URL Rewrite e clique nele.

5 – Clique em Add Rules(s)

b1_step3

– Clique em canonical domain name conforme abaixo:

b1_step4

7 – Selecione o host primário neste caso http://www.meudominio.com. Depois disso clique OK.

b1_step5

 

É isso. Agora todo o tráfego da sua instância de Sitecore vindo de meudominio.com será redirecionado para http://www.meudominio.com

 

 

 

Sitecore – 7 steps on how to enforce a website’s url from domain.com to www.domain.com

From time to time I have seen a request like this:

“I want all the links from my Sitecore website to start redirecting from myhostname.com to www.myhostname.com.”

How do can this be done? There are actually a few ways you can do that. I’m showing you on this post only one which is easy and works just great.

Here are the 7 steps you can use to achieve that.

But before anything else we will need the very handy IIS Rewrite module in order for this to work. You can download it here.

There are two part that need to be properly configured:

  1. Sitecore’s site definition
  2. Create a rule using this module to take care of the redirection piece

Step 1 – Update the hostname attribute of the site definition to resolve both urls.

On your solution open the file SiteDefitition.config. By default it is located under App_Config/Include folder.

Ps: This assumes that you have removed the .example from the SiteDefinition.config. Also if you have a custom Sitedefinitions.config file this is where you should be updating this code.

Look for your site definition and update the hostName property of the site to resolve both to www.myhostname.com and myhostname.com. To do that you can either add both entries  to the hostName separated by a “|” character or just use the “*” and let Sitecore handle the rest(most recommended).

Option 1: hostName=”myhostname.com|www.myhostname.com”

Option 2: hostName=”*myhostname.com”. This syntax means Sitecore will resolve anything that comes before myhostname.com, including “www.” which makes www.myhostname.com a hostname that it understands and resolves.

At this point Sitecore will resolve both urls myhostname.com and www.myhostname.com. But IIS won’t.

 

Step 2 – Locate your site definition on IIS and open it’s bindings

On IIS you need to have a binding that resolves www.myhostname.com for the site. To do that open your website on IIS and click Bindings as shown bellow:

b1_step1

 

Step 3 – Create a binding that resolves www.myhostname.com

Click the Add button and set the hostname as www.myhostname.com and click OK. You will see a window like this:

b1_step2

 

Step 4 – Open the URL Rewrite section of your site.

On the IIS section of your website definition look for the URL  Rewrite button and double click it.

 

Step 5 – Click on Add Rules(s)

b1_step3

Step 6 – Create a Url Rewrite canonical url

On the Add Rule(s) window select the Canonical domain name section as shown bellow:

b1_step4

Step 7 – Select the primary host name

Make sure the hostname www.myhostname.com is selected. After that click OK.

b1_step5

 

That’s it! Now all the traffic on your Sitecore instance coming from myhostname.com will get redirected to www.myhostname.com