Italienische handelskammer munchen praktikum36 comments
Benefits of binary option trading strategies pdf
I recently went over some publishing systems with Yannis and Christos from Coko. We looked at various systems and discussed them. Each development is a learning process and you will always get things both wrong and right at the same time. The trick is to get less wrong the next time round…. All systems except, unfortunately, one see below are open source. I started the development in English but the system needed to be useful to a number of different language communities, of which Farsi was the most interesting.
Today, only the French and English communities are still operational. It was based on TWiki , an open-source Perl-based wiki. I chose TWiki because back then it was the only wiki around that had good PDF-generation support — I think this came from some of its plugins.
TWiki had a good plugin and template system and I came to think of it as a rapid prototyping application — it was pretty malleable if you knew how. I was a crap programmer so I cut and pasted my way to a system that became usefully functional. So in wiki world terms I had committed something of a crime. Throwing out wiki markup at the time was unheard of in the post euphoria of Wikipedia.
And despite my heresy,the Wikimedia did give me a barnstar for my efforts, which was nice of them: After I reached the limit of my coding skills, a friend, Aco Alexander Erkalovic , helped build the next bits. I found some money to pay him and that is when things started to move forward. The core of the system was the manual overview page. This contained a list of all chapters in a manual. You could also set the status, add new chapters, view overall progress etc. We had a separate mechanism for creating an ordered table of contents index for a manual.
Essentially, you added a chapter on the overview page and then opened the index builder and arranged the chapters. When saved, the refreshed overview page displayed the correct new order of chapters.
Nevertheless, it worked pretty well. From the overview page, you could choose a chapter to edit. When you did so, you locked the chapter and, through some JS trickery Aco cooked up, we were able to do this across multiple clients so everyone could see in real time who was editing what. When editing a chapter, you could save the document and then, when ready, publish it.
We also added chapter status markers, as you can see from the above image. It was pretty basic but nifty. Then I hacked a fancy AJAX script into the chapter edit interface so each manual could have its own chat with the interface present while you were editing a chapter. It also looked a little nicer than the IRC channel. From the beginning, I tried to make everything look like it was meant to be there, even if it was a fiddly hack.
We had federated content, for example. This was established so one language site could import an entire manual from another and set up a translation workflow. We also had a simple side-by-side editor set up for translation that worked pretty well for translators.
In addition, we had a remix system for generating new versions using mixed content from other manuals. This was useful for workshops and for making personal manuals, for example. I thought that was pretty cool. The system also had diffs so you could compare two versions of a chapter. It was good for seeing what had been done and by whom.
In addition, it was possible to translate the user interface of the entire system to any language using PO files and a translation interface we custom built: It was interesting because, at the time, no PDF-renderer I could find would do right-to-left rendering. Behdad Esfahbod advised me to just use the browser to do it.
I was very lucky. The guy is a generous genius. He just suggested an approach a new way to think about it and later I worked with Douglas Bagnall see below to work out how to do it.
Just trying to think in right-to-left for normal text did my head in pretty fast, but somehow I got it working. Also, because we refused to use proprietary systems we were forced to innovate.
That was a very good thing and I welcomed the constraint and the challenge. It worked and we worked with that for a long time. It was the start of a long love affair with the approach. I promoted this approach for a long time, even calling for a consortium to be formed to assist the approach: This allowed us to generate books automatically from HTML using Objavi below and they would be automagically uploaded to the Lulu print-on-demand marketplace for sale…that was amazing!
Ah…but also no one used it. Lulu shut down the API as soon as they realised no one was using it. We made many many manuals with this setup. Many of them printed from the auto-PDF magic and were distributed as paper books. Many of the books were in Farsi. It was a hack of TWiki. While you could get all the plugins online, it would have been a nightmare to deploy. I did deploy it many times but I essentially copied one install to another directory and then cleaned out all the content and user reg etc.
Hence the system was a pain to deploy or maintain. It was feeling like we needed a standalone, dedicated, system…. Booki was the next step. It was clear we needed something more robust and also it was clear no web-based book production system existed, hence the hackery Twiki approach.
So it was about time to build one. At the time, though, I remember it being very difficult to convince anyone that this was a good idea. Call it a book or not. Aco literally would be building the platform as it was being used in the Book Sprint — restarting when everyone paused to talk.
It was an effective trick. We learned a lot working with the tool and building it as it was being used. Book Sprints were short events building books collaboratively. So Booki was meant to be all about collaboration. Booki also was run as a website booki. Booki had all the basic stuff the FLOSS Manuals system had and we advanced the feature set as our needs became more sophisticated, but the basics were really the same. We did some cool stuff with the visualisations. They had a huge window that you could backwards project onto so people could see the projections on the street.
So we made a visualisation of text from the book being overlayed as we wrote it. Below is an image shot with us standing in front of the projector…I mean.. Booki also had federation. You could enter the target URL of a book from another install and Booki 1 would make a portable archive booki. Booki 2 then unpacked the zip and populated the book structure complete with images etc. I liked the idea very much of using EPUB instead as a transport technology instead and was later able to do so for Aperta and PubSweet 1 see below.
I think the only stuff that went further than the previous system was the dynamic table of contents plus it was easier to install and maintain. It was in some ways just a slightly different version of the previous system. Objavi is basically a separate code base that was used as a file conversion workhorse. Objavi 1 was a little bit of a hacky maze but it did a good job.
It would basically accept a request and then pipe that through a preset conversion pipeline. It did a good job. What I found most useful from this is that each step left a dir that I could open in a browser to inspect the conversion results. Objavi 2 was meant to be an abstraction.
I always thought internalising file conversion was a bad idea because file conversion is resource-intensive, making it better to throw it out to another external service. And having a separate conversion engine enables you to completely overhaul the book production code without changing the conversion code. This was a HUGE advantage. All content would be passed through Objavi for import and export so Objavi became the obvious conduit for passing a book from one system to another.
This gave me a lot of ideas about federated publishing which I have written about elsewhere and archived here. Booktype was really Booki taken to market. I was frustrated by not getting much uptake, so I took Booki to Sourcefabric in Berlin and headed up the development there. Booktype gained a UX cleanup. The event was meant to catalyse energy around the adoption of a shared editor for many projects.