Hi Stef, The PDF integration consists of three parts:
1. CERMINE (https://github.com/CeON/CERMINE <https://github.com/CeON/CERMINE>) is fed with the PDF and outputs metadata as BibTex and a structured XML (title, authors, affiliations, abstract, keyword, references, …). This is not perfect, but way better than any other metadata extractor I could find. 2. From the metadata I generate hyperlinks that are anchored in the PDF by a text key. pdf-linker (https://github.com/maenu/pdf-linker <https://github.com/maenu/pdf-linker>) then searches for the anchors in the PDF text, using heuristics, as PDF has a document model that is primarily intended for rendering and printing, but not for processing. The hyperlinks are then inserted using the awesome Apache PDFBox (https://pdfbox.apache.org/ <https://pdfbox.apache.org/>). 3. Those hyperlinks point to an URI like “pharo://handle/clickReference.in.?args=1&args=2” to represent a reference 1 in the paper 2. Now comes the magic part: The OS allows you to register custom handlers for custom URI schemes like pharo://. For that I created a simple Objective-C app that handles the event and passes it over as a HTTP message to a server running in Pharo (https://github.com/maenu/PharoUriScheme <https://github.com/maenu/PharoUriScheme>). The OS will even start the application if it is not yet running. While the custom URI scheme approach is super powerful, it has critical drawbacks. Any application can request to be the receiver of a URI scheme, just as browser are for http://. Especially on mobile devices with limited access to the OS, this opens up an attack point for malware apps that replicate original apps that make use of schemes like facebook:// and eavesdrop all interactions. If an original app transmits any unencrypted secrets or user data encoded in those URIs, malware can easily intercept it without the user noticing the leak. I guess this is the reason why many PDF viewer just support the standard http:// and mailto:// schemes. E.g., macOS Preview gives just an audible beep when I click on a pharo:// link, Chromes viewer doesn’t even bother giving any feedback. Only Adobe Acrobat allows you to relax security settings to make them work (How could it be someone else than Adobe, when it’s a security issue? ;). I finished basic packaging today and will continue with some READMEs and a nearly-all-in-one distribution tomorrow, I’ll keep you posted in this thread. Cheers, Manuel > On 2 Nov 2017, at 18:08, Stephane Ducasse <stepharo.s...@gmail.com> wrote: > > Hi manuel > > this is super cool :) > Could you describe how you did the pdf integration? > And yes please package it :) > I want to try it. > > Stef > > On Wed, Nov 1, 2017 at 10:16 PM, Manuel Leuenberger > <leuenber...@inf.unibe.ch> wrote: >> Hi everyone, >> >> I was experimenting in the last few weeks with my take on literature >> research. For me, the corpus of scientific papers form an interconnected >> graph, not those plain lists and tables we keep in our bibliographies. So, >> here is the first prototype that has Google Scholar integration for search, >> can fetch PDFs from IEEE and ACM, extracts metadata from PDFs - all this >> results in hyperlinked PDFs! >> >> See a demo here: https://youtu.be/EcK3Pt_WnEw >> Also slides from the SCG seminar here: >> http://scg.unibe.ch/download/softwarecomposition/2017-10-31-Leuenberger-ILE.pdf >> >> I plan on packaging it, so that those who are interested can check it out >> themselves (help wanted!). Currently, it only works on macOS. >> >> What do you think of my approach? Which use cases should be added? >> >> Cheers, >> Manuel >> >