Jump to content
D6 Online 3.0
Lubidius

OpenD6 Automatic PDF formatting wiki

Recommended Posts

Hey. I'm creating a separate thread to further discuss the potential OpenD6 automatic rendering to PDF wiki. Magman or Grimace, if you want to delete my posts to the Core Rule book thread, go for it. We got off topic there a bit.

 

Anyhow, I'm to the point where I'm completely fed up with the Pediapress installation and it's lack of any rendering. I've still got some feelers out to their developers, but they do not seem to really be quick on the draw to help figure it out.

 

With that said, I'm in the process of attempting to utilize an open source pdf library called TCPDF to help generate pdfs on the fly from wiki materials. This ultimately would give us more fine tuned control over final formatting.

 

Anyhow, I don't want to say much more until I get a working simple model up and in place publicly accessible. The real crux will be how large a pdf it can handle against a given server's cpu, etc. That really is the only catch here. How big a PDF can it chug on and produce results for.

 

 

It should not take long to come up with something basic. The interfacing will be archaic for starters though. I'm working first on function, then we can muck around with form.

 

I'd like to see the end result be in .odt format (open document , used in Open Office) as well as PDF and raw ascii text, in case you just want to download it raw and do some layout yourself on your own. I'd also like you to be able to create a virtual "book" that you can re-pull back up after the fact* (thought that might be a nice feature to add in the mix). So in effect, you could go to the wiki, click on a single Variant View that you've come up with, and bamn, it lists the "book" right into a single page for clicking on each section independently. There could be an option to print all text to the result view as well (but may be large to scrolll through). Anyhow... I digress.

 

Summary Of First Goals:

You should be able to log into the wiki, and publicly edit content just like at wikipedia.

You should be able to select what pages to add to the "book".

You should be able to add in Chapter / Section and / Subsection headers.

You should be able to render as ascii text, .odt, and .pdf

 

Now, the real first goal is to better understand how the articles in the mediawiki database involved are saved. How to search them properly, how to allow for the user to select what to include. Etc. So, that's GOAL1, and I will not post on this again until I reach that goal.

 

Regards, more soon. I'll let everyone see each development stage so you can throw in a couple cents along the way.

 

 

FOOTNOTE:

Before I get too deep into my own customized programming, I will also be requesting to join in beta testing Pediapress's Collection Extension 2, which is described a bit here -

http://www.mediawiki.org/wiki/Collection_Extension_2

Edited by Lubidius

Share this post


Link to post
Share on other sites

Lubidius,

 

Let me know how this goes... There's a lot of supporting assemblies out there that can do the generation, but in this case there's a lot of data to collect in your scenario from multiple locations. Its not just a DB Server creating and generating a report, it also the server generating discernible rules content so that it at least contains everything a growing child needs to play. Book generation on the fly is **very** difficult. I would recommend looking at instead doing SQL to PDF instead web content to PDF, at least this possibility cuts out the middle-man. The UI (the web page) can be used to designate what a user wants from the site, and then when the person hits "GO", it generates the content based on flags in a User Table. Web content is too loosely designed, and to script around it is dangerous: What if I place hash marks in my rules that cause a jump across code, and all for cross site-scripting? Viruses ensue...

 

At any rate, just food for thought.

 

Best,

J

Share this post


Link to post
Share on other sites

Yes. I was thinking along the same lines (eventually). In the public rendering scenario (the "as is" code offered by MediaWiki and Pediapress) they offer a public server for low traffic sites to render against. I believe that their code tells the rendering server what to fetch 'from its end', then that public rendering server fetches the data in reverse if you catch my meaning. It has a long id string of what "collection" is due to be printed, then it fetches and parses it (eventually offering the pdf as download zip).

 

So, first and fore-most, I'm going to attempt to use what is already out their and supposedly supported. I've just now finally gotten a reply on the original scenario I just described ; and hopefully they can trace what may be wrong on their public parsing server side.

 

I agree wholly though, A process where you build the structure, then queue up the auto generation of the resulting pdf, would be a perfect solution. I might be able to do something along those lines right on my development pc; but eventually I'd need full access to a 24x7 dedicated windows server. I just don't have the infrastructure to leverage for this.

 

I'd like to see if I can get their Collection 1 extension working ; but as soon as possible there-after, I'd like to try out their http://www.mediawiki.org/wiki/Collection_Extension_2 which sounds much more universally useful. I'd love to be able to go to an OpenD6 wiki and basically "call up" any "book" I've created and read it online basically right then and there (within the wiki structure). And then, only when absolutely necessary, generate a pdf for printing on my end, or via pediapress's production press.

 

My overall concern is not to re-invent the wheel wiki wise. I think the MediaWiki code itself is more then powerful enough for the content itself. Now, its a matter of me piecing together its innards database wise. It is laid out relatively logically. They store text as "blobs" though in binary, which I've not worked with before but I'll figure out.

Edited by Lubidius

Share this post


Link to post
Share on other sites

Oh... and perhaps we could set aside a Cinema6 area of the wiki, which works right from that "core" :) Just sayin'.... :) I'd love to be able to just click a link/button and voila, any one "core" gets auto-selected. And then you piecemeal take out or add what you want to. The more I think about this, the more I think it may eventually need to be entirely customized. Which is fine, but I cannot dedicate more then a few hours a week on this.

Share this post


Link to post
Share on other sites

Have you heard of a CMS? Content Management (Software/Suite/System, depending on who you ask). I develop sometimes with different kinds, primarily Sitecore. It would be spectacular at doing what you want, since it inherently stores content in a DB. As well, a developer can create customized structures, and provide custom authorship/login credentials. Its neat stuff. As well, there are multiple extensions for dumping page content and generating pages directly into a PDF. It would be relatively easy to create a custom set of pages, for each user. This is all lightweight, as per user, it ends up being a set of Unique IDs (GUIDs) which connect all the pieces and parts together, so you're actually storing all the content together in multiple places, keeping the data at 3NF or better, structurally. It is fully customizeable at every level, too. It also has a publishing suite, so that if you're making changes to the site, you can obfuscate your changes until you're ready to publish them. Its good stuff.

 

Best,

J.

Share this post


Link to post
Share on other sites

Ok, so just a short update that we've gotten the MediaWiki software loaded, along with it's Collection extension to a server. We've tested it out some and PDF rendering is working fine, as well as the preview at PediaPress functionality. Now we are going to test out adding more materials to the test wiki, and how the results look organizational wise. Once we have it at its own server with a new domain name, we'll let you all know and give you individual user/pass to edit it out.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×