Skip to main content

Blog

I've always had a passion for good design and healthy coding, even back in the days of owning a web site cart in downtown Natick. Back then, my business partner and I made all natural HTML roll-up web sites and, as an incentive for customers to wait in line, we baked Drupal into different flavored designs.

The Drupal became remarkably popular and before we knew it, the Agaric collective was born.

Today, you can enjoy Agaric's many great flavors. They are baked, all natural and totally delicious. So treat yourself well, and treat yourself often.

Visit http://www.agaric.com to find more about our other sites, discover great recipes, and stay in touch.

Dan Hakimzadeh
Co-Founder

El reto

El outlet publica artículos en su sitio diariamente, administra varias listas de correo, así como cuentas de Facebook y Twitter, todo a través del poder de los voluntarios. El nivel de actividad y el impacto que tienen como comunidad de voluntarios es impresionante, pero su sitio web Drupal 7, inicialmente una poderosa plataforma de publicación, estaba envejeciendo. El sitio no respondía y agregar nuevas funciones a un código base más antiguo resultó ser cada vez más difícil.

Portside necesitaba un diseño actualizado que funcionara en todos los dispositivos y con un conjunto de herramientas de creación y publicación que pudieran automatizar la mayor parte de su flujo de trabajo, liberando a sus voluntarios para que se centren en la redacción y el contenido de contenidos.

Kay VanValkenburgh is a Boston-based Drupal project director with a strong focus on training and mentorship. His latest venture is OwnSourcing, started in 2010 to develop hands-on training and project-specific documentation that help non-developers do great things with Drupal. Under the same aegis, Kay founded a mentorship program to help budding Drupal developers get their start (see ownsourcing.com/mentorship). Kay geeks out on usable software, how people learn, world languages, and competitive sailing.

Sign up to be notified when Agaric gives a migration training:

Portside is a digital media outlet that publishes and curates articles and videos of interest to the left. This curation lifts up critical voices in an age of media saturation and facilitates thoughtful, bold dialog online.

In today’s article we are going to provide a reference of all configuration options that can be set in migration definition files. Additional configuration options available for migrations defined as configuration will also be listed. Finally, we present the configuration options for migrations groups.

List of configuration options in YAML definition files

General configuration keys

The following keys can be set for any Drupal migration.

id key

A required string value. It serves as the identifier for the migration. The value should be a machine name. That is, lowercase letters with underscores instead of spaces. The value is for creating mapping and messages tables. For example, if the id is ud_migrations, the Migrate API will create the following migrations migrate_map_ud_migrations and migrate_message_ud_migrations.

label key

A string value. The human-readable label for the migration. The value is used in different interfaces to refer to the migration.

audit key

A boolean value. Defaults to FALSE. It indicates whether the migration is auditable. When set to TRUE, a warning is displayed if entities might be overridden when the migration is executed. For example, when doing an upgrade from a previous version of Drupal, nodes created in the new site before running the automatic upgrade process would be overridden and a warning is logged. The Migrate API checks if the highest destination ID is greater than the highest source ID.

migration_tags key

An array value. It can be set to an optional list of strings representing the tags associated with the migration. They are used by the plugin manager for filtering. For example, you can import or rollback all migrations with the Content tag using the following Drush commands provided by the Migrate Tools module:

$ drush migrate:import --tag='Content'
$ drush migrate:rollback --tag='Content'

source key

A nested array value. This represents the configuration of the source plugin. At a minimum, it contains an id key which indicates which source plugin to use for the migration. Possible values include embedded_data for hardcoded data; csv for CSV files; url for JSON feeds, XML files, and Google Sheets; spreadsheet for Microsoft Excel and LibreOffice Calc files; and many more. Each plugin is configured differently. Refer to our list of configuration options for source plugins to find out what is available for each of them. Additionally, in this section you can define source contents that can be later used in the process pipeline.

process key

A nested array value. This represents the configuration of how source data will be processed and transformed to match the expected destination structure. This section contains a list of entity properties (e.g. nid for a node) and fields (e.g. field_image in the default article content type). Refer to our list of properties for content entities including Commerce related entities to find out which properties can be set depending on your destination (e.g. nodes, users, taxonomy terms, files and images, paragraphs, etc.). For field mappings, you use the machine name of the field as configured in the entity bundle. Some fields have complex structures so you migrate data into specific subfields. Refer to our list of subfields per field type to determine which options are available. When migrating multivalue fields, you might need to set deltas as well. Additionally, you can have pseudofields to store temporary values within the process pipeline.

For each entity property, field, or pseudofield, you can use one or more process plugins to manipulate the data. Many of them are provided by Drupal core while others become available when contributed modules are installed on the site like Migrate Plus and Migrate Process Extra. Throughout the 31 days of migrations series, we provided examples of how many process plugins are used. Most of the work for migrations will be devoted to configuring the right mappings in the process section. Make sure to check our debugging tips in case some values are not migrated properly.

destination key

A nested array value. This represents the configuration of the destination plugin. At a minimum, it contains an id key which indicates which destination plugin to use for the migration. Possible values include entity:node for nodes, entity:user for users, entity:taxonomy_term for taxonomy terms, entity:file for files and images, entity_reference_revisions:paragraph for paragraphs, and many more. Each plugin is configured differently. Refer to our list of configuration options for destination plugins to find out what is available for each of them.

This is an example migration from the ud_migrations_csv_source module used in the article on CSV sources.

id: udm_csv_source_paragraph
label: 'UD dependee paragraph migration for CSV source example'
migration_tags:
  - UD CSV Source
  - UD Example
source:
  plugin: csv
  path: modules/custom/ud_migrations/ud_migrations_csv_source/sources/udm_book_paragraph.csv
  ids: [book_id]
  header_offset: null
  fields:
    - name: book_id
    - name: book_title
    - name: 'Book author'
process:
  field_ud_book_paragraph_title: book_title
  field_ud_book_paragraph_author: 'Book author'
destination:
  plugin: 'entity_reference_revisions:paragraph'
  default_bundle: ud_book_paragraph

migration_dependencies key

A nested array value. The value is used by the Migrate API to make sure the listed migrations are executed in advance of the current one. For example, a node migration might require users to be imported first so you can specify who is the author of the node. Also, it is possible to list optional migrations so that they are only executed in case they are present. The following example from the d7_node.yml migration shows how key can be configured:

migration_dependencies:
  required:
    - d7_user
    - d7_node_type
  optional:
    - d7_field_instance
    - d7_comment_field_instance

To configure the migration dependencies you specify required and optional subkeys whose values are an array of migration IDs. If no dependencies are needed, you can omit this key. Alternatively, you can set either required or optional dependencies without having to specify both keys. As of Drupal 8.8 an InvalidPluginDefinitionException will be thrown if the migration_dependencies key is incorrectly formatted.

class key

A string value. If set, it should point to the class used as the migration plugin. The MigrationPluginManager sets this key to \Drupal\migrate\Plugin\Migration by default. Whatever class specified here should implement the MigrationInterface. This configuration key rarely needs to be set as the default value can be used most of the time. In Drupal core there are few cases where a different class is used as the migration plugin:

deriver key

A string value. If set, it should point to the class used as a plugin deriver for this migration. This is an advanced topic that will be covered in a future entry. In short, it is a mechanism in which new migration plugins can be created dynamically from a base template. For example, the d7_node.yml migration uses the D7NodeDeriver to create one node migration per content type during a Drupal upgrade operation. In this case, the configuration key is set to Drupal\node\Plugin\migrate\D7NodeDeriver. There are many other derivers used by the Migrate API including D7NodeDeriver, D7TaxonomyTermDeriver, EntityReferenceTranslationDeriver, D6NodeDeriver, and D6TermNodeDeriver.

field_plugin_method key

A string value. This key must be set only in migrations that use Drupal\migrate_drupal\Plugin\migrate\FieldMigration as the plugin class. They take care of importing fields from previous versions of Drupal. The following is a list of possible values:

  • alterFieldMigration as set by d7_field.yml.
  • alterFieldFormatterMigration as set by d7_field_formatter_settings.yml.
  • alterFieldInstanceMigration as set by d7_field_instance.yml.
  • alterFieldWidgetMigration as set by d7_field_instance_widget_settings.yml

There are Drupal 6 counterparts for these migrations. Note that the field_plugin_method key is a replacement for the deprecated cck_plugin_method key.

provider key

An array value. If set, it should contain a list of module machine names that must be enabled for this migration to work. Refer to the d7_entity_reference_translation.yml and d6_entity_reference_translation.yml migrations for examples of possible values. This key rarely needs to be set. Usually the same module providing the migration definition file is the only one needed for the migration to work.

Deriver specific configuration keys

It is possible that some derivers require extra configuration keys to be set. For example, the EntityReferenceTranslationDeriver the target_types to be set. Refer to the d7_entity_reference_translation.yml and d6_entity_reference_translation.yml migrations for examples of possible values. These migrations are also interesting because the source, process, and destination keys are not configured in the YAML definition files. They are actually set dynamically by the deriver.

Migration configuration entity keys

The following keys should be used only if the migration is created as a configuration entity using the Migrate Plus module. Only the migration_group key is specific to migrations as configuration entities. All other keys apply for any configuration entity in Drupal. Refer to the ConfigEntityBase abstract class for more details on how they are used.

migration_group key

A string value. If set, it should correspond to the id key of a migration group configuration entity. This allows inheriting configuration values from the group. For example, the database connection for the source configuration. Refer to this article for more information on sharing configuration using migration groups. They can be used to import or rollback all migrations within a group using the following Drush commands provided by the Migrate Tools module:

$ drush migrate:import --group='udm_config_group_json_source'
$ drush migrate:rollback --group='udm_config_group_json_source'

uuid key

A string value. The value should be a UUID v4. If not set, the configuration management system will create a UUID on the fly and assign it to the migration entity. Refer to this article for more details on setting UUIDs for migrations defined as configuration entities.

langcode key

A string value. The language code of the entity's default language. English is assumed by default. For example: en.

status key

A boolean value. The enabled/disabled status of the configuration entity. For example: true.

dependencies key

A nested array value. Configuration entities can declare dependencies on modules, themes, content entities, and other configuration entities. These dependencies can be recalculated on save operations or enforced. Refer to the ConfigDependencyManager class’ documentation for details on how to configure this key. One practical use of this key is to automatically remove the migration (configuration entity) when the module that defined it is uninstalled. To accomplish this, you need to set an enforced module dependency on the same module that provides the migration. This is explained in the article on defining Drupal migrations as configuration entities. For reference, below is a code snippet from that article showing how to configure this key:

uuid: b744190e-3a48-45c7-97a4-093099ba0547
id: udm_config_json_source_node_local
label: 'UD migrations configuration example'
dependencies:
  enforced:
    module:
      - ud_migrations_config_json_source

Migration group configuration entity keys

Migration groups are also configuration entities. That means that they can have uuid, langcode, status, and dependencies keys as explained before. Additionally, the following keys can be set. These other keys can be set for migration groups:

id key

A required string value. It serves as the identifier for the migration group. The value should be a machine name.

label key

A string value. The human-readable label for the migration group.

description key

A string value. More information about the group.

source_type key

A string value. Short description of the type of source. For example: "Drupal 7" or "JSON source".

module key

A string value. The machine name of a dependent module. This key rarely needs to be set. A configuration entity is always dependent on its provider, the module defining the migration group.

shared_configuration key

A nested array value. Any configuration key for a migration can be set under this key. Those values will be inherited by any migration associated with the current group. Refer to this article for more information on sharing configuration using migration groups. The following is an example from the ud_migrations_config_group_json_source module from the article on executing migrations from the Drupal interface.

uuid: 78925705-a799-4749-99c9-a1725fb54def
id: udm_config_group_json_source
label: 'UD Config Group (JSON source)'
description: 'A container for migrations about individuals and their favorite books. Learn more at https://understanddrupal.com/migrations.'
source_type: 'JSON resource'
shared_configuration:
  dependencies:
    enforced:
      module:
        - ud_migrations_config_group_json_source
  migration_tags:
    - UD Config Group (JSON Source)
    - UD Example
  source:
    plugin: url
    data_fetcher_plugin: file
    data_parser_plugin: json
    urls:
      - modules/custom/ud_migrations/ud_migrations_config_group_json_source/sources/udm_data.json

What did you learn in today’s article? Did you know there were so many configuration options for migration definition files? Were you aware that some keys apply only when migrations are defined as configuration entities? Have you used migrations groups to share configuration across migrations? Share your answers in the comments. Also, I would be grateful if you shared this blog post with friends and colleagues.

The contextual filter selection screen.

Sign up to be notified when Agaric gives an online or in-person migration training:

A plain two-edged razor blade (for a pun on double-edged razor).

Double-edged Raiser

Past time to ditch Blackbaud

Martin Owens is a committed programmer that lives for making great code that helps people. He fully supports the Free Software philosophy and likes to publish online as much of his own code as possible. Martin hopes to work for a company where his talents can be used to make great products for users, where he can be stretched and encouraged to learn new things as well as being able to commit to the wider open source landscape where possible.

The command line provides so much power.  We cover none of that power here, instead showing how to open the door—to open your terminal—on several operating systems.

GNU/Linux

In Ubuntu, use the Super key and start typing terminal.  As soon as you see the Terminal application show up and be selected, press Enter and you will have a terminal to type in.

If you're not using Ubuntu, something similar should still work, but if you're using

Mac OS X

Press Command + Spacebar to open Spotlight, and start typing terminal.  As soon as you see the Terminal application show up and be selected, press Enter and you will have a terminal to type in.

Windows

Press the Windows key + R, type cmd, and you will have a terminal emulator in Window's "Command Prompt" console.

The Challenge

350.org needed their mapping tool to convey the impressive breadth of the climate strike while quickly surfacing events near supporters.  Mostly through volunteer power they had an initial version of the tool running, but it lacked the features needed for organizers to mobilize on the scale the climate strike demanded.

We worked with the 350.org Product Team to refactor the custom Javascript to use React.js, a popular and easy to use framework, add embed code parameters for organizers, and improve the user experience for climate strikers. The result was a tool that helped bring out an estimated 4 million people in possibly the largest climate justice action in history.

Ben Melançon asiste a un taller de Ujima.

Benjamin Melançon y Clayton Dewey se ofrecen como voluntarios en el equipo de liderazgo de Drutopia, una iniciativa para llevar sitios web impulsados por Drupal a organizaciones de base.

¿Qué es el Software Libre?

Un programa es software libre si los usuarios del programa tienen las cuatro libertades esenciales:

0. La libertad de ejecutar el programa y utilizarlo para cualquier propósito (libertad 0).

1. La libertad para acceder y estudiar cómo funciona un programa y cambiarlo, adaptándolo a suspropias necesidades (libertad 1).

2. La libertad de redistribuir copias para que pueda ayudar a otros usuarios (libertad 2).

3. La libertad de hacer cambios y distribuir las versiones modificadas a otros (libertad 3).

El acceso al código fuente es una condición previa para lograr esto. Para determinar si el código fuente es libre, revise qué licencia tiene y luego verifique la lista del proyecto GNU

Free software examples

Tenemos algunas tareas para las cuales no contamos con software de código abierto. En ocasiones, nos vemos obligados a usar un software no libre si el cliente insiste en incluirlo en su sitio web. Cuando esto sucede, se sacrifica parte de nuestra libertad.  Algunos activistas se negarían rotundamente a esto. 

A nosotros no nos gusta comprometer nuestra autonomía, por lo que preferimos ayudar a desarrollar reemplazos para estos programas y siempre que este en nuestras posibilidades elegiremos un software que refleje nuestra ética y filosofía. 

Sistemas Operativos

GNU/Linux

Gnu logo and Linux logo

Hemos optado por utilizar GNU / Linux como nuestro sistema predeterminado para nuestro desarrollo local. Cuando tenemos un nuevo estudiante, instalamos una distribución GNU / Linux y siempre damos la opción de disponer de una diferente si el estudiante así lo desea. 

 

Estas son las distribuciones de GNU / Linux preferidas utilizadas por los miembros de nuestro equipo cooperativo* : 

Estas no son las mejores versiones de GNU / Linux en cuanto a ser completamente libres, pero existen mas opciones. Puede consultar la lista de distribuciones en el sitio web de la Free Software Foundation para elegir la que mejor se adapte a sus necesidades. 

* Actualmente, un miembro del equipo está utilizando el Mac OS X patentado pero basado en BSD, que cumple con el estándar Unix 03 / POSIX que también cumplen las distribuciones GNU / Linux.

Navegadores

Firefox

Firefox logo

Como desarrolladores, tenemos que probar sitios de clientes en diferentes navegadores, pero para trabajar y construir sitios web, utilizamos Mozilla Firefox. Y aunque el código fuente de Firefox es software libre, incluye algunos iconos, marcas registradas y logotipos en la descarga que lo hacen no completamente libre.

Estos se pueden eliminar fácilmente como se ha hecho con IceCat, la versión GNU del navegador Firefox, la cual tiene un gran rendimiento, herramientas de desarrollo y una gran comunidad. El lado positivo de tener una comunidad en torno al software que utilizamos, es el acceso a un gran grupo de personas con experiencia y disposición para orientar, a medida de que podamos aprender y seguir construyendo juntos. 

Tor Browser

Tor logo

Como ciudadanos libres, no nos gusta que nos rastreen, por lo que utilizamos un navegador web de anonimato que no permite seguimientos. Se llama Tor.

 

Micky usa y ama el navegador Brave en Android y su computadora portátil GNU / Linux. ¡ Con ellos puedes bloquear los anuncios desde el primer momento! https://brave.com/ 

 

Si no observamos profundamente a Qwant, luce bastante decente -

Nos encontramos con Qwant a través de https://iridiumbrowser.de/  una versión de cromo más segura, pero probablemente tiene algunas cosas que quizás no sepamos o no queramos tener...

Almacenamiento de archivos y calendario

NextCloud

Nextcloud logo.

NextCloud es una colección de utilidades adecuadas para el proceso de desgoogización. Este software nos proporciona la mayoría de las herramientas populares en Google Drive y está centrado específicamente en brindar seguridad, privacidad y control total de todos sus datos a los usuarios de un  forma totalmente transparente.  Agaric utiliza una versión alojada de NextCloud en los servidores de MayFirst.org que incluyen:

  •     Almacenamiento de documentos y archivos
  •     Sincronizaciónde múltiples dispositivos
  •     Galerías de imágenes 
  •     Calendario
  •     Contactos

Vea una comparación de las características que ofrece NextCloud frente a las opciones propietarias que ofrece GoogleDocs / Drive.

Finanzas, contabilidad y teneduría de libros

GNUcash

Gnucash logo

GNUcash Es una herramienta de  software libre para la gestión financiera. De una forma sencilla permite controlar cuentas bancarias, gastos y  pagos tanto para uso personal como para pequeñas empresas y autónomos. Este es el software que utilizamos para llevar nuestra la contabilidad. 

 

Usted puede ver una revisión de GNUcash vs. Quickbooks para comparar y decidir cualle resulta adecuado.  Hemos encontrado algunas cooperativas contables que hacen su trabajan con GnuCash. 

Chat en tiempo real

Nosotros confiamos en diferentes herramientas para comunicarnos entre nosotros y con los clientes sobre las actividades diarias y los objetivos de proyectos a largo plazo. Nuestro  equipo esta distribuido en diferentes ubicaciones alrededor del mundo, por lo cual, es importante mantener contacto, especialmente cuando se realiza programación en pareja o durante una migración que requiere manos a la obra. Además, de la necesidad de compartir algunas notas de texto informativas y documentos que incluyen datos administrativos.

Freenode

Freenode logo

El Internet Relay Chat, mejor conocido como IRC o simplemente Chat,  es un servicio de comunicación en tiempo real a través de Internet entre dos o mas personas en formato textual. Sí, nosotros todavía utilizamos IRC y se nos puede encontrar en el servidor irc.freenode.net en el canal # devs-r-us

Nuestras preferencias aquí son tan variadas como los miembros de nuestro equipo: unos usan IRSSI a través de un servidor virtual remoto siempre activo, otros usan opciones de escritorio como HexChat o Konversation y algunos aún prefieren la solución basada en la web "The Lounge".

 

Email

MayFirst.org aloja el correo electrónico de Agaric.com

Email Cliente: Thunderbird

 

Thunderbird logo

Thunderbird es un cliente de correo electrónico de Mozilla, fabricado por Firefox y que también está disponible para su teléfono móvil. Cuenta también con un complemento de cifrado llamado EnigMail que funciona bien y no es difícil de configurar. 

Correo electrónico alojado: RiseUp

RiseUp es una organización colectiva administrada por voluntarios anónimos dedicada a proveer servicios de correo electrónico encriptado y alojamientos privados y seguros a personas y organizaciones comprometidas con la justicia social y política. Para obtener acceso debe ser invitado a ser miembro.

MayFirst ofrece tres soluciones de correo electrónico basadas en la web.

1. Roundcube, que tiene una interfaz web amigable y simple, lo que hace que sea fácil de usar.

2. ¡SquirrelMail es una opción que no tiene Javascript!

3. Horde por otro lado, ofrece más que solo un correo electrónico: usted puede compartir calendarios, tareas pendientes, entre otras opciones con otros miembros de su grupo.

Alojamiento de correo electrónico

Protonmailes: un servicio de correo electrónico seguro, fácil de usar, con cifrado de extremo a extremo. 

Listas de correo electrónico:

Utilizamos servidores de listas de correo electrónico para listas de correo basadas en grupos y diferentes temas. Permite el envío grupal a personas que se inscriben en una lista específica.

Servidor de correo electrónico MayFirst

Servidor de correo electrónico RiseUp

Medios para la comunicación social

Mastodonte: publica todo lo que quieras: enlaces, imágenes, texto y video. Todo dentro de una plataforma de propiedad comunitaria y sin publicidad.

Social.coop: una comunidad similar a Twitter, con la principal diferencia de que es propiedad de los miembros. Por tan solo un 1 dólar al mes, puede convertirse en propietario / miembro y participar en la configuración del futuro de la plataforma. 

Puede encontrar y seguir a Agaric en social.coop, un rincón cooperativo del Fediverse, una red con un enfoque cooperativo y transparente para operar una plataforma social. 

Transmisión en vivo:

Transmisión en vivo de MayFirst: la membresía incluye transmisión en vivo.

Llamadas de conferencia y reuniones en línea

Jitsi es un software de cliente multiplataforma, libre y de código abierto que opera con Mensajería Instantánea (IM), chat de voz y video en Internet. Jitsi Videobridge y Jitsi Meet, le permiten tener conferencias en Internet y le permite utilizar funciones como audio, acceso telefónico, grabación y transmisión simultánea.

Algunos miembros del equipo de Agaric lo están usando y reconocen que es un trabajo en progreso y que a veces puede haber fallas técnicas, como también las hemos encontrado al usar Hangouts de Google: tiempo de retraso, cortes, mala calidad de sonido y problemas con el uso compartido de la pantalla. 

En ocasiones, descubrimos que necesitamos usar una solución patentada que parece funcionar de manera confiable a medida que continuamos apoyando los esfuerzos de desarrollo y la corrección de errores con Jitsi. 

Usted puede alojar una instancia de Jitsi o elegir una versión previamente alojada usando https://meet.jit.si . También está disponible para uso público en https://meet.mayfirst.org

Le recomendamos que se convierta en miembro de MayFirst y tenga acceso a todas las herramientas de software libre que ellos ofrecen. 

¡El proyecto Jitsi necesita voluntarios para probar sus servicios y encontrar opciones para mejorar rápidamente!

Actualmente, Agaric está utilizando y pagando el servicio y software patentado de audio-conferencia y videoconferencia de Zoom. Nos encantaría recomendar a otra opción estable que sea el software libre.

Llamadas telefónicas y mensajes de texto

Agaric usa Signal para cifrar mensajes de texto SMS y llamadas telefónicas.

Signal

Una aplicación de software gratuita y abierta que emplea  criptografía end-to-end, lo que permite a los usuarios enviar mensajes de grupos, textos, imágenes y mensajes de vídeo con cifrado, esta altamente recomendada por Edward Snowden. Hay que tener en cuenta que la seguridad es una carrera armamentista y que esto podría volverse falso en cualquier momento. 

 

Toma de notas colaborativa

RiseUp:

RiseUp almohadillas es una sencilla aplicación web que permite editar el mismo documento (Pad) de manera simultánea por varias personas en tiempo real. Cuando organizamos una reunión en línea, generalmente abrimos un bloc de notas compartido para que todos puedan contribuir a que se registren los bits importantes. El texto de RiseUp se sincroniza para que todos los que estén en la página vean el mismo texto y puedan colaborar en documentos con equipos grandes o pequeños sin problemas.

Nosotros usamos la versión alojada, pero puede hospedarla usted mismo. Hemos probado algunos pads en línea y nos hemos decidido por Etherpad como el más confiable.

* NextCloud también tiene esta característica colaborativa.

Discusión colaborativa continua

Con algunos colaboradores, particularmente personas involucradas con la iniciativa Drutopia, utilizamos Mattermost en lugar de IRC. Mattermost es un conjunto de herramientas de colaboración que tiene como característica principal un servicio de mensajería instantánea útil para las discusiones en curso y de la cuál se puede acceder al resto de las funcionalidades. Es similar a Slack y ofrece una conversación entrelazada. La versión comunitaria es software libre.

Notas y listas de tareas

TomBoy una pequeña aplicación Open Source multiplataforma que permite tomar notas mientras crea convenientemente hipervínculos de títulos y permite la sincronización a través de SSH y más.

Gestión de contraseñas

KeePass un sistema de administración de contraseñas que elimina en su mayoría la preocupación de almacenar y recuperar la información de inicio de sesión para múltiples proyectos y sitios.

Edición de documentos de texto, hojas de cálculo y presentaciones

Es posible que haya oído hablar de OpenOffice; ahora se llama LibreOffice y es un conjunto de herramientas de oficina similares a Microsoft Office, incluye Documentos, Hojas de cálculo y Diapositivas. Utilizamos las herramientas de LibreOffice que vienen como software central en las distribuciones de GNU / Linux que tenemos instaladas. 

Estos son los que usamos con más frecuencia:

1. LibreOffice Calc: Tiene características y funciones similares a las de un software para crear hojas de cálculo como Microsoft Excel. 

2. LibreOffice Writer: un procesador de textos con una funcionalidad similar a la de Microsoft Word. 

3. LibreOffice Impress: utilizamos esta herramienta para crear diapositivas y presentaciones utilizando texto / gráficos y videos. Tiene las mismas ventajas que  Microsoft PowerPoint.

Gestión de proyectos y seguimiento de problemas

* GitLab: es una herramienta de código abierto para el control de versiones y desarrollo de software colaborativo, ademas de ser gestor de repositorio de Git basado en la web y auto hospedado en wikis, cuanta con la característica de seguimiento de errores. Utilizamos Gitlab para el desarrollo cooperativo en nuestros proyectos.

* Aunque GitLab no es un software totalmente libre, pero sí ofrece una versión auto hospedada. La versión alojada de Enterprise tiene características adicionales y se desarrolla bajo una licencia propietaria.

Redmine: es una aplicación web libre para la gestión de proyectos y seguimiento de problemas. Se puede ejecutar localmente o en su propio servidor. Antes de encontrar GitLab, utilizamos una instancia de Redmine auto hospedada que es software libre.

Toma de decisiones y votación

Loomio:  un servicio alojado disponible en http://loomio.org

Loomio es un software libre que ofrece un sistema distribuido de toma de decisiones y donde se puede formar grupos y realizar discusiones para tomar decisiones sin tener una reunión en persona. Para decidir sí o no, o si lo que necesitas es más información.

Ten en cuenta que Loomio también ha creado un gran recurso cooperativo en su otra URL: http://loomio.coop

Gestión de la relación con el cliente

CiviCRM:  Agaric está trabajando con los desarrolladores de MyDropWizard para echar un vistazo a CiviCRM con Drupal 8.
CviCRM es un software libre  gestor de relaciones y membresías con los clientes. Todavía no lo hemos implementado. 

Directorios de recursos y software libre  

Puede contribuir a grupos que trabajan para encontrar soluciones, hay muchos roles y no tiene que ser desarrollador. Por ejemplo, * IndieWeb y Jitsi son proyectos a los que dedicamos tiempo para apoyar con el desarrollo, las pruebas, la divulgación y la retro-alimentación.

* Con IndieWeb puede tomar el control de sus artículos y los mensajes de estado se pueden distribuir a todos los servicios, no solo a uno, lo que le permite interactuar con todos en su red o gráfico social. Incluso las respuestas y los “me gusta” de otros servicios pueden volver a su sitio para que estén todos en un solo lugar.

Framasoft: Es una gran colección de herramientas de software libre donde usamos el calendario y el software de encuestas con mayor frecuencia. Estamos experimentando con varias otras herramientas de FramaSoft y para poder adoptarlas en un futuro.

Si esta ha sido una lectura útil, compártela y cuéntanos en los comentarios cómo te ayudó. Una publicación de seguimiento enumerará las herramientas que utilizamos para fines de desarrollo. Asegúrese de mencionar cualquier software gratuito que haya encontrado y esté utilizando ahora.

Framasoft: A large collection of free software tools where we use the calendar and polling software most often. We are experimenting with several other FramaSoft tools and may adopt them in the future.

Los dejamos con una excelente charla TEDx donde Richard Stallman explica el Software Libre: