Benutzeranmeldung

hoelterhof.net

Tobias Hölterhof

Drupal

Eindrücke von der DrupalCon 2010 in Kopenhagen

DrupalCon 2010 in Kopenhagen

Drupal wächst. Zur Zeit werden ca. 1% der Inhalte im Netz von Drupal bereitgestellt. Wenn das Wachstum wie in den vergangenen Jahren weiter geht, könnten Drupal-Webseiten im Jahre 2020 etwa 10% im Web ausmachen, prognostiziert Dries Buytaert. Wichtigste Herausforderung ist dabei die Vergrößerung der Drupal-Community. Wie etwa mit der großen Anzahl an Modulen umgehen? Die Beispiele Firefox und Linux zeigen aber, dass Open Source Projekte durchaus diese Größe erreichen und überschreiten können.

Drupal wird ästhetisch. User-Experience und Design sind wichtige Themen für die Zukunft. Das Erstellen einer Webseite mit Drupal muss zum "Erlebnis" werden: ästhetisch ansprechen und beeindrucken (Dries ist Apple-Fan).

Aber auch ein scheinbar unästhetisches Thema wird hier in ästhetischen Begriffen diskutiert: Drupal und objektorientierte Programmierung. Ich habe darüber schon gebloggt. Rasmus Lerdorf sagte in seiner Keynote, dass PHP selbst keine "beautiful oo language" ist. Spannend wie bei PHP Bewandnis und Nutzen im Vordergrund stehen anstatt "stilvolle" Programmierung. Beispiel hierfür ist etwa ein neues Zeichen, welches in künftigen PHP-Versionen eingeführt wird: der Backslash zum Separieren von Klassenhierarchien. Es ist das einzige einstellige Symbol, das in PHP noch keine Bedeutung hat. Hier findet auch Lerdorf, dass es hässlich aussieht: aber dennoch.

Drupal 7 steht bevor. Im Oktober darf mit der ersten Beta-Version gerechnet werden. Die wohl auffälligste Änderung ist, dass zukünftig neben Node-Typen auch bei Nutzerkonten, bei Kommentaren und bei Katerorien eigene Felder hinzugefügt werden können. Schlüssel dafür ist eine allen diesen Inhalten zugrundeliegende einheitliche Entity- und Field-Engine. Das macht Drupal nochmal um einiges anpassungsfähiger. Eine brennende Frage, die in Sessions immer wieder diskutiert wird, ist, ab wann Drupal 7 endlich in größeren Webseiten eingesetzt werden kann und sollte. Die Empfehlungen sind da aber eher ernüchternd: bei manchen Firmen steht Drupal 7 erst für das vierte Quartal 2011 auf der Agenda.

Drupal as Learning Management System: A Concept for Cloning Groups

Organic groups are an important feature in drupal, especially in educational contexts. Organic Groups can be groups of students learning and collaborating together. Organic Groups can also be complete courses in a program of study. If this courses are taught as distance learning or online learning, they usually contains learning documents and therefore re-usability is an important demand. The possibility of cloning or coping groups with its content is very important to use Drupal as a learning management system.

Regrettably cloning nodes is not an easy task in drupal. Many content types, in particular those providing a functionality, are implemented in modules and depends on special data structures or external resources. Cloning a book or a forum makes less sense without cloning its subpages or contributions.

Nevertheless there are two modules providing an sophisticated framework for cloning content in drupal. Node Clone is the basic module. It can theoretically copy any node type as a single node without its relations to other nodes. Practically it is necessary to test this module with a particular node type and perhaps adapt it. This module does not include attachments or comments. Book Copy is build on Node Copy and offers the possibility to clone entire books. It calls Node Clone for every book page and reconstructs the dependencies afterwards.

For cloning groups with its content it seems as if these two modules are a valuable effort. An other module alike Book Copy is necessary to call Node Clone for a group node and Node Clone resp. Book Copy for every content node and finally reconstruct its relations. Because often learning materials contains downloadable files, including attachments in the clone process would be generally a good cause.

Actually we have written a prototype of the OG Clone module and therefore can attest that this concept works so far. The intension is to create a learning management system based on drupal and to offer online courses with drupal.

Drupal vs. Typo3: objektorientiert oder nicht?

drupal_250x250.gif

Das Content Management-System Drupal wird immer beliebter. Wie aus einem Interview mit Dries Buytaert bei LeMonde.fr hervorgeht, interessiert sich nun Barack Obama für das System. Diese Aussicht sollte überzeugend wirken, dass Drupal ein sicheres und stabiles System ist. Auch Buytaert geht in seinem Interview auf Vorbehalte ein, die ich von Drupal im universitären Kontext kenne. Hinzufügen würde ich noch den Datenschutz.

Letztlich sind es aber konzeptionelle Aspekte, die ein System zunächst auszeichnen und die es interessant machen. Ich hatte vor einiger Zeit schon eine Eigenheit dieses Systems im Vergleich mit Typo 3 herausgestellt. Insbesondere das steigende Interesse lässt nun einen weiteren Aspekt aufkommen, der generell auf die Art und Weise der Programmierung von Webanwendungen eingeht.

Drupal ist im Gegensatz zu Typo3 nicht objektorientiert programmiert. Durch die fehlenden Objektdefinitionen und Vererbungen wirkt Drupal für einige Webentwickler/innen weniger systematisch. PHP ist zwar eine Sprache, in der überwiegend auf Formalitäten verzichtet werden kann, wie etwa das einführende Definieren von Variablentypen. Doch wie nicht nur das Beispiel Typo3 zeigt, sind auch in PHP Objekte möglich. Natürlich kann man argumentieren, dass Drupal durch die modularisierte Programmierung quasi Objekte nachbildet und verwendet, doch werden Objekte dabei bei weitem nicht so explizit und stringent eingesetzt, wie etwa bei Typo3.

Für die Programmierung von Webanwendungen kann der Erfolg von Drupal als Beispiel dafür interpretiert werden, dass sich die Programmierung an der Bewandnis orientiert. Der formale Überbau der objektorientierten Programmierung erscheint hier wenig zweckreich -- obgleich er in anderen Kontexten von großer Bedeutung sein kann. Drupal ist es gelungen, eine einfache Programmierung mit einem erstaunlich hohen Maß an Anwendungsflexibiltät zu verbinden.

Drupal 5: Customize RSS-Feeds with Views

As far as I found out, drupal 5 does not provide an easy way to offer customized rss feeds. The Views RSS modules features a page view as rss feed, but the feed it generates does not include the fields of a view. The feed rather contains the title and a link to the corresponding note for every item. A first attempt to improve the rss page view is made here, but until now no module has been written to implement a new view style plugin. So I took the the code snippet and included it in a drupal 5 module with some improvements.

The new module View List RSS offers the following features:

  • A new and customizable rss page view for the Views module. The rss feed includes all fields defined in the view. The rss item tags are labeled like the label of the corresponding feed. The description-tag of an item can be merged by two or mode fields.
  • Change the default rss feed of the website to a customized feed provided by a rss page view.

Späte Diskussion um Drupal und Typo3

Vor zwei Jahren habe ich einen Blogbeitrag über die Content-Management-Systeme Drupal und Typo3 auf der Webseiten der Mediendidaktik der Uni-Duisburg-Essen geschrieben. Jetzt, zwei Jahre nach dem Veröffentlichen dieses Beitrages, wird dieser Beitrag in der Community diskutiert. Schade nur, dass dieses Feedback nicht vor zwei Jahren kam: vielleicht wäre meine Einreichung zu dem Thema bei der GMW-Tagung dann anders ausgefallen...

Online-Schulung bei www.e-teaching.org

Mein Beitrag: 
Drupal
drupal_250x250.gif

Inhalt:
1. Aspekte der Planung einer Drupal-Webseite
2. Erste Schritte: anmelden, einrichten, Inhalte einstellen
3. Die wichtigsten Module: Content-Construction-Kit, Views etc.
4. Szenarien: Der Einsatz von Drupal an der Hochschule
5. Ausblick und Fragen

Drupal Conference Module

The conference module allows you to organise conferences with drupal 4.7. It implements a mechanism to post papers, to manage reviewers and to assign reviews to papers. A paper is an aritrary node whith an attached file and a review is an arbitrary node assigned to a paper. It also takes care for the access permissions to papers and reviews:

  1. every author can only see his own paper
  2. every reviewer can only see his own reviews but download the pdf-files attached to the papers assigned to him
  3. a manager can see both and create assignments

The conference module does not implement note types for papers and reviews. It is designed to cooperate with the content constriction kit or flexinode (cck is suggested). So you can provide a review questionnaire that suit your needs.

There is one important point in this concept: The pdf-filed assigned to a paper-node must not containt the author names!

About this module

This module is sponsored by the university of Duisburg-Essen (Germany). It has been written to organize the german moodle conference 2007. Licence: GPL.

How to theme the trackback URL in Drupal

Just a little detail: do you like the way how the trackback-module displays the trackback-url on your drupal-site? There's a simple way to change this behavior. It requires some little changes in the module-source, but perhaps that will give you an understanding of the programming of drupal-modules...

At first have a look at the trackback.module file, especially on line 261:

$node->body .= theme('box', t('Trackback URL for this post:'), url('trackback/'. $node->nid, NULL, NULL, TRUE));

this line themes the trackback-url. Unfortunately the theme-function "box" is used to do that. The box-function creates an html-code enclosed by <div class="box">. Because there are many occurrences of this class, and it's not only used to theme the trackback-url, you can't style the trackback-url by this class in your CSS-file. To solve this problem, use a new theme-function like this:

$node->body .= theme('trackbackurl', t('Trackback URL for this post:'), url('trackback/'. $node->nid, NULL, NULL, TRUE));

Now, drupal will call the theme-function "trackbackurl" to theme the url. The next step is to create this function. The best place to do this is right here in the trackback.module. Insert the following code at the end of the file:

function theme_trackbackurl ($title, $content, $region = 'main')
{
$output= '';
$output.= $title.''.$content.'';
$output.= '';
return $output;
};

Now you can style your trackback-urls in your CSS-File. Add something like this:

.trackbackurl {
font-weight: bold;
color: #9e4040;
margin-bottom: 20px;
}

.trackbackurl .url {
font-weight: normal;
font-family: mono, courier;
color: black;
padding-left: 20px;
}

Inhalt abgleichen

(c) 2009 Tobias Hölterhof | CMS Drupal | Layout basiert auf Abac von Artinet