desenv-web-rp.com

Como posso decidir se devo lançar meu próprio software ou usar um CMS empacotado (e plugins apropriados)?

Sou um engenheiro de software com pouca experiência na Web atualmente no processo de querer realmente usar meu host e nome de domínio para algo que não seja um depósito de arquivos para arquivos aos quais preciso conceder acesso a outras pessoas. Meu plano é de alguma forma implantar um site e blog pessoal/profissional, usando produtos prontos para uso da FOSS, software personalizado ou componentes prontos para uso com módulos/plug-ins personalizados.

Meus requisitos são:

  1. HTML semântico (bem formado, uso adequado de atributos, microformatos, quando apropriado, uso de CSS para estilo e HTML para marcação)
  2. Validando HTML e CSS (XHTML, HTML4, HTML5 são todos aceitáveis ​​- desde que valide imediatamente)
  3. Suporte para um blog
  4. Suporte para editar e gerenciar meu currículo em formato HTML, além de gerenciar arquivos enviados nos formatos PDF, ODT e DOC que disponibilizo para download
  5. Escrito em um idioma que eu conheço e meu Host suporta - PHP preferido, pois é mais fácil para meu Host e eu também o conheço
  6. Fácil de obter ou escrever um tema para
  7. Suporte para páginas estáticas que mudam com pouca frequência (sobre mim), páginas estáticas que mudam algumas vezes (listas de projetos), páginas dinâmicas (blog, comentários) e formulários (entre em contato comigo)
  8. Joga bem com outras ferramentas no mesmo ambiente - uso o Trac no mesmo host para gerenciamento de projetos e pode implantar outros softwares, como uma implantação pessoal do MediaWiki
  9. Fácil de integrar com outras mídias sociais (Twitter? Facebook? Pandora?) - não requer, mas seria legal
  10. Geração e manutenção do mapa do site e/ou robots.txt

Minhas perguntas:

  • Que solução FOSS, se houver, seria apropriada para mim? Eu brinquei com Drupal e WordPress no passado - WordPress me pareceu uma ferramenta sólida, mas na época era muito focada no blog (eu entenda que mudou mais recentemente para ser mais parecido com o CMS).
  • Quais soluções gratuitas (mas não de código aberto) podem ser apropriadas para mim? Eu preferiria ter acesso total à fonte, mas não é um requisito.
  • Se eu vou fazer o meu próprio, por onde devo começar? Eu preferiria não fazer o meu próprio - minha formação em engenharia de software me diz que meus requisitos devem ser comuns e que eu possa encontrar algumas soluções existentes que eu possa combinar para fazer esse trabalho.

Obrigado.

11
Thomas Owens

A pergunta de compra versus construção é eterna. Eu diria que WordPress e Drupal ambos atendem aos seus critérios. Eu tenho mais experiência com WordPress, então eu faria isso no WordPress. Para atender aos seus requisitos:

  1. HTML semântico (bem formado, uso adequado de atributos, microformatos, quando apropriado, uso de CSS para estilo e HTML para marcação)

    Sim , a maioria temas para WordPress usa xhtml por padrão sem problemas. Marcação relacionada a microformatos, você provavelmente precisará fazer manualmente em uma exibição html, embora possa haver plugins que facilitem isso.

  2. Validando HTML e CSS (XHTML, HTML4, HTML5 todos aceitáveis ​​- desde que valide fora da caixa)

    Sim , a maioria dos temas para WordPress valida ou está muito perto de validar sem muitos problemas. Há uma ótima documentação para temas.

  3. Suporte para um blog

    Sim , absolutamente.

  4. Suporte para editar e gerenciar meu currículo em formato HTML, bem como gerenciar arquivos enviados nos formatos PDF, ODT e DOC que disponibilizo para download

    Sim , basta ter o currículo como uma página estática e gerenciar os arquivos enviados usando a ferramenta de gerenciamento de mídia nativa no WordPress.

  5. Escrito em um idioma que eu conheço e meu Host suporta - PHP preferido, pois é mais fácil para meu Host e também estou familiarizado com ele

    Sim , WordPress = PHP + MySQL + Apache funciona melhor para mod_rewrite

  6. Fácil de obter ou escrever um tema para

    Sim , consulte Desenvolvimento de temas

  7. Suporte para páginas estáticas que mudam com pouca frequência (sobre mim), páginas estáticas que mudam algumas vezes (listas de projetos), páginas dinâmicas (blog, comentários) e formulários (entre em contato comigo)

    Sim as páginas são gerenciadas em WordPress na parte Páginas da interface. Os formulários de contato funcionam bem com plug-ins como Formulário de contato 7

  8. Joga bem com outras ferramentas no mesmo ambiente - eu uso o Trac no mesmo host para gerenciamento de projetos e pode implantar outro software, como uma implantação pessoal do MediaWiki

    Sim , embora seja necessário adicionar algumas regras de reescrita para que nem tudo aponte para o WordPress. Eu corro WordPress em um subdiretório e deixo que ele lide com tudo normalmente. Pode ser necessário adicionar um especificador para que WordPress ignore um radical de diretório do MediaWiki.

  9. Fácil de integrar com outras mídias sociais (Twitter? Facebook? Pandora?) - não requer, mas seria legal

    Sim , através de plugins. Por padrão, você também pode inserir feeds RSS nas barras laterais WordPress.

  10. Geração e manutenção do mapa do site e/ou robots.txt

    Sim , Google Sitemap Generator .

6
artlung

Eu usei Wordpress para configurar vários sites, cada um com necessidades diferentes, e acho que Wordpress atenderia às suas necessidades também:

  • http://chaos.trader.name/ - Principalmente um site de informações orientado a página, com alguns blogs.
  • http://ludus.unicornsrest.org/ - Principalmente um blog, mas com uma estrutura de página profundamente aninhada. Eu escrevi um plug-in para criar links para páginas dentro de postagens enquanto me permite reorganizar as páginas.
  • http://driia.com/ - O site de negócios da minha esposa, o blog e o site de vendas. Escrevi plugins que permitem agrupar automaticamente postagens em páginas com base em categorias e tags, e reconhecer que as postagens com uma tag específica representam jóias ou peças de arte que estão à venda. Os preços de venda são armazenados como meta-dados nas postagens.
  • http://barkingmad.org/ - Site de publicidade para um grupo de entretenimento sem fins lucrativos.

O número e a qualidade dos temas e plug-ins disponíveis para Wordpress são impressionantes, mas a licença GPL significa que qualquer coisa que não atenda completamente às suas necessidades pode ser melhorada como você achar melhor.

2
Craig Trader

Acho que você não encontrará nenhum projeto FOSS que faça o que você deseja que ele faça OTB. WordPress é sólido, mas você precisa trabalhar um pouco para gerar o que deseja. Drupal pode ser mais uma dor de cabeça do que parece à primeira vista. Sei que as pessoas adoram e sei que tentei, mas prefiro não me preocupar em manter tantos hacks entre as atualizações de versão.

Francamente, eu iria com WordPress se eu estivesse no seu lugar, e criar plug-ins personalizados para o que você precisa, se você ainda não encontrar alguns do FOSS.

A ressalva é que, desde que Matt Mullenweg (CEO da Automattic, a empresa por trás do WordPress) começou a atrair Richard Stallman para todos, ele acredita e defende que todo e qualquer tema (código do tema, não images/css) e plugins (código do plugin) é GPL em virtude de ser um trabalho derivado de WordPress na visão dele (o que eu pessoalmente acho distorcida). Portanto, você é bom se fizer isso por si mesmo, mas se tiver "distribuição", como dar os plug-ins a 2 pessoas, você pode estar legalmente vinculado ao sistema operacional por eles, o que é algo que você pode ou não querer .

1
intlect

Depende do que você quer fazer e sai disso:

  1. Aprenda uma pilha de tecnologias
    Eu escrevi a maior parte do código que impulsiona meu site pessoal como um exercício de aprendizado para acompanhar as mudanças mais recentes na tecnologia em que estava trabalhando e o mudei à medida que meu foco mudava - originalmente um clássico ASP site, foi movido para o ASP.NET 1.1, depois para o 2.0 e agora está em execução no ASP.NET MVC 2.0 após uma atualização recente do ASP.NET MVC 1.0
  2. Basta executar seu site
    No trabalho, e em alguns locais da igreja que corro no meu tempo livre, usei software em pacote - no trabalho, estamos falando de CMSs "empresariais" (MOSS, Tridion), para os locais da igreja é FOSS ( N2 CMS ) - porque eles ofereciam recursos acima e além daqueles que eu estava preparado para escrever.

Se sua profissão está construindo sites, há um argumento para usar a tecnologia que você está "vendendo"; se houver outra coisa, recomendo que você gaste seu tempo com o conteúdo, e não com a tecnologia.


Respondendo ao comentário

Então, eu recomendaria escolher um da prateleira - não posso oferecer muitas recomendações na esfera PHP, pois essa não é minha especialidade. Se você pode lidar com algum C # N2 CMS é muito flexível, mas não possui a enorme base de plug-ins/temas de algo como o WordPress, que pelos sons provavelmente atenderia às suas necessidades de maneira justa bem...

1
Zhaph - Ben Duguid

Eu construo CMSs de nível empresarial para ganhar a vida ... e eu pessoalmente odeio sistemas prontos para uso como Joomla, Wordpress e Drupal. Aqui estão as minhas razões:

1) Os locais em que trabalhei tiveram esses (tipos de) pacotes explorados várias vezes porque não fomos rápidos o suficiente para atualizá-los ... e, em alguns casos, as atualizações podem ser semanais. Depois de ser hackeado, você será questionado seriamente por que já seguiu esse caminho ... FEDE.

2) Os modelos do Wordpress são enlouquecedores. Um terá uma área de administração com todos os recursos, enquanto o próximo não possui e espera que você invadir o código. Onde procurar? AHHHHH !!! Eu implantei muitos deles, mas sempre me dói. Na minha opinião, Wordpress é um sistema de blog ... use-o para o que ele pretende fazer.

3) Coloquei centenas de sites Joomla (e Mambo) em um trabalho anterior. Mesmo quando você souber o que está fazendo, boa sorte tentando sair dessa aparência do tipo "layout Joomla" ... especialmente se o tempo não estiver do seu lado. O mesmo vale para o Wordpress ... você pode DIZER quando estiver em um site Wordpress. Não, obrigado ... Sou pago para apresentar o trabalho original.

4) treinamento. Tente explicar a administração do Joomla ou Drupal para alguém em 5 minutos ou menos. O CMS que construí pode ser ensinado a alguém com um parágrafo de instruções escritas (ou menos), porque o construí para incluir apenas as ferramentas de que cada site específico precisa ... caso contrário, o botão desaparecerá. Desafio você a tentar treinar alguém com menos de uma lista telefônica de instruções, especialmente se elas não forem tecnicamente esclarecidas.

5) Cumprimento de padrões ... é algo que pessoalmente não vou comprometer. Eu controlo tudo o que meu CMS gera e o construí de modo que uma dúzia de linhas de código possa ser inserida em qualquer modelo compatível com HTML em questão de minutos para produzir sempre o código compatível. Wordpress está bom nisso, Joomla e Drupal nem sempre são muito.

6) Comercialização. Todos os CMS fazem as mesmas coisas. Mas tente entrar em contato com um cliente em potencial e dizer "Gostaria de cobrar muito para personalizar um produto pronto para uso gratuito" vs. "Aqui está um sistema criado especificamente para a sua necessidade" Se é um bom produto, você ganhará esse negócio quase sempre. No seu caso, isso não importa ... mas quem sabe, talvez você possa aproveitar a funcionalidade para projetos futuros ... projetos pagos ...

Naturalmente, existem desvantagens. Você constrói tudo sozinho, o que leva tempo. Se você estiver fazendo isso em vários sites, a economia de escala reduz o impacto. Você não tem um exército de pessoas que encontra vulnerabilidades ... novamente, ter várias implantações pode ajudar o código a evoluir. Mas, se você tiver conhecimento para escrever código de qualidade, é uma ótima solução.

Boa sorte.

1
bpeterson76

Parece que, para o seu caso de uso, um CMS empacotado é provavelmente o melhor caminho a percorrer.

Faz alguns anos desde que eu avaliei PHP o CMS e, na época, meu principal requisito era a extensibilidade limpa. Na época, o Joomla era um forte candidato e Xaraya parecia intelectualmente interessante, embora o ciclo de desenvolvimento parecesse lento.

Se você estiver interessado em experimentar algumas, o site opensourceCMS permite que você tente sem precisar se instalar. A última vez que tentei, parecia muito menos interessante, mas acho que você precisa pagar as contas. Muitos dos CMS também executam seus próprios sites de demonstração (por exemplo, Joomla Demo , Xaraya Demo )

0
JasonBirch

Se você tem uma tonelada de tempo e uma coceira que não desaparece - sim, faça você mesmo. Caso contrário, instale WordPress (" famosa instalação de 5 minutos ") e aguarde 2 horas ... isso é tudo o que você precisa para ter uma idéia muito boa.

Queria postar alguns comentários em resposta às respostas anteriores - você pode definitivamente criar sites que são "páginas" com WP não apenas blogs (e é muito bom para criar sites com blogs integrados) e concordar O comentário de @ intlect sobre temas. Pode haver uma enorme diferença na qualidade de alguns temas (também um bom lugar para aprender/ver como WP funciona) - fui mordido algumas vezes ao atualizar WP para descobrir que o tema não é compatível com a versão mais recente (e você descobre o quão bom é o suporte do desenvolvedor).

0
Dan

É claro que existe uma terceira opção, você poderia usar um CMS menos "pesado" como MODX isso permitiria a opção de não ter que reinventar a roda de todas as coisas padrão do CMS ( gerenciamento de usuários, gerenciamento de documentos etc.), oferecendo um ambiente fácil e flexível para criar seu próprio código. Eu usei vários CMS 'e todos eles têm seu nicho, mas se você quiser algo que seja fácil de desenvolver e leve o suficiente para que você possa entendê-lo sem semanas de escavação (alguns dos sistemas CMS são animais verdadeiramente poderosos ... algo que você provavelmente não precisa para um site pessoal). O MODX é basicamente construído para exatamente o tipo de coisa que você deseja fazer, fornece um núcleo de recursos e depois você adiciona o seu. Além disso, as pessoas compartilham seu código, para que você encontre trechos, módulos etc. que outros tenham usado.

0
Astaldaran