Owncloud 6 Kalender – ICAL-Feeds importieren/exportieren

ACHTUNG: Dieser Beitrag bezieht sich auf Version 6. In den Kommentaren findet Ihr Hinweise zur Funktion unter Owncloud 7 und 8.

Seit Owncloud 8.1 kann man diese Features über eine Alternative App bekommen, siehe: http://zeit-zu-handeln.net/2015/07/webdesign/owncloud-kalender-feeds-mit-calendar-plus/.

Mit Version 9 ist aber auch diese nicht mehr zu empfehlen. Zum aktuellen Stand dieses Features siehe meinen Kommentar vom 11.07.2016 weiter unten.

Spätestens seit der Version 5.0 eignet sich Owncloud perfekt um seine Kalender selbst zu hosten. Die Bedienung im Browser, so wie die für mich viel wichtigere Synchronisation mit Thunderbird und meinem Android-Handy via CalDAV läuft eigentlich „out of the box“. Bei Thunderbird klappt das mit dem Kalender-Addon Lightning und bei Android habe ich gute Erfahrungen mit der App CalDAV-Sync gemacht.

Nichts desto trotz gab es paar Dinge die mich am Kalender von Owncloud immer gestört haben. Zu denen gehört an oberster Stelle der Import und Export von ICAL-Feeds. Ich zeige hier auf, wie man seine cloud um diese Features nachrüsten kann.

ICAL-Feed importieren

Einzelne Kalenderdaten (*.ics, *.ical) lassen sich über die Benutzeroberfläche derzeit leicht importieren, doch das Abonnieren von ICAl-Feeds ist so nicht möglich. Abhilfe schafft ein kleines PHP-Skript, welches sich die bereits bestehende Import-Funktionalität zunutze macht und Termine aus einer Feed-Adresse einliest. Ich habe diesen Codeschnipsel im Owncloud-Forum entdeckt und ein wenig angepasst.


 "sahne",
	 "displayname" => "Piraten Mittelfranken",
	 "filename" => "https://events.piratenpartei-bayern.de/events/ical/?gid[]=10&limit=&subgroups=1&start=01.01.2013&end=&submit=Generieren"
 ),
 //Der öffentliche Feiertags-Kalender von Google
 array(
	 "userid" => "sahne",
	 "displayname" => "Feiertage",
	 "filename" => "https://www.google.com/calendar/ical/de.german%23holiday%40group.v.calendar.google.com/public/basic.ics"
 ),
);

foreach($Import AS $cal)
{
 //Nachsehen ob der Kalender auf der Owncloud auch existiert
 try {
	 $stmt = OCP\DB::prepare( 'SELECT * FROM `*PREFIX*clndr_calendars` WHERE `userid` = ? AND `displayname` = ?' );
	 $result = $stmt->execute(array($cal["userid"], $cal["displayname"]));
	 $row = $result->fetchRow();
	 $calendar_id = $row['id'];
	 if (!$calendar_id) {
		echo "No calendar for userid " . $cal["userid"] . " with displayname '" . $cal["displayname"] . "'";
	 }
 } catch (Exception $e) {
	echo "DB exception: " . $e;
 }

 // Daten aus dem Feed laden
 $file = file_get_contents($cal["filename"]);
 if ($file === FALSE) {
	echo "Couldn't read file: ".$cal["filename"];
 }

 //Import durchführen
 $import = new OC_Calendar_Import($file);
 $import->setUserID($cal["userid"]);
 $import->setTimeZone(OC_Calendar_App::$tz);
 $import->setCalendarID($calendar_id);
 $import->setOverwrite(true);
 OC_User::setUserId($cal["userid"]);

 try {
	 $import->import();
	 $count = $import->getCount();
	echo "Imported ".$count." objects in Calendar ".$cal["displayname"]."(".$cal["userid"].")\n";
 } catch (Exception $e) {
	echo "Import failed: " . $e;
 }
}

?>

Wenn man diese Datei nun als Cronjob im gewünschtem Intervall ausführen lässt hat man alle Termine immer im Blick.

ICAL-Feeds exportieren

Es gibt bisher nicht die Möglichkeit einen öffentlichen ICAL-Feed von Kalendern zu erstellen. Man kann sich zwar eingeloggt mit entsprechenden Rechten Kalender als ICAL exportieren und könnte diese URL auch anderswo importieren, jedoch müssten hierzu Benutzername und Passwort in der URL übergeben werden.

Abhilfe schafft ein Update von rysiekpl welches sich auf GitHub herunterladen lässt. Die Dateien einfach mit denen der ursprünglichen Kalender-App unter apps/calendar ersetzen und es wird die Funktionalität Kalender öffentlich zu teilen, wie man es aus anderen Bereichen der Owncloud kennt, nachgerüstet. Wer ungern an an seiner Installation rumspielt sei gesagt, dass das Update mit etwas Glück im nächsten offiziellen Release eingebaut wird.

WordPress Plugin: kandidaten2013.de

Zur Landtags-, Bezirkstags- und Bundestagswahl gibt es in Bayern ein Portal auf dem man sich über die Kandidaten der Piratenpartei informieren kann. Dieses ist noch nicht vollständig gefüllt findet man aber bereits hier: http://kandidaten2013.de

Um Profile von Kandidaten in das WordPress von Gliederungen oder Ähnlichem direkt einbinden zu können habe ich ein kleines Plugin geschrieben. Dieses ist nun auch auf der Bayern-IT installiert.

Anwendung

Nach der Installation kann man auf Seiten oder Blogpost via Shortcode einfach das komplette Profil eines Kandidaten unter Angabe seiner ID einbinden:

[kandidat]95[/kandidat]

So wird Beispielsweise das Profil von Bruno Kramm (ID=95) eingebunden. Die IDs aller Kandidaten kann man hier einsehen:
http://www.kandidaten2013.de/liste.html

Hier 2 Screenshots, wie das ganze in den Themes Piratenkleider und Scapegoat, welche bei der Piratenpartei sehr verbreitet sind, aussieht. Anpassbar ist das ganze durch CSS, beispielsweise durch das Plugin Header and Footer welches auch auf der dem WordPress-Netzwerk der Bayern-IT installiert ist.

profil_piratenkleider profil_scapegoat

Widget

Außerdem ist ein Widget verfügbar durch welches Kandidaten mit einem kleinen Profilbild, Namen und Art der Kandidatur aufgeführt weden. Verlinkt wir hier auf das komplette Profil auf kandidaten2013.de.

widget_piratenkleider widget_scapegoatwidget_settings

Es kann eingestellt werden wieviele Kandidaten angezeigt werden. Durch kommagetrennte IDs gibt man an welche Kandidaten angezeigt werden sollen. Möchte man eine zufällige Anzeige von Kandiaten haben gibt man einfach mehr IDs als anzuzeigende Kandidaten an. Bei der ID=0 wird irgendein Kandidat aus Bayern angezeigt.

Möchte man also einfach irgendeinen Kandidaten aus Bayern anzeigen nimmt man folgende Einstellungen:

Anzahl angezeigter Kandidaten: 1
Kandidaten-IDs: 0

Möchte man einen der Direktkandidaten aus Roth anzeigen

Anzahl angezeigter Kandidaten: 1
Kandidaten-IDs: 9, 23, 3

Möchte man alle Direktkandidaten aus Roth anzeigen:

Anzahl angezeigter Kandidaten: 3
Kandidaten-IDs: 9, 23, 3

Download und Weiterentwicklung

Ihr könnt euch das Plugin auf Github herunterladen, außerdem sind dort auch die Sources. Über Feature-Requests oder Weiterentwicklungen würde ich mich freuen.

Neuerungen auf meinem Blog

Hallo,

ich habe nun eine Rubrik Fotos auf der ich zukünftig Bilder von mir einstellen werde. Im Moment sind bereits Bilder vom Sommerfest der mittelfränkischen Piraten und der Demonstration gegen die GEMA-Tarifreform veröffentlicht. Ich nutze hierfür das Plugin NextGEN Gallery.

Außerdem habe setzte ich nun Piwik zur Nutzungsanalyse meines Blogs. Piwik bietet ganz ähnliche Funktionen wie Google-Analytics, ist jedoch OpenSource (läuft somit auf meinem eigenen Hosting) und erlaubt einen Datenschutz-konformen Einsatz in Deutschland.

Politischer Blog: pirat-gruber.de

Mein politischer Blog: pirat-gruber.de

Für alle die es noch nicht mitbekommen haben, ich habe seit kurzem einen Blog eingerichtet auf dem ich als Direktkandidat für die Bundestagswahl 2013 zu Themen Stellung beziehe und über meine Tun in diesem Zusammenhang berichte.

Ich werde keine Cross-Posts zwischen den beiden Blogs machen. Daher lohnt es sich, falls euch die Politik interessiert, den Neuen zu abonnieren.

Dieser Blog ist explizit zur Außendarstellung gedacht, er ist hier zu finden: http://pirat-gruber.de
http://daniel-gruber.eu

Fragen an meinen Bürgermeister zum Breitbandausbau und der Veröffentlichung von Protokollen

Sehr geehrter Herr Miehling,

ich hatte vor ca. 7 Wochen mit Ihrem Büro telefoniert, da ich mich erkundigen wollte ob es eine Möglichkeit gibt Sitzungsprotokolle auch digital zu erhalten. Es wurde mir mitgeteilt, dass Sie an einer Lösung arbeiten Protokolle zeitnah auf Ihrer Website veröffentlichen und anschließend dort archivieren zu können. Können Sie mir sagen, wie hier der aktuelle Status ist und wie der weitere Zeitplan aussieht?

Zum anderen hatten Sie auf der letzten Bürgerversammlung in Dorsbrunn davon berichtet, dass bis Mitte des Jahres in der gesamten Gemeinde flächendeckend Internetzugänge mit einer Bandbreite von mindestens 6.000 kbit/s verfügbar sein sollen. Gibt es hierzu bereits weitere Informationen und kann der Zeitplan eingehalten werden?
Sie hatten zwar gesagt, dass die Gemeinde selbst kein Risiko trägt falls nachher wenig Bedarf herrscht, dennoch fände ich ein Informationsschreiben an betroffene Bürger über die künftigen Anschlüsse sinnvoll, da im Moment die Telekom verstärkt für Ihre LTE-Tarife wirbt.

Hat die beschlossene Breitband-Förderung des Landkreises Weißenburg-Gunzenhausen (http://www.nordbayern.de/region/weissenburg/80-prozent-forderung-1.2012055) Einfluss auf Ihre Pläne und sind individuelle Richtfunklösungen eventuell bald nicht mehr nötig? Angeblich soll der Glasfaserring ja auch noch dieses Jahr gebaut werden. Haben Sie hierzu weiterführende Informationen?

Mir freundlichen Grüßen

Daniel Gruber

Update #1:

Herr Miehling hatte sich innerhalb kürzester Zeit, obwohl es Wochenende war bei mir gemeldet. Herzlichen Dank hierfür.

Er befindet sich Momentan aufgrund eines Herzinfarkts Ende März noch bis zum  07. Mai im Krankenstand und bittet daher noch um ein wenig Geduld. Der zuständige Mitarbeiter für Breitband und Systemadministration ist momentan auch im Urlaub; Herr Miehling würde sich aber „schlau machen“ und sich zeitnah bei mir melden.

Die Informationen hinsichtlich des Breitbandausbaus auf Landkreisebene, die über die Presse kommuniziert wurden, beeinträchtigen den von uns beschlossenen Ausbau nicht, stehen aber auch nicht im Widerspruch, da wir die von uns eingeleiteten Maßnahmen nur als Zwischenschritt ansehen.

Update #2:

Ich habe heute die angekündigten Antworten erhalten:

Sitzungsprotokolle

Der Markt Pleinfeld setzt seit kurzem ein neues „Ratsinformations-System“ (RIS) ein, welches (irgendwann) auch die Möglichkeit bereit stellt, die Protokolle zeitnah im Internet zu veröffentlichen. Leider läuft die Software noch nicht ganz rund, einige technische Voraussetzungen müssen noch geschaffen und auch einige rechtliche Aspekte müssen mit der Rechtsaufsichtsbehörde geklärt werden, bevor wir die Protokolle online stellen.

Deshalb möchte ich mich zum jetzigen Zeitpunkt noch nicht genau festlegen, ab wann die entsprechenden Unterlagen im Netz erscheinen werden bzw. wie der weitere Zeitplan aussieht.

Flächendeckender Internetzugang

Der Vertrag zum Ausbau der flächendeckenden Breitbandversorgung im Gemeindegebiet zwischen den Firmen Franz-Computer / RMS systems wurde am 16.04.2012 geschlossen. Ein früherer Vertragsabschluss war aufgrund gesetzlicher Vorschriften, welche während der sog. haushaltslosen Zeit gelten (d.h. bis zum Vorliegen des genehmigten gemeindlichen Haushalts 2012), leider nicht möglich.

Die beiden Betreiberfirmen haben allerdings ihr Wort vom „schnellen Start“ gehalten. Ich habe heute Vormittag erfahren, dass Veitserlbach und Teile von Ramsberg bereits versorgt werden. Der weitere Ausbau wird momentan sukzessive vorangetrieben. Entsprechende weitere Informationen erscheinen in der nächsten Ausgabe der Bürgerinfo.

50MBit-Netz im Landkreis

Die beschlossene Breitbandförderung des Landkreis für den sog. Glasfaserring hat momentan keinen Einfluss auf die Pläne der Marktgemeinde. Man sollte unterscheiden, dass hier zwei verschiedene Vorhaben (Kommune <–> Landkreis) vorliegen. Bzgl. des Hochgeschwindigkeitnetzes liegen mir momentan nur wenige Informationen vor. Ein genauerer Fahrplan liegt auch der Landkreisverwaltung scheinbar noch nicht vor, da keine genauen Termine in einem vor kurzem versandten Informationsschreiben an die Gemeinden genannt werden. Genaueres kann ich ggf. nach einer IT-Leiter-Besprechung Mitte/Ende Juni sagen.  Deshalb wird die Gemeinde den og. Ausbau durch die beiden Firmen weiter vorantreiben.

Stellungnahme zum „Schachverbot“ am Karfreitag

Glücklicherweise haben wir im Grundgesetz der Bundesrepublik Deutschland Artikel 4 die Religionsfreiheit verankert. Am kommenden Freitag gilt in Bayern, wie jedes Jahr am Karfreitag, ein ganztätiges Tanzverbot. Dieses Tanzverbot ist nur ein Beispiel dafür, dass es zwar eine Freiheit der Religionsausübung gibt, man jedoch nicht frei von religiöser Bevormundung ist.
Wir leben in einer pluralistischen und vielfältigen Gesellschaft, in der eine klare Trennung von Staat und Religion angebracht wäre. Die Privilegierung der christlichen Kirchen durch den Staat ist nicht mehr zeitgemäß.

Zu welch absurder Situation keine klare Trennung von Kirche und Staat führen kann, zeigt uns diese Woche die Stadt Weißenburg. Jedes Jahr zur Karwoche finden die mittelfränkischen Schachmeisterschaften statt, dieses Jahr in Weißenburg. Da der Oberbürgermeister Jürgen Schröppel den erneuten Konflikt mit den christlichen Kirchen scheute, verknüpfte er die Erlaubnis am Karfreitag Schach zu spielen an die Zustimmung der Kirchen. Diese verwehrten dem Veranstalter jedoch die Austragung der Spiele. Nun finden die Meisterschaften in verkürzter Form statt und werden von einem Großteil der Teilnehmer boykottiert.

Ich bin mir noch nicht ganz sicher, was hier schwerer wiegt. Dass die christlichen Kirchen sich am Schachspielen stören und deswegen jedem vorschreiben möchten, wie man seinen Feiertag eben nicht verbringen darf oder die Tatsache, dass Herr Schröppel hier Genehmigungen der Stadt Weißenburg erst von Gottes Gnaden absegnen lässt.

Ich möchte nochmals herausstellen, dass es sich um Schach handelt. Ich kann mir kaum eine Beschäftigung vorstellen, diesen sogennanten „stillen Feiertag“ noch ruhiger zu begehen. Es ist auch bemerkenswert, dass die Meisterschaften bisher jedes Jahr am Karfreitag stattfinden konnten, nur nicht in Weißenburg.

Auch wenn es für den TSV 1860 als Veranstalter kein Trost sein wird, so freue ich mich dennoch, dass durch die Anmeldung der Kundgebung „Das Feiertagsgesetz Schachmatt setzen!“ eine Möglichkeit geschaffen wurde, den Karfreitag bei einer Partie Schach genießen zu können. Die Kundgebung findet ab 15:00 Uhr auf dem Martin-Luther-Platz in Weißenburg statt.

 

Für die Piratenpartei Weißenburg-Gunzenhausen

Daniel Gruber


Touchpad per Funktionstaste in Xubuntu deaktivieren

Da nach der Installation von Xubuntu 11.10 leider nicht alle Funktionstasten auf Anhieb funktioniert haben musste ich mich noch selbst drum kümmern.

Eine für mich sehr wichtige Funktionstaste war immer die zum Deaktivieren des Touchpads, da ich beim Tippen öfters mal versehentlich drauf komme und dann mit dem Mauszeiger irgendwo hin springe.

Nach ein wenig Recherche habe ich herausgefunden, dass man das Touchpad durch den Befehl

synclient TouchpadOff=1

deaktivieren kann. Da beim Drücken der Funktionstaste das Touchpad aber natürlich auch wieder angehen soll wenn es gerade deaktiviert ist braucht es ein kleines Skript, welches den aktuellen Status ausliest und dementsprechend den richtigen Befehl ausführt. Durch

synclient -l

kann man sich alle aktuellen Einstellungen ausgeben lassen, also braucht es nur ne einfache Regex die über die Ausgabe läuft.

#!/bin/bash

if synclient -l|grep -e 'TouchpadOff.*= 0' -c -q
   then
      synclient TouchpadOff=1
   else
      synclient TouchpadOff=0
fi

Über Einstellungen > Tastatur > Tastenkürzel für Anwendungen kann man dem Skript dann ein Tastenkürzel zuweisen.

Standard-Browser unter Xubuntu 11.10

Xubuntu hat in der neustes Version 11.10ein Problem damit den Standardbrowser richtig umzustellen.  So öffnen sich selbst nach der Umstellung Links aus Thunderbird und pidgin mit Firefox.

Nach längerem googlen habe ich nun auch endlich eine Lösung für das Problem gefunden.

In der Datei /usr/share/applications/defaults.list, welche unter Ubuntu-Derivaten die Standardanwendungen festlegt wird nicht komplett umgestellt.

Mann muss in der Datei nun nur alle Vorkommen von firefox.desktop durch den gewünschten Browser ersetzten, in meinem Fall wäre das für Chrome google-chrome.desktop.

Das geht recht schnell mit Vim durch den Befehlt :%s/firefox/google-chrome/

Automatischer Redirect zu SSL-Proxy bei ALL-INKL

Ich besitze aus finanziellen Gründen keinen eigenen Server, sondern nur ein Hosting Angebot. Ich bin nun schon seit einigen Jahren bei all-inkl.com und bin dort mit dem äußerst guten Support sowie den Leistungen wirklich sehr zufrieden.

Da ich momentan an der Idee des Web 2.1 von @alx42 arbeite wird für mich nun erstmal der angebotene SSL-Proxy interessant.

Da es sich um einen kostenlosen Dienst handelt, sind die Zertifikate natürlich nicht für die eigene Domain ausgestellt. Das bedeutet wenn man nun

https://meineDomain.de

aufruft muss man eine Sicherheits-Ausnahme für das Zertifikat akzeptieren, da die Identität der Domain nicht verifiziert werden kann. Um dem zu entgehen erreicht man seine Domain auch unter folgender Adresse mit gültigem Zertifikat.

https://ssl-account.com/meineDomain.de

Da ich SSL nicht für Projekte mit repräsentativen URLs brauche passt das also sehr gut. Um mir dennoch das ständige Getippe zu ersparen habe ich mir eine .htaccess geschrieben die eine automatische Weiterleitung von

http://meineDomain.de

zu

https://ssl-account.com/meineDomain.de

regeln soll.

RewriteEngine on
#Falls kein HTTPS aufegrufen wurde...
RewriteCond %{HTTPS} off
#...und die Anfrage nicht von der Domain des Proxy kommt
RewriteCond %{HTTP:X-FORWARDED-SERVER} !^ssl-account\.com$ [NC]
#leite weiter auf den Proxy
RewriteRule ^(.*)$ https://ssl-account.com/meineDomain.de/$1 [R=301,L]

Die 2. Bedingung, die besagt der Aufruf darf nicht vom Proxy kommen, ist wichtig da ansonsten eine Endlos-Schleife erzeugt wird.