Lots of good points here. I'm a business analyst in real life (boooo!) and I see I'm guilty of the cardinal sin of business analysis, which is solutionising, i.e. "I want to attach PDFs to characters". So, I'll take a step back and start with my requirements. Now the solution to my requirements might be attaching PDFs, or it might be providing links to an external solution, or it might be allowing a Roll20 room to contain an embedded website or webfolder, or it might be "we don't want to go down that road, tough luck". Anyway, here's my list of requirements, staring with the over-riding non-functionals ;-)
A. Non-Functional Requirements:
1. I do not want to have to manually switch to another application. Roll20 calling embedding through API another application is fine, but I do not want to have to fire up another application and then start looking for what I want and then have to email it to people or tell them where to find it. In short, I am looking for an embedded solution that allows me to access my campaign material from within Roll20.
2. I do not want to have to retype content from my existing digital resources.
3. Ideally I want to be able to use my digital resources in their current format. If not, conversion to PDF is okay, having to convert to some sort of graphical format is not okay.
4. Provision of facilities to edit the various resources is NOT required as part of this solution. This will be handled outside of Roll20 using existing software (Open Office, PDF Editor, etc).
B. Character Sheets
Background: All of the characters in my game have character sheets. These sheets are invariably in digital format already (we've been using VTTs for years), usually an (Open) Office type document converted to a PDF for easy sharing.
User Story A: As a GM I want to be able to reference any of my players characters sheets while a Roll20 game is running so that I can keep tabs on player abilities and capabilities allowing me to anticipate problems and difficulties on the fly.
User Story B: As a player I want to be able to reference my character sheet during the game so that I know why my character is capable of, how many hit points I have, and so on.
C. Campaign Record Keeping
Background: I maintain records of shared party funds and accounts, gear and equipment acquired by the party, and a blog of the campaign's exploits, among other things. Again, these are already held in digital format.
User Story: As a player or GM, I want to be able to reference the record keeping resources of the campaign, so that I can make informed decisions as to who has what items of equipment, how much ready cash the party has at hand, what happened last week/month/year, and so on.
D. Game Handouts
Background: Most RPG games by their nature contain a wide variety of player handouts including such things as picture of locations, people, or places, clues, maps, journals, diaries, newspaper clippings, letters, etc. Some are suitable for presentation in a graphical format (mug shot of an NPC) and some are not (multi-page document).
User Story A: As a GM I want to be able to present handouts as above in more or less real time to my players as they become relevant (or remove them when they are no longer relevant or are lost).
User Story B: As a player I want to be able to refer back to handouts that have previously been presented so that I can keep track of what's going on, piece together a plan of action, or try and figure out what the hell is going on if I'm playing Masks of Nyarlathotep.
E. Campaign Reference Library
Background: As virtually all of our gaming has taken place using VTTs over the last three years, we have an extensive library of digital reference material including, rule books, supplements, cheat sheets, "how to" articles, clarifications, etc.
User Story: As a player of GM, I want to be able to access the campaign "library" from within a Roll20 session so that I can maintain my immersion at the table while checking rule 17.2.1 or whatever.
Hope that helps!
:-)