My Sites - Múltiplos Idiomas - Multiple Languages
Esse é meu primeiro post. Se vocês encontrarem algum erro, me avisem! :)
There's a brief description of the problem and the solution in the end of this post.
Esse post é para relatar uma solução para um problema com o qual eu me deparei, mas que não encontrei solução nenhuma por aí pela Internet.
Em todas as minhas instalações de SharePoint e em outras que oriento, sempre coloco como grande recomendação fazer a instalação do servidor com o SharePoint em inglês (já com o SP1 integrado) em modo Complete (raramente uso instalação Stand Alone, mesmo para demos ou testes) e, em seguida, fazer a instalação do Language Pack (também com o SP1 integrado).
A instalação é meio padrão...
- Inicializo os serviços nos servidores de acordo com as minhas necessidades
- Crio 3 Web Applications
- 1 na porta 80 para o meu site principal
- 1 em qualquer porta para sediar o My Sites
- 1 em qualquer porta para sediar o SSP
- Crio o SSP
- Crio o 1o Site Collection no meu site da porta 80.
- Inicializo a Indexação do site.
Até aí tudo bem. Tudo funciona e tudo fica bem.
Recentemente, tive a necessidade de criar My Sites em múltiplos idiomas e com o site padrão (public view) em português.
Fui no site de administração do meu SSP e configurei para permitir que os usuários pudessem escolher qual o idioma usar para seu My Site.
Cliquei então no link de My Site, apareceu uma telinha perguntando qual era o idioma que eu queria. Selecionei português e realmente, ficou em português para mim. Quando fui ver como ficou a public view, para minha surpresa, estava em inglês.
Fiz algumas buscas internas e na internet, e encontrei uns posts que falavam sobre isso...
Um deles explicava como fazer para ter a public view baseada no idioma do browser do usuário acessando o My Site. Envolvia criar My Sites como que com variations... Eu achei que isso era muito mais do que eu queria. Eu queria apenas que não importasse o idioma escolhido pela pessoa para o seu My Site, o public view seria sempre em Português.
O problema todo é que como a minha Farm estava em inglês, a instalação automática do My Site era sempre em inglês.
Após buscar mais um pouco na internet, descobri um artigo do suporte que a primeira vista era o problema que eu estava tendo... (http://support.microsoft.com/kb/949003/)
Na ansiedade de resolver o problema, li rapidamente o artigo, baixei o fix e instalei.
Fiz uns testes, bootei e rebootei o servidor, reinicializei o iis, etc, e nada... Foi quando decidi reler o artigo, atentamente, para entender o que ele dizia (é claro... a gente só pega o manual de instalação quando o NNF não funciona... :) )
Nesse momento é que reparei... esse problema eu tinha antes também, mas a solução pra mim era só parcial.
Parei pra pensar então. Por que que ele sempre cria o My Site com o public view em inglês? Fui então pra Central Administration e fiquei fuçando na Web Application do meu My Sites host e nos site collections.
Eu já sabia que cada site de My Site criado, é um Site Collection. Então baseei minhas investigações nesse ponto.
Após observar um pouco, me liguei na "raiz" do meu My SItes. Sim, porque para cada My Site criado, eu tenho um Site Collection para ele, mas eu tenho sempre um mesmo para todas as public views, que é a raiz.
Ao mexer na área de criação de Site Collections, reparei que em Português, tinha um template a mais que o de inglês. Host de Meus Sites! Hum.... Pode ser que seja aqui...
Comecei meus testes então...
No meu ambiente de teste (TESTE!!! Não tente fazer isso em produção!) eu simplesmente deletei o Site Collection da raiz do meu My Sites Host. Voltei na área de criação de Site Collections, coloquei o nome do Site Collection, coloquei o endereço do meu My Site host, selecionei o template em Português do Host de Meus Sites, e coloquei o administrador do meu domínio teste como administrador do site e OK.
Adivinha? Parou de funcionar geral... :)
Pensei mais um pouco... e cheguei a conclusão de que o SSP tem algum envolvimento na hora de criar esse My Site Host. Se quando eu crio o SSP, colocando uma Web Application vazia ele coloca um Host em inglês, o que será que ele vai fazer se eu colocar uma Web Application com um Host de My Sites em Português?
Vamos testar...
No meu ambiente de testes fiz o seguinte:
- Deletei minhas 3 Web Applications pela Central Administration, sempre deletando as databases...
- My Sites Host
- SSP Admin Site
- Meu Site Inicial
- Deletei meu SSP usando o STSADM
- stsadm -o deletessp -title <Nome do SSP> -deletedatabases
- Recriei minhas 3 WebApplications pela Central Administration
- Eu quando crio as Web Applications, constumo usar nomes sugestivos para elas e para as bases associadas. A porta que você for escolher para cada Web Application não tanta influência... Escolha a que mais lhe convenha... Para fins de testes, coloco todas as minhas na porta 80, usando host headers.
- MySites - MySites_DB
- SSP - SSP_DB
- Portal - Portal_DB
- Criei então dois Site Collections.
- Portal de Colaboração na Web Application Portal
- Host de Meus Sites na Web Application MySites
- Recriei meu SSP
- Como o My Site Host já tinha um Site Collection associado, ele me deu um aviso... mas não tinha o que fazer ali... era dar um OK e continuar com o teste...
- Quando ele terminou de criar lá o SSP, fui no site de administração dele e configurei para permitir que os usuários pudessem escolher o idioma do seu My Site.
- Cliquei então no link de My Site no topo, e já de cara me deparei com a diferença! Dessa vez, não mais tinha uma dela de "My Site - Choose Your Language", mas sim "Meu Site - Escolha Seu Idioma". Opa! Coisas novas por aí!
- Ao terminar a criação do site, o site estava criado em português e com a public view em português também.
- Criei agora outro My Site, dessa vez, em inglês. A private view estava toda em inglês e a public view em português! Perfeito! :)
Vou resumir aqui em baixo porque eu sei que tem gente (como eu) que sempre vai pro final do post pra ver logo a solução, e se tem solução. Vou escrever depois em inglês também porque como disse no início, não encontrei isso em nenhum outro site por aí.
Resumindo:
Quero uma Farm de SharePoint instalada em inglês, com Language Packs instalados para poder oferecer aos meus usuários a oportunidade de criar sites em outros idiomas. Quero ainda que os sites de My Sites quando forem criados, possam ser criados em qualquer idioma, mas quero que a public view seja sempre em português. Para que você consiga isso, ao fazer a instalação da Farm, antes de criar o SSP, crie as WebApplications para receber o site de administração do SSP e o host de My Sites. Na seqüência, crie um Site Collection utilziando o Template de Host de Meus Sites em Português. Só então, vá para a página de criação de SSP e indique quais são as Web Applications para o site de Administração de SSP e para o Host de My Sites. Ele vai te avisar que já existe um Site Collection associado com uma das Web Applications que você selecionou, mas clique OK e siga em frente.~
Vá agora no site de administração do SSP, e em My Site Settings, permita que os usuários possam escolher o idioma que utilizarão.
Repare que essa solução te dará um Host de My Sites no idioma que você preferir, mas ele será sempre 1 único para todos os usuários daquele SSP. Caso você queira que o site público seja apresentado no idioma do usuário acessando, você precisará customizar um pouco essa situação, colocando webparts de redirecionamento para sites de outros idiomas, como uma espécie de variations.
Espero que possa ajudar alguém por aí...
Abraços,
Adriano Gomes
Summary:
I want my SharePoint Farm to be installed in English, using Language Packs to provide my users the ability to create sites in other languages. Also, I want to give users the hability to choose their My Site language, but that the public view presented to everyone is always in portuguese. For you to achieve that, notice that you must first, before creating the SSP (Shared Service Provider), create at least 2 Web Applications. One to host the SSP Admin site, and another one to host My Sites. After creating these two Web Applications, create a Site Collection at the My Sites Web Applition, choosing the My Sites Host Template under the Enterprise tab in the language that best suits you. Only then you can create the SSP, using both Web Apps created now. Notice that SharePoint will give you a warning that you assigned a Web App that already has some content... Don't worry. Go ahead and click OK.
Now go to the SSP Admin site, and under My Site Settings, enable the option that allows your users to choose at what language their My Site will be.
Atention here! This solution will give you a My Sites host in another language other then english when you have the SharePoint farm intalled using the english installation bits. If you want the public view of each My Site to be presented to users based on their language setting in the browser, you'll need to do some customization, create some webparts to redirect users to other public pages based on the language set on their browser... as happens in variations...
Hope this helps someone out there...
Rgds,
Adriano Gomes