Umbraco. Quais os benefícios desse sistema de gestão de conteúdos (CMS)?

Como o Umbraco é open source, o seu código está disponível para qualquer pessoa, permitindo às empresas de qualquer dimensão, escala ou orçamento utilizá-lo a um custo razoável

15-06-2022Ivan ValadaresArtigos & Media

Introdução

Para a maioria das empresas é extremamente benéfico ter um sistema de gestão de conteúdos (CMS) para facilitar a gestão dos mesmos dentro do seu website, de forma a manterem o seu conteúdo relevante e interessante. Uma das principais vantagens da utilização do CMS é a sua autonomia nas pequenas alterações de conteúdo – não sendo preciso a intervenção de um programador – facilita e potencializa a gestão interna da empresa.

Existem centenas de sistemas de gestão de conteúdos, como por exemplo o Umbraco, Drupal, Joomla ou o Wordpress, sendo este último o mais popular. Este artigo foca-se no CMS Umbraco – as suas capacidades, vantagens e desvantagens em relação a outros CMS’s. Serão ainda destacadas as vantagens da nova versão 10 e abordadas as suas novidades.

O Umbraco é um dos mais antigos sistemas de gestão de conteúdos open-source disponíveis no mercado, mesmo tendo sido originalmente lançado em 2000. Tem um aspeto e funcionamento moderno devido às suas constantes atualizações. O Umbraco é desenvolvido tendo como base a Framework Microsoft ASP.NET MVC sendo, entre todos, o CMS mais popular a utilizar esta framework.

Existem mais de 400.000 websites (Carlsberg, Peugeot, Sony, Heinz, Vogue, Microsoft, McDonald’s, Mercedes Benz, Amnesty International e outros) alimentados pelo Umbraco CMS – desde startups e instituições de caridade a marcas globais.

No entanto, de acordo com a w3Techs, estes websites representam 0,1% de todos os websites que usam um CMS, tornando assim o Umbraco representante de uma pequena quota face ao mercado.

Como o Umbraco é open source, o seu código está disponível para qualquer pessoa, permitindo às empresas de qualquer dimensão, escala ou orçamento utilizá-lo a um custo razoável. As suas possibilidades de desenvolvimento são ilimitadas, podendo serem utilizadas para construir quase qualquer tipo de aplicação web - intranet’s, portais empresariais, lojas online, websites complexos, soluções web com imensas integrações - ou mesmo apenas sites pessoais ou blogues.

 

Desenvolvimento

O Umbraco foi concebido de forma a facilitar e encurtar o prazo das tarefas dos programadores como consequência agilizando o desenvolvimento de projetos. Para isso inclui algumas características únicas e funcionalidades out-of-the-box como:

  • Uma simples gestão multilingue. Facilita a tradução de páginas e estabelece um processo de aprovação para publicação.
  • Uma pesquisa poderosa (Elastic Search).
  • Suporte multiutilizador e de perfis.
  • Gestão de permissões de utilização e opções de publicação. Existe um controlo total sobre a concessão de acesso específico a editores e grupos de utilizadores tanto a nível de Backend como Frontend.
  • Funcionalidade de SEO. Estas garantem tirar o máximo partido dos planos marketing. O SEO é fundamental para o sucesso em casos como lojas online.
  • Editor de imagens. Ao fazer upload de imagens e possível otimizá-las imediatamente para as áreas necessárias e até mesmo mudar o seu ponto focal.
  • Pré-visualização sofisticada. É possível ver como uma página se irá apresentar através de múltiplos ecrãs/dispositivos antes de a publicar.
  • Agendamento, rollback e audit-trail.
  • Construtor de Formulários, que permite construir formulários visualmente sem utilizar qualquer código.
  • Uma longa lista de extensões. Estas disponibilizam funcionalidades uteis aos projetos e podem ser misturadas entre elas.

 

Flexibilidade técnica

O Umbraco é construído sobre a framework ASP.NET MVC da Microsoft, uma infra-estrutura robusta que é simultaneamente extensível e flexível, tornando essencialmente tudo possível durante o desenvolvimento de uma solução, estando também preparada para o futuro para o desenvolvimento contínuo de funcionalidades.

O Umbraco potencializa todas as funcionalidades que esta framework oferece, como por exemplo, permitir que formulários complexos e validação de dados sejam implementados facilmente e de forma modular. O padrão de desenho do ASP.NET MVC é o mais adequado ao desenvolvimento da web moderna, o mesmo incentiva principalmente à separation of concerns (SoC), um conceito que melhora a extensibilidade e a capacidade de manutenção do sistema. Isto significa que novos desenvolvimentos ou alterações podem ser feitas sem as preocupações de alterações das funcionalidades correntes.

A utilização desta framework torna o Umbraco bastante seguro em comparação com a maioria das plataformas CMS, pois o mesmo implementa o mecanismo de segurança CAS (Código de Segurança de Acesso) fazendo com que a sua segurança seja baseada na identidade.

As linguagens ‘strongly typed’ da Microsoft permitem aos programadores detetar erros precocemente no momento da compilação, bem como a criação de testes unitários para validar se os componentes do site estão a funcionar como o expectável.

 

Edição de conteúdos

A interface contém todas as características que se espera de um CMS moderno - é intuitiva e torna a experiência de edição de CMS suave e reativa.

A experiência de utilização é tradicional, pois o funcionamento deste é semelhante ao gestor de ficheiros do Windows. Possui um editor de conteúdos flexível e é bastante simples de utilizar. O conteúdo é organizado numa estrutura semelhante a uma árvore que lhe dá uma hierarquia e torna fácil encontrar o seu conteúdo.

Adicionar tipos de documentos personalizados (exemplo: artigos de notícias, páginas básicas) é simples. As composições, que são conjuntos personalizados de campos que se podem incluir nas páginas ajudam a poupar tempo e esforço para as páginas que utilizam os mesmos campos. Os editores dos campos são construídos em AngularJS permitindo a sua customização.

 

Integração com outras plataformas

Um CMS moderno precisa de trabalhar em conjunto com uma variedade de software. O Umbraco é suficientemente flexível para se integrar eficientemente com todos os tipos de aplicações e plataformas, tais como:

  • Ferramentas de análise e estatística da Web - para recolher dados sobre tráfego online e visitantes do website (ex. Google Analytics, Adobe Analytics).
  • Plataformas CRM - para gerir relações com clientes (ex. Salesforce, SugarCRM, Microsoft Dynamics).
  • Sistemas ERP - para gerir processos internos tais como contabilidade, facturação, ou folha de pagamentos (ex. SAP Business One, Oracle E-Business Suite).
  • Gateways de pagamento - para criar páginas de pagamento seguras, processar transacções (ex. PayPal, PayU).
  • Redes sociais - para partilhar conteúdos em redes sociais (ex. Facebook, Twitter, LinkedIn).
  • Email marketing software - para criar, enviar, e seguir emails newsletters (ex. MailChimp, SendGrid).
  • Ferramentas de automatização de marketing - para gerir o Inbound Marketing (ex. HubSpot, Marketo, Eloqua, Pardot).
  • Software de serviço ao cliente - para automatizar o serviço ao cliente (ex. Zendesk, Freshdesk).
  • Serviços de business intelligence - para gerir dados e estatísticas comerciais.
  • SOAP/REST APIs - para ligar com outro software através de API ou serviços web.

 

Headless CMS

O Umbraco pode funcionar tanto como um CMS monolítico ou como um CMS Headless. No segundo caso permite construir um sistema de entrega de conteúdos altamente escalável e modular. Em vez de apresentar as páginas por si só, disponibiliza a informação através de uma REST API para ser consumida, renderizada e utilizada por outras aplicações – que podem ser do foro móvel ou interfaces web em tecnologias modernas tais como o React, Angular ou Vue.

 

Desempenho e Escalabilidade

Quando configurado corretamente, o Umbraco tem um alto desempenho pois utiliza caching e indexação para otimizar o seu desempenho e entrega de conteúdo. Constantes melhorias e otimizações do código base ajudam a assegurar que este funcione o mais rápido possível tanto para os utilizadores de CMS (o que é ótimo para gerir um grande número de páginas), como para os utilizadores do Frontend em todos os browsers e dispositivos modernos. Na últimas versões (v8,v9), o código base foi reformulado e inclui uma nova abordagem de cache para melhorar o desempenho, fiabilidade e estabilidade.

 

Documentação e comunidade

O Umbraco fornece documentação detalhada e atualizada sobre a sua API. Quando o recurso a esta não é suficiente para ultrapassar diferentes problemas e barreiras, é possível recorrer ao apoio de uma grande comunidade ativa onde as pessoas partilham os seus conhecimentos e experiência.

Apesar do código ser open-source é também possível, quando necessário, contar com o apoio técnico da Equipa Umbraco.

 

Expansível & rápido

O desempenho do Umbraco torna-se mais evidente quando existem elevados volumes de utilizadores a acederem e este está instalado na cloud, em servidores com configurações avançadas. O Umbraco pode ser configurado num ambiente com load balance em múltiplos websites e está também disponível como um serviço de cloud, o que significa que pode ser facilmente escalado - assegurando que a aplicação seja sempre capaz de satisfazer as exigências com que é confrontada.

 

Desvantagens

Como qualquer produto existente no mercado o Umbraco também apresenta algumas desvantagens em relação aos seus concorrentes:

  • Tempo de desenvolvimento. O Umbraco tem uma curva de aprendizagem rápida para as suas funcionalidades base existentes. No entanto, quando é necessário o desenvolvimento de novas funcionalidades e integrações, o código à medida acaba por demorar mais tempo;
  • Extensões. Existe uma longa lista de extensões, mas a maioria não é compatível entre versões do Umbraco e a quantidade é muito inferior a outros CMS como por exemplo o Wordpress;
  • Construtores de páginas. O Umbraco é mais virado para os programadores, carecendo por vezes de funcionalidades para outros tipos de perfil, como por exemplo construtores de páginas;
  • É ótimo poder-se customizar ou criar componentes no Umbraco recorrendo ao Angular, mas enquanto o Umbraco tem vindo a acompanhar as mais recentes versões do ASP.NET, o Angular continua na versão JS (1.1.5) enquanto a versão mais recente é a 13;
  • Muitos sítios desenvolvidos em versões prévias ao Umbraco 8 são lentos, tanto do ponto de vista da edição de conteúdos, como do utilizador de front-end.

 

Umbraco 8 vs 9

Pela primeira vez, e como um dos poucos CMS' no mercado, o Umbraco está totalmente desenvolvido em .NET 5 e ASP.NET Core. O .NET 5 foi construído a partir do 0 com o desempenho em mente. Tira partido da nova arquitetura de hardware e software de uma forma que as frameworks mais antigas não o fazem. E como o Umbraco está em .NET 5, agora também colhe estes benefícios de desempenho melhorado.

Com esta evolução, o Umbraco é agora mais fácil de aprender e manter, bem como mais flexível e mais fácil de desenvolver do que nunca. Permite aos programadores tirar o máximo partido não só das melhorias de APIs e serviços, como também das melhorias de desempenho fornecidas pelo Microsoft ASP.NET Core. Isso garante-lhe acesso a novas tecnologias como Hosted Services, Razor TagHelpers, MSDI Microsoft Dependency Injection, View Components e .NET CLI.

Devido aos notáveis ganhos de desempenho na nova framework, as soluções em Umbraco são ainda mais rápidas, menos intensivas em recursos, e mais escaláveis.

Dependendo das operações que se estiver a fazer, isto pode significar um aumento percentual de 100s (se não 1000s) no desempenho em comparação com as versões mais antigas de Umbraco. Além disso, a escalabilidade a nível de hardware é muito mais poderosa e efetiva.

A utilização de .Net 5 tornou o Umbraco Cross-Plataform passando a ser compatível com todas as plataformas que funcionam com .NET Core, tais como macOS e Linux. Deixou de ter apenas hosting em máquinas Windows e passou a ter um leque mais vasto de opções, podendo mesmo ser instalado por exemplo num Raspberry PI. Como programador, é possível usar outros editores de código de sistemas não Windows como por exemplo o Rider.

A mudança para .NET Core é um game-changer, traz uma série de benefícios e assegura uma base sólida para permanecer relevante tecnologicamente durante os próximos anos, tornando o Umbraco adaptável ao futuro tecnológico.

De forma a apoiar esta mudança, as extensões mais importantes, como por exemplo o USync, foram revistas e atualizadas para serem compatíveis com a versão 9 e a documentação foi revista e atualizada.

 

Novidades do Umbraco 10

A 16 de junho de 2022 é lançada aquela que é considerada a melhor versão de Umbraco, com alterações significativas. Com o lançamento desta, são também disponibilizadas as atualizações das bem conhecidas extensões Umbraco Forms 10 e Umbraco Deploy 10, entre uma longa e vasta lista de extensões suportadas pela comunidade. Entre as novidades, destacam-se a:

  • Migração completa para .NET 6;
  • Possibilidade de utilização de base de dados SQLite;
  • Capacidade de utilização de “nullable reference types” nos endpoints da API da plataforma;
  • Categorização de suporte a longo termo (LTS – Long Term Support), assegurando assim uma garantia de estabilidade e evolução.

A cadência de releases foi agora atualizada e partilhada com a comunidade, sendo publicadas minor versions a cada seis semanas, e major versions a cada seis meses. Assim, a versão 11 está prevista ser lançada em dezembro já adaptada ao novo .NET 7.

 

Conclusão

Neste ponto, o Umbraco é um CMS maduro com uma base de código sólida que o torna a solução ideal para aqueles que querem ter controlo sobre todas os aspetos do CMS, e também para o desenvolvimento de soluções altamente personalizadas, únicas e funcionais. É uma solução empresarial que está aberta a infinitas possibilidades tornando possível produtos finais com a aparência e funcionamento exatamente como planeados.