Stellen Sie Ihre Fragen hier (unten) und beantworten Sie die von anderen.

Contents

  1. MoinMoin Fragen
    1. Deutsche Fragen?
    2. Nochmal Wohin mit der Datei German.zip?
    3. Wohin mit der Datei German.zip?
    4. Suchen und Ersetzen
    5. Warum müssen im WikiText h1,h2,h3,...-Tag in Spalte 1 beginnen?
    6. Aufruf von packages.py via Kommandozeile
    7. superuser
    8. 500er / (13)Permission denied
    9. Plesk, Python2.4.2 & MoinMoin?
    10. Select User ?
    11. Sind Kommentare/Diskussionsseiten wie bei Wikipedia möglich ?
    12. Verschiedene Sprachen auf einer Seite ?
    13. Kein Anmelden möglich in Desktop-Version
    14. Wie bekomme ich eine Makro-Instanz?
    15. Frage zum Prozess der Seitengenerierung an sich
    16. Macht ein Umstieg auf mod-python Sinn?
    17. Wiki exportieren?
    18. Cache einer externen Datei löschen
    19. Suchfunktion erst nach Neustart
    20. Ausgabe als PDF
    21. MoinMoin mit FastCGI
    22. What links here?
    23. Unterschied zwischen der Desktop Edition und Standalone Version
    24. Darstellung der Inhalte
    25. Kein Wiki-GUI?
    26. Wie können nur angemeldete User im MoinMoinWiki Seiten editieren usw.?
    27. Komisches aussehen nach Installation
    28. MoinDump: Filter
    29. Eingeloggten User abfragen
    30. Daten des Standalone-Wikis im Desktop-Wiki ?
    31. Macro
    32. Zu Start einer Action eine Nachricht anzeigen, und am Ende
    33. Automatisch Wikiseiten generieren
    34. Rückgabe von Macro als Link
    35. Dynamisches Template
    36. Action nicht in "Weitere Aktionen:" Leiste - Wie?
    37. Installation auf IIS
    38. RecentChanges nur auf Englisch?
    39. Bilder anzeigen
    40. User-Anmeldung in Wikifarm
    41. Subscribe to
    42. Frage zu Makro
    43. Layout-Änderung
    44. Template über Platzhalter mit Inhalten füllen?
  2. Tutorial zum Makro-Schreiben
    1. TableSorter mit jQuery
      1. Hintergrundinformationen
      2. Realisierungsidee
      3. Arbeitspakete mit Fragen
    2. Gelöschten Dateianhang wiederherstellen
    3. Synchronisation
    4. Exceltabelle importieren
    5. Frage zu iframes
    6. Frage zu Migration 1.7.2. auf ?? wegen Python 2.7
    7. Seiten anzeigen, die auf die ausgewählte Seite verlinken?
    8. Hochladen von Anhängen?
    9. Eine Page mit Knopfdruck kategorisieren
    10. Umbenennen einer Action?

MoinMoin Fragen


Deutsche Fragen?

Kann man hier auf deutsch Fragen stellen und Antworten bekommen?


Nochmal Wohin mit der Datei German.zip?

Hallo,

ich hab mir ein MoinMoin-Wiki unter Suse 9.2 installiert. Leider ist es größtenteils in Englisch. Man kann sich eine Datei Deutsch.zip aus dem Wiki selbst herunterladen, aber wo die Dateien der ZIP-Datei hinkopiert werden müssen das steht nicht dabei. Es muß aber irgendwie gehen denn im Internet gibt es viele komplett deutsche MoinMoin-Wikis.

Die Seite SystemPagesSetup hilft nicht wirklich.

Im Voraus vielen Dank für Eure Antworten

Grüße

Jörg

Hi Jörg,

wie hast Du installiert? Ist es die DesktopEdition? Dann musst Du nur der Aufforderung If you want to add help pages in your favorite language, see SystemPagesSetup. von der FrontPage aus folgen. Dort wählst Du dann installieren der deutschen Sprache. Danach meldest Du Dich an und wählst in Preferences die Sprache aus. Ist es eine andere Installation musst Du nur unter Deinen Preferences deutsch als Sprache auswählen. Ein Moin Wiki kann gleichzeitig mehrere Sprachen benutzen. ReimarBauer/Photo/img.png -- ReimarBauer 2007-04-25 13:57:56

Hi Reimar,

meine Startseite ist HelpOnLanguages. Der String "If you want to add" existiert nicht. Ich hab moin-1.5.7 . Es steht folgendes drin:

First go to SystemPagesSetup and unpack the system and help page packages for any language you want to support. Hab ich gemacht: German.zip

weiter:

# choose this, if most wiki content is in a single language page_front_page = u"MyStartingPage" --> er findet die Seite nicht

Ja das ist halt ein Beispiel, leg einfach eine Seite an und trag den Namen da ein, niemand kann wissen was das Thema Deines wikis sein soll. Die Datei die Du editieren musst liegt in Deiner wiki instanz, im Beispiel ist das mywiki und die cconfig Datei heist wikiconfig.py. Einfach ausfüllen.

weiter: If you go the single language way, you can copy some of the content of FrontPage to the page you choose as your page_front_page. Alternatively, if you have the rename action turned on in your wiki, you can rename your FrontPage to another name, then assign that name (for example, Welcome) to your 'page_front_page' variable. --> ich muß also umständlich alles kopieren aber von wo nach wo ?

Nein nein, wie so Beschreibungen halt sind, man möchte mehrere Hilfen geben. Die Idee dahinter ist das es Dir überlassen ist z.B.: page_front_page = 'FrontPage' zu definieren und den Inhalt der Seite austauscht oder eben eine andere Seite anlegst und Teile davon textuell übernimmst. Man schreibt ja auf Seine FrontPage für was wiki gut ist und was man damit machen will

In der wikiconfig steht noch folgendes: navi_bar = [

]

Die Variablen bleiben in den Programmen immer in english, die Darstellung ist in einer anderen Sprache, das geht auch gar nicht anders

Ich hab unter Preferences deutsch ausgewählt und doch bleibt alles englisch. Irgendwie funktioniert das nicht.

Du hast auch gespeichert nehme ich mal an, dann musst Du danach auch eine neue Seite laden. Danach sind alle Steuerelemente in Deutsch. Du müsstest dann eigentlich sowas wie Aktuelle Änderungen anstelle Recent Changes sehen. Ich glaube fast das Du nicht auf eine andere Seite gewechselt bist. Klick einfach mal auf das logo Deines wikis. Man kann sich jetzt darüber streiten ob man das automatisiert haben will. Aber wenn Du einmal eine Sprache ausgewählt hast, die Du überhaupt nicht verstehst, würdst Du Dir auch wünschen eine zweite Chance zu bekommen. Du kannst das auch gerne hier im wiki mal probieren.

Gibt es irgendwo im Netz eine narrensichere deutschsprachige Anleitung ?

Grüße

Jörg

Hi Reimar,

das mit dem Klicken auf das Logo funktioniert im Internet wunderbar, nur auf meinem lokalen Wiki funktioniert es nicht.

Ich hab eingetragen: language_default = 'de' und unter Einstellungen: deutsch

die Steuerelemente bleiben jedoch englisch,ist das Wiki eventuell falsch installiert ich hab eine Standardinstallation durchgeführt. Die Hilfe auf Frontpage (Suchwort: language german) ist im Übrigen genauso unbrauchbar wie die lokale Wiki-Hilfe.

Grüße

Jörg

Hmm, merkwürdig. Beschreib vielleicht mal was Du mit Standardinstallation meinst. Verwendest Du cgi? Wie hast Du deine wiki instance eingerichtet? Sind da vielleicht mehrere mit gleichem Namen? Auf was steht Alias und ScriptAlias, passt das zusammen. Einfacher gehts mit Rückantwort im irc, da man da schneller Fragen und Antworten kann. -- ReimarBauer 2007-04-26 21:49:06

Hi Reimar,
ich würde das mit dem IRC gerne probieren aber ich weiß
nicht wie das geht.
Hab das Wiki folgendermaßen eingerichtet:
# python setup.py install --record=install.log
also ohne PREFIX=/usr/local/share wie es mal irgendwo beschrieben war
das brachte nämlich nur einen Fehler 500.
Danach
# vi createinstance.sh
USER=wwwrun
GROUP=www
# createinstance.sh /usr/share/moin/WBW_Wiki
In der httpd.conf steht folgendes:
Alias /wiki/ "/usr/share/moin/htdocs/"
ScriptAlias /WBW_Wiki "/usr/share/moin/server/moin.cgi"
moin.cgi:
# Path of the directory where wikiconfig.py is located.
# YOU NEED TO CHANGE THIS TO MATCH YOUR SETUP.
sys.path.insert(0, '/usr/share/moin/WBW_Wiki')
Gruß
Jörg

Hi Jörg,

SuSE unterstützt soviel ich weiß keine shell für den user wwwrun. Überprüf mal bitte ob alle files wirklich für wwwrun lesbar sind vor allem die i18n files. Evtl. gehören alle sprach files root und sind von wwwrun nicht lesbar. (Ich nehme an das Du nicht wwwrun warst als Du installiert hast) irc ist ziemlich leicht. Du brauchst einen client, z.B. gaim, konversation oder irssi oder ... Dann musst Du dir einen usernamen geben und dann kannst Du schon loslegen, z.B. irc://chat.freenode.net/moin -- ReimarBauer 2007-05-01 21:00:13

Du solltest auch besser moin.cgi unter Deiner instanz verwenden, ansonsten kannst Du nur genau ein wiki auf der Maschine betreiben. Kopier es dahin

ScriptAlias /WBW_Wiki "/usr/share/moin/WBW_Wiki/moin.cgi"
moin.cgi muss editiert werden
sys.path.insert(0, '/usr/share/moin/WBW_Wiki/')

Wohin mit der Datei German.zip?

Ich habe gerade die MoinMoin Version 1.5.2 installiert und wurde beim ersten Aufruf des Wiki aufgefordert, die Datei German.zip für die Sprachunterstützung zu laden.

Aber wohin soll die Datei entpackt werden?

Ich nehme mal an Du meinst die DesktopEdition von Moin. Lies mal genau was auf der Seite nach dem Start des wiki steht. Dort wird zum Installieren der Sprachunterstützungen ein Wechsel zur Seite SystemPagesSetup empfohlen. Bei mir steht ziemlich weit oben If you want to add help pages in your favorite language, see SystemPagesSetup. -- ReimarBauer 2006-03-25 17:53:37

Suchen und Ersetzen

Warum müssen im WikiText h1,h2,h3,...-Tag in Spalte 1 beginnen?

Aufruf von packages.py via Kommandozeile

superuser

500er / (13)Permission denied

Mit Sicherheit eine dumme Frage aber trotz "managed" Server ist man manchmal aufgeschmissen. Nach der Installation folgendes Problem:

[error] [client xxx] (13)Permission denied: exec of '/usr/local/share/moin/mywiki/cgi-bin/moin.cgi' failed [error] [client xxx] Premature end of script headers: moin.cgi

Installationsanleitung wurde (hoffentlich) 1:1 befolgt, die Frage ist jetzt nur wie ich das Ding zum laufen bringe. Webserver benötigt wohl entsprechende Rechte für die Datei, die Frage wäre nur wie? ,)

Besitzer:webadmin Gruppe:webadmin, ich hatte es vorher mit apache.apache probier aber das funktionierte leider auch nicht

egrep "^User|^Group" /etc/httpd/conf/httpd.conf User apache Group apache

mit apache.apache wurde auch installiert, aber auch hier gleiche Fehlermeldung

egrep "^User|^Group" /etc/apache2/apache2.conf No such file or directory (Red Hat Linux)

  1. Wie wurde installiert?

  2. python setup.py --quiet install --record=install.log und dann die Liste entsprechend abgearbeitet
  3. Was ergibt ls -l /usr/local/share/moin/mywiki/cgi-bin/moin.cgi?

  4. -rwxrwxr-x 1 apache apache 1157 Feb 12 00:32 /usr/local/share/moin/mywiki/cgi-bin/moin.cgi
  5. Was steht in der Datei?

/!\ die erste zeile ist falsch. #!/usr/local/bin/python2.4 ist vielleicht richtig.

Manchmal sieht man den Wald vor lauter Bäumen nicht, genau das war der Fehler... Besten Dank, es läuft nun einwandfrei!

Plesk, Python2.4.2 & MoinMoin?

Hi, ich habe ein Problem MoinMoin auf einer Plesk-Domain unter zu bringen. Installiert wurde Python 2.4.2 nach Anleitung hier und direkt über die eine IP (x.x.x.x/mywiki/) funktioniert auch alles. Problem gibt es beim Aufruf über www.domain.tld/mywiki/ (die eine andere IP aus dem Pool benutzt). Hier wird die moin.cgi auch gefunden, allerdings endet es in einem 500er Fehler. (Premature end of script headers: moin.cgi)

Select User ?

Wieso werden beim Klick auf "Anmelden" alle User in einem Dropdown Menü (Select User) angezeigt und können sich beliebig unter allen Namen ohne Passworteingabe anmelden?

wiki0.jpg

Sind Kommentare/Diskussionsseiten wie bei Wikipedia möglich ?

Ich möchte mit einer größeren Gruppe (ca. 30 Menschen) einen Internetauftritt für ein Projekt aufbauen.

Vor allem wegen dem Verzicht auf eine Datenbank (Einarbeitungsaufwand) und dem Wysiwyg Editor würde ich sehr gerne MoinMoin einsetzen.

Ich benötige aber dringend zu den Seiten jeweils eine Seite mit Kommentaren und Diskussionen wie bei Wikipedia üblich. Denn die Diskussionen innerhalb der Gruppe sollen nicht dominant in der Aussendarstellung sichtbar sein, auf Wunsch aber transparent sein.

Kann ich das irgendwie realisieren ohne einzeln jede Seite mit einer Diskussionsseite verlinken zu müssen ? Wünschenswert wäre auch mit einem standardisierten Button (wie z.B. Edit) auf die Diskussionsseite zu kommen. ist das realisierbar ?

Es wäre schade, wenn wir nur deshalb MoinMoin nicht nutzen könnten, denn ansonsten gefällt mir dieses System von allen in der wikimatrix http://www.wikimatrix.org genannten bei weitem am besten.

Verschiedene Sprachen auf einer Seite ?

Kann ich eine so gestalten, das der Betrachter je nach Browsersprache etwas anderes sieht? Ich denke theoretisch wäre das ja denkbar, wenn man mit Includes arbeitet und die dann entweder !SeitenName/de_DE oder !SeitenName/en_EN einbinden. Hat jemand so was schon mal gemacht. Bei fedoraproject.org machen sie das auch irgendwie aber mit "hässlichen" URLs. Ich sehe zwar wie das da ungefähr funktioniert, aber habe das so nicht richtig beschrieben gefunden. Bei MoinMoin-Systemseiten selbst wird ja via .po-Dateien übersetzt. Finde ich aber auch ein wenig seltsam, das es bei MoinMoin zwei Möglichkeiten gibt: 1.) systemseitig mit .PO und 2.) die Dictionaries. Ich möchte auch gerne die Links umbenennen - aber wenn ich a mit [[GetVal()]] arbeite, werden Wikinamen plötzlich nicht mehr als Links dargestellt. :(

Kein Anmelden möglich in Desktop-Version

Hallo ich habe die Desktop-Version auf meinem Win2000 Rechner installiert. das Wiki läuft, ich kann User anlegen, aber diese nicht anmelden. Meldung vom MoinMoin ist falsches Passwort. Hat jemand eine Erklärung?

Wie bekomme ich eine Makro-Instanz?

Hallo. Ich habe mittels eines Makros eine Tabelle in eine Wiki-Seite integriert. Die Tabelle kann man mit einem Button verstecken, das Problem dabei ist aber, dass dann alle Tabellen auf der Wiki-Seite versteckt werden. Nun bräuchte ich die Instanz des jeweiligen Makro-Aufrufs. Gibt es eine solche Funktion, die mir einen String als Instanz zurückgibt´, wenn ja wie lautet sie? Vielen Dank

Suchst Du nach sowas macro.execute?

Frage zum Prozess der Seitengenerierung an sich

MoinMoin selbst nuppelt, das mit den Themes hab ich auch schon hinbekommen, ich versuche aber jetzt gerade ein eigenes Theme anzupassen. Als Basis Theme verwende ich MentalWealth - das Theme kommt mit mehreren Stylesheets daher:

$> ls /usr/local/share/moin/htdocs/mentalwealth/css
base.css    print.css       screen.css     skin-orange.css  skin-red.css
common.css  projection.css  skin-blue.css  skin-purple.css

Laut Firefox wird skin-blue.css verwendet - ich hab aber keine Ahnung woher der Eintrag stammt - mentalwealth.py enthält keine Angaben welche Stylesheets eingebunden werden (sollen).

Danke im Voraus Armin Voetter

Wenn Du nach skin grep 'st findest Du den Grund, es wird in screen.css eingeladen. Du kannst dort dann auch ein anderes auswählen.

~/mentalwealth/css > grep skin *
screen.css:     uncomment the skin stylesheet you wish to use
screen.css:@import url(skin-blue.css);
screen.css:/* @import url(skin-orange.css); */
screen.css:/* @import url(skin-purple.css); */
screen.css:/* @import url(skin-red.css); */

-- ReimarBauer 2006-10-11 17:54:00

Obzwar es bis Dato auf dieser Seite an Danksagungen mangelt - nur eine Zeile: Danke! :) Armin Voetter

Macht ein Umstieg auf mod-python Sinn?

Tag zusammen. Nutze MM schon einige Zeit problemlos (mit Python5) und bin eigentlich voll zufrieden. Nur die Serverlast hat sich in letzter Zeit doch arg erhöht. Gibt es mit mod-python da signifikante Performanceunterschiede oder sind die generell eher gering? Vielleicht hat ja mal jemand das so schon umgestellt und kann evtl. von üblichen Problemen berichten?

Wiki exportieren?

Hallo, ich würde gerne das vollständige Wiki einem User zum Download anbieten, da es bei uns quasi als Bedienungsanleitung fungiert. Nach ein bischen stöbern war das wohl mal über die DocBook-Funktion möglich. Allerdings führt ?action=BuildBook nur zu einer "Unknown action BuildBook" ausgabe. Wird das eventuell nochmal gefixt oder gibts es vielleicht andere Wege das zu exportieren?

Cache einer externen Datei löschen

Header/Footer eingebunden über: page_header1 = open(...) etc geht perfekt, nur habe ich da eine Änderung vorgenommen und die Ausgabe scheint über Tage gecached zu werden. Im Dropdown-Menue den Cache zu löschen hilft leider nicht. Wo müßte ich suchen? Danke!

Suchfunktion erst nach Neustart

Hallo, die Suchfunktion unserer Desktop-Edition funktioniert für neue Seiten erst nach einem Neustart. Erst dann tauchen die Wörter in der Ergebnisliste auf? Auch neue User funktionieren erst nach einem Neustart? Woran könnte dies liegen?

Die Platte ist FAT32 auf einem Win2000-Rechner, wenn dies gemeint ist?

Zur weiteren Erklärung:

Ich greife über LAN auf den Rechner zu. Dort trifft das beschriebene Problem auf! Umgedreht funktioniert es. Ich starte Moinmoin auf meinem lokalen Rechner und greife von der "Server"-Maschine zu. Problemlos! Mein Rechner hier ist auch Win2000 mit NTFS. Werden Admin-Rechte auf dem "anbietenden" Rechner benötigt? Diese habe ich lokal, der "Server" läuft ohne Adminrechte...!

Auf NTFS läuft es nun. Habe dies doch noch gefunden!

LoginAfterAccountCreationFailsOnMoinDesktop

FAT32 geht also nicht oder habe ich dies falsch verstanden?

Ausgabe als PDF

Frage

Wie kann ich in der Dekstop-Edition die DocBook-Funktion installieren? Gäbe es eventuelle eine einfachere Möglichkeit alles in ein pdf zu exportieren? Danke

Antwort

Du musst die Action CreatePdfDocument installieren (ActionMarket/PdfAction). PDFIcon und PDFControll wären optional. Zusätzlich wird aber noch die Software HTMLDOC benötigt. Natürlich kannst Du die Printansicht einfach auch auf einen PDF Drucker senden :-) .

MoinMoin mit FastCGI

Hallo, ich hatte bisher MoinMoin mit Fastcgi genutzt, PHP lief dabei normal mit mod_php. Auf dem neuen Server läuft nun php ebenfalls über Fastcgi und da weiß ich gerade nicht wie dafür die config aussehen muss. Kann ich dafür ebenfalls diese config nehmen oder wie lässt man beides parallel laufen?

Hallo, Ich möchte eine Funktion im Stil von "What links here?", die es in anderen Wikis z. T. gibt. Ich möchte auf einer bestimmten Seite (mit Hilfe eines Macros) eine Liste ausgeben, welche alle Seiten auflistet, die auf diese Seite verweisen. Dasselbe möchte ich auch für Anchors tun. Ich möchte für einen bestimmten Anchor eine Liste ausgeben von Seiten bzw. Textstellen, die auf diesen Anchor verweisen. Kann man das mit MoinMoin tun? Vielen Dank für Eure Hilfe Samuel 2007-08-10 17:10

Hallo Samuel, das sollte mit FullSearch gehen, z.B. verwende ich auf meiner Homepage [[FullSearchCached(title:ReimarBauer/)]] um alle Unterseiten meiner Seite aufzulisten. -- ReimarBauer 2007-08-17 01:05:50


Unterschied zwischen der Desktop Edition und Standalone Version

Hallo,

gibt es einen Unterschied zwischen der Standalone- und der Desktop-Edition-Version? Und wenn ja: ist die Performance der Standalone-Version besser? - Danke für jede Antwort!

Darstellung der Inhalte

Bekomme ich mit MoinMoin einen Auftritt wie bei Pages heute üblich (also mit unterschiedlichen Frames) hin. Ich kann es nicht über Tabellen lösen, da innerhalb einer Tabelle keine Aufzählungen möglich sind. Trotzdem finde ich, dass bei der normalen Listenstruktur rechts zu viel Platz verloren geht!


Kein Wiki-GUI?

Guten Tag, ich habe das wiki nach Anleitung installiert (Linux, Apache). Leider ist dann nur eine Text-Version verfügbar. Muss ich das GUI extra aktivieren? Die Datei modern.py habe ich testweise in data/plugin/theme kopiert, auch das brachte keine Lösung. Kann jemand helfen? Danke


Wie können nur angemeldete User im MoinMoinWiki Seiten editieren usw.?

Hallo zusammen, das Wiki läuft soweit sehr gut und macht kaum Probleme. Jedoch wäre es sehr angenehm, wenn nur angemeldete User eben Seiten bearbeiten können. Gibt es einen Weg dies einzustellen in der wikiconfig.py oder nur über die ACLs?

Wäre sehr dankbar über eine Hilfe dazu, hab leider noch nichts weiter gefunden bei meiner Suche.

Besten Gruß Karl

Hi, das geht über ACLs. In der wikiconfig.py kann für diesen Fall z.B.: acl_rights_default="Known:read,write,delete' gesetzt werden. Known sind die angemeldete User. -- ReimarBauer 2008-08-25 21:56:33

Ah danke dir, das ging fix.

Leider bekomm ich nach Eintrag deiner Zeile acl_rights_default="Known:read,write,delete' in der wikiconfig, die dann wie folgt aussieht:

# Security ----------------------------------------------------------

    # This is checked by some rather critical and potentially harmful actions,
    # like despam or PackageInstaller action:
    superuser = [u"UUU", u"XXY", u"XXZ", u"XXX", ]

    # IMPORTANT: grant yourself admin rights! replace YourName with
    # your user name. See HelpOnAccessControlLists for more help.
    # All acl_rights_xxx options must use unicode [Unicode]

    acl_rights_before = u"XXX,XXY,XXZ,XXR:read,write,delete,revert,admin -All:delete,revert,admin"

    acl_rights_defaults="known:read,write,delete"

diese Fehlermeldung:

raceback (most recent call last):
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/request.py", line 1441, in __init__
    RequestBase.__init__(self, properties)
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/request.py", line 156, in __init__
    self._load_multi_cfg()
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/request.py", line 315, in _load_multi_cfg
    self.cfg = multiconfig.getConfig(self.url)
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/multiconfig.py", line 162, in getConfig
    config = _makeConfig(configName)
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/multiconfig.py", line 97, in _makeConfig
    module, mtime = _importConfigModule(name)
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/multiconfig.py", line 44, in _importConfigModule
    raise error.ConfigurationError(msg)
ConfigurationError: IndentationError: unexpected indent (wikiconfig.py, line 100)

The configuration files are python modules. Therefore, whitespace is
important. Make sure that you use only spaces, no tabs are allowed here!
You have to use four spaces at the beginning of the line mostly.

Traceback (most recent call last):
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/multiconfig.py", line 31, in _importConfigModule
    module = __import__(name, globals(), {})
  File "/usr/local/share/moin/config/wikiconfig.py", line 100
    acl_rights_default="Known:read,write,delete"
   ^
IndentationError: unexpected indent

Additionally cgitb raised this exception:
Traceback (most recent call last):
  File "/usr/local/lib/python2.5/site-packages/MoinMoin/failure.py", line 143, in handle
    display=request.cfg.traceback_show,
AttributeError: 'RequestCGI' object has no attribute 'cfg'

Wo ist der Fehler? Hab das Gefühl das es nur an der Syntax meinerseits in der wikiconfig.py liegt?

gruß, Karl

Der Fehler ist dort beschrieben: Auf keinem Fall einen Tabulator nehmen. Eingerückt wird mit der Leertaste. 4 Leerzeichen sind ein indenting level. Ein Tab entspricht immer zwei indenting level und Tab sollte man generell nach PEP8 nicht benutzen. Und es ist Known nicht known. ReimarBauer/Photo/img.png -- ReimarBauer 2008-08-26 10:53:12

ConfigurationError: IndentationError: unexpected indent (wikiconfig.py, line 100)

Komisches aussehen nach Installation

Hallo,

Ich habe eben mein wiki installiert, jedoch fehlen dort jegliche Grafiken, sowie die Formatierung der Seite sieht völlig anders aus, als die normalen MoinMoin Wikis. Wodran könnte das liegen? Es fehlt quasi jede Formatierung,

gruß

Hi sag bitte immer die Version der Software die installiert wurde. Ich nehme an das die css files nicht gefunden/gelesen werden. Wenn man in den source der html Seiten im browser schaut, sollte dort z.B. so was stehen /moin_static182/modernized/css/common.css. Wenn die Datei nicht ueber den alias moin_static182 erreichbar ist, wird der alias in der webserverconfig fehlen, oder die Zugriffsrechte sind falsch -- ReimarBauer 2009-04-08 08:56:15

Im Quelltext steht "/moin_static171/modern/css/common.css" , also die Version 1.71. Ich hab mal den ordner htdocs auf www-data/www-data gelegt, wo muss denn moin_static171 sein?ist das nen link auf den htdocs-ordner?

Ich hab jetzt mal in /usr/share/moin/mywiki/ einen symbolischen link (moin_static171) auf /usr/share/moin/htdocs gelegt - geht leider trotzdem nicht - wie kann ich das Problem denn beheben?

Welchen Webserver? Ich nehm mal an das da auch eine ScriptAlias Zeile eingetragen wurde. In der gleichen Datei muss ne Alias Definition gemacht werden. evtl ist es auch einfacher auf #moin chat.freenode.net das zu besprechen. Die aktuelle moin Version ist eigentlich 1.8.2. Wenn das 1.7.1 von einer Distribution ist, dann gibt es dort auch eine Beschreibung was man machen soll. Hin und wieder überarbeiten die distro manager unsere Vorschläge/Vorgaben und meine Erklärungen und unsere Installationsanleitungen passen dann nicht so richtig.

Leider bin ich hier gerade auf der Arbeit (Pratikum), daher ist kein irc möglich.

Ich nutze den Apache 2.2 - wo muss ich denn dein Eintrag in der moin.cgi machen? Ich habe diese Anleitung zur Installation genutzt: https://wiki.ubuntu.com/HelpOnInstallingMoinMoin

Allerdings, steht da nicht wirklich was "spezielles"

Ok, das Problem hat sich erledigt, das Problem war, das ich in der /etc/apache2/httpd.conf keinen Alias hatte..

MoinDump: Filter

Hallo,

Ich beziehe mich auf folgenden Artikel: http://moinmo.in/MoinDump

Ich arbeite mit Version 1.71 - wie kann ich bei einem Dump einen Filter setzen? Ich will das folgende Seiten NICHT mit exportiert werden: Wiki* Help* HilfeZu*

Wie kann ich den page-parameter entsprechend gestalten?

Ausprobiert habe ich schon einiges, alles aufeinmal mit nem ! zu verneinen, dann alles einzeln angesprochen..

Wie sieht der richtig Weg aus? Danke schonmal

Eingeloggten User abfragen

Gibt es eine Möglichkeit den gerade eingeloggten User abzufragen? Zwecks eines autoamtischen dumps?

Ja. Eine deutschsprachige Anleitung zur API mit Beispielen (noch nicht vollstaendig). Das sollte mit einem event plugin möglich sein, ähnlich dem emailnotify. ReimarBauer/Photo/img.png -- ReimarBauer 2009-04-09 19:24:49

Daten des Standalone-Wikis im Desktop-Wiki ?

Ist es möglich die Daten des Standalone-Wikis in das Desktop-Wiki zu importieren?

Macro

Hallo,

Ich habe ein python-script:

   1 #!/usr/bin/python
   2 import os
   3 
   4 def macro_Backup(macro)
   5         os.system("sh /home/user/script.sh")
   6         return macro.formatter.text("")

Allerdings will ich dieses als macro einbinden, damit das Script auf knopfdruck ein Backup ausführt.

Wieso funktioniert das so nicht?

gruß

Da ist ein Syntaxfehler, neben den PEP8 Fehlern. Es fehlt ein :. Evtl. ist auch besser dem script.sh ein execute Recht zu geben. Das macro ruft man dann auch per <<Backup>> auf. Es wird dann jedesmal ausgeführt, wenn jemand die Seite neu lädt. Vielleicht ist ne action besser geeignet, siehe MoinAPI/Beispiele.

Muss ich in einen solchen Macro auch den Interpreter /usr/bin/Python in der ersten Zeile angeben? Komisch, hab in /usr/share/moin/data/plugin/action meine Backup.py liegen, sie wird dort aber nicht erkannt?

Ich hab z.z. folgenden Code:

   1 # -*- coding: iso-8859-1 -*-
   2 """
   3         Automatic Backup Creater (Action)
   4 """
   5 
   6 import os
   7 
   8 os.system("sh /home/user/script.sh")

Das ist keine action, schauen Sie mal die action Beipiele an. Oder die action edit in MoinMoin/action.

in MoinMoin/action? Im Ordner, oder wo meinst du?

Was fehlt denn?In dem Beispiel steht ja, dass ich die execute-Methode ab V1.7 nicht mehr benötigt wird Muss man die Action eventuell noch irgebndwo eintragen?

Ich hab auch mal zum Test die save-Action aus dem Beispiel unter "Saver" im Verz. /usr/share/moin/data/plugin/action abgelegt, doch "Saver" wird auch nicht angezeigt - wodran könnte das liegen?

Also die Funktion execute braucht man bei macros nicht mehr, wenn man stattdessen macro_ verwendet. Eine action ist aber kein macro. Das obige ist jetzt keine Funktion. Eine action fängt immer mit def execute(pagename, request): an und sie endet in der Regel damit, dass etwas gesendet wird Page(request, pagename).send_page(). Die Beschreibung MoinAPI/Beispiele#action ist in deutsch. Das /usr/share/moin/data/plugin/action Verzeichnis ist bestimmt nicht das Verzeichnis Deiner wiki instance. Schau mal was das macro <<WikiConfig>> anzeigt. Es sollte für den superuser den data_dir Pfad anzeigen. Damit weisst Du dann auch das plugin action Verzeichnis Deiner Instanz.

Ok, also ich hab das jetzt nach /usr/share/moin/mywiki/data/plugin/action kopiert und jetzt zeigt er es immerhin an :) Nur beim ausführen sagt er "name '_' is not defined" - wodran könnte das denn liegen?

Ich bin nicht gut im Raten - mehr input hilft, paste bin oder hier. Wenn Du nicht auf lange Antwortzeiten warten willst ists auch praktisch das Problem auf #moin chat.freenode.net zu schildern. _ wird in der Regel für i18n (also Übesetzungen) verwendet.

Bin hier Praktikant in ner Firma, leider kann ich hier nicht innen IRC. Aktueller Source:

   1 # -*- coding: iso-8859-1 -*-
   2 """
   3     MoinMoin - Action for backuping the Wiki
   4     @copyright: 2007
   5     @license: GNU GPL, see COPYING for details.
   6 """
   7 
   8 from MoinMoin.Page import Page
   9 from MoinMoin.request import request_cli
  10 import os
  11 
  12 def execute(pagename, request):
  13     os.system("sh /home/user/script.sh")
  14     msg = ("Backup abgeschlossen")
  15     request.theme.add_msg(msg, "info")
  16     Page(request, pagename).send_page()
  17     return

Was brauchst du denn noch an Informationen? Anscheinend hat er mit os.system irgendwie ein Problem.. vieleicht weil das Script ein bisschen Zeit brauch? Gibts da ne Möglichkeit das auszulagern?

Ich korrigier mal

   1 # -*- coding: iso-8859-1 -*-
   2 """
   3     MoinMoin - Action for backuping the Wiki
   4     @copyright: 2007
   5     @license: GNU GPL, see COPYING for details.
   6 """
   7 import os
   8 from MoinMoin.Page import Page
   9 
  10 def execute(pagename, request):
  11     os.system("/home/user/script.sh")
  12     msg = "Backup abgeschlossen"
  13     request.theme.add_msg(msg, "info")
  14     Page(request, pagename).send_page()

/home/user/script.sh sieht bei mir so aus.

#!/bin/sh

ls

die Datei hat exceute Rechte bekommen mit chmod u+x /home/user/script.sh

Nun mal zu einer anderen Frage, was ist an Eurer backup methode anders als an der in moinmoin integrierten siehe HelpOnConfiguration#backup?

Es ist ein HTML-Export, damit jeder das Wiki einfach so "einpacken" kann. Ich hab das jetzt mal wie oben gebaut, allerdings verursacht das Script dann immer einen Internal Server Error Das Script macht einen HTML-Dump mit moin

moin --config-dir=../mywiki\
        --wiki-url=http://localhost/mywiki/ \
        export dump \
         --target-dir=/home/user/export/

Das klappt so auch, kann es sein, dass das Python Script irgendwann abbricht, weil das eingebundene Sh-script ein bisschen dauert?

absolute Pfade sind besser Wielange dauert es und macht es einen Unterschied wenn es im background läuft ?

es dauert circa 15 - 20 Sekunden - was meinst du damit, ob es einen Unterschied macht ob es im Background läuft? Ich hab mal mir beim aufruf ps axl angesehen, und dort ruft er das Script ja anscheinend ja auf! Aber er tut quasi garnichts - das Script ist nach ein paar Sekunden schon beendet (obwohl es manuell eigentlich wesentlich länger läuft)

nimm mal absolute Pfade fuer das --config-dir. Verwendet das wiki acls? Das Besipiel mit absolutem Pfad läuft so auf meiner Maschine mit einem Testwiki.

Ich hab mal den absoluten Pfad eingetragen, läuft leider trotzdem nicht. ACLs sind doch schon aktiv, sobald ich ein user-system drin hab - oder? Das Script hat auch ausführungsrechte, allerdings sind da außer dem dump noch ein paar Dateioperationen. Hier mal das ganze Script:

#!/bin/sh

if [ $# -eq 0 ]
then

        echo "No Argument"
        moin --config-dir=/usr/share/moin/imswiki \
        --wiki-url=http://localhost/mywiki/ \
        export dump \
         --target-dir=/home/user/export \

else

        echo "One Argument $1"
        moin --config-dir=/usr/share/moin/imswiki \
         --wiki-url=http://localhost/mywiki/ \
        export dump \
         --target-dir=/home/user/export \
         username=$1
fi


cp /home/user/export/TitleIndex.html /home/user/export/index.html
cp -R /usr/share/moin/htdocs/modern /home/user/export/modern
cp /usr/share/moin/htdocs/common/moinmoin.png /home/user/export/logo.png
cd /home/user
tar cfv wiki.tar export/
chmod 644 wiki.tar
mv wiki.tar /var/www

Ok , es klappt jetzt. Danke :)

Zurückgenommen :( Es wird immernoch ein Internal Server Error herbeigeführt, auch wenn er das Backup jetzt baut - wodran kann das liegen?Vorhin ging es noch mit der gleichen Konfiguration!

Was steht dazu im server log?

Also es steht wohl direkt was im error.log vom export

CacheError: [Errno 13] Permission denied: '/usr/share/moin/imswiki/data/cache/imswiki/charts/useragentssGifj1.tmp' CacheError: [Errno 13] Permission denied: '/usr/share/moin/imswiki/data/cache/imswiki/charts/hitcountsbfmBmf.tmp'

Ich hab jetzt mal die Rechte auf Cache entsprechend gesetzt, jetzt ist diese error.log auch leer

Im Apachelog steht allerdings:

 [Wed Apr 22 18:37:45 2009] [error] [client 172.19.10.234] malformed header from script. Bad header=wikiexport/: moin.cgi, referer: http://vm-ub001/imswiki

Ich hab jetzt auch mal auf subprocess umgestellt, weil es ja sicherer sein soll. Jetzt baut er auch die Datei, nur kann ich mir nicht erklären, waurm er denn Internen Serverfehler (500) bringt

Hier nochmal mein aktueller Code:

# -*- coding: iso-8859-1 -*-
"""
    MoinMoin - Action for backuping the Wiki
    @copyright: 2007
    @license: GNU GPL, see COPYING for details.
"""
import subprocess
from MoinMoin.Page import Page

def execute(pagename, request):
    subprocess.call(["/bin/sh", "/usr/share/moin/server/Export_dump.sh"])
    subprocess.call(["/bin/sh", "/usr/share/moin/server/Export_copies.sh"])
    msg = "Backup abgeschlossen"
    request.theme.add_msg(msg, "info")
    Page(request, pagename).send_page()

Wo wird der string wikiexport verwendet?

In export_dump.sh - der ganze Exportvorgang geht ja auch, ich finde ja meine tar-file im angegebenden Ordner vor - nur der Server schickt mich zum Error 500. des Wieso führt es nur zu nem error-500, wenn ich die zweite Zeile (Export_copies) drin hab? Obwohl er anscheinend den Export ordnungsgemäß erstellt, ergo die Export_copies ausführt, führt die Datei zum Error-500.

Frag mich nicht worans lag, aber dass Grundgerüst steht endlich. :) Danke erstmal für deine Hilfe und die, wäre ich sicher immernoch irgendwo am Anfang.

Meine nächste Frage wäre, ob es im Wiki eine Möglichkeit gibt, zu verhindern, dass eine Action mehrfach von einer Person aufgerufen wird?

Du kannst das mit locking in den Griff bekommen, leg ne lock datei an solange die action noch vom ersten start läuft. Solange die lock Datei existiert muss ein weiterer Start blockiert werden. Schau Dir mal an, wie der editor lock funktioniert so ähnlich solltest Du das auch machen, sonst kann es passieren, dass die lock Datei es bei einem Fehler immer blockiert. Damit die user wissen, wann das letzte mal eine Sicherung gemacht wurde, kannst Du auch eine WikiLog Seite schreiben, die diese Infos enthält. Evtl. sogar die tar files als attachment da ablegen. Ich würde die action nicht Backup nennen, da das mit der moin backup action kollidiert und Du eigentlich einen dump machst. Noch eine weitere Anmerkung. Wir haben auch bei uns häufiger die Situation, dass unsere Leute ihr wiki mitnehmen wollen. Ich geb denen dann immer ein DesktopWiki und ein package.zip mit den Ihnen zugänglichen Seiten mit (export package). Gleichzeitig enablen wir dann wikisync in dem Hauptwiki, so dass sie die Inhalte synchronisieren können. Dadurch muss ich in der Regel nur einmal so ein initiales package machen. Die Leute machen die weitere Synchronisation dann selbst. Attachments wird man ab 2.0 synchronisieren können, derzeit muss man dafür die action PackagePage nehmen.

Das mit den Locks schau ich mir an, danke. :) Der Dump muss leider immer absolut aktuell sein, denn dass soll absolut unabhänig von anderen Kollegen passieren können.

Zu Start einer Action eine Nachricht anzeigen, und am Ende

Hallo, Ich würde gerne zu Beginn einer Action eine Nachricht auf dem Bildschirm ausgeben und am Ende. Hier mal der code:

   1 # -*- coso-8859-1 -*-
   2 """
   3     MoinMoin - Action for backuping the Wiki (Complete)
   4     @copyright: 2007
   5     @license: GNU GPL, see COPYING for details.
   6 """
   7 import subprocess, commands
   8 from MoinMoin.Page import Page
   9 
  10 
  11 def execute(pagename,request):
  12     is_running = commands.getoutput("ps axl | grep -v grep | grep Export_complete")
  13     if is_running != "":
  14         msg = "Sorry, da erstellt bereits jemand ein Backup. Versuch es gleich nochmal!"
  15     else:
  16         request.theme.add_msg("Exportiere Daten, bitte warten...")
  17         Page(request,pagename).send_page()
  18         subprocess.call(["/bin/sh", "/usr/share/moin/server/Export_complete.sh"])
  19         msg = """<a href="http://vm-ub001/wiki_complete.zip"><font size="5">Export herunterladen</font></a>"""
  20     request.theme.add_msg(msg, "info")
  21     Page(request, pagename).send_page()

Wenn ich den Code so starte, zeigt er allerdings nur "Exportiere Daten, bitte warten..." an wenn er fertig ist. Gibts eine Möglichkeit um mein Vorhaben zu realisieren?

Es muss doch Möglich sein, zwei Nachrichten zu verschicken

Ich hab das jetzt auch erstmal anders realisiert, über eine Extra Seite. Ich rufe die Seite dann direkt mit + "?action=MYACTION" Doch komischerweise, sagt er immer, dass er die Seite nicht findet - obwohl er ohne die Actionanweisung die Seite aufbauen kann.Wodran könnte das liegen?

Automatisch Wikiseiten generieren

Hallo,

Um einige Daten aus einem altem Wiki ins MoinMoin zu exportieren, muss ich diese Dateien automatisch erzeugen. Den Content pack ich einfach in revisions\00000001 und in current mache ich dazu den eintrag. Welche Dateien sind denn aber wirklich notwendig?Oder generiert das Wiki die von selbst, sobald die Seite mal aufgerufen wird?

Danke für die hilfe

Ich glaub Du meinst ins MoinMoin importieren. Du kannst das recht einfach mit dem command line interface automatisieren, siehe page.saveText() bzw. xmlrpc siehe Beschreibung MoinAPI/Beispiele#PageEditor.saveText.28.29. handisch gehts natuerlich auch. evtl. Zeile in edit-log und event-log eintragen. Weiterhin kannst Du auch die action Load vom wiki verwenden. -- ReimarBauer 2009-05-08 14:03:33

Hallo,

Ich habe mir ein Makro geschrieben, was etwas an die Seite zurückgibt in dem Format:

[[http://en.wiki.org|article_in_english]]

aufrufen tue ich ihn so <<Language(en, article_in_english)>>

wie kann ich dafür sorgen, dass nur wenn dieses makro vorhanden ist, ich den Text oben in der Leiste bei Editieren (Text), Editieren (Gui).. etc habe? Meine Absicht ist es, dadurch zu anderen Wikiseiten mit gleichem Inhalt aber anderer Sprache zu linken, falls vorhanden.

Oder was gibt es denn sonst noch für Möglichkeiten, ein moinmoinwiki mehrsprachig zu gestalten?

Keiner ne Idee? Wäre wirklich wichtig.

Ideen:

Dynamisches Template

Hallo,

Ich habe eine Kategorie Allgemein

In Allgemein sind beispielsweise Software, Hardware und programmieren enthalten.

Gibt es eine Möglichkeit dort das NewPage so zu verwenden, dass die neue Seite unten schon:

----
Allgemein

erscheint, ohne ein extra template zu erstellen?Quasi dynamisch?

Action nicht in "Weitere Aktionen:" Leiste - Wie?

Hallo,

Ich habe mir die Action "CreateNewPage.py" runtergeladen, wie kann ich diese woanders platzieren, als in dieser Liste? Dort erscheint sie leider ganz unten und ist schlecht zu sehen.

Danke schonmal!

Wenn der Name mit einem Kleinbuchstaben anfängt erscheint der nicht in More Action. Auf einer Seite mit <<Action(CreateNewPage)>>. Im z.B. editbar nach Anpassung des Themes.

wo kann ich denn die edit_bar zum beispiel vom modern-theme anpassen?

Installation auf IIS

Moin,

ich versuche MoinMoin auf einem IIS zum Laufen zu bekommen. Eigentlich soll es auf einem IIS 6 auf 2003 laufen, aber ich versuch es jetzt erstmal mit IIS 5 auf XP, da es dort nicht die Berechtigungsprobleme gibt.

Ich habe diese Anleitung verwendet: http://moinmo.in/HowTo/MoinOnIIS

Den IIS habe ich einmal manuell installiert und in einem zweiten Versuch über Microsofts Webplattform-Installer, der dann gleich PHP und FastCGI mit installiert. Ergebnis ist aber immer dasselbe.

Als Abweichung zur Anleitung habe ich die index.html aus dem Verzeichnis Lib\site-packages\MoinMoin\web\static\htdocs genommen, da es sie sonst nirgends gab.

Als weitere Abweichung zeigt moin_static auf C:\Moin\Lib\site-packages\MoinMoin\web\static\htdocs, da ich ein htdocs-Verzeichnis auch nirgends sonst gefunden habe.

1. Frage: Ist das so in Ordnung?

Wenn ich jetzt http://localhost/wiki/moin.cgi aufrufe kommt als Fehlermeldung:

The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: 2010-01-13 15:10:25,622 WARNING MoinMoin.log:139 using logging configuration read from built-in fallback in MoinMoin.log module! 2010-01-13 15:10:26,263 ERROR MoinMoin.web.frontend:46 An exception occurred while running CGIFrontEnd Traceback (most recent call last):

Ich habe eine Beschreibung dazu gefunden hier: http://moinmo.in/MoinMoinQuestions/Errors#Premature_end_of_script_headers

Die ersten beiden sind unter XP vermutlich auszuschließen. Der Benutzer und der IUSR sind zur Sicherheit beide Administrator.

Pfad in der moin.cgi ist korrekt. Ordner C:\Python26 ist in den Windows-Systemvariablen eingetragen. 2. Frage: Muss ich den Pfad sonst noch irgendwo eintragen? Kann man cgi-Funktion auf einfache Weise testen?

3. Frage: Was ist der ScriptAlias? Ich habe ihn nirgends gesetzt.

Gruß

Jens

RecentChanges nur auf Englisch?

Hallo,

ich habe die Standalone Version von MoinMoin 1.9.3 mit apache 2.2 und python 2.5 installiert.
allerdings funktionieren die RecentChanges nur auf Englisch. Habe alle SystemPages auf Deutsch installiert, aber wenn ich auf AktuelleÄnderungen klicke kommt nur, dass diese Seite noch nicht existiert und ob man sie anlegen will.

Hat da jemand evtl eine Lösung?
Danke schon mal im Voraus


Bilder anzeigen

Hey,

seit ich ein Update von moinmoin 1.8 auf 1.9.3 gemacht habe, werden die hochgeladenen Bilder nur noch als Büroklammern angezeigt.

Ich bitte um Hilfe und danke im Vorraus.

Alles gemacht was in docs/UPDATE.html steht, vor allem server prozess anhalten, moint ... migration data, moin ... maint cleancache und dann server Prozess wieder starten? Wie ist Surgeprotection konfiguriert?

Ja habe ich gemacht. Ich hab herausgefunden das es daran liegt, dass aus drawing attachment gemacht wurde. Aber alle Bilder in meinen Wiki wurden mit drawing eingefügt. Ich kann ja jetzt schlecht auf jeder Seite das ändern.

Moment, drawing ist für eins der plugins mit denen man malt, z.B.: twikidraw, anywikidraw, svg-edit. Wenn drawing mit was anderem gegangen ist, war das vorher eher ein feature (undocumented?), Wieviele sind es? Man kann es im Prinzip mit nem kleinem Programm automatisieren. Z.B. Textsuche nach drawing MoinAPI/Beispiele#search. Die Seiten wo man das findet kann man dann mit MoinAPI/Beispiele#Page.get_raw_body.28.29 lesen und den Text ersetzen und dann mit MoinAPI/Beispiele#PageEditor.saveText.28.29 speichern.

Es sind knapp 2000 Seiten. Ich habe es mit RegEx probiert und es ändert auch die Seiten, jedoch speichert es nicht.

Was heist speichert nicht? Wenn acls das verhindern, dann entweder in der config das vorübergehend durch _before Rechte klären oder so etwas IAmRoot einbauen.

Ich denke nicht das acls das verhindert, denn ich hab das mit dem _before Rechten versucht.

Hier ist meine RegEx: find /srv/moin/wiki/data/pages/*/revisions/* -exec sed -e 's/{ { attachment:*.png } }/{ { drawing:*.png } }/g' {} \;

Nun ja, ich hätts mit nem cli script gemacht, da man dann auch nen revision Eintrag der Änderung hat, bei dem sed command fehlt die -i Option, falls es inplace gemacht werden soll.

   man sed
~~~~
  -i[SUFFIX], --in-place[=SUFFIX]
   edit files in place (makes backup if extension supplied)

Und wie würde das in etwa aussehen mit dem cli script?

Z.B. so, Das meiste davon stammt schon aus den Beispiel Scripten, die ich oben verlinkt habe,

> moin-1.9.3$ python ./migrate_drawing_cli.py

   1 import re
   2 
   3 from MoinMoin.Page import Page
   4 from MoinMoin.PageEditor import PageEditor
   5 from MoinMoin.web.contexts import ScriptContext
   6 from MoinMoin.search import searchPages
   7 
   8 request = ScriptContext()
   9 
  10 drawing_rule = r"""{{drawing\:( .* )}}"""
  11 drawing_re = re.compile(drawing_rule, re.IGNORECASE| re.MULTILINE| re.DOTALL| re.VERBOSE| re.LOCALE| re.UNICODE)
  12 
  13 search_result = searchPages(request, "drawing", excludeunderlay=1, nosystemitems=1)
  14 for title in search_result.hits:
  15     count = 1
  16     if request.user.may.write(title.page_name):
  17         text = Page(request, title.page_name).get_raw_body()
  18         while count > 0:
  19             text, count = drawing_re.subn(r'{{attachment:\1}}', text)
  20         page = PageEditor(request, title.page_name)
  21         try:
  22             page.saveText(text, 0, comment="drawing replaced by attachment")
  23         except page.Unchanged:
  24             print "You did not change the page content, not saved!"


User-Anmeldung in Wikifarm

Hallo,

Ich habe mir eine Wikifarm mit 2 Wikis gebaut, jedoch muss man sich in beiden Wiki getrennt anmeldet und registrieren.

Gibt es eine Möglichkeit sich durch eine Anmeldung auf beiden Wikis gleichzeitig anzumelden? Und vielleicht auch, dass man bei der Registrierung auf beiden Wiki registriert wird?

Ich bedanke mich schon mal im Vorraus.

ANTWORT:

Ja das sollte gehen, benötigt aber ein paar Einstellungen in der Konfiguration:


Subscribe to

Hallo,

ich würde gerne eine Schaltfläche in der Menüleiste einbauen, womit man mit einem Klick die angezeigte Seite abonniert. Ich vermute, dass dies mit einem Makro gemacht werden muss. Kann mir da Jemand helfen?

Ich bedanke mich schon mal im Vorraus.

Also im editbar gibt es das schon. Hier im wiki direkt neben info. Damit man das in seinem Wiki angezeigt bekommt, muß man mail konfiguriert haben. Mit der subscription bekommt man dann mails der diffs geschickt.

Eine E-mail-Adresse habe ich eingetragen, trotzdem wird das nicht angezeigt. Muss ich etwas in einer Datei konfigurieren?

Ja, siehe HelpOnConfiguration#mail. Der server muss mail versenden können.


Frage zu Makro

Hallo,

Probiere ein Macro zu schreiben das Automatisch einen Link zum attachment Ordner des jeweiligen thema herstellt. Bin bisher auf dies gekommen:

def macro_PageName(macro, pagename=None):
    if not pagename:
        pagename = macro.formatter.page.page_name
        return macro.request.formatter.text('[[' + 'file://\\' + '\\' + 'C:\moin\mywiki\data\pages\\'+ pagename + '\\attachments|Ordner oeffnen]]')

So schreib das Makro jeweils den Link auf die Seite jedoch als Text und nicht als Link habt ihr vielleicht eine Idee was ich falsch mache bzw ändern kann dass es funktioniert?

Vielen Dank

(!) Der formatter hat noch mehr Methoden, auch für Links. Aber ich würde in diesem Fall von solchen Hacks abraten, denn:

Was ist der Unterschied zu <<AttachList>> ?


Layout-Änderung

Hallo! ich möchte ein bestehendes moin-Wiki (1.9) anpassen. Könnt ihr mir sagen, wie ich den Admin-Bereich einer jeden Seite (mit den Punkten Editieren, Info, Nicht abonnieren, Verweis hinzufügen, Dateianhänge etc.) beeinflussen kann. Das Theme unter data\plugin\theme enthält nur den Header-Bereich. Diesen möchte ich aber gar nicht anpassen.

Vielen Dank schon mal für Eure Hilfe.

Schöne Grüße

Daniel

Ich glaub du meinst den editbar, http://hg.moinmo.in/moin/1.9/file/fc11712e0df0/MoinMoin/theme/__init__.py#l1190


Template über Platzhalter mit Inhalten füllen?

Hallo! ich hab bisher nur Erfahrungen mit MediaWiki gemacht, muss jetzt aber durch den Wechsel zu einer anderen Firma mit MoinMoin klarkommen

Darum jetzt meine Frage. Vielleicht war ich bisher auch einfach zu dämlich das richtige in den Hilfen zu finden. (halben Vormittag gesucht)

Ich kann das jetzt leider nur so erklären, wie ich es bisher kenne:

Beim MediaWiki kann ich nen Template erstellen, wo Platzhater in Form von

{{{Text1}}  

enthalten sind und anschließend eine Seite erstellen, die mit einem Befehl auf die Vorlage zugreift und das ganze übernimmt ohne, dass der Quelltext auf der eigentlichen Seite auftaucht und ich nur noch mit

|Text1=Blablabla

Geht sowas im MoinMoin auch?

Viele Grüße Hammy


Tutorial zum Makro-Schreiben

Hallo zusammen, ich würde gerne ein "MoinMoin-Macro" schreiben, finde aber nicht den richtigen Anfang...gibt es so was wie ein Tutorial, mit dem man anfangen kann? Danke schon mal... Viele Grüße Piet

Hi

schau mal ob das reicht Hello_World. Auch einige der anderen macro kann man als Beispiel nehmen. Zur Zeit stelle ich die plugin Beschreibung auf 1.9 um. Weitestgehend ist alles ähnlich zu 1.8. Falls es eine ältere moin Version ist für die das plugin ist, einfach ne ältere Version der Seite anschauen. Die gibt es seit 1.6. -- ReimarBauer 2009-12-27 17:19:06

Hallo Reimar, danke schön, diese API-Seite Hello_World bringt mich erstmal weiter...Falls ich noch Fragen habe, melde ich mich wieder...Guten Rutsch Piet 2009-12-27 23:15:21


TableSorter mit jQuery

Hintergrundinformationen

Realisierungsidee

<<TableSorter>>
||Kategorie || Autor || Titel || Verlag || Erscheinungsdatum || Kaufdatum || Preis || ISBN ||
||Buchkategorie1 || Autor1 || Titel1 || Verlag1  || Erscheinungsdatum1 || Kaufdatum1 || Preis1 || ISBN1 ||
||Buchkategorie2 || Autor2 || Titel2 || Verlag2  || Erscheinungsdatum2 || Kaufdatum2 || Preis2 || ISBN2 ||
...

<table id="tabellen_id">
     <thead>
           <tr>
              <th>
                 ...
              </th>
              ...
          </tr>
     </thead>
     <tbody>
          <tr>
             <td>
                ...
             </td>
             ...
          </tr>
          ...
     </tbody>
</table>

Arbeitspakete mit Fragen

Hier der Stand meiner Versuche...sorry, wenn die Beantwortung der Fragen schon irgendwo im Wiki steht...dann habe ich sie leider nicht gefunden, bzw. mir fehlt noch das Verständnis über die Zusammenhänge...

  1. Installation der jQuery-Bibliothek.
    1. Wo werden externe Bibliotheken im MoinMoin-Wiki-Installationsverzeichnis am besten installiert?

  2. Einbau des neuen Formatters
    1. Ich habe den fertigen Formatter .../moin-1.9.0/MoinMoin/formatter/text_html.py und ihn nach .../moin-1.9.0/wiki/data/plugin/formatter/text_html.py kopiert.

      1. Wenn ich das jetzt richtig verstanden habe, sollte der "neue" Formatter, den alten "überschreiben"?
        • ja
      2. Muss ich immer die ganzen Methoden eines "alten" Formatters mit übernehmen, oder reicht es, wie z.B. für meine Zwecke, entsprechende Tabellen-Methoden zu übernehmen?
        • ja, Du kannst von dem object ableiten
      3. Welchen Namen muss der neue Formatter bekommen?
        • Deine Wahl
      4. Um erstmal zu testen, ob der neue Formatter angesprochen wird. Habe ich die Table-Methoden mit logging.info(...), bzw. print-Anweisungen versehen. Leider habe ich meine Anweisungen weder in der "Server-Fenster-Ausgabe" noch in den Log-Dateien gesehen.
        1. Zum Test habe ich mir ein <<TableSorter>>-Macro geschrieben und auf eine Testseite mit Tabellen gebracht. Und diese Seite zum Test nach Neustart des Wikis aufgerufen.

        2. Wo stehen entsprechende Log-Dateien? Ich habe zwar entsprechende "event-log" oder "edit-log" Dateien gefunden, aber das scheinen nicht die richtigen zu sein.
          • logging muss konfiguriert werden, siehe z.B.: README

        3. Wie bringe ich dem MoinMoin-Wiki jetzt von einem Macro aus bei, den neuen Formatter zu verwenden? Den neuen Formatter einfach ins Verzeichnis .../moin-1.9.0/wiki/data/plugin/formatter/ zu bringen klappt bei mir offensichtlich nicht...

          • ohne den code zu sehen ist das schwierig. Ich nehme aber an dass Du nicht mit wikiutil.importWikiPlugin Deinen Formatter importierst.

Kann mir jemand helfen? Guten Rutsch und Danke im voraus...

Wenn's gewünscht ist und ich weiter komme, kann ich versuchen meine "Erfahrungen" diesem Abschnitt weiter zu beschreiben... Viele Grüße Piet

Hi Piet

bitte lies mal HelpOnVariables und nimm SIG zum signieren. Mit dem Thema haben sich auch schon andere befasst siehe FeatureRequests/SortableTables.

Hallo Reimar,

danke für dir Hinweise...ich schau mal wieweit ich jetzt komme....

Viele Grüße

Piet <<DateTime()>>

ok, aber nimm dann auch SIG zum signieren, <<DateTime()>> ist nur die akuelle Uhrzeit.

Hallo Reimar, danke für den Hinweis auf FeatureRequests/SortableTables...das ist sowas, was ich suche...super...dann stell ich erstmal meine Versuche ein...Sorry, für die Umstände... das mit dem SIG hab ich jetzt hoffentlich auch kapiert...sorry...

Danke schön

Piet 2010-01-07 19:26:31


Gelöschten Dateianhang wiederherstellen

Hallo,

besteht die Möglichkeit einen von einem User gelöschten Dateianhang wiederherzustellen?

Danke im Voraus

Hi,

erst in moin-2 werden attachments genauso wie Seiten versioniert. (Im generellem gibt es in moin-2 keine Differenzierung zwischen Dateianhängen und Seiten, man spricht nur noch von Items). Derzeit hilft nur ein backup um die Datei wieder herzustellen, bzw. ein Schnappschuss den man sich vorher mit "Seiten paketieren aus Weitere Aktionen" erstellt hat. ReimarBauer/Photo/img.png -- ReimarBauer 2010-03-03 14:30:03


Synchronisation

Hallo,

bei mir funktioniert die Synchronisation zwischen 2 Wikis nicht. Das eine Wiki habe ich über Apache eingerichtet und das andere soll ein offline wiki sein dass ich immer nur über wikiserver.py starte. interwikiname ist gesetzt auf beiden. Aber wenn ich bei dem offline wiki die synchronisation starte kommt immer die fehlermeldung dass der interwikiname nicht gesetzt ist (Please set an interwikiname in your wikiconfig (see HelpOnConfiguration) to be able to use this action.). Ich habe den interwikiname in der Datei /moin-1.9.3/wiki/confi/wikiconfig.py gesetzt. Ich weiß leider nicht mehr weiter. Vielleicht könnt ihr mir helfen.

Danke im Voraus

Das ist die falsche wikiconfig.py. Die wikiconfig.py die für die Deskopedition Verwendung findet befindet sich im gleichen Verzeichnis wie das Kommando wikiserver.py. Die geänderte Datei nimmt man in der Regel für eigene wiki instanzen als Vorlage. SystemInfo zeigt dem superuser die verwendet wikiconfig.py an. Ebenso sieht man es in den messages wenn der wikiserver gestartet wird.


Exceltabelle importieren

Hi,

ich möchte gerne eine Exceltabelle importieren, wie gehe ich da am besten vor?

Dank u. Gruss hotte

Kommt drauf an, was Du genau machen willst.

  1. die Tabelle nach wiki übersetzen und eine wiki Seite daraus erstellen
  2. die Excel Tabelle parsen und als csv Datei im wiki darstellen
  3. und natürlich was die Datei eigentlich enthält

bin gerade im irc #moin auf chat.freenode.net falls Du das diskuttieren willst. -- ReimarBauer 2011-06-01 15:25:26


Frage zu iframes

(Moin 1.9.3 mit RawHTML Parser)
Moin,
ich versuche, eine Seite mit einem iframe zu erstellen.
Beispiel:

##master-page:HomepageReadPageTemplate
##master-date:Unknown-Date
#format wiki
#language en
{{{#!html
<iframe src='http://www.google.de' width='90%' height='400' name='google-innerframe'>
</iframe>


Vom iframe kommt im HTML nichts an; der Parser scheint den Tag komplett "zu verschlucken":
Mach ich da etwas falsch oder liegt das Problem an anderer Stelle?

Einige html Sprachelemente werden herausgefiltert. http://hg.moinmo.in/moin/1.9/file/62202e5435e2/MoinMoin/support/htmlmarkup.py#l135

Danke für den Tipp; habe die Liste http://hg.moinmo.in/moin/1.9/file/62202e5435e2/MoinMoin/support/htmlmarkup.py#l184 für mich ergänzt...


Frage zu Migration 1.7.2. auf ?? wegen Python 2.7

Ich verwende ein Stand-Alone MoinMoin 1.7.2 unter Ubuntu 1010 und Windows. Ich habe Ubuntu 1104 nicht im Einsatz weil das MoinMoin nicht mit Python 2.7.1 läuft. Mein englisch ist begrenzt. Wie kann ich mein MoinMoin auf 1.9.x migrieren ? Ich benötige eine einfache Anleitung auf deutsch. Vielen Dank.


Seiten anzeigen, die auf die ausgewählte Seite verlinken?

Hallo zusammen! Ich würde gerne wissen, wie man sich alle Seiten anzeigen lassen kann, die auf die momentan ausgewählte Seite verlinken. Falls dies nicht geht, würde mich interessieren, wie man anderweitig herausfinden kann, welche Seiten auf die jeweils ausgewählte Seite verlinken. Danke!

Alles klar, es funktioniert, danke schön!


Hochladen von Anhängen?

Hallo zusammen, in meinem Wiki funktioniert das Anhängen von Dateien nicht. Ich möchte eine pdf-Datei hochladen. Wenn ich dies über "Dateianhänge" ausprobiere, die Datei auswähle und umbenenne, werde ich auf die eigentliche Seite, auf der der Anhang eingefügt werden soll, weiter geleitet. Der Anhang wird jedoch nicht geladen. Danke schön!!


Eine Page mit Knopfdruck kategorisieren

Hallo, ich such gerade einen weg, einen Link/Knopf in eine Page einzufügen, der auf click eine (vorherbestimmte) Category zu dieser Page hinzufügt. Ein Bonus wäre, wenn sämtliche anderen Categories von der Page entfernt werden. Danke, cheers!

Welches macro könnte so etwas bewirken? Das Ziel ist es, sich den "edit" zu ersparen.

In meinem Fall wollte ich das macro in ein Template einbinden. Dann wäre auf jeder (mit diesem Template) neu erstellten Page ein Knopf/Link "Four Eyes", der dann von einem Dritten im "viewing" modus geklickt werden kann, also ohne in einen weiteren (expliziten) "edit" modus einzusteigen. Das cli script klingt interessant, kann aber den link nicht aufmachen.

Gibt es schon eine Action, die etwas ähnliches bewirkt? Ich weiss nicht, wie ich eine schreiben soll.


Umbenennen einer Action?

Hallo! Ich möchte in mein moin-Wiki (v. 1.9.3) die Action CreatePdfDocument einbinden, geht auch und erscheint im "more actions"-Menü. Ich habe den Rest meines User interfaces komplett eingedeutscht und würde diese Action nun auch gerne mit deutschem Titel erscheinen lassen (z.B. "als PDF ausgeben"). Wenn ich die Datei CreatePdfDocument.py einfach umbenenne, erscheint zwar der richtige Text im Menü, die Action lässt sich aber nicht mehr fehlerfrei ausführen, da anscheinend ein interner Aufruf nicht mehr funktioniert. Gibt es eine Möglichkeit, auch die hinzugefügten Actions mit eigenem Menütext erscheinen zu lassen? Verwende Moin 1.9.3 als Standalone Server auf ubuntu 11.10, Moniker Theme (angepasst). Danke für Eure Hilfe! JensBachtler

Guck mal im Theme wie es die title setzt http://hg.moinmo.in/moin/1.9/file/1ddf7d88c53d/MoinMoin/theme/__init__.py#l955 Entweder in der theme extension einbauen oder in der wikiconfig überschreiben.


MoinMoin: MoinMoinFragen (last edited 2013-05-06 13:19:41 by p578b74a8)