Your project . The Gizra Way

About Us

Gizra is a boutique development shop in Tel Aviv, established in 2009 and employing 17 developers.

Gizra's work focuses on Open Source technologies: We've created and maintain key Drupal modules such as RESTful, Organic Groups, Message and Entity Reference, and take part in maintaining Drupal core, as well as state of the art technologies like Node.js, D3, Angular, Jekyll and others.

At Gizra we've developed an approach we call The Gizra Way, a radically transparent way of working, but technologically and project management-wise. Every Gizra project is tracked in GitHub with all code and tasks open to all stakeholders from day one. Every piece of code is peer-reviewed and covered by automatic tests. Stakeholders are encouraged to communicate directly with developers working on their code via GitHub Issues.

Gizra developers set aside an hour each day for community contributions: fixing bugs on open source projects, blogging about new code and methods we develop, and working on public-benefit software projects. We make a point of taking part in the developer community, presenting in Open Source camps and conventions worldwide.

See The Team

Work

From e-Commerce to community sites.

Commerce Kickstart

A collaboration with Commerce Guys, Commerce Kickstart is built on top of Drupal Commerce making it easier to admin and faster while adding multiple features.

Imanimo

Maternity fashion catalog and eCommerce website

Drupal Commons

We collaborated with Acquia Inc to create this social community focused Drupal distribution, complete with a user friendly interface and built in groups / activity streams support.

OpenScholar

Drupal distribution designed for higher education, allowing academic institutions to run all their staff, department and project websites on a single installation. Developed by Harvard in collaboration with Gizra, used at Princeton, Berkeley, Virginia Tech and more.

Our code

At work

Our code contribution has reached over 100K sites.

Blog

23 May 2015

In this guest post, Luke Herrington shares his experience with integrating an existing Drupal backend with a Backbone.Marionette Todo app.

If you're reading this, you probably already know about all of the great work that Gizra has done in the Drupal/REST space. If you haven't, I highly recommend you check out their github repo. Also see the RESTful module.

One of the projects that Amitai has contributed is Todo Restful. It shows an Angular implementation of the canonical TodoMVC Javascript app connecting to a headless Drupal backend. It's a great demonstration of how easy exposing Drupal content with the RESTful module is. It also shows that when a RESTful API adheres to best practices, connecting it with clients that follow the same best practices is like a nice handshake.

I saw the Todo Restful project and it got me thinking, "If Amitai did this right (hint: he did), then I should be able to get this working with Backbone pretty easily". I was pleasantly surprised!

Todo app with a Drupal backend

Here's a simplified list of everything I had to do to get it working:

20 May 2015

As we dive deeper into visual regression testing in our development workflow we realize a sad truth: on average, we break our own CSS every week and a half.

Don't feel bad for us, as in fact I'd argue that it's pretty common across all web projects - they just don't know it. It seems we all need a system that will tell us when we break our CSS.

While we don't know of a single (good) system that does this, we were able to connect together a few (good) systems to get just that, with the help of: Travis-CI, webdriverCSS, Shoov.io, BrowserStack/Sauce Labs, and ngrok. Oh my!

Don't be alarmed by the long list. Each one of these does one thing very well, and combining them together was proven to be not too complicated, nor too costly.

You can jump right into the .travis file of the Gizra repo to see its configuration, or check the webdriverCSS test. Here's the high level overview of what we're doing:

Gizra.com is built on Jekyll but visual regression could be executed on every site, regardless of the underlying technology. Travis is there to help us build a local installation. Travis also allows adding encrypted keys, so even though the repo is public, we were able to add our Shoov.io and ngrok access tokens in a secure way.

We want to use services such as BrowserStack or Sauce-Labs to test our local installation on different browsers (e.g. latest chrome and IE11). For that we need to have an external URL accessible by the outside world, which is where ngrok comes in: ngrok http -log=stdout -subdomain=$TRAVIS_COMMIT 9000 from the .travis.yml file exposes our Jekyll site inside the Travis box to a unique temporary URL based on the Git commit (e.g. https://someCommitHash.ngrok.io).

WebdriverCSS tests are responsible for capturing the screenshots, and comparing them against the baseline images. If a regression is found, it will be automatically pushed to Shoov, and a link to the regression would be provided in the Travis log. This means that if a test was broken, we can immediately see where's the regression and figure out if it is indeed a bug - or, if not, replace the baseline image with the "regression" image.

Visual regression found and uploaded to shoov.io
07 May 2015

Monitoring your live site is a pretty good idea - that's generally agreed. Same goes for visual regression testing. Doing it, however, is hard. Enough so that very few companies actually do visual regression testing/monitoring, so don't feel bad if you haven't either until now. But after reading this post you should seriously consider doing it. Or at least give it a try.

For example, here's an overview of how we could monitor Twitter, if someone would actually ask us to (as always you can jump right into the repository):

Visual regression on a Twitter page. So much functionality has been asserted in this simple screenshot
30 Apr 2015

One of the things I love to do is watch movies at home with my soon-to-be-wife (with emphasis on soon as I'm getting married tomorrow!). We have seen a lot of them over the years so it's not always easy to find a new movie or to remember a good movie that's worth watching again.

Combined with my love to JavaScript I've decided to create an AngularJS app with ui-router library. The demo app fetches Apple iTunes top 60 movies and presents the info and trailer for each, and even has a cool archive feature that lets you create your own private collection.

angularJS and ui-router demo application

Contact Us

5 Brenner St., Tel-Aviv, Israel
Tel: +972-3-3731222
Fax: +972-3-5617771