Sistema de Gestão de Pedidos (Tickets)

Events happening in the community are now at Drupal community events on www.drupal.org.
rjs.martins's picture

Boas,

Eu entrei à coisa de 3 meses neste mundo, portanto quero desde já pedir desculpa pela ignorância que possa acartar comigo.

Eu ando a utilizar o Drupal, mais precisamente uma distribuição específica deste chamada Open Atrium pois estou inserido num projecto para construir uma intranet e da pesquisa resultante foi a opção que mais satisfez os requisitos. Estou a usar a versão 1.7 do Open Atrium (http://openatrium.com/node/52), e dado que este é à base de Drupal abre-me a porta a bastantes possibilidades.

O que eu quero implementar é um sistema de gestão de pedidos, ou seja, um sistema de tickets para assegurar um serviço de suporte aos clientes. Vou então explicar mais precisamente o que eu quero fazer.

Eu quero que os clientes quando autenticados vão ao tal sistema criar um ticket preenchendo algumas características (título, descrição, prioridade e o ponto de contacto constituído por nome, contacto telefónico e email) deste através de um formulário, e quando este é criado é enviado um email para o admin e para o cliente a dizer que o tal ticket foi criado. Quando este é criado, há uma transição automática de estado (quero ter a noção de estado para o ticket), para iniciado. Depois do ticket criado, quando o cliente consultar o ticket este é apresentado com as suas características que podem ser editadas ali na hora, editando cada campo na própria página do ticket. Depois, à medida que as campos do ticket vão sendo preenchidos e de acordo com os estados, vão aparecendo novos campos. Por exemplo, depois de todas as informações preenchidas (título, descrição..) e gravado irá aparecer um novo campo chamado estimativa de esforço que quando preenchido e posteriormente gravado, irá dar origem a um novo campo e a um novo estado.

Quero que a edição dos campos seja numa base de tipo de utilizador, ou seja, se for um cliente não pode editar o campo x mas o admin já o pode editar. As notificações por email também quero que sejam enviadas em certas situações apenas para um utilizador, do estilo de foi o cliente a editar o campo x, ele não recebe o email mas o admin recebe. O cliente só pode ver os seus próprios tickets, enquanto que o admin pode visualizar todos.

Já estive a sondar módulos, tais como este (https://drupal.org/project/support) e este (https://drupal.org/node/617012), no entanto não tenho a certeza se serão capazes de fazer algo deste estilo.

Espero não ter sido muito confuso e demasiado abstracto, mas gostava de ter uma opinião de alguém que já estivesse dentro deste ambiente há já algum tempo.

Aguardo a vossa resposta e desde já obrigado.

Comments

Ola e bem-vindo. Vi que

olafveerman's picture

Ola e bem-vindo.

Vi que adicionou a categoria drupal 6. Pretende desenvolver o sistema em Drupal 6?

Já deve saber que a filosofia da maioria dos modulos em Drupal não é fornecer funcionalidades completas. Comparado com um CMS como Joomla, são módulos mais abstratos. O modulo Support parece ser uma exceção, más vai ter que usar uma serie de módulos para implementar o ticket system.

Nunca trabalhei com o modulo Support, más pela descrição só parece faltar os conditional fields.

Depois, à medida que as campos do ticket vão sendo preenchidos e de acordo com os estados, vão aparecendo novos campos

Para Drupal 6 havia o módulo Conditional Fields para configurar os campos, más não sei se já existe uma alternativa para D7 (https://drupal.org/project/Conditional_Fields).
Se não, vai ter que desenvolver algo custom com o States API: https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_...

A pagina https://drupal.org/node/1074360 tem uma espécie de tutorial para começar a fazer custom modules.

boa sorte,
Olaf

Decidi desenvolver em D6 pois

rjs.martins's picture

Decidi desenvolver em D6 pois a última versão estável do Open Atrium é o 1.7 que traz a versão 6.28 do Drupal se não estou em erro.

A última versão do Open Atrium que é a 2.X já vêm com o D7, mas ainda está em versão alpha o que me deixa um pouco de pé atrás.

Relativamente à filosofia dos módulos já me tinha apercebido disso, pois existem módulos para todas as funcionalidades e maioria das vezes é necessário recorrer a uns tantos de forma a obter um produto final.

No entanto quero agradecer pelas dicas e vou investigar um bocado nessa direcção.

rjs.martins

Olá pessoalmente nunca

uaparac's picture

Olá pessoalmente nunca trabalhei com o Open Atrium e sinceramente prefiro instalar o Drupal de raiz e ir personalizando ao meu gosto com os módulos que preciso e a minha dica é nesse seguimento.

Se quiseres fazer uma coisa mais ao teu jeito e mais personalizado tens 2 módulos que podem e vão dar-te muito jeito.

O primeiro é um modulo tipo CRON que é um móduloque te vai permitir despultar acções no teu site de forma automática, tipo enviar emails, notificações ao administrador e cliente e por aí fora as possibilidades são imensas.

Existem vários modulos do tipo CRON recentemente tenho trabalhado com este e estou bastante satisfeito.
https://drupal.org/project/ultimate_cron

Outro módulo muito importante e que pode servir para mudar o estado do pedido para PENDENTE, EM CURSO, etcc etc... é o FLAG
https://drupal.org/project/flag

Juntamente com o VIEWS podes criar "vistas" tipo uma query a uma BD de todos os procedimentos ou só daqueles que pretendas como os Tickets pendentes etc....

Depois se quiseres algo mais do tipo do Open Atrium tens vários módulos de CHAT, Datas e Calendários... acho que assim ficas mais bem servido e com potencialidades quer em termos de Design como em termos de escalamento do site em termos futuros... e já agora cuidado com o D6 porque não deve faltar muito para que deixe de ter suporte, relembro que o suporte tem sido só para as 2 últimas edições neste caso o D7 e o D6... como o D8 está por aí a estourar qq dia o Drupal 6 fica sem suporte.

Boa sorte.

Antes de tudo, muito obrigado

rjs.martins's picture

Antes de tudo, muito obrigado pelo apoio!

Uaparac, a tua dica segundo percebi vai no sentido de ir construindo peça a peça, esquecendo o tal módulo de suporte de tickets (https://drupal.org/project/support)?

Sim, dá mais trabalho mas

uaparac's picture

Sim, dá mais trabalho mas ficas com mais potencialidades e funcionalidades.

Já agora vê este vídeo que mostra como montar um Registo de um evento... podes sempre trocar isso por um registo de um TICKET

http://www.youtube.com/watch?v=0CHC8I9xZIg

Boa sorte.

Esse módulo pode servir para

uaparac's picture

Esse módulo pode servir para tirares ideias e funcionalidades que queiras implementar no teu sistema. Ideias para os campos e informações que neles possam conter. Se quiseres ter menos trabalho instalas o tal módulo do Support e tens de instalar e testar ;)

Mais uma vez obrigado pelo

rjs.martins's picture

Mais uma vez obrigado pelo feedback, vou então explorar um bocado com as vossas hipóteses e uma vez atingido o objectivo venho aqui explicitar como o consegui!

Boas! Quero dizer-vos que

rjs.martins's picture

Boas!

Quero dizer-vos que após uma semana as coisas já estão a andar... Hehe

Tinha mencionado que ia pegar em módulos de sistemas de tickets existentes, como o tal módulo de suporte de tickets que já mencionei em comentários acima ou como o case tracker que é uma feature do Open Atrium. No entanto nenhum destes módulos satisfazia os meus requisitos porque já tinha um workflow bastante definido e as settings originais eram difíceis de fazer override pois em ambos os módulos um ticket tinha de estar sempre associado a um projecto por exemplo.

Decidi então meter mãos à obra e descobrir o que o mundo drupal já tinha disponível para mim.

Para construir o formulário do ticket estou a usar cck que me permite adicionar os campos que quero; irei usar as views em princípio para disponibilizar páginas como os meus tickets ou todos os tickets; estou a usar os módulos workflow e rules para impor um workflow ao formulário, introduzir a noção de estado e as suas consequentes transições. Ou seja as coisas estão a compor-se e já tenho uma direcção para seguir o que me facilita bastante a implementação.

Quando já tiver as coisas mais orientadas depois vou explicitando o que utilizei mais.

Cumprimentos aos demais!

Airmenu

cibraopinto's picture

Framework em Cloud para gestão de pedidos

Depois de feitos os pedidos os mesmos podem ir para vários locais

Portugal

Group categories

Classificação

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: