Codificando e-Magazine Edição 19

 

Embed or link this publication

Description

Edição 19

Popular Pages


p. 1



[close]

p. 2

sumário 03 editorial edição 19 número 19 ano 04 10/11 editor responsÁvel cleber dantas revisÃo sara barbosa sergio gonçalves ganso erick lopes editoraÇÃo e diagramaÇÃo sara barbosa sergio gonçalves ganso capa edjan santos colunistas alexandre tarifa luciano palma colaboradores aline maia elemar júnior fabian andré gehrke fernanda saraiva pablo hadler sara barbosa idealizadores alexandre tarifa diego nogare por cleber dantas 04 coluna cultura xxi por luciano palma 07 o sharepoint está lento o que eu faço por aline maia 13 como criar e gerenciar usuários na central de administração do microsoft online services por sara barbosa 16 habilitando pdf com ifilter no sharepoint server 2010 por fernanda saraiva 20 como funciona o windows azure ­ o hypervisor por elemar júnior 28 sharepoint 2010 administração avançada com powershell por fabian andré gehrke fale com editor É muito importante para a equipe saber a sua opinião sobre a revista caso tenha alguma critica sugestão ou elogio entre em contato caso tenha interesse em publicar um artigo na revista envie o título e um resumo do tema em formato word revista@codificando.net 35 ferramenta de desenvolvimento auxilia o programador .net por pablo hadler 40 coluna .close por alexandre tarifa produzido por www.codificando.net

[close]

p. 3

edição 19 número 19 ano 04 2010 editorial caro leitor é com muito orgulho e entusiasmo que escrevo este editorial estou orgulhoso por ter sido convidado pelo time do codificando.net para estar frente de um projeto como a revista codificando e-magazine e ao lado de um time fant{stico que faz a revista acontecer a cada edição o entusiasmo é grande pois sei de todo o potêncial da revista e do seu alcance junto a comunidade de desenvolvedores brasileiros é uma grande responsabilidade e um grande desafio a codificando emagazine é uma revista feita pela comunidade para comunidade e estar participando de um projeto como este me deixa realmente muito feliz meu nome é cleber dantas atuo no mercado de ti a mais de 7 anos e sou especialista em tecnologias de desenvolvimento web ministro palestras e mini-cursos dentro das comunidades microsoft j escrevi artigos para portais como imasters devmedia e linhadecodigo possuo algumas certificações como mcad e mcts hoje trabalho como coordenador de desenvolvimento do maior portal de saúde e bemestar da internet brasileira o portal minha vida http www.minhavida.com.br e agora tenho o orgulho de também ser o editor da revista codificando.net e-magazine começamos o ano anunciando um novo time de colunistas além do alexandre tarifa e sua coluna .close teremos nesta edição luciano palma com sua coluna cultura xxi e para as próximas edições mais dois grandes nomes da comunidade estarão conosco são eles emerson facunte e rodolfo roim fantastico também quero deixar um recado para você leitor que tem interesse de colaborar com a revista de alguma forma seja escrevendo artigos nos ajudando com revisões técnicas diagramações arte divulgação e etc por favor entre em contato através do email cleber.dantas@codificando.net a comunidade agradece que todos tenham um ótimo 2011 repleto de desafios e conquistas agora apreciem o conteúdo desta edição que foi feita com muito carinho e dedicação pelo nosso time abraços cleber dantas editor respons{vel email cleber.dantas@codificando.net twitter @cleberdantas editorial

[close]

p. 4

e-magazine coluna cultura xxi luciano palma é palestrante e consultor estratégico de redes sociais novas mídias e tecnologia trabalhou mais de 8 anos na microsoft do brasil como consultor e evangelista técnico com a função de manter uma comunidade de influenciadores energizada e atualizada sobre as últimas tecnologias desde 2006 foi palestrante do tech ed brasil tendo realizado 9 palestras em 4 edições você pode acompanhar suas atividades pelo blog http lpalma.com ou pelo twitter lucianopalma o convite do tarifa para escrever esta coluna me pegou de surpresa depois vieram os sentimentos de felicidade honra orgulho e agradecimento agradecimento a ele pelo convite mas também a toda a equipe que mantém a revista com empenho e zelo em cada detalhe para levar até você informação atual com qualidade sem esquecer daqueles que contribuíram no passado para tornar a codificando.net emagazine o que ela é hoje nesta coluna cultura xxi discutiremos mudanças comportamentais que estão acontecendo no século xxi grande parte delas decorrentes dos incríveis avanços da tecnologia quando eu era criança não vou entrar no mérito de datas o desenho os jetsons era pura ficção os carros voavam robôs substituíam humanos em tarefas repetitivas e a videoconferência era coisa dos sonhos ainda mais quando acontecia no relógio do george codificando.net e-magazine ok nossos carros ainda não voam felizmente imagine a sombra causada pelos congestionamentos mas j podemos carregar no bolso aparelhos capazes de fazer videoconferência e muito ainda est por vir com os novos recursos e principalmente com novos meios de conexão que eliminam a vari{vel espaço entre as pessoas relacionamentos e comportamentos estão em fase de ajustes essa mudança est sendo introduzida em nossa cultura e este ser o assunto principal desta coluna www.codificandomagazine.com.br dez jan 10/11 4

[close]

p. 5

e-magazine coluna cultura xxi a evolução comportamental não se restringe aos relacionamentos pessoais as empresas e até os governos estão tendo que se adaptar adotar novos canais e novas formas de comunicação não é mais opcional e tudo indica que nas 9 décadas que restam do século as relações profissionais tendem a mudar muito tornando obsoleto o modelo hier{rquico atual baseado em comando em controle a interconexão entre pessoas criar uma força anti-hierarquias e a informação assim como a ação passarão a fluir em rede É nesse contexto de informação livre que convido você a participar desta coluna entre em contato com a revista e comigo através do canal que preferir e exponha sua opinião discorde complemente aprofunde essa é a din}mica do socialcast que deve servir de base para esta coluna e para os novos canais digitais ela avança sobre o modelo de broadcast onde um emissor gera a mensagem e os receptores a consomem passivamente em outras palavras esta coluna também é sua pois ela deve refletir a transformação da forma de se comunicar de interagir e também de fazer negócios no século xxi sejamos todos bem-vindos codificando.net e-magazine mais sobre o colunista professor do curso de pós-graduação do senac web estratégias de inovação e tecnologia ministra disciplinas envolvendo hipermídia sistemas virtuais e comércio eletrônico ministrou também a disciplina redes sociais a inovação digital e suas mídias no curso de mba da faculdade impacta planejamento e estratégia de negócios com suporte da ti com 22 anos de experiência é co-autor do guia de consulta r{pida de tcp/ip novatec 2000 e do livro intercon 2009 clube de autores 2009 www.codificandomagazine.com.br dez jan 10/11 5

[close]

p. 6

e-magazine codificando.net e-magazine www.codificandomagazine.com.br dez jan 10/11 6

[close]

p. 7

e-magazine o sharepoint está lento o que eu faço por aline maia como engenheira do suporte premier microsoft com foco em soluções sharepoint não é tão incomum que eu receba esse tipo de questionamento o artigo que escrevo nesta edição é inspirado justamente em um caso recente que vivi em que o cliente estava insatisfeito por ter implantado um portal intranet desenvolvido com o sharepoint como plataforma para substituir uma antiga solução feita em asp mas que estava mais lento que o site antigo era mais bonito e tinha mais funcionalidades mas segundo a {rea de marketing patrocinadora do projeto e cliente da {rea de ti respons{vel pela implantação invi{vel de ser utilizado pelos cerca de 3.000 funcion{rios da empresa pela lentidão ao carregar a p{gina principal qual ser o problema introdução cenário do caso o cliente implantou o microsoft office sharepoint server 2007 sp2 para a criação de um portal intranet de colaboração e publicação de conteúdo o portal consite de uma única web application com uma única site collection definida e diversos subsites/webs e quando digo diversos falo de algo em torno de centenas de sites só no primeiro nível de subsites filhos do top-level na raiz da site collection por ser composto de uma única site collection h também um único content database para todos os subsites cerca de 60 gb no lançamento do portal a empresa contratou um fornecedor para implementar o projeto o que envolvia não só a adequação do padrão visual do portal que usa template de publicação como o desenvolvimento de novos componentes webparts controles de exibição de conteúdo e um novo menu de navegação e o design do site principal ou seja edição das p{ginas e adição de webparts não somente mas inclusive usando content web parts para escrita livre de conteúdo html como trata-se de um template de publicação cada nova alteração gerava uma nova versão das p{ginas editadas no banco de dados de conteúdo afinal uma p{gina nada mais é que um item de uma biblioteca de p{ginas a pages por padrão neste tipo de template resumindo algumas customizações precisavam ser distribuídas como bin{rios como as dlls do novo menu outras foram incluídas direto no banco de dados de conteúdo via browser e dez jan 10/11 codificando.net e-magazine www.codificandomagazine.com.br 7

[close]

p. 8

o sharepoint está lento o que eu faço e-magazine sharepoint designer e o desenvolvimento era feito em um ambiente diferente do de produção na empresa fornecedora que necessitava entregar conteúdos leia-se backup do banco de dados de conteúdo e códigofonte de bin{rios para o cliente como a data de lançamento do portal j havia sido definida o prazo final de entrega estava próximo e ainda havia muitas atividades a cumprir o teste de estresse foi sendo adiado quando foi finalmente executado eis a surpresa o site estava lento o projeto foi para produção mesmo assim mas decidiu-se de última hora adicionar dois novos servidores de web front end na farm para minimizar a percepção de lentidão pelos usu{rios análise do caso ou brincando de csi crime scene investigation como ajudar a identificar problemas oportunidades de melhoria e agir em um caso como este costumo comparar o trabalho de suporte reativo ao realizado pelos personagens do seriado csi crime scene investigation chegamos cena do crime para encontrar os culpados através da an{lise de evidências e provas listando primeiramento os principais suspeitos que tenham motivo e oportunidade para agir mas bem diferente do csi aqui os culpados e suspeitos nÃo são as pessoas e sim itens de software e é muito importante que isso fique bem claro não se trata de buscar pessoas para levar a culpa mas realizar um trabalho científico para resolver a situação aqui nenhuma vida est em risco se o culpado do problema é por exemplo uma dll com memory leak não podemos apontar dedos para o desenvolvedor a capacidade de gerenciar conflitos e expectativas ou seja lidar com as pessoas é muito importante nestes casos pra deixar bem claro nesta analogia o foco não é o c de crime mas o i de investigation ok É claro que por questões de confidencialidade o nome do cliente est omitido bem como todos os demais detalhes tanto do projeto como do meu trabalho na an{lise e correção dos problemas por isso mesmo este artigo não pode ser seguido ao pé da letra como fonte de solução para qualquer problema de lentidão mas o objetivo é dar subsídios a vocês leitores para suas próprias investigações no estilo csi reproduzindo o problema a primeira ação foi junto com o cliente navegar pelo portal e procurar reproduzir o problema ou no estilo csi visitar a cena do crime e refazer os passos da vítima por gpo o portal é a home page obrigatória de todos os usu{rios que abrem o browser e a navegação para todos eles sempre ficava bloqueada por alguns segundos até que o menu expansível customizado fosse montado e fechado ele é montado todo expandido e fechava no final da montagem notei ainda que as webparts da content page j estavam dez jan 10/11 codificando.net e-magazine www.codificandomagazine.com.br 8

[close]

p. 9

o sharepoint está lento o que eu faço e-magazine sendo carregadas de forma assíncrona esse comportamento do menu se repetia para os demais acessos e não apenas para o carregamento da home page eu j tinha um primeiro suspeito o controle customizado de menu precisava saber mais sobre ele e recolher evidências de sua participação no processo liguei então contadores de performance para coleta por um ciclo completo de 24h para todos os servidores considerando os 4 principais sinais vitais de um server cpu memória disco e rede uma dica é fazer a coleta no formato .csv e analis los utilizando o pal performance analysis of logs disponível em http pal.codeplex.com ou ainda utilizar uma ferramenta enterprise e proativa de monitoramento como o microsoft operations manager ­ scom ­ que j possui pacotes de gerenciamento específicos para servidores sharepoint e que vão além dos sinais vitais b{sicos pois monitoram os serviços específicos como timer e search ­ leia mais em http bit.ly/9xpany utilizei o perfmon para criar os counters tenha templates mão e o pal para an{lise de threshoulds antes mesmo de obter esses resultados usando o taks manager/process explorer j podia observar que o processo w3wp.exe referente ao application pool do portal j ficava constantemente entre 80 e 100 de utilização comportamento muito anormal em todas as m{quinas o uso de memória era também era alto o ideal seria também utilizar ferramentas como o fiddler http www.fiddler2.com/fiddler2 ou outro monitor http para tem o tempo real de loading da p{gina e voltar a medir quando eventuais mudanças com foco em melhorias fossem feitas mas fui direto ao assunto procurar a dll do menu e usando o spdisposecheck http code.msdn.microsoft.com spdisposecheck procurar por possíveis evidências de memory leaks no modelo de objetos do sharepoint objetos como microsoft.sharepoint.spsite e microsoft.sharepoint.spweb são criados em código gerenciado como um pequeno wrapper de aproximadamente 2kb este wrapper então cria objetos não-gerenciados de aproximadamente 12mb que por não serem removidos automaticamente da memória pelo garbage collector precisam ser explicitamente marcados para dispose para mais informações recomendo a leitura dos artigos http msdn.microsoft.com/library bb687949.aspx e http msdn.microsoft.com/library aa973248.aspx o fato é que o spdisposecheck listou v{rios pontos com lógicas suspeitas por exemplo id spdisposecheckid_xx module [nomedoassembly dll method [namespace classemenu displayclass1.onload statement this.myroot system.xml.linq.xcontainer addthis 4 this [namespace classemenu buildmaplocal0 microsoft.sharepoint.spsite openweb 0 codificando.net e-magazine pelos resultados obtidos e trechos dos métodos exibidos desconfiei não somente que tivéssemos problemas de memory leak por esquecimento de dispose a lógica de loop usada para montar o menu não me parecia a mais otimizada se considerarmos pr{tica de dez jan 10/11 www.codificandomagazine.com.br 9

[close]

p. 10

o sharepoint está lento o que eu faço e-magazine programação .net convencional mesmo pra ser mais clara não estava sendo usado com o controle nenhuma das classes do namespace microsoft.sharepoint.publishing.navig ation veja em http msdn.microsoft.com/en-us/library microsoft.sharepoint.publishing.navigati onv=office.12 aspx ­ versão 2007 ­ e http msdn.microsoft.com/en-us/library microsoft.sharepoint.publishing.navigati on.aspx versão 2010 como fonte de dados nem mesmo um data source customizado herdando de hierarchicaldataboundcontrol ou seja o menu era montado a partir de loops no objeto spsite todas as vezes que a p{gina era carregada e sem uso de cache ou seja cada request http de cada um dos 3.000 usu{rios gerava uma chamada de c{lculo de menu considerando a rotina para validar permissão de acesso tínhamos aí um ponto de melhoria nota o namespace microsoft.sharepoint.publishing.navig ation j possui uma série de classes otimizadas que levam em consideração a hierarquia dos objetos spsite spweb bem como permissão e cache procure utilizar sempre que possível o que o sharepoint j oferece nativamente no caso acima o desenvolvedor até me disse que os objetos nativos não atendiam os requisitos de negócio mas vejo muitas vezes o escopo do projeto e as exigências das {reas usu{rias sendo utilizados como palavra final inquestion{vel para partirmos para desenvolvimento customizado Às vezes falta um pouco mais de argumentação técnica que mostre que os impactos técnicos de administração performance suportabilidade futuras migrações de versão de uma decisão como essa podem ser grandes para mais sobre o assunto navegação customizada recomendo este ótimo post http blogs.msdn.com/b/modonovan archive/2008/05/30/custom-navigation-in -sharepoint-the-full-monty.aspx pronto j havíamos identificado um fator importantíssimo de ação pra melhoria da performance e como tínhamos acesso ao código-fonte bastou uma r{pida verificação na lógica usada para comprovar as suspeitas os próximos passos seriam um code review mais completo considerando não só as melhores pr{ticas de desenvolvimento para sharepoint como de aplicações asp.net mesmo observamos também que o application lifecycle management tinha muitas oportunidades de melhoria não havia builds o capacity planning e diversos tipos de testes não estavam sendo feitos não havia gestão de builds/releases e pior as customizações estavam sendo copiadas para produção sem o uso de pacotes .wsp/features e também via restauração de backups de bancos eu poderia escrever muitos outros artigos sobre cada um destes itens mas ao invés disso recomendo a leitura atenta do resource center de melhores pr{ticas sharepoint no msdn para v3 o endereço é http msdn.microsoft.com en-us/sharepoint/dd367963.aspx e os livros de download gratuito dos patterns practices mais sugestões de leitura dez jan 10/11 codificando.net e-magazine www.codificandomagazine.com.br 10

[close]

p. 11

o sharepoint está lento o que eu faço e-magazine estimate performance and capacity requirements for windows sharepoint services collaboration environments office sharepoint server http technet.microsoft.com/en-us/library cc261795office.12 aspx tools for performance and capacity planning ­ http technet.microsoft.com/en-us/library cc288064office.12 aspx sugestões de arquitetura e topologia se você é um profissional sharepoint um pouco mais experiente provavelmente identificou na minha descrição do caso em introdução cen{rio do caso ainda outros fatores que merecem a nossa atenção a estrutura 1 web application 1 site collection 1 content database em princípio mais simples pra instalar e configurar implica em uma arquitetura mais complexa de gerenciar ao longo do tempo pensando em fatores operacionais como tempo de backup e restore política de cotas de uso por site collection retenção e arquivamento de itens um número número maior de site collections com um banco de dados de conteúdo para cada pode trazer mais benefícios ao longo do tempo a questão é que em se tratando de desenho de solução sharepoint muitas vezes não é questão de certo ou errado mas de prós e contras precisa se listar as implicações de cada decisão de forma abrangente vale avaliar também o uso de compressão http e blob cache o desenho da autorização a topologia dos servidores por serviço eque features/conte types usar mais outros vários tópicos para novos artigos caso você leitor tenha dúvidas quanto a estes tópicos sugiro continuar consultando os documento de planejamento disponíveis no technet para 2007 e também versão 2010 e como terminou esse chamado bom tivemos reuniões com todos os envolvidos marketing ti fornecedores montamos um plano de ação dividimos as responsabilidades e todos estavam juntos em prol de resolver os problemas o clima que no começo era de insatisfação com o sharepoint e desconfiança quanto plataforma escolhida mudou e recuperamos a credibilidade com o cliente tivemos muito cuidado em abordar os problemas de forma séria porém positiva de forma que mesmo as falhas de execução foram entendidas como fruto das pressões de entrega e vistas como oportunidade de daqui pra frente buscar melhorias não só técnicas como de processos como todo projeto de ti deve ser abraços a todos e até o próximo artigo aline maia trabalha na microsoft como premier field engineer com foco em atendimentos de casos sharepoint com experiência em desenvolvimento e suporte a sistemas é pós-graduada em engenharia de software foi recentemente aprovada nas provas beta de sharepoint 2010 configuração e administração além de ser microsoft certified technical specialist mcts em wss 3.0 e moss 2007 infra e dev e microsoft certified solution developer mcsd com provas que incluem desde vb 6.0 às diversas versões do .net framework acredita que um bom desenvolvedor deve estar preocupado com os aspectos relacionados à administração do ambiente sharepoint e vice-versa blog http alinefmrk.spaces.live.com não muito atualizado mas ainda ativo e twitter @alinefmaia codificando.net e-magazine www.codificandomagazine.com.br dez jan 10/11 11

[close]

p. 12

e-magazine codificando.net e-magazine www.codificandomagazine.com.br dez jan 10/11 12

[close]

p. 13

e-magazine como criar e gerenciar usuários na central de administração do microsoft online services por sara barbosa nesse artigo vou detalhar um pouco sobre a administração dos serviços do online services inicialmente partindo dos usu{rios que irão aproveitar os serviços na nuvem para que você consiga acompanhar o artigo indico a leitura e o vídeo de como ativar sua conta de avaliação dos serviços sendo assim fica mais f{cil compreender e j exercitar o aprendizado que é muito simples para aprender como ativar sua conta de avaliação http azureservicesbr.ning.com/profiles blogs/avaliacao-gratuita-microsoft então vamos ao que interessa como criar e gerenciar usu{rio na central de administração do microsoft online services que é o foco dessa leitura no primeiro contato com a central administrativa são solicitadas algumas tarefas a central j deixa explicito que para garantir os serviços 5 tarefas devem ser feitas veja na figura tarefas que preciso executar figura 1 central de administração nesse caso vou pular duas delas vou detalhar nos próximos artigos/posts no blog e ir para a criação de usu{rios que para mim é essencial até mesmo deixar de usar o admin da central criar como se fosse um backup dele e conceder as permissões de admin para criar esse novo usu{rio clique em adicionar usu{rio codificando.net e-magazine figura 2 adicionar usuário preencha os dados do novo usu{rio e clique em próxima www.codificandomagazine.com.br dez jan 10/11 13

[close]

p. 14

como criar e gerenciar usuários na central de administração e-magazine administrador na central não quer dizer que no site do sharepoint ele ter automaticamente perfil de controle total as permissões da central são independentes dos serviços próxima etapa você tem acesso a data da compra serviços que o usu{rio ter disponível número de licenças disponíveis no seu pacote no meu caso tem 20 licenças pois estou usando a versão trial também consegue visualizar a quantidade de espaço destinado a caixa de correio como são 20 licenças para caixa de correio você tem 20 licenças x 25 gb total 500 gb de espaço você define nessa etapa entre 256 mb a 25gb qual o tamanho da mailbox do usu{rio que você est criando escolha o tamanho e clique em concluir Última etapa defina o e-mail para onde o figura 3 preencha os campos com informações do usuário nessa parte você vai definir se seu usu{rio deve ter permissões de administrador da central de administração a senha tempor{ria que ser gerada se você deseja habilitar a conta do usu{rio para os serviços que você contratou e onde esse usu{rio est localizado no meu caso selecionei sim na permissão de administrador e selecionei sim para habilitar a conta do usu{rio depois disso é só clicar em próxima nota você defnir o usu{rio como codificando.net e-magazine figura 5 serviços ativos usu{rio vai receber seu user e password para o primeiro acesso digite o endereço de e-mail clique em enviar e depois em concluir figura 4 configurações figura 6 confirmação www.codificandomagazine.com.br dez jan 10/11 14

[close]

p. 15

como criar e gerenciar usuários na central de administração e-magazine pronto seu novo usu{rio vai receber um e-mail com as orientações basta seguir trocar a senha e começar a usar os serviços que contratou e ativou para administrar e gerenciar esse usu{rio depois de criado você ser direcionado a lista de usu{rios habilitados note que o campo ações est com v{rias opções desabilitadas figura 7 modo de exibição todos os usuários selecione o usu{rio veja que no campo ações você tem opção de editar informações do usu{rio redefinir senha excluir usu{rio figura 8 status dos usuários criados usu{rio a trocar a senha a cada 90 dias pois é o tempo m{ximo que a senha dele ser valida caso ele não troque ela expira e você ter que gerar uma nova senha se você orientar o usu{rio você poupa o trabalho de fazer isso e ele consegue trocar sem que ela expire excluir usu{rio para casos que é necess{rio tirar da sua base de usu{rio um em especifico fique atento ao número de licenças que contratou e no seu contrato de 12 meses para não gerar cobranças fora do esperado o microsoft online services segue a linha dos recursos que a maioria dos usu{rios j estão familiarizados por isso é utilizado o live id para criar uma conta de avaliação e os recursos para gerenciar serviços e usu{rios na central de administração também são bem intuitivos e com v{rios fontes de ajuda sendo sinalizados para facilitar o uso dos serviços a ideia é essa disponibilizar os serviços com total simplicidade e facilidade espero que tenham gostado até os próximos codificando.net e-magazine sara barbosa editar propriedades você pode alterar endereço departamento sobrenome nome alterar permissão desabilitar conta definir alias de e-mail caso tenha outros domínios ou tenha modificado o user do endereço de e-mail etc redefinir senha você altera a senha atual do usu{rio e envia para o endereço de e-mail que ele ter acesso a trocar a senha padrão por uma de sua preferência nota para evitar transtornos oriente seu msp revisa artigos para revista codificando.net e-magazine membro do conselho da comunidade wininfo co-leader da comunidade azureservicesbr azureservicesbr.ning.com moderadora technetbrasil no fórum de bpos faz parte do time pensounet www.pensou.net empresa gold certified partner em goi{s mais sobre no blog www.sarajbarbosa.wordpress.com e twitter @sarabarbosa www.codificandomagazine.com.br dez jan 10/11 15

[close]

Comments

no comments yet

YOUBLISHER
About
What Others Say
Sitemap
Impressum

PUBLISHERS
Login
Signup
Tutorials
FAQ
Support

BUSINESS
Overview
Advertising
Support

DEVELOPERS
API

LEGAL
Report a Copyright Violation
Copyright FAQ
Terms of Use
Privacy Policy