Skip to content

kogan/eClaire

Repository files navigation

eClaire Trello printer

eClaire prints Trello cards from a label printer automatically! It's simple and easy, all you need to do as a Trello user is add a "PRINTME" label to your Trello card.

Having a physical wall and a Trello board is not without it's own pain - we had to keep the two in sync and for months we were typing a card in trello and writing a physical card for the wall and this overhead was not sitting well with us as a fast paced, efficient team.

As a result, eClaire was born on the Kogan.com hackday (May 22nd 2015).

Now we're making it available for all you Trello lovers out there!

eClaire Trello Card

Features

  • Our very own Claire handwriting font. You can create your own using myscriptfont.com and/or FontForge, or use some other ttf font.

Usage

Just add the PRINTME label to your card!

PRINTME

And then wait for the magic to happen

Notification

Installation

Below is the configuration we use in production.

Type Name
OS Linux Ubuntu 14.04
Printer Brother QL-570
Labels DK-22205
Cards A6 (105mm X 148mm)

Configuring your printer

  1. Download and install drivers for your OS at QL-570 label printer driver:

    • Driver
    • CUPS wrapper (if you are on a Linux)
  2. Switch on your printer

  3. Verify that your printer appears on https://localhost:631/ (CUPS admin page):

    • Note down your printer name under Printers > Queue Name, e.g. QL-570
  4. Set up the correct label size by running:

    sudo brpapertoollpr_ql570 -P QL-570 -n trello -w 62 -h 140

  5. Set other printer options in the printer configuration

    • Page Setup > Orientation: Landscape
    • Finishing > Auto Cut: Cut the medium at the end of the job
    • Advanced > Roll Fed Media: Continuous roll

Set up Trello labels

eClaire uses labels to find cards to print, so please create the labels PRINTME and PRINTED to all of your boards for eClaire to use.

Set Up eClaire

  1. Run pipenv install eclaire
  2. Start creating an eclaire.yml from the example below
credentials:
  public_key: XXXX
  member_token: XXXXXXXXXXXXXXXXXXXXXXXXX

boards:
  Board1:
    id: 123abc123abc123abc123abc
    printer: QL-570

  Board2:
    id: 123abc123abc123abc123ab2
    printer: QL-570
    notify: false

Trello credentials

  1. Go to https://trello.com/app-key and copy the "Key".
  2. Create the member_token using the /connect/ endpoint in your browser
    • https://trello.com/1/connect?key=...&name=TrelloPrinter&response_type=token&scope=read,write&expiration=never
    • Replace the ... with your Key from before.
  3. Copy the key and member token into your eclaire.yml file.

(OPTIONAL) QR Codes

If you wish to enable QR codes in the bottom right hand corner of cards, then add this to your eclaire.yml file:

qrcode_enabled: true

(OPTIONAL) Hipchat notifications

If you wish to enable hipchat notifications from eClaire, then add this to your eclaire.yml file:

hipchat:
  api_key: XXXXXXXXXXXXXXXXXXXXXXXXX
  user: eClaire
  room: Team Room

Generate a HipChat API token from your hipchat account admin

Known issues

  • Cards with long titles will be truncated (but this encourages you to be brief).
  • Sometimes the QR code will overlap the title for long titles.
  • Card titles are capitalized which might result in lost meaning for CamelCased words.
  • The font provided does not have glyphs for all characters, but should handle most cases for the English alphabet.

Contributing

We use pre-commit <https://pre-commit.com/> to enforce our code style rules locally before you commit them into git. Once you install the pre-commit library (locally via pip is fine), just install the hooks::

pre-commit install -f --install-hooks

The same checks are executed on the build server, so skipping the local linting (with git commit --no-verify) will only result in a failed test build.

Current style checking tools:

  • flake8: python linting
  • isort: python import sorting
  • black: python code formatting

Note:

You must have python3.7 available on your path, as it is required for some
of the hooks.

License

Copyright 2019 KOGAN.COM PTY LTD

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.