Incomplete

Texy! filter

Last modified: November 7, 2009 - 14:35

The module filters an easy to read Texy syntax into XHTML.

Texy! allows you to enter content using an **easy to read** Texy syntax which is filtered into *structurally and typographically valid* XHTML. No knowledge of HTML is required. Texy! is one of the most extensive formatting tools. It allows adding of images, links, nested lists, tables and has a full support for CSS.

This page needs update.

Chatroom module

Last modified: November 6, 2009 - 17:05

This is a placeholder for Chatroom documentation.

Bringing this page up to date is a release-blocker for the 6.x-2 branch to reach stable status.

Drush Make - Drupal Distributions Packaging Automation Tool

Last modified: November 6, 2009 - 09:00

Drush Make is provided as an extension to Drush, the command line tool for Drupal (or follow this link to the Drush handbook page for more information on how to use Drush itself).

Project page: http://drupal.org/project/drush_make

What Drush Make does is, through the implementation of flat files (similar in appearance to .info files from modules), provide a mechanism to fetch data from practically any source you tell it to, and package it. This includes downloading Drupal core as well as other contributed modules available on drupal.org.
It also provides the ability to fetch:

  • code from CVS repos, including tag-specific
  • ditto for svn
  • ditto for git, including checking out a particular branch after cloning the repo
  • grabs .tar.gz stuff, wget-style - useful for libraries
  • can fetch and apply patches

The package created can then be used for distribution or as a platform build that can then be then deployed and instancified/cloned using the Aegir hosting system.

A typical Drush make file could look something like the following:

my_own_distribution.build

core = 6.x
projects[] = drupal
projects[my_own_distribution][type] = "profile"

Yamm achitecture basics

Last modified: November 5, 2009 - 20:48

Reliability

To ensure our synchronization process does not break, we use the DataSync framework. This module allow us to launch our batch on a system thread, which allow us to forget the PHP max execution time and configure a higher memory limit. This framework also does transactional SQL(we patched the DataSync module to support PostgreSQL, patches were released) which can be usefull in case we got errors, set this mess in order!

Network overview

We use a async push/pull mecanism. Server pushes the synchronization order to clients. Each client will then queue a new DataSync job.
On client side, when job runs, it pulls the initial content list to synchronize. While browsing the object tree, it sometime pulls objects dependencies from server when needed.

Data handling

Data handling is based on a full OO code. Each type of data is represented by a class subclassing what we call an Entity. The Entity class is a simple transport object, which provide internal UUID check and generation methods.

Yet Another Migration Module

Last modified: November 5, 2009 - 20:55

Yamm module suite provides a client/server architecture for massive site to site data migration/update. This module suits for a lot of use case, site partial synchronization using another's site data, content copy and backup from one site to another site, incremental content copy from preproduction to production server, etc..

It only does Drupal to Drupal site synchronization. Now, it's able to synchronize any content type, node, taxonomy term and vocabularies and users.

This module is designed to be extendable, so any type of data could be synchronized using this module. Every piece of data is abstracted to what we call an Entity (as Drupal 7 does in core, both are not linked, but the funny thing is that both describe the same concept, and somehow are used in the same way).

This module relies heavily on OOP code (PHP 5.2 required).

It was inspired by the Deploy module.

  • Documentation will come soon. Right now there is a full documented configurable sample shipped with the module suite. Advanced help module is needed to read it.
  • Developers, read about Yamm architecture basics
  • See the module page to get information on releases

Embed Privatemsg pages

Last modified: November 5, 2009 - 18:14

This page explains how to embed certain pages of Privatemsg into your website, for example, display unread messages in a block. Or display the form to send new messages in a block.

To understand this, you should know some things about Drupal administration (for example, how to create new blocks) and some php knowledge if you want to further customize the given examples.

Warning: While these examples say that you can put this in a custom block through the User Interface, it is heavily suggested to create a custom module instead to embed PHP code into your site. Also, these examples are untested and might not work properly.

Display list of latest 5 messages in a block

Create a new block with the PHP Filter and put the following code into it:
<?php
global $user;

// Generate the query to load the messages.
// Replace 'inbox' with 'sent' to display sent messages or 'list' to display all messages.
$query = _privatemsg_assemble_query('list', $user, 'inbox');

// Load 5 messages/threads. Replace 5 if you want to display a different amount of messages.
$result = db_query_range($query['query'], 0, 5);
$list = array();
while ($thread = db_fetch_array($result)) {
// Generate a link with the subject as title that points to the view message page.
$list[] = l($thread['subject'], 'messages/view/'. $thread['thread_id']);
}

Syndicate content
 
 

Drupal is a registered trademark of Dries Buytaert.