Azuriom 1.0
Introdução
Azuriom 1.0 é a nova versão principal do Azuriom, contém muitas mudanças e visa manter o Azuriom à prova de futuro.
Esta atualização contém muitas alterações internas, em particular a atualização para Laravel 9 (Laravel sendo o PHP framework - a base - usado pela Azuriom) e Bootstrap 5 (Bootstrap sendo o CSS framework usado pela Azuriom).
PHP 8
Em particular, o uso do Laravel 9 significa que PHP 8 agora é necessário para usar o Azuriom. Também gostaríamos de observar que o PHP 7.4 não é mais suportado pelo PHP desde novembro de 2021 e não receberá mais atualizações de segurança a partir de novembro de 2022 (consulte o site do PHP). Por este motivo, recomendamos que atualize os seus sites utilizando PHP (quer utilizem Azuriom ou não) o mais rapidamente possível.
Extensões
Devido a várias mudanças internas, as extensões (temas e plugins) terão que ser atualizadas para suportar o Azuriom v1.0. Além disso, extensões compatíveis com Azuriom v1.0 não são compatíveis com versões anteriores de Azuriom.
O layout do design básico do CMS e plugins também foi completamente revisado, a fim de simplificar o desenvolvimento de temas, bem como a coerência geral entre os plugins.
Redesenho do sistema de conexão
O sistema de login para Azuriom para Minecraft também foi redesenhado, para servidores Minecraft: Java Edition que não aceitam versões não oficiais/offline do jogo, bem como para servidores Minecraft: Bedrock Edition, agora é possível fazer login diretamente através de sua conta Microsoft.
Para servidores Minecraft: Java Edition que aceitam versões não oficiais, também é possível automatizar a criação de uma conta no site com AzLink e o plugin AuthMe reloaded.
Esses diferentes novos sistemas simplificam o login no site, eliminando o risco de usuários usarem o nome de usuário errado.
Finalmente, para sites que utilizam a conexão Steam, é possível adicionar um endereço de e-mail para receber determinados alertas por e-mail (por exemplo, quando uma resposta é recebida no plugin de suporte ou quando uma compra é feita na loja). Esse recurso é totalmente opcional.
Atualizar
A migração está disponível para sites executados em uma versão mais antiga do Azuriom. O site deve estar na versão 0.6.0, então na guia de atualização do painel de administração, você pode atualizar para o Azuriom v1.0!
Antes de atualizar, alguns pontos importantes:
- Faça um backup do seu site (arquivos e banco de dados)
- Certifique-se de que todas as extensões foram atualizadas para v1.0
- Certifique-se de ter o PHP 8.0 ou superior
- Verifique se o site tem as permissões necessárias nos arquivos
Antes de atualizar, é necessário desativar todas as extensões. Estes podem ser reativados assim que a atualização for concluída.
A migração excluirá todos os dados do plugin vote. Os outros plugins não são afetados.
Quando a atualização estiver concluída, você poderá atualizar suas extensões.
Adaptando um tema
Como a Azuriom está agora a utilizar o Bootstrap 5, os temas terão de ser adaptados. Recomendamos que você consulte o guia de migração do Bootstrap 5.
Uma mudança notável no uso do Bootstrap 5 é que o jQuery não está mais incluído no Azuriom. Também não é recomendado usá-lo.
Além disso, para melhorar a compatibilidade futura, também aconselhamos os temas a modificar o HTML do CMS e os plugins o mínimo possível, mas usar CSS o máximo possível. Isso evita futuros problemas de compatibilidade no caso de uma atualização com modificação do HTML ou quando do HTML ou ao adicionar novos plugins.
Devido a muitos problemas de compatibilidade e temas desatualizados, os temas no mercado serão forçados a respeitar esta regra. É claro que é permitido alterar a página inicial ou o layout, bem como algumas páginas adicionais, mas não será permitido alterar todas as páginas e/ou plugins.
Por fim, muitas traduções foram aprimoradas e precisarão ser alteradas nos temas.
Para que um tema seja carregado com o Azuriom v1.0, é obrigatório adicionar
"azuriom_api": "1.0.0",
notheme.json
:{ "authors": [ "..." ], "azuriom_api": "1.0.0" }
Ícones
FontAwesome 5 foi substituído por Bootstrap Icons, então você precisaria substituir todos os ícones.
Também requer a substituição do FontAwesome CSS pelo do Boostrap:
- <link href="{{ asset('vendor/fontawesome/css/all.min.css') }}" rel="stylesheet">
+ <link href="{{ asset('vendor/bootstrap-icons/bootstrap-icons.css') }}" rel="stylesheet">
Redes sociais
Azuriom agora tem uma configuração dedicada para adicionar links para redes sociais diretamente das configurações. Se você tiver uma configuração equivalente, é altamente recomendável usar o sistema fornecido pelo CMS. Você pode obter os diferentes links com a função social_links()
assim:
@foreach(social_links() as $link)
<a href="{{ $link->value }}" title="{{ $link->title }}" target="_blank" rel="noopener noreferrer" class="btn">
<i class="{{ $link->icon }} fs-2" style="color: {{ $link->color }}"></i>
</a>
@endforeach
Servidores na página inicial
Agora é possível exibir servidores na página inicial, o que é especialmente útil para jogos Steam. Os servidores estão disponíveis com a variável $servers
, que dá por exemplo:
@if(! $servers->isEmpty())
<h2 class="text-center">
{{ trans('messages.servers') }}
</h2>
<div class="row justify-content-center mb-4">
@foreach($servers as $server)
<div class="col-md-4">
<div class="card">
<div class="card-body text-center">
<h5>{{ $server->name }}</h5>
<p>
@if($server->isOnline())
{{ trans_choice('messages.server.total', $server->getOnlinePlayers(), [
'max' => $server->getMaxPlayers(),
]) }}
@else
<span class="badge bg-danger text-white">
{{ trans('messages.server.offline') }}
</span>
@endif
</p>
@if($server->joinUrl())
<a href="{{ $server->joinUrl() }}" class="btn btn-primary">
{{ trans('messages.server.join') }}
</a>
@else
<p class="card-text">{{ $server->fullAddress() }}</p>
@endif
</div>
</div>
</div>
@endforeach
</div>
@endif
Conectar nos servidores por URL
Uma opção foi adicionada para exibir um link para o servidor em vez do endereço. Isso é especialmente útil para servidores de jogos com suporte para uma URL para conexão direta. Recomendamos substituir todos os usos do endereço do servidor por algo como isto:
@if($server->joinUrl())
<a href="{{ $server->joinUrl() }}" class="btn btn-primary">
{{ trans('messages.server.join') }}
</a>
@else
{{ $server->fullAddress() }}
@endif
Adaptando um plugin
Uma vez que a Azuriom está agora a utilizar o Bootstrap 5, os plugins terão de ser adaptados. Recomendamos que você consulte o guia de migração do Bootstrap 5.
Além disso, Azuriom agora está usando Laravel 9 e PHP 8, aconselhamos que você dê uma olhada no Guia de migração Laravel 9.
Você também pode aproveitar para usar os novos recursos introduzidos no PHP 8.0 (mas é 100% opcional).
Para que um plugin seja carregado com o Azuriom v1.0, é obrigatório adicionar
"azuriom_api": "1.0.0",
noplugin.json
:{ "authors": [ "..." ], "azuriom_api": "1.0.0", "providers": [ "..." ] }
Ícones
FontAwesome 5 foi substituído por Bootstrap Icons, então você precisaria substituir todos os ícones FontAwesome.
Provedores de serviço
Agora é necessário especificar explicitamente chamadas para a função trans
nos métodos routeDescriptions()
, userNavigation()
e adminNavigation()
.
Isso resulta nas seguintes modificações:
protected function routeDescriptions()
{
return [
- 'shop.home' => 'shop::messages.title',
+ 'shop.home' => trans('shop::messages.title'),
];
}
// ...
protected function adminNavigation()
{
return [
'shop' => [
- 'name' => 'shop::admin.nav.title',
+ 'name' => trans('shop::admin.nav.title'),
// ...
'items' => [
- 'shop.admin.packages.index' => 'shop::admin.nav.packages',
+ 'shop.admin.packages.index' => trans('shop::admin.nav.packages'),
// ...
],
],
];
}
// ...
protected function userNavigation()
{
return [
'shop' => [
'route' => 'shop.profile',
- 'name' => 'shop::messages.profile.payments',
+ 'name' => trans('shop::messages.profile.payments'),
],
];
}
As chamadas para esses métodos agora são preguiçosas, ou seja, o método só será chamado quando necessário.
Finalmente, os métodos obsoletos em versões mais antigas do Azuriom foram todos removidos.