Instalação, Primeiros Passos e Informação Importante (Versão 1.1)
My Web Pages Starter Kit é um Sistema de Gerenciamento de Conteúdo em ASP.NET 2.0. Como uma aplicação web permite que usuários configurem e mantenham web sites através de uma interface de administração rodando no browser.

O My Web Pages Starter Kit é composto de módulos que pode ser facilmente estendido. Administradores podem descompactá-lo diretamente no servidor e começar a construir  seus web sites. Usando Visual Studio ou o Visual Studio Web Developer Express Edition, desenvolvedores podem facilmente customizar e acrescentar características ao CMS.

Este documento explica como configurar o My Web Pages Starter Kit e dá sugestões de como desenvolver seus próprios controles e criar novas funcionalidades para o CMS. 

Para questões adicionais, novidades, releases e o alimentador de noticias do projeto visite o link My Web Pages Starter Kit project on Codeplex.com.
1 Rodando localmente
Extraia todos os arquivos compactados no arquivo ZIP para seu hard drive
- Execute o Visual Studio 2005 ou o Visual Studio Web Developer Express
- Selecione "File->Open Web Site" para abrir um web site
- Aperte F5 para rodar o Web Site em seu browser
(Na verdade você não precisa executar a aplicação web se você não for modificar o kit. Sendo assim, você só precisará descompactar os arquivos e publicá-los em seu servidor web. Veja a seção 2)
2 Publicando em seu servidor web
- O My Web Pages Starter Kit necessita de um servidor web rodando ASP.NET 2.0 hoster (Seleção)
Suba os arquivos para o servidor
  • Abra uma conta em um provedor de hospedagemque suporte a tecnologia Microsoft ASP.NET 2.0 (Seleção). Em resposta, seu servidor lhe fornecerá dados acesso que serão necessários para que você possa manter seu website como um webmaster.
  • Publique o My Web Pages Starter Kit enviando todos os arquivos  (exceto a pasta App_Data) para o seu servidor web. Isto geralmente é feito por um ‘Programa de FTP’.  Para isso, você precisará do nome do servidor e de suas credenciais (nome de usuário & senha) para acesso ao ser servidor de hospedagem.
    Nota: A pasta App_Data folder é uma pasta especial do ASP.NET 2.0 e necessita de permissões especias (Windows 2000: permissão de escrita para o usuário "ASPNET"  / Windows 2003: permissão de escrita para o usuário "Network Service" e permissão adicional para leitura dos diretórios acima). Se seu esta pasta já tiver sido criada, não a sobrescreva ou você perderá as estas permissões especiais. Se ela não existe ainda, pergunte ao seu provedor de hospedagem para dar direito de escrita ao usuário ASPNET. Sem essas permisões o código do MWPSK não poderá armazenar suas informações .
  • O My Web Pages Starter Kit necessita de um nível de confiança médio (Leia mais). Usualmente o pode ser necessário que o servidor de hospedagem tenha que configurar um nível de segurança médio no arquivo machine.config. De qualquer forma, as especificações estão comentadas no arquivo web.config. Nós recomendamos que você descomente estas especificações no arquivo web.config se você for trabalhar com o My Web Pages Starter Kit localmente e tenha certeza que o código adicional é compatível com o nível médio de restrições.
- Abra seu navegador web e escreva a URL de seu site My Web Pages Starter Kit. Depois de um período curto de tempo, o  My Web Pages Starter Kit criará os arquivos iniciais de dados em sua pasta App_Code e exibirá a página padrão de sua homepage.
- Altere sua senha de administrador clicando em "Administração ->Gerência de Usuários"
(nome de usuário inicial é: admin; senha de usuário inicial é: admin)
Após logar como administrador, vá para o link (administrator/newpassword.aspx)
- Configure seu web site clicando em "Administração -> Configuração do CMS"
  • NOTA: Se você não especificar um e-mail  e um servidor de envio (Smtp) todas as características e controles que enviam emails (como RESETAR Senha, Formulário de Contato, etc.) não conseguirão ser usadas.
3 Arquitetura
3.1 Camada de Interface
Arquivos ASPX são responsáveis por renderizar as páginas. páginas acessíveis aos usuários estão no diretório principal, enquanto que páginas de administração na pasta  "administration". Default.aspx funciona como centralizador de todas as páginas customizáveis do sistema (por exemplo essas que podem conter seu próprio conteúdo e controles). Adicionalmente, existem outros arquivos ASPX para efetuar buscas no site, fazer Login e alterar sua senha.

Uma página do My Web Pages Starter Kit pode conter então seções, que são UserControls (leia mais) herdados de SectionControlBaseClass. Para que um controle possa ser aberto e usado no My Web Pages Starter Kit, precisa atender aos seguintes requisitos:
  • Seu controle deve herdar de My Web Pages Starter Kit.Controls.SectionControlBaseClass
  • Em seu controle, você deve usar sempre uma classe que contém a lógica de negócio e os dados para a seção em particular (veja mais abaixo, Camada de Acesso a Dados).
3.2 Lógica do negócio
Classes Standard: tenha em mente isto: não utilize "data objects", e também não os adicione ao código de layout/UI.
3.3 Camada de Acesso a Dados
ASP.NET 2.0 em modo de confiança Médio permitirá a escrita de arquivos na pasta App_Data. A classe genérica "Persistable" simplifca o acesso aos dados.

Em ordem de criação de uma nova seção (vamos chamá-la por exemplo de MySection) que persistirá os dados, você precisará derivar sua classe Section<T>, onde <T> é  MySection.MySectionData
Sua declaração de classe deverá iniciar da seguinte forma:
class MySection : Section<MySection.MySectionData>

A Classe MySectionData deve ser uma classe interna de MySection. Todos os campos que você precisa de persistência deverão ser incluídas na classe interna como membros publicos. Em sua classe MySection você poderá acessar todos os membros da classe interna usando o membro _data herdade de Section<T>. Se você criar uma instância de sua seção e passar um identificado único ao construtor, os dados correspondentes a este ID é lido automaticamente da pasta App_Data e você poderá acessá-lo usando o membro _data.

Se em qualquer lugar de seu codigo você quiser alterar os dados guardados na pasta App_Data, você deverá chamar o método SaveData() de sua seção (herdada de  Section<T>).

Uma boa forma de começar a desenvolver suas próprias seções é a partir da seção HTML. Ela demonstra os princípios mais básicos disto em poucas linhas de código.
4 Coisas para relembrar por razões de segurança
4.1 Webmaster
Como webmaster você precisa relembrar as seguintes coisas:
  1. Por favor, alterar a senha do 'admin' deve ser a primeira coisa a fazer após a publicação do seu My Web Pages Starter Kit.
  2. Logue-se como admin e configure o servidor de envio (você pode descobrir qual é o seu com o seu provedor de hospedagem) e configure um Email para a conta do admin.
  3. Inscreva-se na lista de novidades do My Web Pages Starter Kit, assim você poderá receber avisos críticos de segurança.
  4. Avalie o servidor de hospedagem antes de escolher o  My Web Pages Starter Kit, a infra-estrutura e o tipo de conta.
    1. Não guarde informações pessoais em um serviço de hospedagem compartilhado, como por exemplo:
      • dados pessoais ou de outra pessoa
      • informações médicas
      • informação de cartão de crédito 
    2. Avalie se um servidor de hospedagem compartilhado atende com segurança a seus propósitos.
    3. Avalie se a comunicação sem criptografia é viável (nomes de usuários, senhas)
  5. Faça backup de seus dados regularmente baixando por FTP o conteúdo da pasta App_Data.
  6. Assuma responsabilidades pela manutenção de sua homepage:
    1. Quem receberá notificações de segurança?
    2. Quem fará backups regulares?
4.2 Desenvolvedor
Como desenvolvedor, você precisa lembrar dos seguintes itens:
  1. Não modificar as senhas (elas são "hasheadas").
  2. Não modfique o software de modo a encorajar o armazenamento de informações sensíveis, pois não poderão ser protegidas em um ambiente de hospedagem compartilhada, tais como:
    • dados pessoais ou de outras pessoas
    • informação médica
    • informação de cartão de crédito
  3. Considere as boas práticas de segurança quando estender e modificar o kit.
  4. Tenha certeza de estar inscrito na lista de novidades do My Web Pages Starter Kit para receber as últimas notícias em caso de um aviso de segurança.
  5. Mantenha contato com pessoas que você sabe ter alterado/estendido/desenvolvido o  My Web Pages Starter Kit e com isso ser notificado se um aviso de segurança caso aconteça.
  6. Sempre tenha com você uma cópia de seu código fonte, você pode precisar testar ou integrar mudanças baseado em dificuldades de segurança no futuro.
5 Configuring IIS for the Silverlight gallery
As long as XAML is not defined as a MIME type in IIS, the Silverlight plug-in can not be loaded correctly. To be able to display the Silverlight gallery, please configure your IIS as follows: (These steps are not necessary if you use IIS 7.0 or higher, since the XAML MIME type is already defined in this version.)
  1. Choose your website in IIS
  2. Open the context menu and choose "Properties"
  3. Select the register "HTTP-Header"
  4. Click on the button labeled "MIME Types..."
  5. If .xaml is not yet listed as a type, choose "New"
  6. Enter the following description:
    Extension: .xaml
    MIME type: application/xaml+xml
  7. Click "Ok", then choose "Apply"
Learn more