Pergunta

Eu precisa decidir sobre um método para armazenar um subconjunto do conteúdo em um site do SharePoint, de modo que quando eu excluir e recriar determinadas listas, como parte de um recurso de ativação, posso re-inserir todos os conteúdos de volta onde ele deve pertencer.Eu tenho uma ideia de mim, mas eu não sei se é o único método e o mais importante, o método certo.

Meu cliente tem me criação de um sistema do SharePoint para que eles possam comunicar-se com seus os clientes.O processo de negócio tem, talvez 5 fases em que (talvez mais, eu não sei mesmo porque eles não me diga tudo), e o sistema atual que eu tenho escrito nos últimos meses, é talvez 2 etapas.Isso atende o nosso prazo de completar os sistemas de segunda-feira da próxima semana...mas em que ponto o meu cliente está pensando em fazer o site ao vivo a partir de que ponto.

Em efeito, o seu trabalho com seus clientes será executado em paralelo com o meu trabalho para eles.Como eu completar o meu próprio trabalho em um servidor de teste, eu vou empurrar cada fase seguinte do processo para o servidor live.Os tempos de paralisação programados durante o período de não-business times (como um fim de semana) estará disponível, para mim, para executar essas empurra.Mantendo o ritmo para que o meu desenvolvimento é mais rápido do que o real processo de negócios é o meu problema e o off-topic...então, vamos voltar ao problema que eu disse no início deste post.

Neste sistema, temos conjuntos de características que irá criar listas para os seus tipos de conteúdo associados e tipos de campo, quando ativada, e eliminar essas listas quando o recurso for desativado.A maioria das atualizações, não precisará desativar e reativar esses recursos, tais como alterações de fluxo de trabalho, ações personalizadas, formulários personalizados, e semelhante laia.Mas existem algumas peças que não exigem isso.No meu servidor de teste, é bom para mim, para apagar a lista, mas depois que o site estiver vivo e real correspondência de dados, é absolutamente inaceitável para fazer isso.Então, quando eu preciso para implementar uma nova mudança na funcionalidade, eu preciso ser capaz de armazenar o presente atualmente de dados em várias listas, desativar o recurso, reativar o recurso, e restaurar todos os seus dados.

Talvez eu tenha talha-me pela minha própria petard com o recurso de sistema é implementado.Infelizmente, a necessidade para mais tarde fazer vários locais do projeto" significava que eu tinha que fazer um monte de o meu código com o conceito de "Pode ser implantado repetidamente" em mente.

Meu plano atual é executado através de listas e bibliotecas que serão afetados pela característica particular que está a ser redefinido.Arquivos e todas as suas versões serão salvas em um diretório no servidor.Em seguida, um conjunto de arquivos de texto que será usado para armazenar todos os valores de campo para os itens.Isso inclui um monte de cross-lista de referência de pesquisas que precisam ser mantidos, mas que é bastante simples.Então, eu desativar o recurso, implantar a nova solução, e reativar o recurso.Fazer upload de todos os arquivos na ordem especificada pelo seu versões e atualizá-los com o armazenado campos para essas versões, para que possamos manter a versão de estrutura.Como cada um é carregada primeiro, o novo ID é escolhido, e todas as pesquisas no resto dos arquivos que são atualizados (de alguma forma que eu me certificar de que eu não atualizar novamente mais tarde com um valor incorreto, é claro).Após isso, execute através de todo o resto dos itens na ordem mais propício para a manutenção de dados relacionais correto.Isso aproximadamente resume o que o meu plano atual é.A minha vantagem, não há tempo fluxos de trabalho em execução no sistema que serão afetados por ele, portanto não há nada que eu terá que se preocupar em fazer-se de que nada é "ainda está em execução" quando eu faço essas coisas.

Eu realmente não sei todos os contras dessa abordagem...Eu posso imaginar que eles são bastante pesadas.Mas eu tenho certeza que outras escolhas que eu mesmo tenho, e minhas pesquisas ainda não apareceu nada.Existe alguém que pode pensar em uma idéia melhor?Ou alguém apenas me diga o que eu realmente não tenho outra escolha?Obrigado antecipadamente!

Foi útil?

Solução

Bem, boa sorte...Eu não acho que você tem outras opções neste momento, se você realmente precisa de apagar as coisas.No entanto, se você pudesse, de alguma forma, vêm com uma forma de não ter que fazer isso...

No entanto, algumas coisas que eu posso pensar - readding tudo o que poderia levar horas, se alguém favoritos de um item ou envia o link para alguém, ele não funcionar após uma actualização, a necessidade de fazer alterações no esquema vai ser uma dor.E como é geralmente o caso com o SharePoint, há certamente alguns problemas, que espreita logo abaixo da superfície para morder você quando você chegar lá.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top