Posted
about 12 years
ago
Booktype in Russian
The Newscoop content mangement system has a built-in Localizer feature that enables you to translate the administration interface, but now Airtime and Booktype can be localized too. Using GitHub for this task means you don't
... [More]
have to tackle the whole of a localization yourself; just as much as you can manage. Every little helps!
First, you should check if a localization is already under way for your locale of choice. The best way to do this is to take a look at the Github repository for the program you wish to localize. You can also ask in the Sourcefabric forums, where you might find community members who can help you with the translation.
Both Airtime and Booktype use the standard GNU gettext program for interface localization. This means using a .po file for each language or dialect, a specially formatted plain text file with groups of three or more lines, like this example from Booktype's Russian localization:
#: account/templates/account/create_group.html:9
msgid "There is already a group with this name."
msgstr "Группа с таким названием уже существует."
The first of these three lines starts with the hash symbol, and references where this string of text is found in the source code by its file name and line number. If this string is found more than once in the source code, you will see other reference lines here. The second line contains the msgid, which is the original version of the string. The third line contains the msgstr, which is the translation of that string for the localization that this particular .po file relates to.
If you use the cross-platform program poedit to edit the .po file, this formatting of the text is hidden by an easy-to-use GUI. Poedit can be installed on most GNU/Linux distributions using the standard software installer. Versions of Poedit for Mac and Windows are available for free download from the project's homepage.
Before manually translating strings in poedit, you should take a look at the online translation services available which can fill in many of the msgstr's for you, such as Google's translation toolkit which supports gettext .po files. You can then use poedit to fine-tune the localization and fix any formatting errors produced by the automatic translation.
If you don't already have a GitHub account, you can sign up here. Once you have a GitHub account, you can fork the Sourcefabric project you are interested in contributing to. Work for the next major version of the software is done in the devel branch of each project, so that's the branch to checkout after you have made the initial git clone.
For Airtime, you will find an empty translation template at airtime_mvc/locale/template/airtime.po in the devel branch of the source code. New translations should be placed in the appropriate airtime_mvc/locale/ directory, such as airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po
In this example path, ko represents the Korean language and the suffix _KR indicates the dialect spoken in the Republic of Korea. Some languages have a wide variety of dialect localizations, which can be differentiated with a suffix in this way. You should update the header information in the .po file, which includes the language code and a country code, using one of the existing .po files as a guide.
For Booktype, there are two components to translate: lib/booki and lib/booktypecontrol. After forking the Booktype git repository, make sure you're in the devel branch. Create new locale directories (e.g. locale/de/LC_MESSAGES/ for German) for each component. Then in each component directory, run the makemessages command, e.g: for German:
django-admin.py makemessages -l de
and update the header information in the django.po file which will be created in the appropriate directory. Or use one of the existing .po files as a template and copy it manually into the appropriate directory, if you do not have a Django development environment set up.
Now you can load the .po file into poedit and complete your translation. Enter the localization team's contact information and language into poedit's Edit -> Preferences and Catalog -> Settings dialogs, which will be added to the .po file. When you save a .po file in poedit, the corresponding binary .mo file will be compiled automatically.
Finally, git add, git commit and git push these new .mo and .po files to your GitHub fork of the project, and send a git pull request to the Sourcefabric developers. The localization can then be added to a forthcoming software release.
If you don't want to work with git, that's no problem - download a copy of the .po file you would like to localize, run it through Google Translate and check it with poedit, and email your contribution to Sourcefabric as an attachment - it will be very welcome! However, learning to use git is a good idea, because it means you can work directly on the source code, share the localization work with the Sourcefabric community, and avoid duplicated effort.
[Less]
|
Posted
about 12 years
ago
Booktype in Russian
The Newscoop content mangement system has a built-in Localizer feature that enables you to translate the administration interface, but now Airtime and Booktype can be localized too. Using GitHub for this task means you don't
... [More]
have to tackle the whole of a localization yourself; just as much as you can manage. Every little helps!
First, you should check if a localization is already under way for your locale of choice. The best way to do this is to take a look at the Github repository for the program you wish to localize. You can also ask in the Sourcefabric forums, where you might find community members who can help you with the translation.
Both Airtime and Booktype use the standard GNU gettext program for interface localization. This means using a .po file for each language or dialect, a specially formatted plain text file with groups of three or more lines, like this example from Booktype's Russian localization:
#: account/templates/account/create_group.html:9
msgid "There is already a group with this name."
msgstr "Группа с таким названием уже существует."
The first of these three lines starts with the hash symbol, and references where this string of text is found in the source code by its file name and line number. If this string is found more than once in the source code, you will see other reference lines here. The second line contains the msgid, which is the original version of the string. The third line contains the msgstr, which is the translation of that string for the localization that this particular .po file relates to.
If you use the cross-platform program poedit to edit the .po file, this formatting of the text is hidden by an easy-to-use GUI. Poedit can be installed on most GNU/Linux distributions using the standard software installer. Versions of Poedit for Mac and Windows are available for free download from the project's homepage.
Before manually translating strings in poedit, you should take a look at the online translation services available which can fill in many of the msgstr's for you, such as Google's translation toolkit which supports gettext .po files. You can then use poedit to fine-tune the localization and fix any formatting errors produced by the automatic translation.
If you don't already have a GitHub account, you can sign up here. Once you have a GitHub account, you can fork the Sourcefabric project you are interested in contributing to. Work for the next major version of the software is done in the devel branch of each project, so that's the branch to checkout after you have made the initial git clone.
For Airtime, you will find an empty translation template at airtime_mvc/locale/template/airtime.po in the devel branch of the source code. New translations should be placed in the appropriate airtime_mvc/locale/ directory, such as airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po
In this example path, ko represents the Korean language and the suffix _KR indicates the dialect spoken in the Republic of Korea. Some languages have a wide variety of dialect localizations, which can be differentiated with a suffix in this way. You should update the header information in the .po file, which includes the language code and a country code, using one of the existing .po files as a guide.
For Booktype, there are two components to translate: lib/booki and lib/booktypecontrol. After forking the Booktype git repository, make sure you're in the devel branch. Create new locale directories (e.g. locale/de/LC_MESSAGES/ for German) for each component. Then in each component directory, run the makemessages command, e.g: for German:
django-admin.py makemessages -l de
and update the header information in the django.po file which will be created in the appropriate directory. Or use one of the existing .po files as a template and copy it manually into the appropriate directory, if you do not have a Django development environment set up.
Now you can load the .po file into poedit and complete your translation. Enter the localization team's contact information and language into poedit's Edit -> Preferences and Catalog -> Settings dialogs, which will be added to the .po file. When you save a .po file in poedit, the corresponding binary .mo file will be compiled automatically.
Finally, git add, git commit and git push these new .mo and .po files to your GitHub fork of the project, and send a git pull request to the Sourcefabric developers. The localization can then be added to a forthcoming software release.
If you don't want to work with git, that's no problem - download a copy of the .po file you would like to localize, run it through Google Translate and check it with poedit, and email your contribution to Sourcefabric as an attachment - it will be very welcome! However, learning to use git is a good idea, because it means you can work directly on the source code, share the localization work with the Sourcefabric community, and avoid duplicated effort.
[Less]
|
Posted
about 12 years
ago
Oil | Photo credit Flickr fringefalcon CC By 2.0
We spoke with Zara Rahman from OpenOil, a transparency and governance organisation interested in creative, practical and socially progressive policy making in the oil and gas industries. She
... [More]
discusses their recent publication: Oil contracts, how to read and understand them. The book was published during a recent booksprint and the group used Booktype for both the production and post production. We were fortunate to speak with Zara who gave us her insights into the process as well as the projects outcomes and future.
KT: How were you involved in this project? What is your background and who were the influential members bringing this project together?
I've been working for OpenOil since it was founded last year. We convened the group of experts on the topic to come to Berlin and work with us on the booksprint. I participated actively in the booksprint as a target reader, and beforehand I coordinated the group and logistics. I'm currently working on outreach, making sure the book reaches the target audience, as well as looking at how the book can evolve into a larger project.
Can you tell me a little bit about the OpenOil group? How long has it been around, who is it comprised of and what are its interests?
We are a transparency and governance organisation, based in Berlin. We were founded in September 2011, by Johnny West, who has been working on oil governance issues for a few years now. We work on resource curse issues, trying to ensure that citizens of resource rich countries can see the benefits from their natural resources, through a variety of publishing, research, and training.
Why did you decide to write a book about the topic? Where did the initial idea come from and how did you come to use Booktype and the Book Sprint method of writing?
Increasingly across the world, contract transparency - ie, publishing contracts - is becoming a norm of best practice. However, until now there have been no tools available to the non expert to help them make sense of these contracts. People have been talking about the lack of non-specialist help in this area for a little while, and when Johnny West met Adam Hyde and found out about the booksprint method, the idea of writing a book on the topic was born!
How did you find the candidates to write the book?
There were a couple of candidates who sprung to mind immediately, and through them, other people were suggested. We wanted to have a wide range of candidates, in terms of professional experience as well as geographical background; so we had a couple of oil industry lawyers, development specialists, government negotiators and civil society activists all working together on the project. Each of the candidates came to Berlin from a different country too, so we definitely got a good geographical mix.
What was the process? Had you used Booktype or been involved in collaborative writing projects before? What was it like in terms of your past writing experiences?
It was very different to any writing experience I, or many of the other candidates, had experienced before! The idea of bringing together people from such different backgrounds to collaborate on writing a book seemed like a bit of a longshot beforehand, but as it turned out it worked wonderfully. It was much more interactive and involved actually working with other people, as rather than simply putting your chapter next to someone elses, people read and edited and reorganised chapters and blocks of text along the way.
Were there any hiccups along the way? How did the participants share and work together?
I think the method was a big change from the way in which most of the participants work normally, so it took a little adjusting at the very beginning! Most of the participants have a long background in the oil industry in some capacity, and many are by now more used to giving workshops rather than participating in them; it must have been a big change to sit down and work in a group rather than leading the group! It worked really well though, everyone was very respectful of others' opinions and people cooperated really well.
What were the outcomes of the project? Was it a success?
It was definitely a success, as now we have the first non-specialist guide to understanding oil contracts, complete with lovely illustrations! We had over 3,000 downloads in the first 3 weeks, and already the first two sections have been translated into Arabic, thanks to a civil society coalition group called Publish What You Pay. I'm writing this from Beirut, where I am here to do a workshop for members of their Yemeni and Iraqi coalition, on understanding oil contracts.
What are your impressions of using the software Booktype?
During the production stage, Booktype was wonderful - it was so user friendly and people got the hang of it straight away. It was incredibly useful to be able to compare versions of chapters, so you could see exactly how chapters had changed along the way. It was also good to be able to see what other people were working on, and to mark on each chapter at what stage of production it was at.
Post production, Booktype has been more work than we expected, as the process of formatting the book and exporting it from Booktype is quite involved and (if you have hiccups with the html as we did) - requires a fair bit of time investment, especially for an html novice such as myself!
Do you plan to do a project like this again? If so, when and for what?
Yes - we are looking now at running country-specific versions of the book, for example, "How to read and understand Tanzania's oil contracts" - so far we have had interest from organisations based in Nigeria, Kenya, Cambodia, Iraq (which we would probably run in Turkey), Ghana, Uganda, Tanzania... we hope 2013 will bring lots more booksprints!
You can also watch videos from some of the participants who discuss their viewpoints and perspective on the project. The video above features Herbert McLeod from Sierra Leone where he is an adviser to the president on extractives.
[Less]
|
Posted
about 12 years
ago
Booktype test server
Managed Booktype hosting is available from Sourcefabric, with support for creating both public and private books. If you do not wish to collaborate on writing with authors outside your organization, then having your own Booktype
... [More]
server makes more sense. Also, if you don't have reliable access to the Internet, having your own Booktype server is a practical alternative to cloud-based services. For example, a school with laptops that can connect to each other on a network but not to the Internet may find a local Booktype server valuable.
So here is a step-by-step guide leading you through the installation of Booktype on your own Ubuntu or Debian server.
Setting up the database
Before you can install Booktype on your own server, you will need sudo or root access.
1. Open a terminal, then enter the following command to install PostgreSQL and the Python adaptor for it:
sudo apt-get install postgresql python-psycopg2
2. Create the PostgreSQL user booktype-user with the command:
sudo -u postgres createuser -SDRP booktype-user
Enter the password you wish to set in the database, as prompted. You will need to re-enter it for confirmation.
3. Create a database named booktype-db, setting booktype-user as the owner with the -O option. The encoding should be the international UTF-8 character set, as indicated with the -E option.
sudo -u postgres createdb -E utf8 -O booktype-user booktype-db
4. Allow connections to the database booktype-db for booktype-user by editing the PostgreSQL configuration file. The exact file name depends on the PostgreSQL version that you are using. For example, if the version was 8.4, the command to edit the file on Ubuntu would be:
sudo nano /etc/postgresql/8.4/main/pg_hba.conf
At the end of the file is a section like this:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
Add an extra line at the end of the section like so:
local booktype-db booktype-user md5
Save the file with the keyboard shortcut Ctrl+O, and then quit nano with Ctrl+X.
5. Finally, restart PostgreSQL with the command:
sudo invoke-rc.d postgresql-8.4 restart
Dependency installation
First, install the development packages and Redis server:
sudo apt-get install git-core python-dev python-pip
libjpeg-dev libxml2-dev libxslt-dev redis-server
Next, install the remaining dependencies. The following package installs have been tested on Ubuntu Lucid 10.04. Other distributions may have new enough versions of the packages available via apt-get.
Django, minimum version 1.2
sudo easy_install django
SimpleJSON
sudo easy_install simplejson
South
sudo easy_install South
lxml
sudo easy_install lxml
Unidecode
sudo pip install unidecode
Installing Booktype from the git repository
The git repository contains the most up-to-date version of Booktype available.
1. Create a directory for the Booktype installation such as /var/www/mybooktype and make sure it is owned by the www-data user:
sudo mkdir /var/www/mybooktype/
sudo chown www-data:www-data /var/www/mybooktype/
2. Download a copy of Booktype from the git repository to the /usr/local/src/ directory:
cd /usr/local/src/
sudo git clone https://github.com/sourcefabric/Booktype.git
3. Change to the Booktype/scripts directory like so:
cd Booktype/scripts
4. Switch to the www-data user for the remaining steps:
sudo su www-data
5. Create the Booktype instance:
./createbooki --check-versions --database postgresql /var/www/mybooktype/
6. Change to the installation directory:
cd /var/www/mybooktype/
5. Edit the settings.py file:
nano settings.py
There are several sections of this file which need to be edited to suit your installation. First, set the name and email address of the system administrator:
# DJANGO ADMIN
ADMINS = (
# ('Your Name', '[email protected]'),
)
Enter the name and domain name of your Booktype server:
# BOOKI
BOOKI_MAINTENANCE_MODE = False
BOOKI_NAME = 'My Booktype site'
THIS_BOOKI_SERVER = 'booktype.example.com'
Enter email and outgoing mail server details:
# E-MAIL OPTIONS
REPORT_EMAIL_USER = '[email protected]'
EMAIL_HOST = 'localhost'
EMAIL_PORT = 25
The database connection parameters should be similar to the following example:
# DATABASE STUFF
DATABASES = {'default': {'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'booktype-db',
'USER': 'booktype-user',
'PASSWORD': 'booktype-password',
'HOST': 'localhost',
'PORT': ''
}
}
where booktype-password is the password that you set for the booktype-user when you created the booktype-db database in PostgreSQL.
If you have more than one application using the local Redis server, you may need to change the value of REDIS_DB to a number other than zero:
# REDIS STUFF
REDIS_HOST = 'localhost'
REDIS_PORT = 6379
REDIS_DB = 0
REDIS_PASSWORD = None
Finally, set the local time zone and the appropriate language code for your installation:
# DJANGO STUFF
AUTH_PROFILE_MODULE='account.UserProfile'
TIME_ZONE = 'Europe/London'
LANGUAGE_CODE = 'en-gb'
Press Ctrl+O to save the file and Ctrl+X to quit the nano editor.
6. Load the environment variables:
. ./booki.env
7. Initialize the database:
django-admin.py syncdb --noinput
8. As suggested by the output of the command above, migrate the remaining parts of the database:
django-admin.py migrate
9. Create a superuser account for the Booktype administrator:
django-admin.py createsuperuser
Enter the required information as prompted.
10. Add common documentation licenses to the new instance of Booktype:
django-admin.py loaddata documentation_licenses
11. Start a test instance of Booktype on a port of your server which is not in use, such as 8005:
django-admin.py runserver 0.0.0.0:8005
12. Leaving the terminal running, open your web browser on the specified port at the localhost IP address of 127.0.0.1, for example http://127.0.0.1:8005/ You should see the Booktype Sign in page in your browser. You can sign in using the superuser account details that you created in the installation step above.
Once you are confident that Booktype is installed correctly, you can press Ctrl+C in the terminal to shut down the test instance. Then return to your normal user prompt in the terminal with the command:
exit
So that you are no longer entering commands as the www-data user. See the Booktype manual for details of an Apache configuration that you can use to put your new Booktype server into production.
For more information on Booktype Pro you can join our newsletter here and be sure to get the latest Booktype Pro news.
[Less]
|
Posted
about 12 years
ago
Launching Framed Horizons: Student writing on Nordic cinema | Photo credit Kristin Trethewey
Booktype took part in this years Frankfurt Book Fair, one of the largest industry and public events dedicated to the world of books. As part of the Digital
... [More]
Innovation Sparks Stage events, Booktype hosted the launch of "Framed Horizons: Student Writing on Nordic Cinema". In the weeks since, we caught up with Marita Fraser who initiated the project through UCL and Norvik Press.
She tells us how the project benefitted students as well as how the process contributes to and enhances the learning process of publishing a book.
Q: Can you describe the book that you published using Booktype?Who was involved? Why was it initiated? What was your interest in publishing these texts?
The book we published is "Framed Horizons: Student Writing on Nordic Cinema", being an anthology of essays written by BA, MA and PhD students of Nordic Cinema at UCL, publishing through Norvik Press.
17 students were involved in the book, being 15 authors, three of which were also editors plus the Head of the Department of Scandinavian Studies and myself.
It was initiated as a test project to see what might be possible as a publishing project which could be offered to students as an "add on" subject to offer students some real world experience in publishing. Claire Thomson, the Head of Scandinavian studies felt it was a shame that excellent essays live in a filing cabinet after being written and marked and she felt there might be some value to them being given another life as a published anthology.
This project gave students the opportunity to review and reflect on their writing, and the editors an experience in peer review as well as the other aspects of a publishing project. For myself I was interested in seeing how Booktype would work as a collaborative publishing tool within the university environment, as well as the more geeky side of designing and laying out a book in html and css.
Some books made with Booktype L-R The Cryptoparty Handbook, On Turtles and Dragons and Framed Horizons: Student writing on Nordic cinema | Photo credit Kristin Trethewey
Q: Can you describe how publishing occurs at UCL. What is your understanding of the differences between educational publishing within the landscape of publishing?
At UCL publishing happens at many levels. From independent publishing houses that sit within specific departments, such as Norvik Press within The Department of Scandinavian Studies, to online open access publishing through Discovery which is initiated by the UCL Library.
Educational publishing functions as an educational and social enterprise, with a focus on sharing information and research, through, books, journals both digital and physical. Publishing is also an educational process within itself, with the development of student publishing projects such as the book we have just published on Nordic Cinema.
Q: How many people were working with Booktype on this project? How were they trained? How did they find using Booktype?
As mentioned above, 17 people worked on the project. The editors were trained with a 5 minute run-through on how Booktype works. The authors were simply emailed to create a Booktype account who then logged-in to the rough edit of the book in Booktype to edit their chapters.
I was impressed at how seamless and almost invisible Booktype was in the project. In editorial meetings we would have the book open in Booktype and "look" at the progress of the book in realtime, which was very empowering for all involved, it seemed to remove hierarchy and made the whole editing process very transparent. All the editors and authors went about editing and updating their chapters and seemed to use Bootype in a very straightforward manor. I had very few comments about the software itself, which to me seemed to reflect that is was doing a very good job of making editing a book fast and simple.
Q: How did you first come across using Booktype for this project? What made you decide to use the tool?
I first came across Booktype when researching new kinds of publishing tools. I liked the collaborative, and online aspects of the tool, as well as the fact that it created the content in an HTML container which could then be outputted to various formats. It was these qualities which led me to propose it as a tool which might be very interesting to use for a student publishing project.
Q: Do you think it was a positive learning experience for the students? Can you describe the benefits?
All of the students involved had a very positive experience.
Benefits included:being given the possibility to review and improve upon their own writing through reflection and peer review. Also being given a very transparent view on the publishing process, leaving the university with published writing and experience in editing a publication. Collaborating with other students both remotely and through the editorial board to create something that is a physical tangible thing, a book!
Q: Did you ever have any problems or set backs using Booktype?
There were a few technical issues with any kind of new software, and Booktype has them. But in working with the development team, I felt many of those issues were being addressed as we developed the project. Things such as stray html coming through cut and paste of Word documents needed to be dealt with, but it was nothing that everyone doesn't already deal with in trying to work with Word docs. My version of Chrome auto updating and no longer working with Booktype output, was not fun, but was fixed with a little bit of messing about with the settings for Chrome. I found the Booktype developers extremely helpful in trying to sort out small problems, and we were all learning from the process.
Q: How do you plan to use the tool in the future? Would you/have you recommended it to others?
We are currently looking for a new set of students to work through the process again, and produce another book of student writing on a new area of interest. Yes! I would recommend it to anyone interested in creating a transparent and collaborative publishing environment or project.
If you want to try Booktype yourself for free you can sign up for a free Starter package here.
Sign up to the Booktype Pro mailing list here.
If you have any feedback, questions or concerns about this article please send us a message on our Facebook page.
[Less]
|
Posted
about 12 years
ago
Painted Nails | Photo credit Flickr Mike Fernwood (CC BY-SA 2.0)
As you know, you can use Booktype to publish your books in different formats and you can also view them on the web.
In this blog post I will try to show how the web view can be
... [More]
customized with simple template modifications. By default, Booktype comes with predefined templates but they can all be easily customized to fit your needs (templates can also be multilingual).
Scenario: Awesome Sun Publishing House
Let us imagine we run a publishing shop called "Awesome Sun" who is interested in publishing books about solar power. Booktype has been installed in the /var/www/awesomesun/ directory on our web hosting server. But we are not so happy with the default look and feel so we decide to change it.
So where should our web designers look first?
In the case of "Awesome Sun", the template files should be placed in the /var/www/awesomesun/templates/ directory. While all static files (CSS files, JavaScript files, images, ...) should be placed in /var/www/awesomesun/static/ directory.
Fairly simple for now. Before doing any work it would be wise to check our documentation for information on how to work with Django templates. As you may guess, the examples in this blog post are oversimplified so if you want to go further with Booktype you can access these other resources.
Modifying the template files
By default, to present books on the web Booktype comes with the Django application called "Reader" and we will customize templates for that application. Original templates for this application are placed in the $BOOKTYPESOURCE/lib/booki/reader/templates/ directory and our customized templates will be placed in the /var/www/awesomesun/templates/reader/ directory. All you have to do is either copy the original template files into awesomesun project and modify them or write new templates from scratch.
What kind of modifications can we make?
As you can see on the screenshots bellow we want to have a very simple book view. We want our "Table of contents" to always be visible while we scroll the page and we want our header to be fixed on top with the name of the book and the chapter we are currently reading.
And on the back end
To make this happen I created a new base template called new_base.html and placed it in the /var/www/awesomesun/templates/ directory. This is a base template which other templates for the "Reader" application should include. This template just includes the jQuery library and creates place holders for future content.
Then you would create the /var/www/awesomesun/templates/reader/book_chapter.html template file. This is where I include the additional JavaScript library, CSS file, display "Table of contents" and content of chapter. Besides HTML and CSS there are just two important things to look at. The chapter content is inserted with {% booki_format content %} and "Table of contents" is inside of the variable chapters. It all depends how you want to show your "Table of Contents" but here I am using the "for" loop to construct unordered list with chapter titles. Everything else is just CSS styling.
Essentially, this is how you customize Booktype templates. I have compiled all the needed files (with CSS and additional JavaScript) from this blog post here. Please download it if you are interested in gong deeper into this process.
If you want to stay up to date with news concerning Booktype join the Booktype Pro mailing list.
If you have questions or comments about this blogpost please send us a message on our Facebook page.
[Less]
|
Posted
about 12 years
ago
eReader Comparison | Photo credit Flickr edvvc (CC BY 2.0)
The basics of Objavi-widening the possibilities of publishing
Objavi is a platform for exporting (rendering) content into a book format -- for digital, print, ebook readers and for online
... [More]
reading. The idea behind Booktype and Objavi is to support as many different types of output formats as possible and have the ability to create high quality outcomes for each from a single source document.
Objavi started out as a part of the Booktype project, where it's role was making PDFs and EPUBs from books created inside the Booktype editor.
New roles and tasks as publishing moves to the browser
With the coming of books in a browser -- a new paradigm where the browser is turned into a complete typesetting environment for creating books -- Objavi's role is augmented with the task of supporting the front-end user with the ability to quickly and efficiently create print-quality renderings of the whole document or its individual chapters in a number of different formats, page sizes, fonts etc.
For creating print-quality PDFs, we are in a final stage of switching to a new rendering engine that is based on pure WebKit and uses our very own BookJS project. WebKit is a well-known web page rendering engine that is used inside Apple's Safari and Google's Chrome web browsers. WebKit is also an open-source project, a very important feature for us as it allowed us to stay on the bleeding edge of development and use new and experimental features as they emerged.
BookJS is a JavaScript library that reflows a web page into a fixed-page format and in effect turns a web page into a book ready for printing. This approach uses WebKit's own layout engine and offers a much simpler and cleaner solution than the one we used so far. This new rendering engine will allow for higher quality outputs that look 100% like how the user sees them while editing the book in the browser.
Working towards agile Objavi
We are also working on a more agile Objavi that can be used by a number of different clients, each with disparate requirements but having the same goal -- creating book quality publications. One example of these users would be a content management system that needs the ability to create hard-copies of published content. Another would be a digital news archive that offers print-on-demand service of the archived articles.
As well a new API is in the works that will offer Objavi's functionality to various projects that in some way or another require print-quality output. Stay tuned for more updates as these developments progress.
If you want to stay up to the minute on Booktype news sign up to the Booktype Pro mailing list here.
If you have a question or concern about this blogpost please send us a message on Facebook.
[Less]
|
Posted
over 12 years
ago
Books made with BookJS | Photo credit Kristin Trethewey
In the last months we have been working on a new technology for rendering books in Booktype. Actually, it is very nice Javascript that can be used in any application and it is called BookJS.
... [More]
BookJS is developed by Johannes Wilm, one of the core Booktype developers. What it does is very simple - you can add the javascript to any HTML page and it will format it like a book - directly in the browser. You can see page numbers, the table of contents, a title page, and left and right breaking pages etc. There is a very simple example of it in action here: http://sourcefabric.github.com/BookJS/
(note: you need the latest chrome for this to work).
HTML before BookJS
Book in browser after BookJS
Why do this?
Well it gives us the opportunity for three very exciting things:
you can use BookJS in combination with an inline editor like Aloha, so that you can actually edit the content as it appears in the book. That means the layout of the page you edit is as it would appear in a printed book (it is also possible to use it to emulate iPad etc but we have not refined this yet).
you can style the book in the browser - opening the door for in-browser design tools.
you can output to print-ready PDF and it looks the same as it did in the browser.
This is pretty exciting stuff. To match the development, we have created our own back-end renderer which implements BookJS inside of the Webkit browser engine (developed by Booktype developer Borko Jandras). This means ,what you see in the browser is what you get in the final PDF.
So, this is all in alpha development stage. We intend for it to be released in the next months pending roadmap conversations. However BookJS is already available from the Sourcefabric GitHub pages, it has already been implemented in test development with the WYSIWHAT? Aloha editor, and it has already been used to produce three books. Of particular interest, is a book produced by the University College of London Scandinavian Studies Department, Framed Horizons: Student writing on Nordic Cinema.
We will put some Press Release material out shortly about BookJS so consider this an early heads up!
If you would like to contribute to the development please consider joining the Booktype development list.
Get started with cloud-publishing with Booktype Pro today!
[Less]
|
Posted
over 12 years
ago
Open | Photo credit Flickr John Martinez Pavliga CC BY 2.0
Recently we have opened the doors much wider for collaboration on the development of Booktype. When I brought the project to Sourcefabric initially, it was in the hope of giving Booktype
... [More]
more development muscle and the chance to live as a successful open source project. Before Booktype came to Sourcefabric it was a project that had been developed mostly by one organisation - FLOSS Manuals. By moving it to Sourcefabric I felt our community could grow and this would help ensure its existence in the future. And so, by making it easier for collaboration to happen we are working hard to build a community of developers who care about the future of Booktype.
Developing a community of developers
Joining a new organization means working through processes and trying to find better ways to move forward collectively. Unfortunately, it has taken us longer than we would have liked to restructure a few things. But we think these slight adjustments will make the project more open and easier for developers to get involved.
The first thing we added is a development mailing list. We will now use this to develop communications instead of using forums. A small first step, but a good one. Forums are good for reporting issues but not really a favored medium for developers who prefer direct communication channels and plain text. So, we set up a new list which should be much easier to start conversations.
Second we have migrated the development focus to GitHub and this is a great place for collaborating on code. All the information about how to get involved, how to make a contribution and how to get in touch with other developers is contained in the Booktype GitHub pages.
We also want to be as helpful as possible with questions about the code base and putting potential commercial interests aside in the interest of collaboration. In the weeks to come we will have open development VOIP calls where anyone can join in and there will be other channels too. There are also more blog posts emanating from the developers about the code base and thinking around how the project will move forward. This helps share our plans with the community and initiates a public discussion on particular topics of development. We haven't yet gone so far as setting up community Codes of Conduct but it might be a possibility in the future. The real point is that we want Booktype to grow and to do that we want to create a community of developers that can work together. Everyone can gain something from the project, and also help maintain Booktype's position as the best and most innovative online book production platform for many, many years to come.
Longevity with open source practice
Open source enables longevity and licenses are just that - enablers. They don't make a healthy thriving open source project - that is the result of the individuals involved. This secondary concern is precisely what we are working on at the moment. If you would like to get involved check out the GitHub pages and become part of the Booktype development community.
You can also join the Booktype Pro mailing list to get the most up to date news about Booktype.
Check out Booktype Pro and get started cloud-publishing today!
[Less]
|
Posted
over 12 years
ago
King Cloud | Photo credit Flickr Karen Ka Ying Wong CC BY-SA 2.0
Publishers, newspapers, print-on-demand services, educators... breathe a sigh of relief. Booktype Pro is here! No more lost manuscripts, overwritten Word files, awkward wikis or
... [More]
cumbersome CMSes. Replace all that hassle with a free, cloud-based service you can get started with right away. But, let's start at the beginning. What exactly is cloud publishing?
Here's how it works...
Access cloud-hosted book projects anywhere, any time via the web and start writing.
Use social tools and permissions to speed work and keep everything neat.
Define your own licences and copyright.
Publish beautifully designed books to pdf, epub and lulu.com out-of-the-box.
Flexible packages. Need 1000s of books with 1000s of writers? You got it.
No installation, upgrades or servers. We do all that for you.
Booktype Pro is a free or paid hosting service depending on the project you are about to embark on. Yes, you heard right. Our Starter package is free, and will be forever. Watch the screencast below, made by our very own Josh McLain) to see how to set up your very own free account.
Here are some examples of how Booktype is used...
Write your first book today.
You can create an online account for free and create one book with up to 10 collaborators. It's by far the fastest and easiest way to produce a book. From start to finish the entire book is written, edited, designed and published with one tool. Booktype is already formatted with pagination and a table of contents, so there is no need to design your book with another software. You can watch this screencast (again by Josh McLain) that shows how easy it is to create a book and add chapters.
After your finished writing, one click publishing pushes your content directly to print or digital formats. It's your choice: print-ready PDF, screen-PDF, epub, ODT or directly to your Lulu.com account.
Collective workflows in a one-stop shop
If you are planning to produce a series of books, Booktype Pro is your home-base for managing these workflows. Whether you plan to produce 10 or 1000 books you can invite an unlimited number of collaborators to join your account and work together to write, edit and publish books. Collaborative writing projects have never been easier. Share notes, chat in the browser and save versions of your writing between invited colleagues. Booktype Pro helps keep the whole team on the same page, literally.
Enabling projects that make a difference
Booktype has enabled many organizations to produce beautiful books. Don't believe us? Just check out the testimonials on our website. Allen Gunn, Executive director of Aspiration writes:
"Booktype is the present and future of collaborative publishing, and we could not live without it in the work we do. It bakes the values of the open web and the passion of the free knowledge movement into a platform that aggregates knowledge while catalyzing communities."
Organisations the world over are adopting Booktype to produce books. Many of these projects are making a big difference to the landscape of publishing. Siyavula in South Africa, produce free textbooks for millions of children. They have been able to do this through collaborative online writing. They use Booktype to assist in building their community of writers and this helps teachers and students access important information online.
Marita Fraser from University College London, recently published a book of student writing, Framed Horizons:Student writing on Nordic cinema. With the aid of a collaborative editorial team, her students were able to quickly adopt the tool with very little training. She plans to continue using it for future projects.
Booktype Pro is here to make a difference to both authors and publishers.
If you're curious about getting started with the software you can also read the manual which is available in both English and Spanish.
Join the Booktype Pro mailing list to stay in touch with all the latest news and updates for the Booktype Pro community.
[Less]
|