Como criar solução de hotfolder

3

Então, recentemente recebi uma solicitação para criar a solução a seguir. Tenho certeza de que há várias maneiras de fazer isso, inclusive escrever um script personalizado, mas eu queria saber a melhor maneira recomendada de resolvê-lo.

Eles gostariam de ter a seguinte estrutura de arquivos. Os arquivos só seriam armazenados nos subdiretórios mais profundos (Citações e Imagens).

  • Clientes
    • John Doe
      • Citações
      • Imagens
    • Jane Doe
      • Citações
      • Imagens
    • Jack Doe
      • Citações
      • Imagens
    • Carl
      • Citações
      • Imagens

No entanto, ao mesmo tempo, eles gostariam de poder ver

  • Todas as cotações
  • Todas as imagens

Que conteria todos os arquivos (e links para) todos os arquivos agregados dos subdiretórios associados.

Pessoalmente, acho que a solução mais simples é a melhor (em vez de ter que instalar um Digital Asset Manager ou algo parecido com isso), mas eu realmente gostaria de ouvir o que você acha que é a melhor maneira de resolver esse problema, independentemente de complexidade.

    
por Brett G 11.07.2012 / 18:19

4 respostas

3

O Windows Vista e versões posteriores vêm com a capacidade de salvar pesquisas de arquivos e executá-las novamente double-klicking - isso pode ser suficiente para você.

Se você precisar de algo que seja independente do cliente / baseado em servidor, poderá criar diretórios para "Todas aspas" e "Todas as imagens" e executar periodicamente um script criando links físicos ou simbólicos para os arquivos de imagem / cotação no abaixo dos diretórios do usuário com o nome de usuário como o prefixo para evitar conflitos de nomenclatura (como "jane doe - holiday.jpg" ). Você poderia usar um serviço como ChkMagic que estaria vigiando seus diretórios e acionaria o script somente quando o conteúdo tiver sido realmente modificado.

Ambas as soluções exigiriam que você definisse as permissões do sistema de arquivos apropriadamente (ou seja, cada usuário deveria pelo menos ser capaz de percorrer os diretórios do usuário estrangeiro e ler os arquivos contidos).

    
por 18.07.2012 / 12:01
1

Quantos clientes existem? Se realmente houver apenas quatro como você lista, você pode usar um namespace DFS para agregar todos os compartilhamentos sob cada cliente. Isso não é viável com mais de um punhado de usuários, já que você precisa vincular cada subpasta ao namespace.

    
por 11.07.2012 / 18:39
1

Se você tivesse a configuração do SharePoint em seu servidor Windows Server 2003 (que está disponível gratuitamente), você poderia criar uma biblioteca de documentos, com tipos de conteúdo para Cotações e Imagens. Ambos os tipos de conteúdo teriam uma coluna definida para o Nome do Cliente - você poderia torná-la uma lista de seleção e atribuir a uma pessoa específica a responsabilidade de atualizar essa lista. Nome do cliente é definido conforme necessário.

Os arquivos são salvos nessa biblioteca de documentos e devem receber um tipo de conteúdo e, em seguida, o nome do cliente selecionado.

Você pode então criar uma visão da biblioteca de documentos para cada Cliente e uma para Todas as Imagens e uma para Todas as Citações.

    
por 19.07.2012 / 15:50
1

Infelizmente, o Windows não suporta esse sistema de arquivos "Fan-out". Não há como criar um diretório entre dois diretórios separados.

Sua melhor aposta seria seguir um destes procedimentos:

A) Crie uma estrutura como esta:

  • Clientes
    • John Doe
      • Citações
        • Todas as cotações
      • Imagens
        • Todas as imagens
    • Jane Doe
      • Citações
        • Todas as cotações
      • Imagens
        • Todas as imagens
    • Jack Doe
      • Citações
        • Todas as cotações
      • Imagens
        • Todas as imagens
    • Carl
      • Citações
        • Todas as cotações
      • Imagens
        • Todas as imagens

B) ou assim:

  • Clientes
    • Todos os clientes
      • Citações
      • Imagens
    • John Doe
      • Citações
      • Imagens
    • Jane Doe
      • Citações
      • Imagens
    • Jack Doe
      • Citações
      • Imagens
    • Carl
      • Citações
      • Imagens

O primeiro layout é provavelmente a solução mais fácil para a maioria dos usuários, mas às vezes é difícil de implementar. Sugiro evitar ter cópias duplicadas das "pastas compartilhadas" e tentar replicar todas as alterações de cada pasta entre si. Isso poderia ser feito facilmente usando um shortcut para um "diretório compartilhado" ou, se você estiver mais confiante, um junction para o "diretório compartilhado". Este último teria o benefício de ser pesquisável dentro de suas próprias pastas ... mas seria mais complexo para configurar inicialmente.

O segundo método é mais fácil de configurar / administrar / gerenciar pelo administrador, mas não é tão amigável para o usuário. Você criaria um único diretório do tipo "Todos os usuários" e informaria seus usuários sobre sua existência / localização. O lado negativo disso é que muitos usuários simplesmente não vão usá-lo. Ao invés de olhar em dois lugares (potencialmente dobrando o tempo procurando por um arquivo), eles simplesmente optarão pela abordagem mais simples de copiar "documentos compartilhados" para sua pasta privada ... ou duplicar tudo.

    
por 20.07.2012 / 23:03