Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

tenho20metros

[Resolvido] Organization Chart com Back Office em PHP

Mensagens Recomendadas

tenho20metros

Boas, a questão que venho aqui colocar é a seguinte

Tenho de desenvolver um organization chart (org chart) que seja simples de se puder alterar dados nele pois é constantemente actualizado.

O projecto ainda está em fase de idealização por isso ainda não tenho nenhum código desenvolvido só queria mesmo esclarecer a melhor maneira de abordar este projecto.

O design seria algo deste género (mais coisa menos coisa).

https://creately.com/diagram/example/hckwve0d1/PHP

Agora o que pretendia era depois ter um back office que me permitisse alterar os dados(esta parte sei que é possível e sei fazer sem problemas) que estão dentro das "caixinhas" e se possível criar novas e/ou eliminar existentes.

Duvidas:

-É possível criar um back office que crie/elimine "caixinhas"?;

-Dá para fazer um back office sem ligação a base de dados?;

-Quais as ferramentas que devo de usar?.

Espero ter esclarecido bem o meu projecto assim como as minhas duvidas.

Qualquer esclarecimento e sugestão são bem vindos,

Comprimentos,

Ricardo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

Olá,

-É possível criar um back office que crie/elimine "caixinhas"?;

Não sei se percebo bem a questão...

A minha sugestão seria fazeres toda a funcionaliade no front-end (browser com javascript) e simplesmente manteres o back-office actualizado com as alterações feitas no front-end.

http://stackoverflow.com/questions/3923221/are-there-any-better-javascript-org-charts-compared-with-google-org-chart-api

Refer algumas bibliotecas que podes usar (a D3 parece-me "gira")

http://jsfiddle.net/augburto/YMa2y/

-Dá para fazer um back office sem ligação a base de dados?;

Claro, podes usar qualquer solução que queiras para persistir a informação: BD, ficheiros, etc, etc

No entanto, acho que a estrutura de um org-chart se assemelha/mapeia muito bem numa BD...

-Quais as ferramentas que devo de usar?.

vê a resposta a 1ª questão.

Sugiro transferires a info entre front-end e back-end por json (e assim usas a D3.js com facilidade :) )

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tenho20metros

Desde já obrigado pela resposta. :thumbsup:

Em relação ao primeiro ponto vou me tentar explicar melhor. O que queria dizer era por exemplo tenho um org chart assim: http://i.imgur.com/JHjCeLQ.jpg

E queria saber se em back office conseguia inserir uma nova caixa de texto para ficar assim: http://i.imgur.com/zRQ1flT.jpg

Ou sejam sem ter e ir ao código fonte da página e manualmente inserir a caixa de texto.

Em relação ao ponto 2 fiquei totalmente esclarecido :)

No ponto 3 a minha pergunta era para saber se é melhor usar uma ferramenta mais pratica para fazer o back office por exemplo o code igniter ou se é melhor fazer do 0.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tenho20metros

Gostei do exemplo, mas se depois se optar por usar uma base de dados para gerir os dados tenho de criar um ficheiro em php para fazer a ligação e depois como passo os dados para a variável root?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
tiago.f

o php tem uma funcão chamado json_encode que trata disso. Basta que lhe passes um object e ela converte-o numa String json.

http://stackoverflow.com/questions/9858448/converting-object-to-json-and-json-to-object-in-php-library-like-gson-for-java

Depois como passas isso para o javascript é contigo: desde gerar o script dinamicamente a ir buscar apenas esta info atraves de uma chamada ajax....

Por exemplo (nao testei):

<script>
var root = {};
function updateData() {
   $.ajax({
    url: 'api/orgdata',
    dataType: 'json',
    type: 'GET,
    success: function(response) {
	    root = response;
    },
    error: function(xhr, status, err) {
	    console.error(status, err.toString());
    }
   });
}
setTimeout (updateData, 2000);

</script>

Este script vai buscar os dados para a variavel "root" a cada 2 segundos, chamando o url "api/orgdata".

Se tiveres php a responder a este url com algo do tipo:

<'php
$resultado = getOrgDataFromDB();
header('Content-Type: application/json');
echo json_enconde($resultado);
exit;
?>

Deve resultar

Editado por tiago.f

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.