Technology

Wondering what technology backs our Gutenberg Publishing System and the websites and publications based on it? You’ve come to the right place.

Foundation

Gutenberg is built using the FileMaker Pro database management system. FileMaker allows us to rapidly write and deploy database solutions across numerous locations that run on both Windows and Mac OS X. FileMaker also empowers our users to easily browse, maintain and share their data. By developing a whole suite of tools to make our clients’ lives easier, they can more effectively manage their publication content on a continual basis.

Inventory Accounting Integration

A frequent question of potential clients who deal in product inventory is how Gutenberg can function alongside their existing inventory system and processes. Because Gutenberg is a publishing system rather than an inventory system, we do advocate a two-system approach with clearly delimited roles of authority. Pricing, dimensions and bulk characteristics are all examples of data whose source of authority should be the inventory system. Product description, photography and publication structure, on the other hand, are best left to a publishing system. With data managed in both spots, having the two systems speak to each other is paramount.

Due to the varied nature of inventory systems and their capabilities, there isn’t one answer to how the systems should speak to each other. An advanced method could be Gutenberg communicating with the inventory system by way of an ODBC connection, while a lowest-common-denominator solution could simply be nightly CSV data dumps that both systems pick up. When determining which route should be taken, we look to pair the available functionality with marketing needs and budgetary concerns to devise the best, most accommodating solution possible.

Websites

In a nutshell, for our websites, we use semantically correct HTML/CSS on a Ruby on Rails back-end, which is in turn dependent on a MySQL database. This database is populated from Filemaker. Javascript/jQuery is used to spice up the front-end when needed. If you need more detail, continue reading.

Fast, Reliable Datasource

Given our database-driven publishing approach, it’ll come as no surprise that Gutenberg frequently serves as the backbone of our websites. Unfortunately, websites are one area where FileMaker’s engineering tradeoffs become a liability. To get around this, we integrate MySQL shadow tables — managed entirely by Gutenberg — to provide a responsive datasource from which our websites can feed.

Ruby on Rails Framework

First launched in 2004 and now nearing version 3, Ruby on Rails has swept through the web development world like wildfire. Key to both its adoption and its impact on web development in general is its philosophy of convention over configuration. The framework doesn’t try to be all things to all people covering all programming styles; instead it focuses on “the Rails way,” bringing clarity, coherency and the industry’s best practices to an otherwise chaotic web development world.

Rails brings the desktop development’s Model-View-Controller methodology to web development, allowing us all to prosper from the hard-learned lessons of GUI desktop applications; it makes testing of functionality an integral part of development; it builds in modular view support allowing a website to respond intelligently to HTML requests, PDF requests, and others; and it encourages a RESTful development style which makes implementing REST web services through the site extremely easy.

Semantic, Standards-Compliant Markup

We believe in making the content put forth by our websites as relevant as possible to both humans and machines. So while we could get away with implementing site designs using generic HTML divs and spans, we instead use HTML to not just display, but also to describe content. By using semantic markup, search engines can more intelligently rank content and alternative screen readers can better present our sites. Cascading Stylesheets (CSS) allow us to further keep our HTML clean and content-oriented by retaining all styling information in separate, more manageable files.

Front-End Functionality

While the capabilities of HTML and CSS are always increasing, not everything can be done with them alone. For adding more dynamic features and effects such as slideshows, popup modal windows, and Ajax interactions with other sites, we use Javascript. Javascript allows us to make websites more interactive and engaging while allowing us to automate more mundane tasks such as filling out forms. In this area, we also believe in not doing more work than is necessary; that’s why we use jQuery, a fast, concise Javascript library that simplifies and streamlines many common Javascript tasks such as effects, traversing the DOM, event handling, and Ajax interactions. Javascript, along with jQuery, lets us make our websites stand out from the crowd.

Publications

Aiding the print-publication process was the original goal of Gutenberg. Our design and production staff builds templates utilizing character, paragraph and object style definitions so that Gutenberg has a fertile canvas into which it can flow. A Gutenberg data flow is a tagged-text document which pairs the managed content with the styles defined in the template. When a user imports the flow into their desktop publishing application, the content will stream in, already formatted, across page spreads.

The print-publication process is, by design, not completely automated. Technology can do a tremendous amount of work for us, but we staunchly believe no algorithm or advanced heuristic can ever achieve the results you’ll get from a trained designer. What we aim to do is cut out all the busywork so that when the designer is confronted with page after page of content, they get to do what they were trained and hired to accomplish: make the page — and thus the publication — look as good as it possibly can.

View Work