l3p

Desvendando o modelo de dados da plataforma Elgg para a produção de um modelo de análise dos processos de comunicação

Por Dalton Martins. Em 04/02/15 10:40. Atualizada em 12/03/15 18:46.

Diário de bordo - Estudos da plataforma Elgg para a construção de um modelo analítico que apoie a investigação das formas de comunicação e colaboração entre usuários.

O estudo aqui se baseia num projeto de análise da formação Escolas Rurais Conectadas.

Referências para entender o modelo de dados do Elgg:

  1. http://learn.elgg.org/en/latest/design/database.html

Passos realizados:

  1. montagem do ambiente: instalação da plataforma Xampp para emulação de servidor web em ambiente PC, com Apache, MySql e PHP, PHPMyAdmin operando;
  2. teste do ambiente operacional:
    1. teste do apache: http://localhost/xampp/index.php
    2. teste do phpmyadmin: http://localhost/phpmyadmin
  3. upload do arquivo de banco de dados da instalação Elgg que será utilizada para o estudo:
    1. abrir um terminal de linha de comando do Windows: digitar "cmd" na caixa "pesquisar arquivos" do menu "iniciar";
    2. ir até o diretório de instalação do Mysql;
    3. criar um novo banco de dados pela interface do PhpMyAdmin, no caso criado como "escolasrurais";
    4. subir o arquivo via linha de comando do Terminal: mysql -u root -p database_name < file.sql
    5. Esta instalação do Elgg apresentou a seguinte lista de tabelas:Lista de tabelas elgg - escolas rurais conectadas
    6. O próximo passo é investigar que tipos de dados cada tabela fornece para avaliar onde as possíveis relações de comunicação e colaboração entre os usuários se encontram:
      1. elgg_access_collections: representa o nome das oficinas ofertadas pela formação. São 80 registros no total. Possui o id da oficina e um valor chamado owner_gui que significa o "dono" da oficina. Vale notar que esses valores não se repetem, logo há donos diferentes para cada oficina na plataforma. Interessante entender qual a razão disso.
      2. elgg_access_collection_membership: essa tabela associa um usuário cadastrado as oficinas onde ele se inscreveu. É uma boa tabela para avaliar a frequência e distribuição de participação de usuários pelas oficinas ofertadas;
      3. elgg_annotations:
      4. elgg_api_users: tabela vazia.
      5. elgg_config: parâmetros de configuração da instalação. Não relevante para esta pesquisa;
      6. elgg_datalists: variáveis de configuração da gravação de dados no servidor. Não relevante para esta pesquisa;
      7. elgg_entities: é uma das maiores tabelas do banco de dados. É nela que o Elgg armazena todos os objetos inseridos no ambiente, sejam eles usuários, postagens de blogs, arquivos, bookmarks ou grupos/comunidades de usuários.
        1. container_guid: pode ser tanto um usuário ou um grupo dono da entidade. O grupo deve ser investigado e filtrado pela tabela group_entity abaixo descrita;
        2. subtype: o tipo de atividade realizada. As análises devem ser feitas considerando um subtipo por vez, pois representam gêneros de ações diferentes e podem gerar visualizações de tipos de interação e colaboração bem interessantes. Devem ser também filtradas por container;
        3. owner_guid: representa o usuário relacionado a entidade.
      8. elgg_entity_subtypes: essa tabela define os tipos de entidades que armazenadas na tabela do item 07 acima. São de especiais interesses os seguintes tipos:
        1. 01 - uploads de arquivo que um usuários possa ter publicado em um fórum, por exemplo;
        2. 04 - blog;
        3. 15 - questão;
        4. 13 - mensagens;
        5. 14 - tópico num forúm de grupo;
        6. 16 - resposta;
        7. 18 - bookmarks que um usuário publicou;
        8. 23 - resposta a um tópico.
      9. elgg_entity_relationships: a tabela mostra as relações entre entidades. É uma tabela importante para entender como diferentes objetos da plataforma se relacionam. Uma investigação dessa tabela permitiu identificar os tipos de relacionamento que o Elgg promove:
        1. Inicialmente, é preciso analisar as categorias da tabela para avaliar quais relações podem nos interessar. Para isso, uma consulta SQL nessa tabela permite avaliar as categorias: SELECT DISTINCT `relationship` FROM `elgg_entity_relationships` WHERE 1
        2. O resultado retornado pelo Elgg é reportado abaixo. São de especiais interesses para nossa pesquisa o relacionamento "friend".Lista de relacionamentos de entidades - Elgg
      10. elgg_groups_entity: essa tabela apresenta todos os "grupos" criados. Me parecem fóruns, tais como "Café virtual". O campo "guid" desta tabela é o que especifica o "container_guid" da tabela de entidades, logo, buscamos nessa tabela que fóruns queremos investigar e na tabela entidades que ações por tipos aconteceram nesse fórum.
      11. elgg_geocode_cache: tabela vazia;
      12. elgg_hmac_cache: tabela vazia;
      13. elgg_metadata: contém todos os metadados que expandem os campos padrão do elgg para definição de conteúdos e usuários. Pode ser uma fonte interessante para encontrar alguns tipos de atributos. Precisa de mais investigação navegando na plataforma para avaliar a sua relevância;
      14. elgg_metastrings: contem valores utilizados pela tabela anterior;
      15. elgg_objects_entity: armazena o conteúdo das entidades. Por exemplo, os textos de mensagens trocadas, blogadas, etc.
      16. elgg_ohyes_chat: tabela vazia;
      17. elgg_private_settings: contém configurações de dados privados de usuários e mensagens privadas internas do sistema. Aparentemente, não possui relavância para nossa pesquisa;
      18. elgg_river: é uma tabela bastante importante. Ela registra o "fluxo/rio" de atividades dos usuários na plataforma. Possui as seguintes categorias de atividades:Lista de atividades elgg
        1. no campo object_guid, permite relacionar com a tabela object_entity a qual objeto da plataforma se refere a ação desenvolvida. Vale ressaltar que para a ação de amizade, o object_guid pode ser um usuário, logo, esse valor não constará na tabela object_entity.
        2. essa tabela é boa para avaliar a frequência e a dispersão de ações de usuários pelas atividades do curso.
      19. elgg_sites_entity: define apenas o nome da instalação;
      20. elgg_system_log: log de ações no sistema. Mistura atividades administrativas do Elgg com ações de usuários. A tabela river é mais prática para avaliar apenas usuários;
      21. elgg_users_apisessions: tabela vazia;
      22. elgg_users_entity: tabela de usuários. possui nomes de usuários, emails e datas de primeiro e último acesso. Não possui nenhum atributo extra de usuário. Os atributos e valores estão na tabela de metadados. É preciso avaliar melhor online os atributos de perfil de usuário que desejamos incluir como atributos da análise para identificar seus valores na tabela metadados.
      23. elgg_users_sessions: apenas administrativa, grava o cookie de autenticação de cada sessão do sistema. Não relevante para esta pesquisa.

 

Categorias: diáriodebordo elgg modelodedados