Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Mitg
lied
derH
elm
holtz
-Gem
eins
chaf
t
Automatisierte Darstellungvon Modell- undMess-Daten im Wiki
26.08.2013 Reimar Bauer
Kontakt-Informationen:
Forschungszentrum Jülich GmbH
http://www.fz-juelich.de/
Reimar Bauer, [email protected]@gmail.com@[email protected]://moinmo.in/ReimarBauerVorstand im Python SoftwareVerband e.V.
26.08.2013 Reimar Bauer 2 31
Überblick
Was ist ein Wiki?
Beispiele für die Automatisierung
Wie installiert man die Wiki-Software MoinMoin?
26.08.2013 Reimar Bauer 3 31
Was ist ein Wiki?
Eine Software für das Wissensmanagement;
Teilnehmer können bestehende Inhalte bearbeiten (ergänzen,ändern, löschen);
Beiträge können direkt auf der jeweiligen Seite diskutiert werden;
Inhalte sind in Echtzeit sichtbar;
Wikis findet man im Intranet und Internet;
Bekannte Wikis (Software): Wikipedia (MediaWiki),wiki.ubuntu.com (MoinMoin);
26.08.2013 Reimar Bauer 4 31
Wozu verwenden wir ein Wiki?
Schreiben von Tutorials, Berichten, Veröffentlichungen,Büchern ....;
Darstellen von aktuellen Messergebnissen;
Führen eines Laborbuchs;
Austausch von Messdaten;
Organisation von Tagungen, Vortragsprogrammen;
als einfaches CMS;
26.08.2013 Reimar Bauer 5 31
Warum MoinMoin Wiki-Software?
MoinMoin Wiki-Software ist in Python geschrieben;
Lizenz GPL V2+;
Extrem gut kommentierter Quellcode;
Entwickler sind per IRC, Mailing Liste und MoinMoin Wiki gutzu erreichen;
Viele Beispiele, dies macht Erweiterungen einfach;
Python wird in der Wissenschaft für Datenanalyse,-Bearbeitung, -Darstellung eingesetzt;
26.08.2013 Reimar Bauer 6 31
Verwendung von Wiki zur Unterstützung einerMesskampagne
Visualisierung von Daten in Form von Image Dateien;
Einfacher Ablageort für Messdaten;
Bereitstellen einer Kommunikationsplatform;
Darstellen von Modellergebnissen;
Archiv von Daten;
26.08.2013 Reimar Bauer 7 31
Messkampagnen
Vielzahl von Partner;
gemeinsame Fragestellungen bearbeiten;
Auswirkungen menschlichen Handelns auf das Klima präzisevorhersagen;
Unterschiedliche Flugplattformen ;
hochempfindliche Messgeräte;
viele Daten / Dateien;
http://www.fz-juelich.de/portal/DE/Forschung/EnergieUmwelt/Klimaforschung/fliegendeLabors.html
RECONCILE Film (http://www.youtube.com/watch?v=gpRUf0ze94s)
26.08.2013 Reimar Bauer 8 31
Viele Image Dateien darstellen
Arnica ist eine Erweiterung für MoinMoin.
Arnica rendert Image Dateien im Wiki. Zur Auswahl der Dateienstehen verschiedene Mechanismen zur Verfügung.
Wir verwenden im nachfolgenden gut gewählte Dateinamen diemittels regular expressions gruppiert werden.
Eine Auswahl von Dateien kann zu einer Slideshowzusammengefasst werden. Dies ermöglicht uns die Entwicklungder atmosphärischen Prozesse in einem Zeitraffer für eine Serievon Vorhersagen zu betrachten.
26.08.2013 Reimar Bauer 9 31
Darstellen von Vorhersage Daten
Seit 2004 verwenden wir Arnica um Bilder im Wiki zuvisualisieren... und um wissenschaftliche Daten darzustellen.
https://utils.icg.kfa-juelich.de/hg/extensions/file/tip/data/plugin/parser/clams_tacts.py;
https://seac4rs.fz-juelich.de/CLaMS_Forecast/medium/2012-09-24;
26.08.2013 Reimar Bauer 10 31
Wiki Konfiguration für die Verwendung von arnica
Anpassungen in der wikiconfig.py
# hg clone h t t p : / / hg . moinmo . i n / moin / extens ions / home / re imar /extens ions
p l u g i n _ d i r s = [ ’ / home / re imar / extens ions / data / p lug in ’ ]
# you have to add a l i n k to l i n k arn ica css to MoinMoin / web /s t a t i c / htdocs / a rn ica
html_head = ’ ’ ’< l i n k r e l =" s t y l eshee t " type =" t e x t / css " charset =" u t f −8" media=" a l l
" h re f ="%( u r l _ p r e f i x _ s t a t i c ) s / a rn ica / css / tex t_x_a rn i ca . css ">< l i n k r e l =" s t y l eshee t " type =" t e x t / css " charset =" u t f −8" media=" a l l
" h re f ="%( u r l _ p r e f i x _ s t a t i c ) s / a rn ica / css / a r n i c a _ s l i d e s . css ">’ ’ ’ % { " u r l _ p r e f i x _ s t a t i c " : De fau l tCon f ig . u r l _ p r e f i x _ s t a t i c }
configsnippet.py
siehe HelpOnConfiguration und HelpOnArnica
26.08.2013 Reimar Bauer 11 31
Vorhersage Abbildungen
26.08.2013 Reimar Bauer 12 31
Vorhersage Slideshow
26.08.2013 Reimar Bauer 13 31
Beispiel: clams_tacts.py
Snippet
w i k i _ t e x t = [ ]ARNICA = " " " <<arn ica ( f i l e _ r e g e x =%(regex_s t r ) s , album_image=%(
album_image ) s , . . . ) >> " " "
arnica_image = ARNICA % { " regex_s t r " : a rn i ca_se lec t i on ," thumbnai l_width " : s e l f . thumbnai l_width ," webnai l_width " : s e l f . webnai l_width ," a l b u m _ t i t l e " : ecmwf_date ," album_image " : album_image }
w i k i _ t e x t . append ( . . . )html = w i k i u t i l . renderText ( s e l f . request , WikiParser , ’ \ n ’ . j o i n (
w i k i _ t e x t ) )request . w r i t e ( html )
clams_tacts_snippet.py
26.08.2013 Reimar Bauer 14 31
Bei Messungen entstehen Daten
Um Ergebnisse eines Messgeräts von einem Mess-Flug, soz.B. mit dem Forschungsflugzeug HALO oder der M55Geophysica zu besprechen werden diese in einer erstenVersion im Wiki abgelegt;
Wenn möglich schon ein Bild das vorläufige Ergebnissedarstellt;
Der Zugang oder die Verwendung wird mit derUnterzeichnung eines Datenprotokolls geregelt;
26.08.2013 Reimar Bauer 15 31
Die Messplatform Forschungsflugzeug HALO
siehe http://www.halo.dlr.de/
viele verschiedene Messgeräte gleichzeitig an Bord;
Steuerung der Messgeräte stark automatisiert;
ausgewertete Daten für weitere Planungen undVeröffentlichungen sind zu diskuttieren;
26.08.2013 Reimar Bauer 16 31
Datenablage
26.08.2013 Reimar Bauer 17 31
Tabellen automatisch generieren
Man kann auf WikiSeiten Informationen in einem Dictionaryablegen, z.B. Key:: Value.
Das Makro DictColumns sammelt diese Dictionaries ein undgeneriert daraus eine Tabelle.
Praktisch ist dabei, das man durch ACLs festlegen kann, welcheZeilen einer Tabelle für jedermann lesbar sind.
siehe http://moinmo.in/MacroMarket/DictColumns
26.08.2013 Reimar Bauer 18 31
DictColumns.py
Snippet
i f not pagename :s e l f . pagename = macro . f o r m a t t e r . page . page_name
search_resu l t = search . searchPages ( request , search_term )pages = [ t i t l e . page_name for t i t l e in search_resu l t . h i t s ]
def g e t _ d i c t ( s e l f , d i c t_source ) :s e l f . request . d i c t s [ d ic t_source ]
for page_name in selected_pages :page = Page ( request , page_name )page_dict = s e l f . g e t _ d i c t ( page_name )
tab l e = DataBrowserWidget ( request )
dictcolumns_snippet.py
26.08.2013 Reimar Bauer 19 31
Anwendung DictColumns
26.08.2013 Reimar Bauer 20 31
Command Line Interaktionen mit dem Wiki
Anpassungen in der wikiconfig.py
# a c t i v a t e xmlrpcact ions_exc luded = m u l t i c o n f i g . De fau l tCon f ig . act ions_exc luded [ : ]act ions_exc luded . remove ( ’ xmlrpc ’ )# set some access ru l esa c l _ r i g h t s _ b e f o r e = u " ReimarBauer : read , wr i te , delete , reve r t , admin "a c l _ r i g h t s _ d e f a u l t = u " UserGroup : read , wr i te , de lete , r e v e r t A l l :
read , w r i t e "# aga ins t spamtex tchas_disabled_group = u " UserGroup "tex tchas = { " de " : { "Wo f i n d e t d ie PyCon .DE s t a t t ? " : ur "KOMED" } ,
" en " : { "Where i s the Barcamp i n Cologne? " : ur "KOMED" }}
xmlrpc_configsnippet.py
siehe HelpOnConfiguration
26.08.2013 Reimar Bauer 21 31
Inhalte ins Wiki stellen
Editieren mit dem Lieblingseditor
Dateien-Uploaden
Dateien-Downloaden
Wiki Seiten strukturiert anlegen
Listen von Wiki Seiten
��
� Zur Anwendung kommen die pypi Packages
wiki-xmlrpc-extensions, editmoin
26.08.2013 Reimar Bauer 22 31
Editieren mit dem Lieblingseditor
editmoin kann man mit jedem Wiki verwenden.
Es benötigt kein XMLRPC.
Für vim gibt’s die Syntax-Highlighting von (siehehttp://moinmo.in/VimHighlighting).
editmoineditmoin http://localhost:8080/WikiSandBox
26.08.2013 Reimar Bauer 23 31
Anhänge einer Seite im Wiki
Für den Datenaustausch Dateien aus einem Verzeichnis aufeiner Seite speichern:
SendFilesSendFiles -w http://localhost:8080/ -u UserName –path /tmp/FrOSCon/20130824–pagename FrOSCon/20130824 –filter=.JPG
Herunterladen von Dateianhängen einer Seite:
ReceiveFilesReceiveFiles -w http://localhost:8080/ -u UserName –path ./ –pagenameFrOSCon/20130824 –filter=.*
26.08.2013 Reimar Bauer 24 31
Wiki-Seiten vorgeben und mit ACLs versehen
ähnlicher Aufbau von Seiten
Benutzerrechte zur Dateiablage und Verarbeitung
Viele Seiten
Das ExampleWiki Script ist eine Vorlage. Passen Sie es IhrenBedürfnissen an und erzeugen Sie Wiki-Seiten mit einem Befehl.
ExampleWiki./ExampleWiki.py -w http://localhost:8080/ -u UserName
siehe ExampleWiki.py
26.08.2013 Reimar Bauer 25 31
Wiki Seiten auflisten
In einem Wiki mit vielen Seiten und verschiedenen ACL Regeln,stellt sich hin und wieder die Frage was ein Anonymer Benutzeroder man selbst eigentlich alles sieht.Mit ListPages kann dies überprüft werden.
ListPagesListPages -w http://localhost:8080/
ListPages für Ihren Benutzer NamenListPages -w http://localhost:8080/ -u UserName
26.08.2013 Reimar Bauer 26 31
MoinMoin Wikis zur Anschauung.
https://www.cirrus-rs.de/WhiteBook
https://fp7-reconcile.eu/reconciledata
https://seac4rs.fz-juelich.de/CLaMS_Forecast/medium/2012-09-24
http://linuxwireless.org
https://wiki.ubuntu.com/
http://wiki.europython.eu/
http://wiki.python.org
26.08.2013 Reimar Bauer 27 31
Schnelle Installation (Python Builtin Server)
Python Builtin Server
1 Entpacken Sie die MoinMoin Release-Archiv(http://moinmo.in/MoinMoinDownload).
2 Starten Sie wikiserver.py aus dem Verzeichnis der oberstenEbene.
3 Lesen und Befolgen Sie die Anleitung auf dieser Seite inIhrem Wiki: http://localhost:8080/LanguageSetup
Für eine echte Webserverinstallation ist es mit mod_wsgibeinahe eben so einfach, siehe hierzu die mitgelieferten docs.
26.08.2013 Reimar Bauer 28 31
Zusammenfassung
Mit den gezeigten Werkzeugen ist ein Einstieg in dieDatenverarbeitung mit Hilfe eines Wiki aufgezeigt worden. Dienachfolgenden Hilfsmittel eignen sich um aus den eigenenAnwendungen Daten direkt online zu stellen.
MoinMoin http://moinmo.in
editmoin http://pypi.python.org/pypi/editmoin
SendFiles, ReceiveFiles, ExampleWiki, ListPageshttp://pypi.python.org/pypi/wiki-xmlrpc-extensions
HelpOnArnica http://moinmo.in/ReimarBauer/HelpOnArnica
DictColumns http://moinmo.in/MacroMarket/DictColumns
MoinAPI/Beispiele http://moinmo.in/MoinAPI/Beispiele
26.08.2013 Reimar Bauer 29 31
Fragen
26.08.2013 Reimar Bauer 31 31