FiltersucheKategorienDurch Klicken wird nach Kategorie gefiltert. Themen
Aktivitäten
|
linksunten.indymedia.org on Drupal 6.9With this article we want to show our friends, comrades, colleagues and families what we did in the five weeks before linksunten.indymedia.org started. We're going to explain what we did to build a Drupal 6.9 website. Besides designing the page and administering 88 (part-) modules, we also completely coded one module, pushed two from an early development state to usable versions and patched six modules, correcting bugs and adding features.
With the NATO-summit and the Convergence-Center coming a lot of things concerning the webpage are changing, and we won't be able to document everything here. But feel free to ask. Just write a mail to our tech-list.
Content: Political Premises | Design | Frontpage composition | Posting content | Media-upload | Displaying content | Moderation of additions and comments | Summary of patched and developed modules | List of activated modules | Additions
From Indymedia linksunten's Mission Statement
Most important for all Indymedia Sites is the concept of Open Publishing, which means that there are no editors and everybody can simply publish content. Every contribution and every addition appears immediately on the site. In the fog of teargas in Seattle 1999 this concept was revolutionary. At that time it anticipated the blogosphere of modern web2.0. But in the past ten years much has changed in that matter. By now it's possible for many people to maintain a webpage or a blog with little means. Indymedia's strength is nowadays not so much a technical but more a conceptual strength. It's a news network of regional, social movements connected with other IMCs (Independent Media Centres) worldwide, empowering the voices from the left and below and relating them to each other.
To implement the indymedia concept in the region, to keep the site usable and to guard it against abuse, we drafted editorial guidelines, in which we state which kinds of contributions we wish, and which kinds we don't. We also state how to deal with all contributions. We decided upon the guidelines without giving much thought to the technical realization. We wanted to decide free of technical restrictions on how we wish Indymedia linksunten to be, and afterwards move on to the implementation.
We intentionally chose Drupal over one of the CMS coded by Indymedia activists. The Indymedia CMSs are only developed by Indymedia activists, while Drupal, with it's huge community, fully taps into the potential of free software. A Drupal system is based upon a core, whose modules take care of basic functionality, and a number of contributed modules that can be installed if needed. Especially the contributed modules are developed by a lot of people with all kind of motivations. Therefore the system grows dynamically and sustainably.
We decided to use a simple design so as not to distract the reader. Instead each single author can decide upon the design of their article.
Still with the Lightbox2-module we build in a little fancy design element. By clicking Lightbox places images from the current page in a gallery above the page, while the page itself fades out. Pictures, which are implemented through HTML or our WYSIWYG-Editor, must be additionally attached with the option rel="lightbox" (for single pictures) or rel="lightbox[node_images][]" (for image galleries) within the link-tag.
On the frontpage we work with a three column design. On all other pages we use a two column design, with blocks for language selection, searching, navigation and categories in the left sidebar. The rest of the page is reserved for the content. All blocks are - thanks to the collapsiblock module - collapsible. Within the category menu the jquerymenu module makes subpoints collapsible. The most important links are placed in the header on every page.
All text contributions are shown immediately on the frontpage. Depending on the sorting through the author the contributions show in the Newswire, the Pressarchive or in the list of upcoming events and are linked through the calender. Good articles will additionaly be added to the middle column. Politically important topics will be exposed as specials on the top. Particularly good articles are also shown in the Kaleidoskop in the left column. In this column there is also a block with links to all Indymedia projects worldwide. We use the block module to manage the display.
The posting area is the most important part of the homepage. Users willing to post content have to decide what kind of contribution they want to post. With most of the contribution types they have to fill out a title, an author and a body field. Required fields are marked as such. To make contributions clearer to readers and to help with sorting contributions it's helpful to fill out more than the required fields. Users can add documents in various formats, more on that topic in the chapter "media upload".
The node module part of the Drupal core serves the title and body field as well as a drop down menu to choose the language of a contribution. To manage categories we use the taxonomy module which is also part of the core. We use the content taxonomy (part of the CCK project) and the taxonomy manager module, which allow a comfortable submission for the input and later on the display of the categories. CCK fields are freely definable content fields for nodes. We also use CCK fields for the author field (CCK text) and the date fields (CCK date) as well as the source information (cck link) for copied press articles.
To facilitate the posting of well designed contributions we installed the "what you see is what you get" TinyMCE HTML editor, which makes it possible to design text similar to word processor programs. Users can also switch off the editor and format text in html. Within the editor authors can also open a popup window for the image assist module to implement images in the text. Those images can either already be on the server or uploaded by the author. Both modules require javascript to be activated.
For self-written content authors also have to choose one of the free licenses provided by the creative commons lite module. We don't accept proprietary content. Unregistered users have to solve a easy math problem provided by the math captcha module to post content or to register. This way we protect the site against commercial spam robots.
To make the design of the posting pages functional and clear we used the hook_form_alter function.
Single images and audio files can be directly published as image or audio nodes respectively. Those nodes can be categorized and a date can be added. Media files can also be published as attachments to text contributions. In this case they inherit the categories and the date from the parent article. All media nodes can be commented on and moderated separately.
The upload process is managed by the upload module, which is part of the Drupal core. Our upload media module then converts attached images and audios into nodes. Afterwards those media nodes are again attached to their parent article using a CCK nodereference field. Images can be displayed with the Lightbox and audios can be listened to through an audio flash player. The first attached image will be displayed as a start image, if there isn't a different image chosen via another cck nodereference field. The media upload module ensures that attached and single uploaded images and audios are treated the same way.
The display of (almost all) content is managed with the views module, which is capable of displaying blocks, pages and feeds for lists of nodes (or comments, users and logs). Within views administrators can define display options, sort criteria, filters, arguments and relationships.
The taxonomy view for example uses the argument "term" for displaying in the category "Paris" only contributions tagged as Paris. Differing from the built-in taxonomy view, we restricted the view to show only text contributions.
The nodequeue module allows moderators to merge contributions to lists that can be sorted manually. We use nodequeues to "feature", "special" or "kaleidoskop" articles. The display of those queues as blocks for the frontpage, pages for the Archive and feeds for exporting is again managed by views.
We use the hidden module to "hide commercial advertising, spam, conspiracy theories and any religious statements as well as double postings. Hidden articles can still be viewed in the trash archive, but can neither be commented nor found by search engines. In order to make these decisions understandable, we will give a reason for every piece of censorship or hiding." (From the editorial guidelines)
To "censor any fascist, racist, nationalist, antisemitic, homophobic and sexist content" we use the flag module. After the censor flag is set, the flag action "unpublish post" is automatically started. In case the flag is withdrawn the reverse action is started. Again using views, we created a list of censored contributions only showing the article type, the title, author and publishing date. This way we ensure a maximum of transparency.
The calender module (also part of the views project) serves as – surprise, surprise – a calender, but also as a list of upcoming events, in our case showing the five next events. We defined the calender to show every event posted for a certain date, but also reports relating to a certain date. This way it's possible to use the calender to easily research the coverage for each day. The calender view uses the data in the "happened at"- respectively event-date-field filled in during the publishing process.
From the editorial guidelines
Additions and comments can be displayed in a threaded view or chronological list via the built-in feature of the comment module, part of the Drupal core. To realize the separation of additions and comments we use the comment moderation module, which is based on the voting API module. The module uses javascript for both the moderation and the display.
We found the module in an early development state and went on developing. It's been coded for the relaunch of dot kde. The way we use the module it allows us to vote on additions. Each user with sufficient rights (in our case the moderators) has one vote. We use the module to categorize additions in on- and offtopic.
For hiding and censoring we use the same technique as for nodes, but had to code the publish action for that. We added features to the comment revision module to keep a transparent track of changes made to additions. We also patched the comment mover module, which enables moderators to move additions.
For not storing any user email addresses we developed the no mail module. To register an account at a Drupal homepage users have to declare by default an email address. The login name and the password are then sent unencrypted to this email address. The no mail module hides the email address input field, creates a fake email address (timestamp@domain.tld) and enables administrators to give a catch-all address to receive all automated mail send out by the system. At the end of each registration only a mail with the content "New account registered" is sent to the catch-all address and the fake address.
All patches and modules coded by us are attached to the german article linksunten.indymedia.org auf Drupal 6.9.
To get the following table we used a PHP-snippet from drupal.org.
|