Each month we host an event at Industry Lab in Cambridge, Massachusetts to discuss cooperative work and culture. Our events are usually an informal pot luck gathering.
We meet to help one another explore, form, join, or improve businesses without bosses. Members of worker cooperatives and collectives frequently share our experiences, our challenges, and the processes that are working for us. Sometimes we have guest speakers from successful cooperatives who share stories of how they started their business and how they organize and structure the business. The meetup also engages people that are not yet a part of a worker owned cooperative, but have interest and questions.
At our first meetup we were lucky to have Gonzalo Chomón of Evovelo, a company creating solar powered vehicles, visiting from Spain. He gave detailed information on cooperative law and the cooperative movement in his country. Spain is the home of Mondragon, the world's largest cooperative organization.
Another evening gathering featured A Yard & A Half Landscaping, a successful local cooperative of more than 30 members created by a transition from a single-owner business. Member Carolyn Edsell-Vetter related A Yard & A Half's impressive history and current challenges as its worker-owners grow the cooperative.
At the end of 2014 we were honored to host a holiday party for WORC'N. For our first meetup of 2015, Yochai Gal and Matt Gabrenya from the Boston TechCollective gave an in-depth look into their cooperative beginnings (a still-going San Francisco TechCollective) and how they have attained excellence in the computer repair business. People were actively engaged in a discussion about the roles and duties that exist in a thriving cooperative, and how we can best go about integrating new members.
Our meetups are held at the Industry Lab at 288 Norfolk Street in Cambridge, Massachusetts. The venue is an eclectic environment with a mix of product based companies, inventors, artists and us, the only web developers to date. The Boston/Cambridge Worker Cooperative group on meetup.com has 60 members after just a few months of existence, and each gathering usually has at least a dozen people coming. We invite you to join us at a meetup: sign up at the Meetup group or contact us to be alerted to the next event!
In this installment of our case study about working with long term projects I will explain the architectural decisions made by our client, ZEIT ONLINE, regarding the relaunch of their digital subscription platform. Please refer to part 1 of this series for basic information about the project and a discussion of how to deal with the evolution of programming languages and operating systems.
Early on our client had decided to split up the platform into separate services that communicate via HTTP. This would allow them to develop those components using the most suitable technology for each, as well as allowing the services to progress more independently. The existing platform already used a separate service for authentication and storing user profile information. We took it from there and worked with the client to take it a step further.
First we identified the major logical components of the platform:
When considering how to divide the whole into services, we found it helpful to elaborate on the interfaces between them. The overall idea here is similar to what is accomplished by writing tests first: by grasping how you will consume an interface, it helps define the implementation more succinctly. In order to keep it simple we imposed a constraint on communications between services: When responding to any request, a service must not depend upon another HTTP request to a third party. That way developers would not have to deal with complex dependencies in their development environment and errors would be easy to locate.
Another important consideration was not to do too many things at the same time. Drupal 6 was fulfilling the roles of delivering content and product presentation to the client's satisfaction and the functionality was provided by a small amount of modules. As an upgrade of those parts to Drupal 7 would be straight forward, that was the direction taken for those items. A new client side order form had been developed already and was in experimental use as an alternative to the Ubercart checkout process.
That left the order management as a candidate for a new service. It needs to take orders from the client side order forms, store them, and send them to the fulfillment provider. It would also need to receive updates about the states of an order from the fulfillment provider. Agaric was asked to develop that component and picked Flask as a framework. That was a subjective choice, any other technology for building web applications could have been employed as well.
In upcoming posts I will cover the individual components and how they fulfill the goals of the overall architecture. ZEIT ONLINE is happy with the architecture and is currently moving further along those lines.
Clayton speaks at events around the world on topics including Free Software, Platform Cooperatives and Cooperative Business Structures.
It's great to be here, and there, and there.
Thanks Indieweb module for Drupal!
Update: Ticket taken. But if you want to come, please read below the fold.
We have an extra ticket to DrupalCon and it should probably be yours.
One ticket transfer is supposed to be in process. Might as well make it two. contact me and leave your phone number, as the coordination may be interesting. I'm at the Sheraton Chicago Hotel and Towers now.
I'd love to know your story and why attending sounds like a good idea (and signing up for news of the Definitive Guide to Drupal 7 completion might give bonus points!)
That went fast. Give-away is closed. But if you feel the scholarship process could have been better publicized or otherwise suited to you and you want to pitch ten-to-twenty hours of interning for anything related to Agaric or the Definitive Guide to Drupal 7 ongoing project (including the coordinating of the funding of Drupal projects that benefit the community), we can probably work something out.
Photo courtesy of Women of Color in Tech stock images. CC Attribution License
Numquam eos enim voluptatem beatae doloribus. Ea provident dolor repellendus dolores adipisci laborum illo. Quas iusto vel architecto totam voluptas assumenda. Excepturi est inventore et architecto velit ratione.
Eum sed quisquam vel voluptatum enim nisi optio nobis. Deleniti corporis magnam dolore quia. Perferendis voluptatum dignissimos cum atque quasi quis est asperiores.

Things you can do personally and without too much difficulty to get a little more free from Nineteen Eighty-Four style government oppression and surveillance capitalism. (But remember, the most important and impactful things will require collective action!)
Sign up to be notified when Agaric gives a migration training:
Getting an audio player to show on your content nodes only takes a few steps. However, like many things in Drupal, knowing what those few steps are can be a bit of a challenge. This short guide will provide a basic introduction for anyone looking to use this core functionality on their site.
The media module is available in Drupal core, and just needs to be enabled.
In the admin toolbar, navigate to Structure > Media types > Add media type
You may or may not have specific needs that determine how you name your media type. I simply named mine Audio file, and then selected Audio file for the Media source selection field. Don't forget to click save.
In the most basic case, you will add a field to the content type where you want an audio player. When you get to the field type drop-down, select Media (under Reference). Of course, label your field according to your needs.
note: If you are using the paragraphs module, you might choose to create a new paragraph type and add a field there instead.
Click Save and continue
Click Save field settings
Now you will be directed to the Edit tab for your new field. Select your desired settings. The important bit here is that you scroll to the REFERENCE TYPE field set, and click the checkbox next to your new media type (Audio file in my case).
Scroll to the bottom and click Save settings
If you added this field directly to your content type, then you should be all set.
If you are using paragraphs, don't forget to enable your new paragraph type on the paragraph field of your content type.

Being able to share an article via a social network is a common request on a project.
Fortunately for Drupal 8 there is a module for that called Social Simple. This module allows you to display a share button on a node for the most popular social media networks:
You have been successfully signed up to learn about data migration training opportunities.