Post on 26-Jun-2015
description
Desenvolvendo Fora da Ilha
Sumário
● O que esperar do Drupal 8 para…o Usuários finais e clientes?o Criadores de sites?o Designers?o Desenvolvedores?
● Quando poderei usá-lo?
Modanças para usuários e clientes
Melhorias na Expêrincia de Edição
Editor WYSIWYG no Núcleo!
Edição Local
Edição Local
Nova página de criação de conteúdo
Pré-visualização no site
Melhorias para dispositivos móveis
"Mobile First"
Temas e imagens adaptáveis, e breakpoints
Painel administrativo
Three screenshots:
1) Admin page, desktop, horizontal toolbar2) Toolbar in iPhone sim (vertical, icons only)3) admin/content in iPhone sim to show responsive tables
Acessibilidade
Represent this with a video. Maybe from Dries’ Prague slides? :)
AB: Submitted to the DA via their webform, since unfortunately it has to be on YouTube in order to reference from here. Bleh.
http://www.youtube.com/watch?v=ipOc1km2uEc
Mobile-first “overlay”
Mudanças para criadores de sites
Modelagem de dados melhorada:Novos tipos de campos
Referências Data/Hora
…mais, Link, Phone, Email, Comentários!
Modelagem de dados melhorada:Novos tipos de entidades
Blocos com campos
Formulários: personalização da aparência dos campos
Views no Núcleo!
Views = totalmente costumizável...
● Listas administrativas● Conteúdos extras● Galerias de Imagens● Slideshows● Saída em REST● ...com 0 linhas de código!
Interface administrativa re-estilizada
Melhorias Multi-idiomas
Download de traduções
Direcionamento de idiomas
Tradução para muitos ítens
Mudanças para designers
Elementos de formulário HTML5
Novas bibliotecas front-end
Exemplo de Twig: node.html.twig<article{{ attributes }}> {{ title_prefix }} {% if not page %} <h2{{ title_attributes }}> <a href="{{ url }}" rel="bookmark">{{ label }}</a> </h2> {% endif %} {{ title_suffix }} {% if display_submitted %} <footer class="node__meta"> {{ author_picture }} <div class="node__submitted {{ author_attributes.class }}"{{ author_attributes|without('class') }}> {% trans %}Submitted by {{ author_name|passthrough }} on {{ date }}{% endtrans %} {{ metadata }} </div> </footer> {% endif %} <div class="node__content {{ content_attributes.class }}"{{ content_attributes|without('class') }}> {{ content|without('links') }} </div> {% if content.links %} <div class="node__links"> {{ content.links }} </div> {% endif %}</article>
1. HTML5 tags2. {{ print a variable }}3. {% logic(stuff) %}
Saída Schema.org Nativa
TODO: Check license.
Suporte extinto para IE 6 & 7(e muito do 8)
Mudanças para desenvolvedores
0100010001110010011101010111000001100001011011000010000000111000
Gerenciamento de Configurações
dev stage prod
Dev
Prod
Integração com Drush!
Web Services
Symfony Framework
● HttpFoundation● HttpKernel● Dependency
Injection● EventDispatcher● Routing● Yaml
GETting data out of Drupal:RESTful Web Services module
GETting data into Drupal: Guzzle$client = \Drupal::httpClient();$config = \Drupal::config('3rdparty.settings');
// Format arguments for passing in URL.$arg = urlencode($argument);
// Pull data from 3rd party's REST API.$api_key = $config->get('api_key');$request = $client->get("http://3rdparty.com/$arg/?key=$api_key");
// Get the response and do something with it.$response = $request->send();$json = $response->json();
...
"Saindo da Ilha"
Não inventado aqui"Orgulhosamente encontrado em outro lugar"
● Código muito mais moderno e orientado a objetos (classes, inheritance, interfaces, etc.)
● Adotando padrões de código PHP (ex.: PSR-0, namespaces, traits)
● Usando muitas das melhores bibliotecas: Composer, PHPUnit, Guzzle, Zend Feed Component, Assetic...
Pegue todas as mudanças!
https://drupal.org/list-changes
Ok, mas quando vou poder usar essa maravilha?!
"Quando estiver pronto."
ReleaseFinalização da API
Drupal 8 timeline
Desenvolvimento de recurços
Início do Desenvolvimento
Março 2011
Feature freezeDez de 2012
Feature complete
Fev de 2013
API freezeJulho de 2013
Drupal 8.0.0(quando estará
pronto)
AlphasDevelopment snapshots
BetasMaiores APIs
trancadas
RCsAPI e Recursos
completos
Estamos aqui
Quando "estará pronto"?
● Quando houver 0 questões críticas, sai o RC.
● Quando for entregue um novo RC sem novas questões críticas, sai o 8.0.0!
Onde é preciso ajuda?
● Encontrando e corrigindo bugs
● Desempenho● Caminho de migração● Adaptação de projetos● DOCUMENTAÇÃO!● EXEMPLOS!● FERRAMENTAS!● TESTE, TESTE, TESTE!
https://drupal.org/contribute
Quando devo usar o Drupal 8?
Fique de olho em https://drupal.org/project/usage/drupal:
Alphas, *Já*!(há tempo para corrigir
APIs!)
Betas/RCs(pro final de
2014)
Assim que as linhas crusarem
(~2015)
Plataforma comprovada
Drupal 8.x / 9.
Desenvolvedor de módulo / tema
Adoção prematura / final de 2014+
Adoção posterior/ Em 2015+ Conservador
O que é essa conversa de 8.0.0?● Drupal 8 usará versionamento semântico● Drupal 8.1.0 incluirá novos recursos e/ou
APIs● Novos lançamentos serão (na maioria)
compatíveis com anteriores● Novos lançamentos 8.x a cada 6 meses
(planejado)● Não precisa esperar anos por novidades● Correções de bugs em versões menores,
ex.: 8.1.5https://drupal.org/node/2135189
E sobre atualização?● Ao invés de um caminho de atualização, Drupal
8 terá uma caminho de migração!● Algumas migrações de Drupal 6 já estão
incluídas, mais em https://groups.drupal.org/imp ● Para checar estados de atualização de
módulos, veja: https://drupal.org/project/upgrade_status
● Outras dicas: https://www.acquia.com/blog/getting-your-site-ready-drupal-8
E meus próprios módulos?
● Use https://www.drupal.org/project/drupalmoduleupgrader para iniciar a atualização de seu código.
● Se você precisa iniciar um novo módulo, veja https://www.drupal.org/project/console
Obrigado!eu@luizca.net