La Unión Europea ha propuesto un nuevo paquete de sanciones contra Rusia que incluye un embargo al petróleo. El embargo prohibiría las importaciones de petróleo ruso por mar y por oleoducto, aunque se concederían exenciones temporales a Hungría y Eslovaquia. El objetivo es aumentar la presión económica sobre Rusia para que ponga fin a su invasión de Ucrania.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
La Unión Europea ha propuesto un nuevo paquete de sanciones contra Rusia que incluye un embargo al petróleo. El embargo prohibiría las importaciones de petróleo ruso por mar y por oleoducto, aunque se concederían exenciones temporales a Hungría y Eslovaquia. El objetivo es aumentar la presión económica sobre Rusia para que ponga fin a su invasión de Ucrania.
The document discusses the benefits of exercise for mental health. Regular physical activity can help reduce anxiety and depression and improve mood and cognitive function. Exercise causes chemical changes in the brain that may help protect against mental illness and improve symptoms.
„geo.admin.ch - Lessons learned: Aufbau gemeinsamer Datendienste“
Mit drei Jahren Betrieb und monatlich einer Million Nutzer pro Monat sind die Dienste der Bundesgeodateninfrastruktur über geo.admin.ch fest in der eGovernement Landschaft verankert. Erwartungen der Endnutzer als auch durch föderale Strukturen geprägten Anforderungen der Datenherren waren und sind die Hauptherausforderung. Lösungsansätze sind auch auf andere eGovernement Initiativen anwendbar.
Kommunikation zu (Geo)daten soll Endnutzer in einfachen thematischen aggregierter Form geliefert werden. Daten selbst ändern sich schnell, offene Dienste, basierend auf offenen Standards vereinfachen die Nachführung entfällt. Dienst-Angebote sollen auch gefunden werden: Suchmaschinenoptimierung ist unerlässlich, ebenso der Einsatz von modernen Webtechnologien und mobile Zugriffsmöglichkeiten. Der Umgang mit Daten der Verwaltung ist für viele Bürger/Endnutzer immer (noch) zu komplex: einfache Lösungen, die konkrete Fragestellungen beantworten, sind zu bevorzugen.
Herausforderung auf Seite Verwaltung ist die „Institutional jealousy“ : Die Tendenz von Datenherren, Informationen zurückzuhalten und die Zusammenarbeit mit anderen Organisation zu unterdrücken – um die volle alleinige Kontrolle über die Verwendung der Daten zu behalten. Die Lösungsansätze sind einerseits die Betroffenen zum data sharing / Kooperation zu motivieren oder Systeme so zu bauen, das keine institutionelle Kooperationen benötigt werden. Letzteres ist technisch und organisatorisch nicht umsetzbar. Deshalb verfolgt geo.admin.ch ein Kooperationsstrategie in der Rechte und Rollen klar definiert sind: Datenherren werden selbst sehr stark in den Dienstbereitstellungsprozess mit einbezogen und vor allem auch individuelle Aspekte werden respektiert.
Auch wenn Technologie und die gesetzliche Grundlage noch so solide sind, ebendiese individuellen Aspekte sind schwer greifbar. Nun hängt aber der Erfolg einer effektiven gemeinsamen Nutzung von (Geo)information gerade von diesen Aspekten ab. Es geht also darum, institutionelle Widersprüche zu bereinigen, unter der Berücksichtigung, dass jede Institution seine Eigenheiten und Selbstständigkeit bewahren kann, ohne dabei das Ziel der Vernetzung der Datendienste aus den Augen zu verlieren.
Links: www.geo.admin.ch /map.geo.admin.ch
Mobile Strategien und systematische Einführung in Unternehmen - Hagen SexauerHagen Sexauer
Mobile Strategien: Im mobilen Kanal fällt es Unternehmen oft schwer ihren Kunden einen echten Mehrwert zu bieten – ein systematisches
Vorgehen ist zu empfehlen
"Bei uns ist es auch schön" - Oder: Wie Ihre Medienarbeit sicher scheitert. Presse- und Medienarbeit deutscher Tourismusregionen in der kritischen Betrachtung
Este documento presenta varios temas relacionados con la administración de empresas como el trabajo en equipo, los negocios, el liderazgo, el mercado, la medición de objetivos, la producción y las personas. Cada tema incluye una cita relevante y enlaces a recursos adicionales sobre el tema.
Im Tätigkeitsbericht werden alle Aktivitäten des Schwäbischen Chorverbandes des letzten Jahres aufgeführt. Ergänzt wird er durch die aktuelle Mitgliederstatistik. Der Tätigkeitsbericht für 2010 kann hier heruntergeladen werden.
The document discusses various types of animals that produce wool, including angora goats, sheep, Kashmir goats, pashmina goats, camels, alpacas, llamas, vicunas, and yaks. It also describes some steps involved in processing wool, such as shearing, sorting, scouring, combing, carding, dyeing, drying, and making yarn. The wool can then be used for knitting or other purposes.
Un estudiante visitó el Centro Niemeyer en Avilés y vio la exposición "El color acontece" del artista venezolano Carlos Cruz-Díez. La exposición presentaba obras creadas con colores puros y formas geométricas que producían efectos ópticos al moverse el espectador.
Das Model-View-Presenter-Pattern (MVP) wurde von Google für GWT empfohlen. Es schreibt eine strenge Trennung von View und Presenter vor, die vor allem der Testbarkeit dient. Dieser Vorteil kann auch mit GWT genützt werden, um Logik im Presenter in schnellen Unit-Tests zu überprüfen. Activities und Places helfen in GWT-Applikationen die Browser-History zu verwenden, hängen aber nicht zwingend mit MVP zusammen, wie im Vortrag gezeigt wird.
Zur Internationalisierung von Anwendungen bietet GWT schnelle, typsichere Konzepte. Es wird ein praxisorientierter Einblick gegeben und auf Stolpersteine hingewiesen.
Außerdem wird im Vortrag gezeigt, wie Performance-Probleme des generierten JavaScript-Codes umgangen werden können.
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)NETWAYS
Icinga 2 ist eine vollständige Neuentwicklung der Open Source Monitoring Lösung Icinga in C++. In diesem Webinar gehen wir auf den aktuellen Entwicklungsstand, die Möglichkeiten, sowie unter anderem auf das neue Konfigurationsschema ein.
Natürlich ist Icinga 2 - genau wie sein Vorgänger - 100% Open Source
Webinare
Archiv Link: https://www.netways.de/webinare/archiv/icinga_webinare/open_source_monitoring_mit_icinga_2/
Aktuell: https://www.netways.de/webinare/webinare_aktuell/
NETWAYS
Konferenzen: https://www.netways.de/events_schulungen/home/
Schulungen: https://www.netways.de/events_schulungen/schulungen/home/
Shop: https://shop.netways.de/
Blog: http://blog.netways.de/
Social Media
YouTube: https://www.youtube.com/channel/UC8nIBEFmjzXjXeJV_hkkeIQ
Facebook: https://www.facebook.com/netways
Google+: https://plus.google.com/+netways/
Twitter: https://twitter.com/netways
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEEBenjamin Schmid
Serverseitige Web-Technologien waren lange Zeit das Mittel der Wahl für Java-basierte Webanwendungen. Der Trend jedoch geht immer mehr zu JavaScript-basierten und damit Clientseitigen Web-GUIs. Wir werfen dazu einen Blick auf Google's AngularJS und erläutern an plastischen Beispielen seine Kernkonzepte und Funktionsweise. Was zeichnet AngularJS für die Realisierung der im Java-Umfeld häufig vertretenen, datengetriebenen Anwendungen besonders aus und wie fühlt sich die Entwicklung damit im direkten Vergleich dazu an?
Ein konkretes Fallbeispiel aus der Praxis, bei dem wir durch den Wechsel von einer JSF/Portlet-basierten Portal-Lösung hin zu einem AngularJS-basiertem Ansatz bei identischem JEE-Backend und Funktionalität Performance-Gewinne im Bereich von Zehnerpotenzen realisieren konnte, zeigt dabei auf, daß sich dieser Paradigmentwechsel durchaus lohnen kann!
„geo.admin.ch - Lessons learned: Aufbau gemeinsamer Datendienste“
Mit drei Jahren Betrieb und monatlich einer Million Nutzer pro Monat sind die Dienste der Bundesgeodateninfrastruktur über geo.admin.ch fest in der eGovernement Landschaft verankert. Erwartungen der Endnutzer als auch durch föderale Strukturen geprägten Anforderungen der Datenherren waren und sind die Hauptherausforderung. Lösungsansätze sind auch auf andere eGovernement Initiativen anwendbar.
Kommunikation zu (Geo)daten soll Endnutzer in einfachen thematischen aggregierter Form geliefert werden. Daten selbst ändern sich schnell, offene Dienste, basierend auf offenen Standards vereinfachen die Nachführung entfällt. Dienst-Angebote sollen auch gefunden werden: Suchmaschinenoptimierung ist unerlässlich, ebenso der Einsatz von modernen Webtechnologien und mobile Zugriffsmöglichkeiten. Der Umgang mit Daten der Verwaltung ist für viele Bürger/Endnutzer immer (noch) zu komplex: einfache Lösungen, die konkrete Fragestellungen beantworten, sind zu bevorzugen.
Herausforderung auf Seite Verwaltung ist die „Institutional jealousy“ : Die Tendenz von Datenherren, Informationen zurückzuhalten und die Zusammenarbeit mit anderen Organisation zu unterdrücken – um die volle alleinige Kontrolle über die Verwendung der Daten zu behalten. Die Lösungsansätze sind einerseits die Betroffenen zum data sharing / Kooperation zu motivieren oder Systeme so zu bauen, das keine institutionelle Kooperationen benötigt werden. Letzteres ist technisch und organisatorisch nicht umsetzbar. Deshalb verfolgt geo.admin.ch ein Kooperationsstrategie in der Rechte und Rollen klar definiert sind: Datenherren werden selbst sehr stark in den Dienstbereitstellungsprozess mit einbezogen und vor allem auch individuelle Aspekte werden respektiert.
Auch wenn Technologie und die gesetzliche Grundlage noch so solide sind, ebendiese individuellen Aspekte sind schwer greifbar. Nun hängt aber der Erfolg einer effektiven gemeinsamen Nutzung von (Geo)information gerade von diesen Aspekten ab. Es geht also darum, institutionelle Widersprüche zu bereinigen, unter der Berücksichtigung, dass jede Institution seine Eigenheiten und Selbstständigkeit bewahren kann, ohne dabei das Ziel der Vernetzung der Datendienste aus den Augen zu verlieren.
Links: www.geo.admin.ch /map.geo.admin.ch
Mobile Strategien und systematische Einführung in Unternehmen - Hagen SexauerHagen Sexauer
Mobile Strategien: Im mobilen Kanal fällt es Unternehmen oft schwer ihren Kunden einen echten Mehrwert zu bieten – ein systematisches
Vorgehen ist zu empfehlen
"Bei uns ist es auch schön" - Oder: Wie Ihre Medienarbeit sicher scheitert. Presse- und Medienarbeit deutscher Tourismusregionen in der kritischen Betrachtung
Este documento presenta varios temas relacionados con la administración de empresas como el trabajo en equipo, los negocios, el liderazgo, el mercado, la medición de objetivos, la producción y las personas. Cada tema incluye una cita relevante y enlaces a recursos adicionales sobre el tema.
Im Tätigkeitsbericht werden alle Aktivitäten des Schwäbischen Chorverbandes des letzten Jahres aufgeführt. Ergänzt wird er durch die aktuelle Mitgliederstatistik. Der Tätigkeitsbericht für 2010 kann hier heruntergeladen werden.
The document discusses various types of animals that produce wool, including angora goats, sheep, Kashmir goats, pashmina goats, camels, alpacas, llamas, vicunas, and yaks. It also describes some steps involved in processing wool, such as shearing, sorting, scouring, combing, carding, dyeing, drying, and making yarn. The wool can then be used for knitting or other purposes.
Un estudiante visitó el Centro Niemeyer en Avilés y vio la exposición "El color acontece" del artista venezolano Carlos Cruz-Díez. La exposición presentaba obras creadas con colores puros y formas geométricas que producían efectos ópticos al moverse el espectador.
Das Model-View-Presenter-Pattern (MVP) wurde von Google für GWT empfohlen. Es schreibt eine strenge Trennung von View und Presenter vor, die vor allem der Testbarkeit dient. Dieser Vorteil kann auch mit GWT genützt werden, um Logik im Presenter in schnellen Unit-Tests zu überprüfen. Activities und Places helfen in GWT-Applikationen die Browser-History zu verwenden, hängen aber nicht zwingend mit MVP zusammen, wie im Vortrag gezeigt wird.
Zur Internationalisierung von Anwendungen bietet GWT schnelle, typsichere Konzepte. Es wird ein praxisorientierter Einblick gegeben und auf Stolpersteine hingewiesen.
Außerdem wird im Vortrag gezeigt, wie Performance-Probleme des generierten JavaScript-Codes umgangen werden können.
Open Source Monitoring mit Icinga 2 (Webinar vom 13.11.2013)NETWAYS
Icinga 2 ist eine vollständige Neuentwicklung der Open Source Monitoring Lösung Icinga in C++. In diesem Webinar gehen wir auf den aktuellen Entwicklungsstand, die Möglichkeiten, sowie unter anderem auf das neue Konfigurationsschema ein.
Natürlich ist Icinga 2 - genau wie sein Vorgänger - 100% Open Source
Webinare
Archiv Link: https://www.netways.de/webinare/archiv/icinga_webinare/open_source_monitoring_mit_icinga_2/
Aktuell: https://www.netways.de/webinare/webinare_aktuell/
NETWAYS
Konferenzen: https://www.netways.de/events_schulungen/home/
Schulungen: https://www.netways.de/events_schulungen/schulungen/home/
Shop: https://shop.netways.de/
Blog: http://blog.netways.de/
Social Media
YouTube: https://www.youtube.com/channel/UC8nIBEFmjzXjXeJV_hkkeIQ
Facebook: https://www.facebook.com/netways
Google+: https://plus.google.com/+netways/
Twitter: https://twitter.com/netways
Schnelle Winkel: 10x schnellere Webapps mit AngularJS und JEEBenjamin Schmid
Serverseitige Web-Technologien waren lange Zeit das Mittel der Wahl für Java-basierte Webanwendungen. Der Trend jedoch geht immer mehr zu JavaScript-basierten und damit Clientseitigen Web-GUIs. Wir werfen dazu einen Blick auf Google's AngularJS und erläutern an plastischen Beispielen seine Kernkonzepte und Funktionsweise. Was zeichnet AngularJS für die Realisierung der im Java-Umfeld häufig vertretenen, datengetriebenen Anwendungen besonders aus und wie fühlt sich die Entwicklung damit im direkten Vergleich dazu an?
Ein konkretes Fallbeispiel aus der Praxis, bei dem wir durch den Wechsel von einer JSF/Portlet-basierten Portal-Lösung hin zu einem AngularJS-basiertem Ansatz bei identischem JEE-Backend und Funktionalität Performance-Gewinne im Bereich von Zehnerpotenzen realisieren konnte, zeigt dabei auf, daß sich dieser Paradigmentwechsel durchaus lohnen kann!
PHP-SEO Vortrag SEOCampixx 2013 von Sebastian BlumSebastian Blum
Im Workshop wird eine PHP-Applikation entwickelt und 2 SEO- Szenarien mit PHP-Beispielen besprochen. Szenario 1 übertragt einen bestehenden Blog in einen Unterordner einer anderen Domain (PHP-Proxy), Szenario 2 zeigt die Möglichkeiten einer Kampagnen-Speicherung mit CSV-Export der Conversions für Shops & Blogs auf, ohne die Shop- & Blogsoftware anzupassen (PHP-App für Kampagnen-Tracking).
Mit dem Google Web Toolkit (GWT) kann das Frontend einer Webapplikation bequem in Java entwickelt werden. Für die Steuerung des UIs wird von Google das Model-View-Presenter-Pattern (MVP) empfohlen.
Es schreibt eine strenge Trennung von View und Presenter vor, die zu einer sauberen Gliederung führt und der Testbarkeit dient. Wir zeigen, wie man MVP mit GWT einsetzt und dabei Unit-Tests zur Qualitätssicherung nutzt.
Activities und Places helfen in GWT-Applikationen die Browser-History zu verwenden. Wir zeigen, wie Activities und Places mit MVP zusammen spielen.
Speaker: Sven Kölpin
Komponentenbibliotheken wie Primefaces und Richfaces stellen für die Entwicklung von JSF-Anwendungen eine Vielzahl komplexer Komponenten bereit. Aber der ersten Euphorie folgt die Ernüchterung. Und statt der erhofften Vorteile muss man sich mit neuen Problemen befassen. Dabei kann man sich mit HTML5, JavaScript, Composite Components und der Behavior API maßgeschneiderte Erweiterungen für die eigene Anwendung schaffen.
Der Vortrag zeigt wie man für eine JSF-Anwendung dynamische und wiederverwendbare Bausteine für die eigene Anwendung realisieren kann.
Wartbare Oberflächentests mit Open-Source-SoftwareOliver Libutzki
Das Erstellen und Verwalten von Tests stellt im Software-Engineering eine komplexe und zeitaufwändige Disziplin dar. Nicht selten überschreiten die Aufwände, automatisierte Tests zu schreiben, den eigentlichen Implementierungsaufwand. Und noch viel schlimmer: Tests müssen gepflegt werden. Bei fachlichen oder technischen Änderungen der getesteten Software müssen auch die Tests angepasst werden.
Nils und Oliver zeigen am Beispiel von Oberflächentests wie man lesbare, wartbare und dokumentierte Tests schreiben kann, damit sich die Aufwände amortisieren. Sie zeigen dabei, dass man weder teure, kommerzielle Produkte einsetzen noch sämtliche Komponenten selbst implementieren muss. Durch die Kombination etablierter Java-Frameworks und -Tools ist es möglich, ein Test-Werkzeug zu schaffen, das das Erstellen und vor allem die Wartung von Oberflächentests extrem vereinfacht.
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinDavid Decker
Meine Erfahrungen mit dem Erstellen von Plugins für WordPress - was habe ich gelernt, worauf kommt es an? -- Hooks & Filter, Coding Standards, etc. -- ein bisschen aus dem Nähkästchen geplaudert. Vielleicht hilfreich für alle, die auch bei WordPress.org Plugins einstellen wollen, oder sich überhaupt mal an diese Materie heranwagen wollen...
German: Softwareprodukte aus einem Source Code mit JavascriptRalf Schwoebel
Erstellung von Software-Produkten mit Javascript aus einem Quelltext: Diese Präsentation der EnterJS Entwicklerkonferenz in Köln 2014 zeigt den Weg der Erstellung von Software-Lösungen mit Javascript mit den Frameworks Cordova/Phonegap und Node-Webkit.
Vom Setup bis zur App-Store Anmeldung des fertigen Produktes wird auf 44 Folien dargestellt, welche Lernkurve hinter einer solchen Entwicklung steht.
Eine Einführung in das Webshop-System "Shopware" gehalten von Marian Menzel (Inhaber PotsdamNights) bei unserem #3VDay Extended am 19. Oktober 2018. Ausführliche Informationen zu diesem Format gibt es unter https://www.vcat.de/blog/3vday/
Impulsvortrag zum Thema "Digitalisierung" für die Veranstaltung "Digitalisierte Unternehmensprozesse vs. EU-DatenschutzGVO" der IHK Potsdam am 19. Juli 2017 in Niemegk
Digitalisierung für Einsteiger - Praxisorientierter Workshop für UnternehmerVCAT Consulting GmbH
Leitfolien für das Forum 1 "Digitalisierung für Einsteiger - Praxisorientierter Workshop für Unternehmer" während des 14. Tourismustages "Ruppiner Seenland" am 27. April 2015 im Hotel & Spa Sommerfeld
CSR Im Mittelstand - Präsentation der VCAT Consulting GmbH für den BER Busine...VCAT Consulting GmbH
Die VCAT Consulting GmbH präsentiert ihre Aktivitäten im Bereich Corporate Social Responsibility (CSR) und die Entwicklung von vereinzelten Projekten hin zu einer firmeninternen CSR-Strategie. Diese Präsentation wurde eigens für das Treffen des BER BusinessClub im Unternehmerverband Brandenburg-Berlin e.V. (UVBB) erstellt und gehalten.
2. Inhalt
• die VCAT EDULABS
– Wer, Was, Wieso, Weshalb, Warum?
• das GEO-Plugin
– Sinn & Zweck
– Anwendung
– Historie & Ausblick
• der Einsatz von
– Backend-Widgets
– Query-Filters
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
2
3. Ausbildung am lebenden Objekt
DIE VCAT EDULABS
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
Nico Danneberg
3
4. VCAT Consulting GmbH
• seit 1999 in der SoftwareEntwicklung tätig
• Leistungsspektrum
– Konzentration auf das
Kerngeschäft:
• Fokus Internet
• Kreativleistungen nur über
Partner
• seit 2006 eigenständige GmbH
mit Sitz in Potsdam-Babelsberg
• Durchschnittliches Wachstum
von 20%
• 15 Mitarbeiterinnen und
Mitarbeiter
• heterogene Kundenstruktur
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
4
5. VCAT EDULABS
• Philosophie: Fachkräftesicherung durch
Aus- und Weiterbildung
– Seit 2007 Ausbildungsbetrieb für den Beruf des / der
Mathematisch-technischen Softwareentwicklers/in
– Praxis- & Projektorientierte Ausbildung
• Gründung der VCAT EDULABS mit Fokus auf OpenSource-Anwendungen (WordPress, Typo3, vTiger, u.a.)
– Reale Projekte mit „echtem“ Kundenkontakt
– Wissensrückfluss in die Community
– Öffentliche Referenzen Erhöhung der Reichweite
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
5
6. Unser erstes Projekt
DAS GEO-PLUGIN
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
Daniel Dziamski
6
7. Sinn & Zweck
• Artikel und Seiten können mit Adressdaten versehen
werden, z.B.
– Ort einer Veranstaltung
– Ort, an dem ein Foto / Fotoserie entstanden ist
• Anzeige einer Mini-Map im Inhalt des Artikels / der
Seite
• Anzeige einer Übersichtskarte mit allen Artikeln und
Seiten, inkl. Verlinkung über „Sprechblase“
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
7
8. Anwendung I
• Installation
– Plugin im WordPress Repository:
VCAT EDULABS Posts at Google Maps
– Suchen, finden & wie gewohnt installieren:
• Automatische Installation über WP Backend, Manuelle
Installation, Upload ohne FTP
• Einstellungen
– VCAT EDULABS Einstellungen im Backend
mit Unterseite für GEO-Plugin
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
8
9. Anwendung II
• Shortcodes mit Attributen
Große Map
Mini-Map
[vcat-dpagm]
[vcat-dpagm-mini]
Breite
X
X
width=„250px“
width=„75%“
Höhe
X
X
height=„100px“
Zentrum
X
-
center=„August-Bebel-Str.
26-53 14482 Potsdam“
Zoom
X
X
zoom=„10“
Ziel
X
X
target=„blank“
Ausrichtung
X
X
align=„left“
Shortcode
9. November 2013
Beispiel
-
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
9
10. Einstellungsseite
Im WordPress Backend zur Festlegung der Standardweitere aller ShortcodeAttribute
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
10
11. Backend-Widget
Im Bearbeitungsmodus von Artikeln und Seiten
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
11
12. Bearbeitung der GEO-Daten
Im QuickEdit-Modus von Seiten & Artikeln
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
12
13. Mini-Map
In der Anwendung in einem Artikel
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
13
14. Große Karte
Mit allen Artikeln und Seiten
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
14
15. Historie & Ausblick
Historie
Ausblick
• GEO-Daten für Artikel
• Frei wählbare Pins pro Artikel
und Seite
• Genaue Positionierung per
Drag‘n‘Drop im Backend
• Filter als Attribute für den
Shortcode
– Benutzer-definierte Variablen
• und Kategorien
– Meta-Daten für Kategorien nur mit
extra Plugin möglich
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
15
16. Action-Hooks, Filter API und mehr
Robin Kramer
DER EINSATZ VON
BACKEND-WIDGETS UND QUERY-FILTERS
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
16
17. Schritt 1: eigene Tabelle
register_activation_hook( __FILE__, 'vcat_db_install' );
function vcat_db_install() {
global $wpdb;
global $VCAT_GEO_PI_TABLE ;
global $vcat_db_version;
$vcat_db_version = "1.0";
$sql = "CREATE TABLE IF NOT EXISTS $VCAT_GEO_PI_TABLE
id INTEGER NOT NULL AUTO_INCREMENT,
post_id INTEGER NOT NULL,
lat FLOAT NOT NULL,
lng FLOAT NOT NULL,
str LONGTEXT,
plz INTEGER(5) ZEROFILL,
ort VARCHAR(20),
UNIQUE KEY id (id) );
";
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
(
17
18. Schritt 2: Backend-Widget
add_action( 'add_meta_boxes', 'vcat_custom_fields_init' );
function vcat_custom_fields_init() {
wp_enqueue_style( 'meta_css', PLUGIN_PATH . '/styles/meta.css');
foreach( array( 'post', 'page' ) as $type ) {
add_meta_box( 'vcat_custom_fields_meta',
'VCAT Geo Daten',
'vcat_custom_fields_setup',
$type, 'normal', 'high' );
}
}
}
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
18
19. Schritt 2: Backend-Widget
function vcat_custom_fields_setup() {
global $post;
$args = array( 'post_type' => array( 'page', 'post' ),
'posts_per_page' => 1, 'p'=>$post->ID );
$current = new WP_Query( $args );
$post = $current->post;
// notwendiges HTML laden
include( PLUGIN_FOLDER . '/custom/meta.php' );
echo '<input type="hidden" name="vcat_custom_fields_nonce"
value="' . wp_create_nonce( __FILE__ ) . '" />';
}
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
19
20. Schritt 2: Backend-Widget
• Speichern
add_action( 'save_post', 'vcat_custom_fields_save' );
• Löschen
add_action( 'delete_post', 'vcat_delete_data' );
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
20
21. Schritt 3: Query-Filters
• Filter-Hooks für die WP_Query
– posts_where_paged
– posts_groupby
– posts_join_paged
– posts_orderby
– posts_distinct
– post_limits
– posts_fields
• posts_clauses – Filter für alle Query-Elemente
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
21
22. Schritt 3: Query-Filters
add_filter( 'posts_clauses', 'vcat_geo_filter', 10, 2 );
function vcat_geo_filter( $clauses ){
global $wpdb, $VCAT_GEO_PI_TABLE, $post;
$join = &$clauses[ 'join' ];
$join .= " LEFT JOIN $VCAT_GEO_PI_TABLE ON
$VCAT_GEO_PI_TABLE.post_id = $wpdb->posts.ID";
$fields = &$clauses[ 'fields' ];
$fields .= ", $VCAT_GEO_PI_TABLE.post_id, $VCAT_GEO_PI_TABLE.lat,
$VCAT_GEO_PI_TABLE.lng, $VCAT_GEO_PI_TABLE.str,
$VCAT_GEO_PI_TABLE.plz, $VCAT_GEO_PI_TABLE.ort";
return $clauses;
}
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
22
25. Schritt 5: Backend-Listen
• Spalten
add_filter('manage_post_posts_columns', 'vcat_add_post_column');
add_filter('manage_page_posts_columns', 'vcat_add_post_column');
add_action('manage_posts_custom_column', 'vcat_render_post_columns', 10, 2);
add_action('manage_pages_custom_column', 'vcat_render_post_columns', 10, 2);
function vcat_render_post_columns($column_name) {
switch ($column_name) {
case 'post_address':
global $post;
/*…*/
break;
}
}
• Quick-Edit
add_action('quick_edit_custom_box', 'vcat_add_quick_edit', 10, 2);
add_action('save_post', 'vcat_quick_edit_save');
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
25
26. Schritt 5: Backend-Listen
function vcat_quick_edit_javascript() {
global $current_screen;
if ((($current_screen->id != 'edit-post')
&&($current_screen->id != 'edit-page'))
|| (($current_screen->post_type != 'post')
&&($current_screen->post_type != 'page'))) return;
?>
<script type="text/javascript">
function insert_data(str, plz, ort, nonce) {
inlineEditPost.revert();
var strInput = document.getElementById('quick_edit_str');
/*…*/
strInput.value = str;
/*…*/
}
</script>
<?php
}
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
26
27. Schritt 5: Backend-Listen
function vcat_expand_quick_edit_link($actions, $post) {
global $current_screen;
$nonce
$str =
$plz =
$ort =
= wp_create_nonce( /*…*/ );
$post->str;
$post->plz;
$post->ort;
$actions['inline hide-if-no-js'] =
'<a href="#" class="editinline" title="'
. esc_attr( __( 'Edit this item inline' ) ) . '" ‚
. " onclick="insert_data('{$str}',/*…*/')">„
. __( 'Quick Edit' ) . '</a>';
return $actions;
}
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
27
28. Q/A – Fragen & Antworten
Dem QR-Code folgen und diese Präsentation online sehen…
9. November 2013
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
28
29. Kontakt
• EDULABS – ein Projekt der
VCAT Consulting GmbH
• August-Bebel-Straße 26-53
MedienHaus
14482 Potsdam
• T: +49 (331) 721339 - 0
F: +49 (331) 721339 - 2
W: vcat.de/edulabs
M: edulabs@vcat.de
9. November 2013
Lassen Sie uns in Kontakt bleiben:
F
G
S
T
W
X
facebook.com/VCATconsulting
gplus.to/VCATconsulting
slideshare.net/VCATconsulting
twitter.com/VCATconsulting ( #edulabs )
http://profiles.wordpress.org/VCATconsulting
xing.com/companies/vcatconsultinggmbh
WP Camp 2013 Berlin - Session "Plugin-Entwicklung mit eigenen Tabellen, BackendWidgets und Query-Filters"
29