Todos já devem ter ouvido o ditado que diz: "Casa de ferreiro, espeto de pau" numa referência a algumas soluções que empregamos sem levar em conta a utilização de nossas melhores capacidades. Pejorativamente, esse ditado nos remete a uma imagem de desleixo, ou a famosa "gambiarra".
Seguindo a risca esse ditado, como programador PHP eu jamais deveria utilizar um CMS pronto como por exemplo WordPress, Drupal, Joomla, Expression Engine, etc, para desenvolver o meu site / blog pessoal.
Não estou querendo dizer que os CMS´s citamos acima são ruins, muito menos "gambiarras" (apesar de ter sérias ressalvas a respeito do Joomla), mesmo porque, já utilizei CMS´s com ótimos resultados em dois projetos grandes.
Porém, um dos meus principais objetivos sempre foi desenvolver um sistema próprio para criação e manutenção de sites, e mesmo sabendo que não seria uma tarefa fácil, resolvi ir em frente.
A principal razão de desenvolver um CMS próprio, foi ter controle total sobre o código (paranóia de programador). Assim, quando aparece-se algum problema, ou quando precisa-se adicionar um novo recurso, ou quando fosse necessário reavaliar a lógica de algum módulo, eu poderia ir direto ao ponto e executar a ação necessária com rapidez.
Outro motivo para a minha escolha, foi poder desenvolver um código HTML/CSS limpo, leve e compatível com todos os browsers. Afinal, todos nós sabemos que por melhor que seja um CMS, conseguir um código HTML/CSS com essas características é quase uma tarefa impossível, a não ser que o desenvolvedor do template seja expert no assunto.
Dessa forma, resolvi encarar o desafio mesmo sabendo que não teria o apoio de toda uma comunidade de desenvolvedores trabalhando em prol do seu CMS preferido. Eu teria pela frente um trabalho solitário e lento.
E finalmente estou começando com este site / blog pessoal que foi desenvolvido no que eu chamo de primeira versão do meu CMS. Evidente que ele ainda possue algumas falhas que irão aparecer agora com a utilização na prática do sistema. E também tenho uma grande lista de recursos para serem agregados nos próximos meses.
Segue uma lista resumida de recursos desta primeira versão:
- URL amigáveis
- 503 redirect header
- Canonização de URL
- SEO total
- Busca interna
- RSS
- Artigos com comentários
- Gravatar nos comentários
- Moderação de comentários
- Categorias
- Editor de menu
- Código XHTML e CSS válido
- Imprimir artigos
- Páginas de conteúdo
- Publicação de notícias ou artigos
O projeto utiliza
YAML como framework de CSS (principalmente para criação de layout CSS),
SMARTY como framework para templates e
XINHA como editor Wysiwyg. O restante foi 100% codificado por mim.
Quem quizer sugerir recursos, e até mesmo indicar falhas, fique a vontade!
Em tempo: Meu CMS ainda não tem nome e a principio usarei apenas para projetos pessoais e de clientes. Abaixo está uma imagem da página de publicação de artigos.