Na GT, já conversamos sobre a história e os princípios do trabalho dos formatos de livros eletrônicos 
DjVu , 
FB2 e seu "irmão mais novo" FB3 . Hoje decidimos falar sobre o padrão que ajuda a espalhar esses livros. Vamos explicar por que os catálogos eletrônicos OPDS são necessários e como eles são "organizados".
 / Flickr / gael varoquaux / cc
 / Flickr / gael varoquaux / ccO que é OPDS?
OPDS (Open Publication Distribution System) é um formato de 
organização para publicações eletrônicas. Seu objetivo é fornecer aos usuários de aplicativos e dispositivos de leitura a capacidade de visualizar e baixar livros de bibliotecas eletrônicas.
O projeto começou a ser desenvolvido em abril de 2009. Estiveram presentes várias organizações e empresas, incluindo 
Internet Archive , Feedbooks, O'Reilly e Lexcycle, 
que vem desenvolvendo software para leitura de literatura eletrônica. O padrão é baseado nas 
tecnologias HTTP ( 
RFC2616 ) e Atom ( 
RFC4287 ).
Atom é um formato de organização diferente 
baseado em XML. Ele permite que você descreva conjuntos de recursos da Web: feeds de notícias, anúncios de postagem em blogs e assim por diante. Na sua essência, é semelhante ao RSS e resolve os mesmos problemas; no entanto, não possui várias deficiências, em particular, é mais padronizada (as relações entre diferentes versões do RSS são bastante confusas - 
podem ser incompatíveis entre si). Hoje, o Atom suporta o Google em muitos de seus projetos, como o 
Feedburner .
O que é "dentro" do diretório OPDS
Os diretórios do OPDS 
pegaram emprestado o conceito de feeds e entradas do formato Atom. Em essência, os feeds são contêineres para gravações e 
são divididos em duas categorias: navegação (feeds de navegação) e inicialização (feeds de aquisição). O primeiro define uma hierarquia para a pesquisa de conteúdo e o segundo contém listas de registros com informações sobre as publicações disponíveis. Cada entrada contém metadados: formato de livro eletrônico, título, método de recebimento, etc.
As entradas da lista são links que direcionam o usuário para outro feed ou fornecem a capacidade de baixar a publicação. No Atom, no qual o OPDS se baseia, um link é uma tag com o atributo 
rel (relacionamento). Essa relação refere-se ao método de aquisição e às regras para o fornecimento de literatura. As seguintes opções são suportadas:
- acesso aberto sem restrições;
- o livro é comprado por dinheiro (o preço é refletido no link);
- assinatura de um periódico;
- fragmento da publicação (por exemplo, o primeiro capítulo do livro) para revisão.
O exemplo a seguir do design de um link é fornecido no site oficial do projeto OPDS:
<link rel="http://opds-spec.org/acquisition" type="video/mp4v-es" href="/content/free/4561.mp4"/> 
Se uma publicação estiver disponível em vários formatos, eles serão representados por um grupo de links em um registro:
 <link rel="http://opds-spec.org/acquisition/borrow" href="/content/borrow/4561.mobi" type="application/x-mobipocket-ebook"/> <link rel="http://opds-spec.org/acquisition/borrow" href="/content/borrow/4561.epub" type="application/epub+zip"/> 
Às vezes, um link não leva diretamente a um livro. Isso acontece se a publicação estiver compactada em um arquivo zip onde estão localizados vários arquivos (por exemplo, as mesmas cópias do livro em diferentes formatos). Para descrever o "interior" de um componente, o elemento 
opds: indirectAcquisition é usado, em que o tipo é o formato do elemento de 
mídia :
 <link type="application/zip" rel="http://opds-spec.org/acquisition/open-access" href="/item/1111/buy/"> <opds:indirectAcquisition type="application/epub+zip" /> <opds:indirectAcquisition type="application/pdf" /> <opds:indirectAcquisition type="application/x-mobipocket-ebook" /> </link> 
E aqui está um exemplo de design de link para uma situação em que a publicação é paga. O atributo 
currencycode define a moeda:
 <link rel="http://opds-spec.org/acquisition/buy" href="/product/song1.mp3" type="audio/mpeg"> <opds:price currencycode="USD">1.99</opds:price> </link> 
Onde encontrar os diretórios OPDS e como trabalhar com eles?
Editores e bibliotecas foram os primeiros a usar o OPDS. Mais tarde 
, desenvolvedores de aplicativos e-reader e vendedores de e-books 
se juntaram à comunidade. Na maioria das vezes, eles são os criadores dos catálogos OPDS. Uma lista dos diretórios mais populares pode ser encontrada no 
site de especificações do OPDS.
Por exemplo, existem Feedbooks que distribuem mais de 3 milhões de e-books todos os meses. A coleção Internet Archive 
contém quase 2 milhões de publicações e a O'Reilly Media 
oferece milhares de cópias da literatura técnica. Você também pode destacar os catálogos de 
The Pragmatic Programmers e 
Revues.org .
Em geral, a rede pode encontrar muitos diretórios OPDS em diferentes idiomas. Ao mesmo tempo, os usuários têm a oportunidade de criar seu próprio catálogo para organizar o acesso à sua biblioteca de livros a partir de qualquer dispositivo. Existem até programas especiais que podem ajudar com isso. Por exemplo, esse utilitário é 
oferecido pelo FBReader - ele é baseado no código 
books.fbreader.org .
Outros leitores também suportam OPDS, em particular, Cool Reader, Bluefire Reader, QuickReader, AlReader e OReader. Esta última é uma adaptação do AlReader especificamente para os leitores ONYX-BOOX, que foi modificada pelo criador do aplicativo original. O leitor 
recebeu um menu de interface única e um scanner de metadados interno usado pelo sistema. De volta ao OReader, foi adicionado suporte à tecnologia SNOW Field, que não funciona no AlReader. O campo NEVE 
melhora o "redesenho" da página na tela com tinta eletrônica, reduzindo o número de artefatos ao virar (e elimina os "preenchimentos" freqüentes da tela com preto).
Observe que alguns aplicativos, embora funcionem com o OPDS, não oferecem suporte a conteúdo multimídia. Os programas diferem no número de formatos suportados de literatura eletrônica.
Em geral, para trabalhar com o OPDS, você precisa conectar as bibliotecas de rede de seu interesse. Você pode descobrir como fazer isso nos leitores ONYX em um dos 
materiais em nosso site. Depois disso, você pode começar a visualizar publicações com base em feeds e listas de postagens.
Observe que o usuário pode encontrar os livros necessários não apenas usando feeds, mas também usando a função de pesquisa. A pesquisa OPDS é baseada no formato 
Open Search . Nesse caso, um arquivo XML separado é criado com uma descrição dos parâmetros de pesquisa - Descrição do OpenSearch. Aqui está 
um exemplo de preenchimento desse arquivo no repositório Open Search no GitHub:
 <?xml version="1.0" encoding="UTF-8"?> <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> <ShortName>Web Search</ShortName> <Description>Use Example.com to search the Web.</Description> <Tags>example web</Tags> <Contact>admin@example.com</Contact> <Url type="application/rss+xml" template="http://example.com/?q={searchTerms}&pw={startPage?}&format=rss"/> </OpenSearchDescription> 
Geralmente, é chamado OpenSearch.xml e fica na raiz do diretório.
 / Flickr / dave collie / cc
/ Flickr / dave collie / ccDesenvolvimento de ecossistemas
Até o momento, várias especificações do OPDS foram liberadas: são versões do Catálogo OPDS 0.9 (2010), Catálogo 1.0 OPDS (2010) e Catálogo 1.1 OPDS (2011), que é a mais recente versão lançada até o momento. No entanto, existe uma versão preliminar da nova versão do padrão - 1.2. Um funcional deve 
aparecer nele, o que lhe permitirá alugar livros, ou seja, distribuí-los por um determinado período de tempo. Além disso, novos atributos para tipos de conteúdo de mídia, elementos para indicar a classificação e o número de downloads do livro, além de perfis OPDS para usuários, serão adicionados.
Ao mesmo tempo, a comunidade, representada por vendedores de literatura eletrônica, o grupo de trabalho do OPDS e outros participantes do setor, está 
trabalhando na especificação do ODL (Open Distribution Libraries) e nos mecanismos de autenticação do OPDS para permitir a integração "horizontal" de bibliotecas e serviços comerciais que vendem livros entre si. .
O formato ODL já é 
usado pelos distribuidores de literatura eletrônica para enviar informações de licença às bibliotecas ( 
por exemplo , nos Feedbooks). Quanto à nova versão do OPDS 1.2, até o momento sua especificação 
existe apenas no formato de rascunho, e a data de lançamento completo do padrão 
permanece desconhecida.
PS: Oferecemos três opiniões dos leitores do ONYX BOOX: