CMS’s

Procurando sobre CMS’s desenvolvidos em php, para ter uma idéia melhor da quantidade que temos disponíveis, achei uma lista completa na wiki. Coloquei a lista mais abaixo para quem deseja conferir.

E claro, aprendi um pouco mais sobre CMS.

CMS é a sigla para Content Management System, ou em bom português, Sistema Gerenciador de Conteúdo.

Um CMS tem como objetivo facilitar a criação, edição, publicação e distribuição de informação.

Características na maioria dos CMS:

  1. Suporte a múltiplos usuários (registro, gerenciamento e atribuição de papéis a vários usuários).
  2. Edição de conteúdo facilitada.
  3. As funcionalidades iniciais podem ser ampliadas ou novas podem ser adicionadas através de plugins e/ou módulos.
  4. Gerenciamento e controle de documentos através de publicação, revisão, arquivamento e eliminação de documentos.
  5. Camada de apresentação gerenciada através de templates, permitindo a troca rápida da interface independente do conteúdo.
  6. Controle de Fluxo. Por exemplo, um usuário pode enviar um artigo para um site, mas este não é publicado imediatamente, até que seja revisto por um editor e depois aprovado por um editor-chefe.

Em 1995, a CNET, uma empresa de mídia web, resolveu comercializar seu CMS através de uma empresa à parte, denominada Vignette, iniciando assim o comércio de gerenciadores de conteúdo.

Nome Plataforma BD Suportados Licenças
AdaptCMS Lite PHP MySQL GPL
Alfresco Java MySQL, Oracle, SQL Server, PostgreSQL, Informix GPL & Commercial
Apache Lenya Java, XML, Apache Cocoon Apache

License

Aqua CMS PHP MySQL GPL
AxCMS.net ASP.net Microsoft SQL Server 2005 or above free
b2evolution PHP MySQL GPL
BLOG:CMS PHP MySQL GPL
blosxom Perl Flat-file database MIT
Bricolage Perl PostgreSQL BSD
Byteflow Python, Django PostgreSQL, MySQL, SQLite, Oracle BSD
CivicSpace PHP MySQL Open source, detail

unknown

CMSimple PHP Flat-file database Affero
CMS made simple PHP MySQL, PostgreSQL GPL
concrete5 PHP MySQL MIT
Contrexx Open Source edition PHP MySQL Free for non-

commercial

use

Cyclone3 Perl, XUL, JavaScript, C, Java MySQL and any Perl DBI GPL
Daisy Java, XML, Apache Cocoon MySQL Apache

License

Dokuwiki PHP Flat-file database GPL
DotClear PHP MySQL, PostgreSQL GPL
DotCMS Java MySQL, MSSQL, PostgreSQL, Oracle GNU GPL v2
DotNetNuke ASP.NET Microsoft SQL Server (out-of-the-box) or any data storage system (each storage system needs a custom data provider to be installed) BSD
Drupal PHP MySQL or PostgreSQL GPL
e107 PHP MySQL GPL
Exponent PHP MySQL/PostgreSQL GPL
ExpressionEngine PHP MySQL Free “Core” version for

non-

commercial use

eZ Publish PHP MySQL/PostgreSQL/Oracle/Microsoft SQL Server GPL
Fedora Java MySQL or Oracle Educational Community License
Frog CMS PHP5 MySQL or SQLite MIT License
GX WebManager Community Edition Java MySQL or SQLite Free for

non-

commercial use

Habari PHP MySQL, PostgreSQL, SQLite Apache License
ImpressCMS PHP MySQL GPL
Jahia Java HyperSonic SQL, PostgreSQL, MySQL, Oracle JCDDL and JSSL
jAPS – java Agile Portal System Java HyperSonic SQL, PostgreSQL GPL
Joomla! PHP MySQL GPL
Liferay Java Apache Derby, DB2, HyperSonic SQL, Informix, InterBase, JDataStore, MySQL, Oracle, PostgreSQL, SAP, SQL Server, Sybase MIT
KnowledgeTree Document Management System PHP MySQL GPL
Lyceum PHP MySQL GPL
Magnolia Java JCR GPL
Mambo PHP MySQL GPL
MediaWiki PHP MySQL, PostgreSQL GPL
MiaCMS PHP MySQL GPL
Midgard CMS PHP (Midgard framework) MySQL LGPL
MODx PHP MySQL GPL
MoinMoin Python Flat-file database GPL
Movable Type Perl, mod_perl, FastCGI MySQL or MS SQL server or Oracle or PostgreSQL or SQLite GPL
Nucleus CMS PHP MySQL GPL
Nuxeo CPS Python ZODB GPL
Nuxeo EP Java PostgreSQL, MySQL, Oracle, SQL Server, Ingres LGPL
OneCMS PHP MySQL GPL
OpenACS TCL AOLserver PostgreSQL/Oracle GPL
OpenCms Java MySQL, Oracle, PostgreSQL, SQL Server, DB2, HSQL LGPL
Opus PHP MySQL GPL
Phenotype PHP + Smarty MySQL GPL
phpCMS PHP Flat-file database GPL
PHP-Fusion PHP MySQL GPL
PHP-Nuke PHP MySQL GPL
PHPSlash PHP GPL
phpWCMS PHP MySQL GPL
phpWebSite PHP MySQL or PostgreSQL LGPL
PhpWiki PHP Flat-file database/MySQL/PostgreSQL etc. GPL
Plone Python ZODB, SQLite, PostgreSQL, MySQL, Oracle via Zope GPL
PmWiki PHP Flat-file database GPL
PostNuke PHP MySQL GPL
PyLucid Python MySQL, PostgreSQL, SQLite GPL
Radiant Ruby MySQL, PostgreSQL, SQLite MIT
Scoop Perl on mod_perl MySQL GPL
Serendipity PHP + Smarty SQLite, PostgreSQL, MySQL, MySQLi BSD
SilverStripe PHP MySQL BSD
SiteFrame PHP + Smarty MySQL Creative Commons
Slash Perl on mod_perl MySQL GPL
SPIP PHP MySQL GPL
TangoCMS PHP MySQL GNU/GPL 2
Textpattern PHP MySQL GPL
TGS Content Management PHP MySQL GPL
TikiWiki CMS/Groupware PHP MySQL and others using ADOdb LGPL
Tribiq CMS PHP MySQL GPL
TWiki Perl Plain files (under version control) GPL
Typo Ruby on Rails MySQL, PostgreSQL, SQLite MIT
TYPO3 PHP MySQL, PostgreSQL, Oracle GPL
Quick.Cms.Lite PHP Flat-file database Creative Commons Attribution 2.5
WebGUI Perl on mod_perl MySQL GPL
whCMS PHP MySQL GPL
WordPress PHP MySQL GPL
Xaraya PHP with XHTML/XML/XSLT MySQL, PostgreSQL, SQLite using ADOdb and Microsoft SQL Server with Creole GPL
XOOPS PHP + Smarty MySQL GPL
XOOPS Cube PHP + Smarty MySQL BSD
Zena Ruby MySQL MIT

Fontes:

http://www.marcusvbp.com.br

http://pt.wikipedia.org

Abraço,
Ederson Melo

Anúncios

Artigo polêmico

Meu terceiro artigo na imasters (Conhecendo e instalando Python.)está dando o que falar. Mas as críticas tem de ser aceitas e positivas. 

O artigo prometeu e levou esperança pelo título, enquanto seu conteúdo está mais simples. Melhorias? Sempre! Agora sei que títulos mais simples devem ser adotados.

 

 

 

Abraço,
Ederson Melo

Terceiro artigo publicado na imasters

Mais um está lá. Foi publicado meu terceiro artigo na imasters. Para quem desejar conferir:

Nossa primeira aplicação com Python

Este artigo demonstra uma “aplicação” muito básica funcionando em Python.

Para quem quiser conferir a parte 1 O futuro e as escolhas com python poderá entender melhor a parte 2(Claro:) ) que pode ser vista neste link Conhecendo e instalando Python.

E em breve mais conteúdo.

Abraço,
Ederson Melo

Baixar e instalar Python

Para começar a utilizar o python, claro que precisamos instalar. Temos 3 opções de instalação, linux, mac e windows:

Linux e Mac

Uma grande opções de Linux disponibilizam  o interpretador python pré-instalado ou pacotes binários. Assim como Apple com o Mac OSX também já acompanham um interpretador Python pré-instalado.
Podendo ser atualizado no site oficial da linguagem Python. (Download).

Como utilizo windows, é nele que estarei instalando e testando a instalação.

Windows

Como primeiro passo, vamos baixar os arquivo Python 2.5 Windows installer:

http://www.python.org/download/

O nome do arquivo a ser baixado é Python 2.5 Windows installer (fig.1).

Arquivo para instalação

Arquivo para instalação

Download pronto! Vamos instalar:

Execute o arquivo python-2.5.msi. A tela(fig.2) mostrada abaixo será exibida:

Execute o arquivo python-2.5.msi

Execute o arquivo python-2.5.msi

Nesta tela você decidirá se a instalação estará disponível para todos os usuário ou apenas para você. Depois clique em Next. A próxima tela(fig.3) será exibida:

diretório de instalação

diretório de instalação

Aqui podemos definir o diretório de instalação. Escolha sempre diretórios de nomes curtos e sem espaço (por exemplo, C:\Python). Isso facilitará a navegação pela janela do Prompt de Comando. Vamos à próxima tela(fig.3):

Agora vamos escolher o que será instalado(fig.4).

o que será instalado

o que será instalado

Após vamos clicar em next.

Aqui já temos o progresso da instalação(fig.5). Aguarde.

progresso da instalação

progresso da instalação

PRONTO Python instalado.

Caso ocorra algum erro, informe postando um comentário e vamos ver o que houve.

Prontos para testar? Vamos lá!

Vamos abrir uma janela do Prompt de Comando e digite o seguinte comando (a de onde você está mesmo):

Código
python

A mensagem abaixo deve aparecer:

Código
‘python’ não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

Isso acontece porque o Windows não encontrou o interpretador Python em sua lista de programas válidos.
Vamos configurar adicionando o caminho da instalação no PATH do sistema.

Vá em Iniciar -> Configurações -> Painel de Controle -> Sistema.
Na aba Avançado, localize o botão Variáveis de ambiente. Em Variáveis de sistema, localize Path ou PATH, clique Editar e acrescente o valor:

Código
;C:\Python25

Dê ok e para fechar todas as janelas, abra a janela Prompt de Comando novamente e digite:

Código
python

O resultado parecido ao abaixo deve aparecer:

Código
Microsoft Windows XP [versão 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Documents and Settings\ederson>python
Python 2.5.2 (r252:60911, Feb 21 2008, 13:11:45) [MSC v.1310 32 bit (Intel)] on
win32
Type “help”, “copyright”, “credits” or “license” for more information.
>>>

O que vemos nas três primeiras linhas é a apresentação do interpretador. Ele está
dizendo oi! =D. Basicamente ele informa de que versão do Python se trata, com que
compilador foi compilado e sugere algumas chamadas básicas caso tenha problemas ou
dúvidas.

Feeeeito! nosso Python está rodando

O >>> é o prompt do interpretador. Que vai executar o código que escrevermos na hora, e poderemos ver
o resultado.

Digitando o seguinte:
>>> print ‘Olá, Python!’
Olá, Python!

Pronto, ai está om olá no python.

Abraço,
Ederson Melo

Segundo artigo no imasters

Mais um está lá. Foi publicado meu segundo artigo na imasters. Para quem desejar conferir:

Conhecendo e instalando Python – Parte 2

Este artigo demonstra a instalação de Python em um ambiente Windows e ele funcionando, prontinho para rodar coisas maiores.

Para quem quiser conferir a parte 1 O futuro e as escolhas com python poderá entender melhor a parte 2(Claro:) ).

Além disto, um dos meus artigos, foi publicado no site http://jamespot.com/, que fala sobre um começo em trabalho com WebService que acabei ainda não consequindo concluir (Link artigo).

Sobre o curso com DotNet(Não é específico sobre DotNet), deixo para o próximo post.

Abraço,
Ederson Melo

Python

python logo

SOBRE PYTHON
Python é uma linguagem que traz uma simplicidade indiscutível, ao mesmo tempo
em que, apesar de ser uma linguagem interpretada, é extremamente veloz. Foi criada por GuidoVanRossum

Revisão de Conceitos
Python é uma linguagem simples, mas é construída em uma base teórica e técnica
muito complexa. Ela eleva a orientação a objetos, em alguns casos, ao extremo.

Linguagem Interpretada vs Compilada

Python, como já foi dito, é uma linguagem interpretada, como Perl, entre outras. Isso signifíca que não é necessária a compilaçãao do código
para que ele seja executado e isso trás várias vantagens e desvantagens embutidas.
Linguagens compiladas normalmente são mais rápidas, porque o codigo já está num
formato que o computador entende. Linguagens interpretadas costumam funcionar de
uma ou outra maneira:

  • Compilação Just-In-Time
  • Interpretação pura ou em Bytecode

Tipagem Forte
Python é uma linguagem de tipagem forte. Isso signifíca que se uma variável adquire
um determinado tipo não deixa mais de ser daquele tipo a menos que seja recriada. Isso
o torna diferente de um script Shell, por exemplo, em que nunca se sabe o tipo exato de
uma variável.

Apesar da sua tipagem ser forte, a declaração de variáveis não é necessária e a simples
atribuição de um valor serve para criar ou recriar uma variável. Leve isso em conta quando
programar. Tome muito cuidado com os nomes das variáveis.

Orientação a Objeto

Uma linguagem orientada a objetos coloca como centro nervoso do programa um ou
mais objetos de determinada classe, ao contrário das linguagens estruturadas, em que o
processo, ou as estruturas de dados são o centro e voc^e chama funções que atuam sobre
esses elementos.

Python é uma linguagem orientada a objetos, e nela quase tudo é um objeto. Até
mesmo as variáveis que representam os tipos mais básicos, como inteiro e caractere são
objetos, tem seus métodos e propriedades.

Utilizando Python podemos programar para web (Django, zope, TurboGears, etc), para desktop e para celular. A mesma vantagem que temos no uso de java.

ENTÃO PORQUE USAR PYTHON?

* fácil de aprender e intuitiva
* Maior produtividade
* dificulta escrita códigos obscuross
* multi-plataforma
* mais robusta e segura que outras linguagens de script
* código aberto


MERCADO DE TRABALHO COM PYTHON

As linguagens ‘de mercado’ agora são Java, .NET e PHP, falando de web, claro.
Atualmente existe demanda por profissionais que conheçam Python. Cidades como Brasília, São Paulo, Recife e Rio de Janeiro têm um volume maior de ofertas de emprego do que profissionais qualificados.

Portais web no Brasil(alguns por segmento):

* Comunidades:
Comunidade Zope e Plone brasileira
Comunidade de desenvolvedores TurboGears
Comunidade ServidorPublico.net

* Educação:
Universidade Metodista de São Paulo
Editora Moderna
Universidade Corporativa Caixa

* Governo:
Portal do Governo do Brasil
Presidência da República
Câmara dos Deputados
SERPRO
* Mídia
IDGNow!
Dicionário Veja Larousse
Linux Magazine
* Sites institucionais:
Varig
Simples Consultoria
Politec
* Terceiro setor e Organizações:
OAB/SP
UNESCO
Evento Sustentável 2006

Utilização comercial de Python:

Google
Industrial Light and Magic
NASA
Thawte
Inktomi

COMPARAÇÃO ENTRE LINGUAGENS:

Python e Perl
são linguagens com propósitos bastante parecidos entretanto Python promove a facilidade de leitura em contraste ao modo “somente de escrita” que muitos programadores adotam em Perl. Um outro lema oposto ao Perl é que existe somente um jeito de se fazer uma coisa, em vez de se utilizar diversos dielatos que Perl permite.

Python e Java
são linguagens bastante diferentes, o que torna a comparação direta difícil. Python sugere um desenvolvimento rápido, do tipo “editar-executar” (Python compila automaticamente quando executamos o programa), Java exige que o programador “editar-compilar-executar” (ainda que o arquivo gerado tenha que ser interpretado…).

Python e C
C é de médio nível e assim como o assembly, expõe conceitos estruturais da arquitetura da máquina e complica a implementação de conceitos modernos com Orientação a Objetos.

Python e Pascal
Pascal é “linguagem de brinquedo”, nos anos 80 era uma ótima linguagem para iniciar a programar mas hoje este papel pode ser cumprido com vantagens por Python.

Python e PHP
PHP é uma linguagem de programação especialmente direcionada para a programação de websites dinâmicos. Até existe o projeto PHP-GTK, ou seja, tornar o PHP também uma linguagem de programação com suporte à objetos gráficos, porém é complicado, trabalhoso e problemático. O Python é uma linguagem sem objetivo principal: pode ser tanto utilizada em programas modo texto, quanto suporte a objetos gráficos e páginas dinâmicas. Aprendendo Python, você terá a capacidade de montar programas para diversas plataformas e objetivos sem nem mesmo prescisar trocar de linguagem.

Python e Visual Basic/Delphi
Em termos de Win32, o Python não perde em nada para VB/Delphi pois oferece o acesso completo ao MFC e outras bibliotecas gráficas mais produtivas. Em contrapartida, oferece uma linguagem Orientada a Objetos DE VERDADE enquanto que essas outras duas apenas implementam parte dos conceitos da OOP. Outras vantagens importantes são o custo/benefício e o fato de ser multi-plataforma. Em termos de .Net, o IronPython oferece bom suporte, com a vantagem de suportar também o Mono.

Bom, acho que consequimos responder algumas questões interessantes sobre python. Abaixo, os links usandos como fonte. E nos quais podemos ter mais detalhes sobre python:

Para saber mais (em português):
http://www.pythonbrasil.com.br
http://www.tchezope.org
http://www.oturbogears.org

Para saber mais (em inglês):
http://www.python.org
http://www.djangoproject.com
http://www.zope.org
http://www.plone.org
http://www.turbogears.org

Abraço,
Ederson Melo