Skip to topic | Skip to bottom
Home
Search:

Local
Local.ImcDeMirExtrasourcer1.5 - 30 Mar 2005 - 10:34 - SkePtopic end
You are here: Local > ImcGermany > ImcDeTechStuff > ImcDeMirExtrasource

Start of topic | Skip to actions

Änderungen am MIR-Default-System

IMC Germany benutzt bekanntlich das MIR-CMS. Im Laufe der Zeit wurden einige Anpassungen am System vorgenommen. Damit diese nicht "vergessen" werden, sollen sie auf dieser Seite dokumentiert werden.

Grundlagen

Im Normalfall wird das MIR-Grundsystem verwendet, d.h. es werden die aktuellen Quelldateien auf dem Server kompiliert und es steht danach ein funktionsfähiges CMS zur Verfügung. Da dieses Grundsystem aber nicht allen Ansprüchen genügt, beziehungsweise die einzelne Kollektive spezielle Anpassungen vornehmen wollen, bietet MIR mehrere Möglichkeiten entsprechenden Änderungen vorzunehmen.

  • Änderungen am Layout
  • Änderungen einzelner Funktionen

Bevor auf die beiden Möglichkeiten eingegangen wird noch kurz das Grundschema des MIR-Systems

|--mir
|   |--bin
|   |--build
|   |--etc
|   |--source
|   |--templates
|
|--site
|
|--templates
    |--etc
    |   |--bundles
    |   |--extrasource
    |   |--open
    |   |--producer
    |
    |--site
        |--img
        |--includes
        |--script
        |--static
        |--style
mir-Verzeichnis
  • bin - kompilierte Dateien
  • build - kompilierte Dateien
  • etc - hier befindet sich unter anderem die Konfigurationsdatei
  • source - MIR-Quelldateien
  • templates - Templates des Admincenter
site-Verzeichnis
  • Hier werden alle HTML-Dateien erzeugt und die Mediadaten gespeichert. Dieses Verzeichnis ist das was der User sieht.
templates-Verzeichnis
  • etc
    • bundles - Sprachdateien
    • extrasource - Zusatzfiles
    • open - Posting-Templates
    • producer - Producer-Templates
  • site
    • img - Bilder
    • includes - hier befinden sich die include-Dateien der Templates
    • script - Javascript-Files
    • static - statische HTML-Seiten
    • style - css-files

Layout

Diese Möglichkeit wird quasi von allen Kollektiven wahrgenommen. Realisierbar ist dies durch neue Templates bzw. css-Styles. Die von uns benutzten Templates befinden sich im Verzeichnis /templates und werden per "ant" (Kompilierbefehl) ins aktive MIR geschoben. Danach liegen sie im Verzeichnis /mir/bin/mir/WEB-INF.

Funktionen

Um einzelne Funktionen von MIR zu ändern bzw. um neue Dinge zu integrieren, nutzt man das Prinzip der Vererbung oder Überschreibung von Methoden (siehe: Java ist auch eine Insel - Kapitel 6). Dazu legt man die neuen Klassen und Methoden im Verzeichnis templates/etc/extrasource/org/indymedia/de ab. Damit MIR aber auch weiß wie und wo neue, eigene Klassen benutzt werden, muss eine Art Initialklasse festgelegt werden. Dies geschieht im Konfigurationsfile von mir unter mir/etc/config.properties:

Mir.Localizer=org.indymedia.de.DeLocalizer

Defaultmäßig ist die Datei mir/source/mircoders/localizer/MirLocalizer.java gesetzt. Durch die Angabe im Konfigurationsfile wird nun aber Mir.Localizer auf templates/etc/extrasource/org/indymedia/de/DeLocalizer.java umgebogen.

Im aktuellen Fall (kann sich im Laufe der Zeit ändern) werden, ausgehend von dieser Datei, festgeschrieben das für das adminInterface und openposting angepasste eigene Klassen benutzt werden. Und zwar wird auf DeAdminLocalizer sowie DeOpenPostingLocalizer gezeigt, die wiederum Defaultklassen (des MIR-Basissystems) überschreiben bzw. komplett neue Funktionen definieren. So verweist z.B. DeOpenPostingLocalizer auf die Originalklasse MirBasicCommentPostingHandler, falls wir es mit Kommentaren zu tun haben. Ansonsten wird auf die neue Klasse DeArticlePostingHandler verwiesen, welche wiederum Methoden aus der Originalklasse vererbt bekommt und sie teilweise überschreibt, sowie neue Funktionen bereitstellt.

Folgende Dateien befinden sich momentan in templates/etc/extrasource/org/indymedia/de und stellen erweiterte Funktionen oder Änderungen am Defaultsystem bereit:

  • DeAdminLocalizer.java
  • DeArticlePostingHandler.java
  • DeConstants.java
  • DeLocalizer.java
  • DeOpenPostingLocalizer.java

Durch dieses System, nimmt man keine Änderungen am Originalcode vor! Stattdessen werden einfach nur neue Klassen bereitgestellt, welche die Standardklassen überschreiben oder erweitern.

Details (last updated: 9.März '05)

DeLocalizer.java

  • Initialklasse
  • erbt von Klasse MirBasicLocalizer
  • überschreibt Klasse MirAdminInterfaceLocalizer, zuständig für adminInterface, mit Klasse DeAdminLocalizer()
  • überschreibt Klasse MirOpenPostingLocalizer, zuständig für openposting, mit Klasse DeOpenPostingLocalizer()

DeAdminLocalizer.java

  • erbt von Klasse MirBasicAdminInterfaceLocalizer
  • Superklasse
  • führt einige zusätzliche Funktionsaufrufe aus

DeConstants.java

  • Interface
  • setzt 4 Variablen: COMMENT_DEFAULT (4), COMMENT_NORMAL (1), COMMENT_TRASH (2), COMMENT_HIDE (3)

DeOpenPostingLocalizer.java

  • erbt von Klasse MirBasicOpenPostingLocalizer
  • Superklasse
  • verweist mit Ausnahme von Sessiontyp "comment" auf die neue Klasse DeArticlePostingHandler

DeArticlePostingHandler.java

  • erbt von MirBasicArticlePostingHandler
  • überschreibt folgende Methoden:
    • validate()
    • initializeSession()
    • initializeResponseData() - (Previewfunktion)
    • initializeAttachmentResponseData() - (Previewfunktion)
  • definiert 2 neue Methoden:
    • removeHTML() - (Previewfunktion)
    • text2html() - (Previewfunktion)

to be continued...

Änderungen & TODO's

Ausgehend vom Mir-Tracker von imc-germany auf codecoop sollen hier alle Änderungen an Mir Funktionen protokolliert werden.

TODO:

  • Thumbnails
  • Preview
  • Medien im Artikel

DONE:

  • Volltext-RSS
  • ...

to top

You are here: Local > ImcGermany > ImcDeTechStuff > ImcDeMirExtrasource

to top

Copyright © 1999-2008 by the contributing authors.
All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding this tool? Send feedback (in English, Francais, Deutsch or Dutch).