Aqui está a transcrição do discurso de Gudule Lapointe sobre o estado do desenvolvimento do w4os, na OpenSimulator Community Conference 2022.
O vídeo do dia inteiro está disponível no YouTube youtube.com/watch?v=sQqqa6GmhvIg e esta palestra de 20″, em particular, às 3:35:51.
Introdução
Criámos a grelha Speculoos World há 11 anos (mas quem está a contar?), e todos enfrentámos os mesmos desafios: conseguir uma grelha totalmente operacional e oferecer todas as funcionalidades. O núcleo do OpenSimulator fornece as principais, mas não todas.
É necessário instalar, pelo menos, uma interface Web que permita o registo de utilizadores, um servidor de activos Web, um par de auxiliares e, para alguns, um servidor de moeda.
Pelo menos meia dúzia de aplicações diferentes, cada uma delas de um projeto diferente, utilizando plataformas ou linguagens diferentes e, mesmo quando utilizam a mesma linguagem, utilizam normas diferentes.
Alguns deles nem sequer têm qualquer implementação, apenas soluções alternativas, como os grandes projectos OpenSimWorld, que substituem a pesquisa no mundo por um sinalizador ligado a um website, ou o nosso próprio projeto 2do Events (um fork do HYPEvents de Tom Frost), que substitui a pesquisa de eventos por um quadro no mundo.
Ah, e claro, também é preciso um sítio Web.
A abordagem
Na verdade, começou há 6 anos, como uma simples coleção de auxiliares disponíveis na altura, com um ficheiro de configuração unificado e um script de instalação, conhecidos como ” Flexible helper scripts “. Depois, 3 anos mais tarde, quisemos integrá-lo no sítio Web, pelo que criámos o w4os, um plugin “WordPress interface for OpenSimulator”, para obter uma solução mais completa.
- Porquê o WordPress? é popular, tem código aberto, é potente e multilingue
- Um ponto único para todas as necessidades: registo de utilizadores, gestão da grelha, ajudas no mundo e na Web.
- Configuração fácil. Mais ou menos. Poderia ser mais fácil, estamos a trabalhar nisso.
- Gestão centralizada: não há mais configurações em diferentes locais, utilizando diferentes padrões, método de instalação unificado
Onde é que estávamos?
No ano passado, quando apresentámos o plugin pela primeira vez no OSCC, já tinha uma série de funcionalidades. Não vou entrar em pormenores, o vídeo ainda está disponível no YouTube, mas essencialmente
- Registo de avatares, com modelos predefinidos, regras de nomes protegidos, sincronização entre avatares e utilizadores do WordPress e um perfil Web básico
- Blocos, códigos de acesso e widgets da barra lateral: estado da grelha, informações da grelha e formulário de registo. Os blocos no WordPress são fixes, pois permitem apresentar alguns detalhes no layout geral (como nas barras laterais) ou numa página específica (como blocos com Gutenberg ou com shortcodes).
- Página de apresentação, personalizável com blocos w4os, claro, mas também com qualquer conteúdo do sítio Web ou de outros plugins.
- Servidor de activos Web: esta é a ponte que permite apresentar imagens de grelha numa página Web
- Redireccionamento de correio de mensagens offline
O que é que fizemos desde então?
Melhorias no mundo
A pesquisa no mundo era a caraterística que mais faltava para mim. Apesar de serem soluções bastante fixes, considero muito frustrante não poder utilizar as funcionalidades de pesquisa do visualizador. E foi o que fizemos. E com os resultados de pesquisa fornecidos pelo plugin w4os, também podem ser utilizados na conceção geral do sítio Web.
Definições
Nas definições, pode optar por utilizar uma base de dados separada. A base de dados de pesquisa utiliza o mesmo esquema que os auxiliares de pesquisa existentes, pelo que é intermutável.
O motor de busca pode ser partilhado entre várias grelhas, para beneficiar das funcionalidades do Hypergrid. Mesmo as grelhas que não usam o w4os podem usar o registo de pesquisa e o motor de pesquisa (embora precisem de instalar a dll OpenSimSearch adequada).
Locais
Uma vez definido o motor de busca, a inclusão é efectuada a partir das definições padrão da parcela do visualizador. Active a opção “Mostrar local na pesquisa” na sua parcela e esta aparecerá nos resultados com a sua descrição e fotografia.
Terrenos para venda
Os terrenos à venda também aparecem (assumindo que a opção “Mostrar local na pesquisa” também está activada)
Classificados
Os classificados são uma ferramenta muito útil. Embora, por definição, apenas permita destinos locais, podes adicionar um url do tipo secondlife para destinos hipergrid.
Eventos
E, claro, Eventos. Esta é a caraterística mais frustrante que falta. Os quadros no mundo são interessantes, mas já existe uma funcionalidade integrada para isso no visualizador, é uma pena não a utilizar.
Por definição, os organizadores não podem registar eventos a partir do visualizador. Mesmo no Second Life, os eventos têm de ser registados a partir do sítio Web. Atualmente, recorremos ao 2do Events, que por sua vez recorre a calendários públicos, mas falaremos disso mais tarde.
Mais uma coisa…
O que é interessante é que a pesquisa de eventos é compatível com o HyperGrid. O espetador não compreende realmente os destinos HG, mas adicionamos um URL funcional acima da descrição. Na verdade, dois, porque, atualmente, parece que, dependendo do visualizador, o URL hop:// ou secondlife:// será entendido.
E também…
Também adicionámos suporte de moeda, que atualmente funciona com moedas “falsas”, Podex e Gloebit (desde que a Gloebit funcione).
A opção “Comprar” do visualizador permite fazer uma estimativa dos custos e redirecionar para a região do fornecedor, no caso da Podex, ou para o sítio Web, no caso da Gloebit.
Actualizámos as mensagens offline para o serviço de mensagens v2, para garantir a compatibilidade com as normas actuais da base de dados principal.
Melhorias no front-end
Perfil
A página de perfil na Web mostra agora mais pormenores, competências, parceiro, língua, no mundo e texto sobre RL. Todos eles são definidos a partir do visualizador
Página de apresentação
O novo bloco de locais populares pode ser utilizado na página inicial apresentada no ecrã de início de sessão do visualizador. E um clique num destino altera a região de destino do início de sessão.
Início de sessão / Registo
Há também várias outras melhorias, como o facto de um utilizador sem conta WP existente poder iniciar sessão no sítio Web com a sua credencial de avatar.
Os novos utilizadores registados receberão uma página com instruções de configuração do visualizador.
E agora?
Há alguns meses, um proprietário de uma grelha disse-me que tinha uma grelha com vários avatares que partilhavam o mesmo endereço de e-mail. Embora esta não seja uma utilização frequente, nada impede que o faça no núcleo do OpenSimulator. Uma vez que o w4os foi desenvolvido com base na ideia de que um e-mail só pode ser utilizado para um avatar, isto cria um problema de compatibilidade.
Então aqui estamos. Reescrever o código para separar os avatares dos utilizadores. É um trabalho enorme e devo admitir que me obrigou a abrandar o desenvolvimento de outras partes do projeto. Mas qual seria o objetivo de adicionar novo código sabendo que teria de o reescrever em breve?
O que é bom é que me obriga a reescrever este código de vários anos e de várias fontes de uma forma mais modular. Espero que a versão 3 seja lançada no início de 2023 e, depois disso, serão adicionadas várias funcionalidades interessantes, como
- KISS : Keep it simple and stupid
- Um processo de instalação mais fácil
- Um assistente de configuração de plugins
- Página de configuração dividida (apenas os ajudantes activados terão a sua página de definições no menu de administração)
- Controlo da região administrativa
- Modelos de administração Web e lista de contas técnicas
- Gestão de utilizadores banidos
- Controlo da região do utilizador e das parcelas
- Registo de eventos (com a opção de permitir a publicação de eventos apenas para parcelas próprias)
- Integração total do 2do Events (incluindo o servidor 2do)
Obrigado
Espero que experimentem e nos dêem o vosso feedback. Já existem algumas grelhas que utilizam o plugin e o seu feedback é muito útil e apreciado.
Algumas perguntas e respostas
Seguem-se algumas perguntas feitas após a palestra, cuja resposta julgo ser de interesse:
O seu trabalho vai continuar a basear-se no WordPress ou poderá estar interessado em explorar o desenvolvimento de um plug-in para sistemas de gestão da aprendizagem como o Canvas, o Moodle e o Blackboard?
Tentei manter os auxiliares e o código específico do WordPress separados, e vou tentar fazê-lo ainda melhor na versão 3, pelo que a implementação noutra plataforma deverá ser, se não fácil, pelo menos simplificada.
O WordPress precisa de ser executado na mesma máquina em que o OpenSimulator está a ser executado?
Não, pode estar num servidor diferente, desde que o anfitrião do WordPress seja capaz de se ligar ao servidor MySQL do OpenSimulator.
Existe alguma coisa sobre a aplicação da legislação relativa à privacidade dos dados?
O WordPress tem formas de lidar muito bem com a privacidade dos dados. No entanto, assim que o ligar ao OpenSimulator, este torna-se o ponto fraco nesta matéria. A nível do plugin w4os, não é revelado muito mais do que no mundo (talvez nada), mas alguns avisos poderão ser apresentados no futuro.
Uma vez tive um sistema de registo para uma grelha que permitia vários avatares por conta de início de sessão e as pessoas não pareciam compreender ou esperar essa funcionalidade.
Os multi-avatares são necessários para garantir a compatibilidade com as grelhas que já utilizam esta funcionalidade, mas concordo que pode ser confuso e vou acrescentar definitivamente uma opção de administração para permitir ou não esta funcionalidade aos utilizadores finais.
Versão estável
Candidato
Com as mais recentes melhorias e funcionalidades. Algo próximo da próxima versão estável, mas pode haver ainda alguns bugs.
Desenvolvimento
O desenvolvimento atual, versão instável. Não o utilizo em ambiente de produção. Pode conter (e provavelmente contém) erros ou trabalhos em curso.