O objetivo desse tópico é que as pessoas façam relatos sobre como construíram seus sites (o que, como, de que jeito, etc.).
Muitos novatos não sabem como usar muitas funções e recursos do drupal e dessa forma sentem uma redobrada dificuldade no contato inicial com o cms. Existindo à disposição relatos individuais da construção de variados sites e diferentes módulos e recursos possam sentir-se mais seguros no caminho das pedras.
Para inaugurar a seção, apresento o site que estou construindo!
Pessoal, estou construindo o site do meu antigo curso de graduação (http://www.economia.ufma.br/) e, como todo novato, tenho sentido dificuldade em entender detalhadamente o funcionamento de todos os recursos do drupal. Aqui, disponibilizarei progressivamente os procedimentos que adotei/estou adotando na construção do site. Com isso, espero disponibilizar a outros iniciantes casos reais detalhados do que e como se fez no site. Ademais, pretendo publicizar o conjunto das dificuldades e desafios nessa fase de aprendizado e familiarização com o Drupal.
SITE: Curso de Ciências Econômicas da UFMA
ÁREA: Educação
FOCO: Interatividade entre usuários; Auto-gestão de equipes; Produção descentralizada de conteúdo.
Público-Alvo: Alunos, Professores, Servidores;
Papéis de usuário: Aluno, Professor, Servidor, Coordenador do Curso, Chefe de Departamento, Grupo de Pesquisa X (como não sei fazer de outra forma, cada grupo de pesquisa receberá um papel de usuário), Coordenador do Grupo de Pesquisa X.
Opções de criação de conteúdo:
- Fórum: todos postam;
- Comentários: Todos comentam;
- Mensagens entre usuários: todos enviam;
- Agenda/Eventos: Professores, Servidores criam;
- Enquetes: Professores, Servidores criam;
- Matérias (Stories): Professores, Servidores criam;
- Páginas estáticas: Professores, Servidores criam;
- Páginas de livros: Professores, Servidores criam;
- Projetos: Professores, Servidores criam;
Obs.: Na fase inicial de operação do site os alunos não terão permissão de criação de conteúdo, mas à medida em que o uso do site evoluir pode-se modificar isso.
Há questões acerca da utilização do Drupal e da operacionalização do site que tive de raciocinar bastante e vasculhar em muitos locais (Sites Drupal Brasil, Hispanico, durpal.org, Cocinando con drupal, Italia, ...). Eis algumas soluções encontradas:
- Agendador de Tarefas: Minhas tarefas agendadas (Atualização das notícias rss, backup do banco de dados) só estavam sendo executadas manualmente porque o site não estava incluído no corn.php do servidor. Para evitar os trâmites burocráticos preferi instalar o módulo "poormanscron" que executa o agendador do site. Agora tudo está sendo atualizado devidamente.
Em breve postarei outras soluções encontradas para o meu site.
Tenho descoberto muitas coisas do drupal mexendo e remexendo muitas vezes dentro do site e dentro dos sites do drupal mundo afora. Por conta disso, gostaria de compartilhar as descobertas que estou fazendo sobre detalhes do uso e operação do drupal, espero que seja útil a outros como tem sido para mim.
Como estou construindo um site onde diferentes papéis de usuário postam conteúdo precisava restringir os locais onde poderiam inserí-los para não bagunçar o site.
Descobri que em "Início » Administrar » Construção do site >> Configurações" é possível se determinar isso. Para tanto, deve-se definir qual menu os usuários terão acesso para alocar os conteúdos.
Organizei os links para que todos os locais onde os usuários irão postar conteúdo estejam no mesmo menu, no meu caso o Menu Atividades. Quando o usuário entra em "Criar Conteúdo" a única opção disponível de menu é o que eu defini.
Ainda estou testando essa descoberta pois preciso saber como vou, como administrador, postar conteúdo em outros locais do site. Também vou tentar descobrir como fazer isso para cada papel de usuário.
Como num curso universitário há constante produção de textos e documentos, a idéia é permitir que os professores possam criam diferentes formas de textos em diferentes seções do site, cada qual com um objetivo diferente, assim:
==>Utilizando o tipo de conteúdo Página de Livro:
- Seção Textos para Discussão
> Um autor: Um professor cria e edita individualmente um texto;
> Vários Autores: Professores editam textos de outro professor caso este permita; podem também páginas dentro de um texto;
>> Em ambos os casos, podem enviar arquivos diversos para dentro dos textos (pdf, doc, xls, jpg...).
>>> Há categorias específicas para a seção.
- Seção Artigos:
> Todas as opções válidas para os Textos para discussão, mas com categorias específicas para a seção.
- Seção Grupos de Pesquisa:
> Todas as opções válidas para os Textos para discussão, mas com categorias específicas para a seção.
>>Apenas membros de um grupo de pesquisa podem criar e editar conteúdo.
>>Qualquer professor pode criar um grupo de pesquisa e selecionar os usuários que farão parte.
- Seção Disciplinas do Curso:
> Todas as opções válidas para os Textos para discussão, mas com categorias específicas para a seção.
>> Professores podem disponibilizar materiais didáticos complementares para uma disciplina;
>> Publicar avisos aos alunos;
>> Publicar as notas, etc.
- Arquivos e Imagens:
> Quando enviados pelo IMCE/TinyMCE:
>> Só podem ser acessados diretamente ou editados por quem fez o upload;
> Quando enviados pelo FileManager:
>> Podem ser acessados diretamente por todos;
> Quando enviadas fotos pelo Image:
>> Idem. As imagens são também disponibilizadas para as galerias de imagens e imagens randomicas.
- Seção Projetos:
> Professores e Servidores criam e selecionam os usuários que farão parte.
- Agenda:
> Há a agenda geral do curso onde professores e servidores criam eventos, etc.;
> Grupos de pesquisa: Cada grupo de pesquisa tem sua agenda própria, independente da agenda geral do curso.
VERSÃO DRUPAL: 5-7
MÓDULOS INSTALADOS:
==> account_reminder: relembrar aos usuários os dados da conta de acesso ao site;
-akismet: proteção conta span;
-backup_migrate: backup do banco de dados. Só funciona se você tiver acesso às páginas fora do raiz do site, como eu não tenho essa permissão não consigo utilizar o backup automatico, só o manual, fazendo o download do arquivo .sql;
-biblio: lista de bibliografias dos professores do curso;
-blockanonymouslinks: proteção contra span;
-bookmarks2: lista de sites recomendados pelos professores do curso;
-calendar: módulo para calendário. Mas não estou utilizando porque o event também tem um calendário integrado;
-captcha: para impedir robots nos formulários e nos cadastros;
-cck: ajuda a criar conteúdo... não sei detalhes... só sei que ajuda, hehehe;
- dba: acesso ao banco de dados diretamente do site. Permite fazer backup programado do banco de dados... e está funcionando;
-devel: sei que ajuda no desenvolvimento do site, mas ainda não sei como utilizá-lo;
-docs: gerenciador de documentos. Ainda não sei bem utilizá-lo porque tenho que associá-lo a um tipo de conteúdo...;
-drupal_ftp: (até agora não sei usá-lo...)
-ecard: cria um ecard da agenda e de outros módulos
-event: para criar eventos;
event_manager: complementa o event;
filemanager: configura como serão enviados arquivos para o site. também gerencia esse envio;
-image: envio de imagens para o site;
-imce: envio de imagens para o site. Pelo que andei lendo esse é o melhor que tem. Por enquanto vou manter os dois (junto com o image), depois vejo se posso desabilitar o outro;
-mimemail (não está funcionando porque ainda estou sem as configurações do servidor, que não é o mesmo onde está o site)
-multforms: ainda não tive uma oportunidade de usá-lo, mas parece ser muito útil para a criação de formulários mais complexos;
-nodefamily: tô voando;
-nodeprofile: idem
-pageroute: na prática, ainda não sei o que é, nem para que serve;
-pin: recurso legal para só permitir inscrições no site somente a pessoas que tenham um número de autorização. No momento está desativado, mas quando o site estiver em operação acho que ficará habilitado, de forma que os calouros do curso recebam um número que permita o cadastro no site;
-poormanscron: como não tenho o site inscrito no cron.php do servidor tive que instalar esse módulo para fazer funcionar os agendamentos existentes (rss, backup, etc.);
-privatemsg: Excelente módulo para troca de mensagens entre os usuários. A única limitação é não enviar mensagens para grupos de usuários (ex.: alunos de uma disciplina, professores de um grupo de pesquisa, somente para professores, somente para alunos, etc.);
-project: No curso há diversos projetos em execução (projetos de pesquisa, projeto de mestrado, projeto de PET, etc.) e acredito que esse módulo será útil para ajudar nesse gerenciamento;
-project_issue: complementar ao prject;
-project_permissions: complementar ao prject;
-tinymce: para trabalhar com imagens nos conteúdos. Segundo li é o melhor;
-token: não sei o que é, mas ele é requerido por vários outros...;
-urlist: lista de sites do professores. Estou decidindo se mantenho esse ou o bookmarks2;
-views: Esse é um dos módulos mais importantes do drupal, mas estou viajando na maionese total, mas um dia eu aprendo, hehehe.
Para cosntruir o site estou utilizando muitos módulos e quase nenhum está em português, assim, passei a traduzí-los. Não os disponilizei no site porque ainda estou treinando, quando me sentir mais seguro posto todos:
São eles:
- Biblio;
- Blockanonymouslinks;
- CCK;
- OG (Organic Groups);
- Poormanscron;
- PrivateMsg;
- Project;
- Project_Issues;
- Scheduler;
- Site map;
- Taxonomy User Access;
- Technorati
Se alguém tiver interesse em algum deles é só me contatar que envio para o email.
Nesse novo tópico, disponibilizarei alguns problemas e as soluções que encontrei...ou não.
Uma maneira muito prática de constuir-se um menu lateral para exibir links favoritos e/ou recomendados de um site é a criação de um Bloco. O procedimento é muito simples (extraído a partir de http://drupal-br.org/geral/drupal-brasil/lista-de-sites-sugeridos):
1) acessar Início » Administrar » Construção do site » NOVO BLOCO
2) Descrição do Bloco: Um título para o bloco
3) Corpo do Bloco: neste campo deve-se adicionar tag's html para chamar o link e a imagem do site desejado:
No link abaixo há três exemplos de como proceder:
O resultado desse procedimento no site que estou construindo ficou assim:
http://www.economia.ufma.br, seção Sites relacionados, à direita.
Problema: Estou enfrentando uma série de contratempos com a utilização do módulo Organic Groups (http://drupal.org/project/og), pois ele interferiu em vários módulos pré-instalados, fazendo com que apresentassem problemas ou que deixassem de funcionar, caso do TINYMCE que estava ativo para todos os usuário mas simplesmente não aparecia na caixa de criar conteúdo.
Solução: Para que o Tinymce voltasse a funcionar, excluí o perfil de usuários dentro do próprio Tinymce; depois criei outro perfil com as mesmas características. Resolvido. Solução simples porém de trabalhosa descoberta, hehe.
Para um novato, a intensidade e quantidade de desafios são grandes na familiariazão com um cms tão poderoso como o drupal. Num ambiente assim caracterizado e com inúmeras possibilidades de personalização, e na ausência de uma documentação em português ou espanhol, especificamente no que se refere às VIEW's e às permissões de acesso às diferentes Formas/Tipos de conteúdo (stories/matérias, páginas estáticas e Páginas de Livros), seja pelas permissões normais, como pelas taxonomias/categorias.
Sobre estas duas questões assentam 70% de todos os desafios que tenho para aprender a utilizar o drupal e o mesmo se repete com todos os usuários iniciantes que abrem tópicos nos foruns do site.
Atualmente estou engajado na tentativa de entender como funcionam as view's para, a partir daí, conseguir gerar outras formas de visualização da informação do site. Ontem consegui descobrir um pedaço da roda, cheguei à conclusão que uma view é apenas uma consulta feita ao banco de dados, um forma de filtrar a informação e exibí-la num formato específico desejado pelo criador do site.
Já criei algumas view's para testar e me complico com a quantidade de opções de personalização das mesmas, bem como de saber como utilizá-las depois de prontas (e estou batendo muita cabeça sobre isso).
Pois bem, vamos às questões:
- Como ativar RSS para todo o site, por categorias (RSS dos avisos, das agendas, das páginas, das postagens, etc.)?
- Como fazer com que a foto do usuário só apareça na lista de usuários logados, no perfil, nas postagens dos foruns e nos comentários (e não nas páginas, livros e matérias [stories])?
- Qual módulo permite enviar mensagens para grupos de usuários de uma só vez?
- Tenho o Sistema de Editoração de Revistas Eletrônicas (SEER/OJS) do IBICT instalado, como aproveitar o cadastro dos usuários do site? É através do OpenId, widget do blogger, ou o que?
- Como programar o dia/horário que uma página/nodo irá ao ar, assim como pode ser feito no wordpress?
- Como fazer com que o criador de um Grupo de Pesquisa receba automaticamente a atribuição do papel de Coordenador do Grupo?
- Como encerrar o login após o navegador ser fechado ou quando o computador ficar inativo por X minutos?
- Como trocar algumas Mensagens de Informação do Drupal por Mensagens de Alerta ou de Exclamação?
Ou "Quem não tem cão caça com gato"
Na minha atual limitação em trabalhar com o view's e com as permissões de acesso por taxonomias/categorias estou testando uma forma muito peculiar de tipos de conteúdo, criando um tipo para cada grupo de papéis de usuários, como se vê abaixo:
<>Permissões para criar conteúdo para cada local de publicação de conteúdo:
- Textos para Discussão:
> Criei um novo tipo de conteúdo para cada local de publicação de conteúdo;
>> "Texto individual": Página de livro que os professores só podem alocar no respectivo item de menu;
>> "Texto colaborativo": Página de livro que só pode ser alocada pelos autores no respectivo item de menu;
- Artigos:
> "Artigo individual": Página de livro onde o professor só pode alocar neste item de menu;
> "Artigo colaborativo": Pagina de livro onde os professores só podem alocar neste local;
- Grupos de Pesquisa:
> "Página X" (Com o nome do grupo) -> Os membros do grupo criam páginas estáticas vinculadas a este item de menu;
> "Texto X" (...) Página de livro que os membros do grupo publicam apenas neste item de menu;
- Disciplinas do Curso:
> "Cadastrar Disciplina": Página estática onde apenas o Coordenador do Curso e o Servidor (funcionário) têm acesso. A página criada não aparece em nenhum item de menu, mas em link na página "Grade Curricular", editada manualmente. Possui campos de categorias específicas (Semestre da disciplina, papel da disciplina [Núcleo do Curso, Complementar, Optativa] e Departamento a qual está vinculada [Deptos de Economia, Computação, Direito, Matemática, Sociologia, Contabilidade, Letras]);
- Agenda (event):
> Criei uma view para cada papel de usuário, mas ainda não sei como utilizá-las no site;
- Project:
> Defini que os professores podem criar um projeto. Defini também que podem selecionar quem fará parte do mesmo;