Automatisierte Darstellung von Modell- und Mess-Daten im Wiki€¦ · Helmholtz-Gemeinschaft...

Post on 27-Sep-2020

3 views 0 download

Transcript of Automatisierte Darstellung von Modell- und Mess-Daten im Wiki€¦ · Helmholtz-Gemeinschaft...

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, IEK-7r.bauer@fz-juelich.derb.proj@gmail.com@ReimarBauerdreimark@chat.freenode.nethttp://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

Danke und ein Wiedersehen auf der PyCON.DE!

26.08.2013 Reimar Bauer 30 31

Fragen

26.08.2013 Reimar Bauer 31 31