Pages

terça-feira, 23 de novembro de 2010

TWiki

Wiki
A idéia Wiki originou-se da palavra "wikiwiki", que significa "rápido" em havaiano. O conceito, aparentemente, se separou de seu significado original na sua definição técnica "Wiki é uma ferramenta de gerência e desenvolvimento colaborativo de conteúdo" mas que com o uso mostrou que seu criador Ward Cunningham foi feliz em sua escolha, pois a colaboração torna qualquer trabalho mais rápido e ajuda bastante o amadurecimento de conteúdo.

Viver a cultura wiki significa colaborar, somar, ajudar, linkar e mais algum infinitivo do gênero. Você deve estar pronto a trabalhar em cima de algo pré existente, assumindo que alguém vai modificar o que você está fazendo e isso significa crescimento, desenvolvimento. Um tópico wiki (que normalmente pode ser visto como uma página web) bem feito deve ter uma boa soma de links. Não tenha medo, é válido. Todo conteúdo - que pode ser desenvolvido a partir do conteúdo que está sendo gerado - pode ser um novo tópico linkado e criado a partir deste e todo conteúdo pre existente relacionado a este também, seja lá onde estiver. E isso tudo deve acontecer tentando-se ignorar a hierarquia entre os usuários. Assim a cultura wiki desenvolve o conhecimento hipertextual, a ciber-democracia e a linkania.

A primeira ferramenta wiki veio a público em 1 de maio de 1995 depois de pouco mais de dois mêses de trabalho do seu criador Ward Cunningham para abrigar estudos em Padrões de Projetos, o mecanismo recebeu várias funcionalidades tempos depois e é ativo até hoje. Em pouco tempo esse sítio se tornou bastante popular e o mesmo ambiente passou abrigar outros projetos. Foi o próprio criador, Ward Cunningham, quem usou a palavra wiki-wiki para nomear esse tipo de ferramenta e definiu o seu conceito.

O TWiki pode ser descrito como uma ferramenta de desenvolvimento de conteúdo colaborativo na web, uma Wiki, uma ferramenta que permite manter páginas na internet usando apenas o navegador. Porém na realidade o TWiki não pode ser mais visto como uma simples ferramenta, mas sim um ambiente colaborativo.

TWiki é uma abreviatura de Take Five Wiki que é o nome da compania onde seu fundador (PeterThoeny) trabalhou.

O TWiki é um sistema multi-funcional e reconhecidamente maduro, usado por diversas instituições (e pessoas). Ele deu novas funcionalidades ao conhecido padrão wiki como o conceito de Webs. Veja a relação de funcionalidades abaixo:
  • Os tópicos são agrupadas em TWiki Webs o que possibilita separar o grupos colaborativos em temas distintos e dar uma "identidade" a essa área temática.

  • Auto-link para Wiki Words. Um padrão de escrita que é reconhecido como nome de tópico.



  • Todos os tópicos e anexos tem seu controle de versão. É possivel ver versões anteriores, as diferenças entre elas, quem fez e quando fez.


  • Envio automático de e-mail notificando modificações em uma determinada web para os usuários inscritos no tópico de notificação.

  • Controle de acesso. O usuário deve ser autenticado (deve logar no sistema) para modificar o conteúdo.





  • Variáveis permitem a composição dinâmica de conteúdo.



  • Trancamento de Tópico. Impede que usuários editem o mesmo tópico simultaneamente, o que poderia facilmente causar conflito de versões.

  • "Referenciado por" lista tópicos que apontam para o tópico em vista.

  • A segurança é vista como um dos pontos mais importantes do sistema.

  • inumeras outras funcionalidades já foram ou podem ser implementadas e acopladas ao sistema como plugins

Usos

Os usos são inúmeros. A principio, o que puder ser feito digitalmente de forma colaborativa, deve valer a pena fazer com TWiki. Excluindo casos raros realmente inadequados, podemos listar usos interessantes desse ambiente:

  • Sítios de internet de conteúdo incremental e/ou mutável. Sítios onde a renovação contínua de conteúdo é importante. Nisso a maioria dos sítios de internet poderiam se incluir, mas é preciso uma atitude colaborativa da equipe de conteúdo, é preciso conhecer a cultura wiki, para que isso seja válido.

  • Desenvolvimento passo-a-passo de conteúdo. Onde o indivíduo ou o grupo (de preferência um grupo) não tem o conteúdo no início do projeto, mas é preciso disponibilizar o que é conseguido a cada passo ou pelo menos centralizar e gerênciar a documentação do conhecimento desenvolvido ou apreendido. Alguns exemplos:
    • Grupos de Estudo;
    • Grupos de Pesquisa Ciêntifica;
    • Grupos de Tradução;
    • Desenvolvimento de Documentação e Cursos (como esse), dentre outros exemplos.

  • Livros e Enciclopédias. Livros podem perfeitamente ser desenvolvidos sobre uma plataforma colaborativa, apesar de até o momento, infelizmente, não se ter exemplo de tal. Existe um bom exemplo de enciclopédia na web desenvolvida sob uma ferramenta wiki, a Wikipedia (não usa TWiki). Essa enciclopédia mostrou o poder da colaboração para o mundo, juntando um número impressionante de verbetes em apenas um ano. Pela própria Wikipedia (Sobre): "O projeto Wikipedia foi iniciado em janeiro de 2001 e atualmente (Março de 2004) já foram criados mais de 600 mil artigos em dezenas de línguas (4519 artigos na versão em português). Todos os dias, centenas de colaboradores de todas as partes do mundo editam milhares de artigos e criam muitos artigos inteiramente novos."

segunda-feira, 15 de novembro de 2010

PHP

PHP (um acrónimo recursivo para "PHP: Hypertext Preprocessor") é uma linguagem de programação de computadores interpretada, livre e muito utilizada para gerar conteúdo dinâmico na World Wide Web, como por exemplo a Wikipédia.

Histórico

A linguagem surgiu por volta de 1994, como um pacote de programas CGI criados por Rasmus Lerdorf, com o nome Personal Home Page Tools, para substituir um conjunto de scripts Perl que ele usava no desenvolvimento de sua página pessoal. Em 1997 foi lançado o novo pacote da linguagem com o nome de PHP/FI, trazendo a ferramenta Forms Interpreter, um interpretador de comandos SQL.
Mais tarde, Zeev Suraski desenvolveu o analisador do PHP 3 que contava com o primeiro recurso de orientação a objetos, que dava poder de alcançar alguns pacotes, tinha herança e dava aos desenvolvedores somente a possibilidade de implementar propriedades e métodos.
Pouco depois, Zeev e Andi Gutmans, escreveram o PHP 4, abandonando por completo o PHP 3, dando mais poder à máquina da linguagem e maior número de recursos de orientação a objetos. O problema sério que apresentou o PHP 4 foi a criação de cópias de objetos, pois a linguagem ainda não trabalhava com apontadores ou handlers, como são as linguagens Java , Ruby e outras.
O problema fora resolvido na versão atual do PHP, a versão 5, que já trabalha com handlers. Caso se copie um objeto, na verdade copiaremos um apontador, pois, caso haja alguma mudança na versão original do objeto, todas as outras também sofrem a alteração, o que não acontecia na PHP 4.
Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões PECL (PHP Extension Community Library) e alguns destes módulos são introduzidos como padrão em novas versões da linguagem. É muito parecida, em tipos de dados, sintaxe e mesmo funções, com a linguagem C e com a C++. Pode ser, dependendo da configuração do servidor, embarcada no código HTML. Existem versões do PHP disponíveis para os seguintes sistemas operacionais: Windows, Linux, FreeBSD, Mac OS, OS/2, AS/400, Novell Netware, RISC OS, AIX, IRIX e Solaris.
A Wikipédia funciona sobre um software inteiramente escrito em PHP, usando bases de dados MySQL: o MediaWiki.
Construir uma página dinâmica baseada em bases de dados é simples com PHP, (em parte, vale lembrar), este provê suporte a um grande número de bases de dados: Oracle, Sybase, PostgreSQL, InterBase, MySQL, SQLite, MSSQL, Firebird, etc., podendo abstrair o banco com a biblioteca ADOdb, entre outras.
PHP tem suporte aos protocolos: IMAP, SNMP, NNTP, POP3, HTTP, LDAP, XML-RPC, SOAP. É possível abrir sockets e interagir com outros protocolos. E as bibliotecas de terceiros expandem ainda mais estas funcionalidades.
Existem iniciativas para utilizar o PHP como linguagem de programação de sistemas fixos. A mais notável é a PHP-GTK. Trata-se de um conjunto do PHP com a biblioteca GTK, portada do C++, fazendo assim softwares inter-operacionais entre Windows e Linux. Na prática, essa extensão tem sido muito pouco utilizada para projetos reais.

 Principais características

A linguagem PHP é uma linguagem de programação de domínio específico, ou seja, seu escopo se estende a um campo de atuação que é o desenvolvimento web, embora tenha variantes como o PHP-GTK. Seu propósito principal é de implementar soluções web velozes, simples e eficientes.
Características:
  • Velocidade e robustez
  • Estruturado e orientação a objetos
  • Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer lugar;
  • Tipagem fraca
  • Sintaxe similar a C/C++ e o Perl

PHP 5

Em junho de 2004 foi lançada a versão 5 do PHP, introduzindo um novo modelo de orientação a objeto, incluindo a reformulação dos construtores e adição de destrutores (ver exemplo contextualizado em anexo), visibilidade de acesso, abstração de objeto e interfaces de objetos.
O tratamento de objetos do PHP foi completamente reescrito, permitindo um desempenho melhor e mais vantagens. Enquanto na versão anterior era preciso muito esforço para atender à orientação a objetos e aos padrões de projectos (alguns não eram possíveis), o PHP 5 veio para sanar essa deficiência. Ainda sofre nesse sentido, contudo, por problemas devido a ser uma linguagem de tipagem fraca.

Indução de tipo

Nesse sentido, foi adicionada uma característica chamada de indução de tipo, de acordo com a qual podemos ter uma certa tipagem quando passamos objetos aos parâmetros de uma função (ou método), algo inconcebível na versão anterior. Ver exemplo contextualizado em anexo. 

 Visibilidade
A visibilidade de uma propriedade ou método pode ser definida com os seguintes modificadores de acesso: public, protected ou private. Itens declarados como públicos podem ser acessados pelo objeto (instância da classe). Membros protegidos estão acessíveis às classes filhas (herdadas). A visibilidade privada limita a apenas a classe que define o atributo ou método. Ver exemplo contextualizado em anexo

My SQL

O MySQL é um sistema de gerenciamento de banco de dados (SGBD), que utiliza a linguagem SQL (Linguagem de Consulta Estruturada, do inglês Structured Query Language) como interface. É atualmente um dos bancos de dados mais populares, com mais de 10 milhões de instalações pelo mundo.

Entre os usuários do banco de dados MySQL estão: NASA, Friendster, Banco Bradesco, Dataprev, HP, Nokia, Sony, Lufthansa, U.S. Army, U.S. Federal Reserve Bank, Associated Press, Alcatel, Slashdot, Cisco Systems, Google e outros
História
O MySQL foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michael "Monty" Widenius, que têm trabalhado juntos desde a década de 1980. Hoje seu desenvolvimento e manutenção empregam aproximadamente 400 profissionais no mundo inteiro, e mais de mil contribuem testando o software, integrando-o a outros produtos, e escrevendo a respeito dele.
No dia 16 de Janeiro de 2008, a MySQL AB, desenvolvedora do MySQL foi adquirida pela Sun Microsystems, por US$ 1 bilhão, um preço jamais visto no setor de licenças livres. No dia 20 de Abril de 2009 a Oracle compra a Sun Microsystems e todos o seu produtos, incluindo o MySQL. Após investigações da Comissão Europeia sobre a aquisição para evitar formação de monopólios no mercado a compra foi autorizada e hoje a Sun faz parte da Oracle.
O sucesso do MySQL deve-se em grande medida à fácil integração com o PHP incluído, quase que obrigatoriamente, nos pacotes de hospedagem de sites da Internet oferecidos atualmente. Empresas como Yahoo! Finance, MP3.com, Motorola, NASA, Silicon Graphics e Texas Instruments usam o MySQL em aplicações de missão crítica.A Wikipédia é um exemplo de utilização do MySQL em sites de grande audiência.
O MySQL hoje suporta Unicode, Full Text Indexes, replicação, Hot Backup, GIS, OLAP e muitos outros recursos.
Características
  • Portabilidade (suporta praticamente qualquer plataforma atual);
  • Compatibilidade (existem drivers ODBC, JDBC e .NET e módulos de interface para diversas linguagens de programação, como Delphi, Java, C/C++, C#, Visual Basic, Python, Perl, PHP, ASP e Ruby)
  • Excelente desempenho e estabilidade;
  • Pouco exigente quanto a recursos de hardware;
  • Facilidade de uso;
  • É um Software Livre com base na GPL;
  • Contempla a utilização de vários Storage Engines como MyISAM, InnoDB, Falcon, BDB, Archive, Federated, CSV, Solid…
  • Suporta controle transacional;
  • Suporta Triggers;
  • Suporta Cursors (Non-Scrollable e Non-Updatable);
  • Suporta Stored Procedures e Functions;
  • Replicação facilmente configurável;
  • Interfaces gráficas (MySQL Toolkit) de fácil utilização cedidos pela MySQL Inc.

Apache

 Apache (ou Servidor HTTP Apache, em inglês: Apache HTTP Server, ou simplesmente: Apache) é o mais bem sucedido servidor web livre. Foi criado em 15 99 por Rob McCool, então funcionário do NCSA (National Center for Supercomputing Applications). Numa pesquisa realizada em dezembro de 2007, foi constatado que a utilização do Apache representa 47.20% dos servidores ativos no mundo. Em maio de 2010 , o Apache serviu mais de 54,68% de todos os sites e mais de 66% dos milhões de sites mais movimentados. É a principal tecnologia da Apache Software Foundation, responsável por mais de uma dezena de projetos envolvendo tecnologias de transmissão via web, processamento de dados e execução de aplicativos distribuídos.
O servidor é compatível com o protocolo HTTP versão 1.1. Suas funcionalidades são mantidas através de uma estrutura de módulos, permitindo inclusive que o usuário escreva seus próprios módulos — utilizando a API do software.
É disponibilizado em versões para os sistemas Windows, Novell Netware, OS/2 e diversos outros do padrão POSIX (Unix, Linux, FreeBSD, etc).
Etimologia
A razão para o nome "Apache" dada pela Apache Software Foundation, é que faz referência à nação Apache, tribo de nativos americanos que tinha, em combate, grande resistência e estratégias superiores. Isso seria uma alusão à resistência da comunidade do software livre aos ataques de interesses privados . O nome refere-se também à estabilidade do servidor Apache e a sua variedade de ferramentas capazes de lidar com qualquer tipo de solicitação na web. Uma terceira razão, que é aceita popularmente, reconhecida porém refutada pela Fundação, é que o nome viria de "a patchy server", que em inglês significa algo como um servidor remendado, ou melhoria no software, dada a origem do programa, criado sobre o código do servidor da NCSA já existente, no qual foram adicionados diversos patches.
Segurança
Para garantir segurança nas transações HTTP, o servidor dispõe de um módulo chamado mod_ssl, o qual adiciona a capacidade do servidor atender requisições utilizando o protocolo HTTPS. Este protocolo utiliza uma camada SSL para criptografar todos os dados transferidos entre o cliente e o servidor, provendo maior grau de segurança, confidencialidade e confiabilidade dos dados. A camada SSL é compatível com certificados X.509, que são os certificados digitais fornecidos e assinados por grandes entidades certificadoras no mundo..
Configuração
O servidor é configurado por um arquivo mestre nomeado httpd.conf e opcionalmente pode haver configurações para cada diretório utilizando arquivos com o nome .htaccess, onde é possível utilizar autenticação de usuário pelo próprio protocolo HTTP utilizando uma combinação de arquivo .htaccess com um arquivo .htpasswd, que guardará os usuários e senhas (criptografadas).

Joomla a ferramenta mais interessante do momento!!!

O CMS Joomla! é, sem dúvidas, uma das melhores opções para o desenvolvimento de qualquer web site. De fácil uso e cheio de recursos, ele é a ferramenta preferida daqueles que desejam colocar informações na web no formato que for. Então, como aprender de forma correta e clara, rápida?
Joomla é um CMS popular, ou Content Management System. É um software de código aberto e é usada para uma ampla variedade de sites e intranets também. Ele está disponível gratuitamente no âmbito de um ou GNU General Public License. É útil para criação de sites e pode facilmente lidar com uma variedade de conteúdo: páginas estáticas, blogs, enquetes, feeds de notícias e recursos de pesquisa. Joomla é reconhecido por sua facilidade de utilização, bem como para a criação de fantásticas páginas web.
Prós
Um dos aspectos mais positivos do Joomla é o fato de que é fácil para adicionar novos artigos, conteúdos, imagens e vídeo para o seu site com apenas alguns cliques. O Joomla é muito complexo, há uma série de tutoriais e artigos sobre como fazer fornecidos pela comunidade Joomla, para que você possa de forma relativamente rápida aprender a usá-lo. Outra vantagem de usar o Joomla é que pessoas com pouco conhecimento de HTML ou de experiência são capazes de criar seus próprios modelos. Há também muitas extensões (plugins) fornecidos pela comunidade Joomla, para que os designers da Web podem facilmente adicionar fóruns, carrinhos de compras ou outros recursos para o seu site dinâmico. Instalação de novos módulos, templates e extensões é feita através do painel de administração.
Contras
Joomla é escrito em PHP e MySQL, que não há conexão com o PostgreSQL ou suporte para DOP. O sistema gerou URL’s são pobres para SEO, então você terá de usar um terceiro partido extensão para corrigi-los.Se você é novo em sistemas de gerenciamento de conteúdo, você pode se perder quando você tenta usar o Joomla, pois existem muitas telas que você precisa para trabalhar com o seu site antes de se olhar como você deseja. Além disso, não há nenhuma função de atualização para o sistema Joomla ou para as extensões, então todas as atualizações tem que ser manualmente.
InstaIação
o Joomla é simples e fácil, mas você deve ter certeza de que o serviço de hospedagem preenche todos os requisitos. Estes incluem um Apache Web Server, um banco de dados MySQL e PHP. Você pode verificar se seu servidor tem PHP, MySQL e Apache por e-mail sua empresa suporte webhost. Se não, você vai precisar para pedir-lhes para instalá-las ou encontrar um novo hospedeiro. Uma vez que estas são verificadas você pode instalar o Joomla. Joomla é concebido e testado em muitas LAMP (Linux, Apache, MySQL, PHP) configurações, mas pode trabalhar em someWindows ou sistemas MacOS também. O processo de instalação é muito simples – FTP os arquivos para o servidor e execute o instalador.
Joomla vai gerenciar automaticamente as permissões para cada arquivo e diretório em seu site via FTP, assim você não precisa se preocupar com isso.
Plugins (extensões)
Joomla é um CMS completo, mas como muitos outros sistemas, é só se completa se você adicionar algumas extensões. Uma das extensões mais importantes é o Joomla patch SEO – o desenvolvedor do plugin oferece uma gratuita e uma versão comercial. muitos sites também irá beneficiar o JoomlaPack , um conjunto de poderosas ferramentas para backup e manutenção do site. É muito fácil transformar o seu site Joomla em um completo e loja de destaque usando Virtuemart , um completo e-commerce add-on.
O Joomla diretório de extenção oferece uma série de funcionalidades adicionais para o seu site Joomla. Leia as opiniões sobre a prorrogação antes de começar a usá-lo, e sempre verificar se a extensão está ativo e sendo atualizado.
Modelos
Há muitos Joomla templates disponíveis na internet, tanto prémio e modelos gratuitos. Os elementos básicos de um modelo são as imagens, códigos HTML e CSS, mas também é possível adicionar novas funcionalidades aos modelos chamados de “Módulos”.Os módulos permitem aos usuários adicionar um número de componentes diferentes para seus sites e páginas, facilmente e sem esforço. Trabalhando com módulos é fácil e você pode criar seus próprios módulos, adicionando seu próprio código único. Você precisa ter algumas habilidades do PHP, se você quer escrever seus próprios módulos.
Componentes, Formas e outros website “coisas”
Os componentes são a espinha dorsal do Joomla e não demorou muito para os usuários Joomla para descobrir que os componentes estão continuamente sendo criada para melhorar o Joomla. Embora a função do núcleo já está instalado, você precisará instalar novos componentes que vem com a extensão que você possa usá-los. Você pode facilmente criar formulários no Joomla e tê-los imediatamente adicionadas a suas páginas. Um dos criadores forma mais simples é o componente executa.
Conclusão
Joomla é um sistema de CMS que permite criar seus próprios sites. O sistema funciona fora da caixa, mas aconselhamos para você adicionar mais algumas funções para tornar seu site Joomla mais robusto e funcional. Note-se que uma extensão de buggy pode quebrar o seu site, assim que testar tudo antes de decidir usá-lo.