Desvendando o modelo de dados da plataforma Elgg para a produção de um modelo de análise dos processos de comunicação
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:
Passos realizados:
- montagem do ambiente: instalação da plataforma Xampp para emulação de servidor web em ambiente PC, com Apache, MySql e PHP, PHPMyAdmin operando;
- teste do ambiente operacional:
- teste do apache: http://localhost/xampp/index.php
- teste do phpmyadmin: http://localhost/phpmyadmin
- upload do arquivo de banco de dados da instalação Elgg que será utilizada para o estudo:
- abrir um terminal de linha de comando do Windows: digitar "cmd" na caixa "pesquisar arquivos" do menu "iniciar";
- ir até o diretório de instalação do Mysql;
- criar um novo banco de dados pela interface do PhpMyAdmin, no caso criado como "escolasrurais";
- subir o arquivo via linha de comando do Terminal:
mysql -u root -p database_name < file.sql
- Esta instalação do Elgg apresentou a seguinte lista de tabelas:
- 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:
- 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.
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;elgg_annotations
:-
elgg_api_users
: tabela vazia. elgg_config
: parâmetros de configuração da instalação. Não relevante para esta pesquisa;elgg_datalists
: variáveis de configuração da gravação de dados no servidor. Não relevante para esta pesquisa;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.- 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;
- 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;
- owner_guid: representa o usuário relacionado a entidade.
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:- 01 - uploads de arquivo que um usuários possa ter publicado em um fórum, por exemplo;
- 04 - blog;
- 15 - questão;
- 13 - mensagens;
- 14 - tópico num forúm de grupo;
- 16 - resposta;
- 18 - bookmarks que um usuário publicou;
- 23 - resposta a um tópico.
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:- 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
- O resultado retornado pelo Elgg é reportado abaixo. São de especiais interesses para nossa pesquisa o relacionamento "friend".
- 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
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.elgg_geocode_cache
: tabela vazia;elgg_hmac_cache
: tabela vazia;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;elgg_metastrings
: contem valores utilizados pela tabela anterior;elgg_objects_entity
: armazena o conteúdo das entidades. Por exemplo, os textos de mensagens trocadas, blogadas, etc.elgg_ohyes_chat
: tabela vazia;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;elgg_river
: é uma tabela bastante importante. Ela registra o "fluxo/rio" de atividades dos usuários na plataforma. Possui as seguintes categorias de atividades:- 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.
- essa tabela é boa para avaliar a frequência e a dispersão de ações de usuários pelas atividades do curso.
elgg_sites_entity
: define apenas o nome da instalação;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;elgg_users_apisessions
: tabela vazia;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.elgg_users_sessions
: apenas administrativa, grava o cookie de autenticação de cada sessão do sistema. Não relevante para esta pesquisa.
- 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.
Categorias: diáriodebordo elgg modelodedados