Digital nervous systems GmbH Krugstraße 12 90419 Nürnberg Office 365 / Sharepoint 2010 Kleinere Lösungen mit Javascript und dem Client.

Slides:



Advertisements
Ähnliche Präsentationen
Was gibt´s neues im Bereich Sicherheit
Advertisements

Entwicklung UnivIS-Anbindung auf Basis von PHP und DOM-XML
Systemverwaltung wie es Ihnen gefällt.
Kapselung , toString , equals , Java API
1 Software Solutions GmbH & Co. KG Stresemannstraße Hamburg Entwicklung einer Konvention für Online–Weiterbildungsinformationen.
Seminar Internetdienste Web 2.0 und Rich Internet Applications (RIA) JavaFX Rainer Scholz.
Java: Dynamische Datentypen
Listen Richard Göbel.
Colibi Bibliothekssystem der Computerlinguistik. Einführung Motivation Was braucht Colibi? Software Datenbankdesign.
Web-Programmierung und Web 2.0-Technologien
Ein Beispiel in Java.
Konstruktoren.
Web 3.0 – Programmierung – Semantic Web / CIDOC CRM
Oracle WebServer - Einführung. © Prof. T. Kudraß, HTWK Leipzig Oracle Web Application Server HTML WebServer ® File system Static HTML PL/SQL Packages.
Die Skriptsprache Perl (8) Wolfgang Friebel DESY Zeuthen.
Einführung in Visual C++
DVG Klassen und Objekte
Zukunft des Webs? Dennis Beer Christian Blinde
Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.
Welche Funktion hat die php.ini? -Beinhaltet wichtige Einstellungen für PHP. Genannt seien hier u.a. der Speicherort von Cookies, Parameter der Kompilierung,
Microsoft Project 2013 & Project Server 2013
Ribbon Benutzeroberfläche / UI SharePoint Workspace SharePoint Mobile Office Client und Office Web App Integration Unterstützung von Standards.
Oliver Schnider Peaches Industries GmbH Its time to be ready for May 12th.
In dem Login-Bereich können lektorat.de-Kunden ihren Datensatz eigenständig pflegen und aktualisieren. Wie gelangen Sie in diesen Bereich? Der Zugang zum.
Wir bauen uns eine Webapplikation!
DNS Domain Name System oder Domain Name Service
Sharepoint Workshop Markus Wehr
Silverlight Eine Einführung. Agenda 1.Was ist Silverlight? 2.Die Silverlight Philosophie 3.Vorstellung des Szenarios 4.Einführendes Beispiel 5.Konzepte.
„Erneuerbare Energien und die Photovoltaik-Anlage der HEMS“
JavaScript.
Warum brauche ich ein CMS – Content Management System?
ArcGIS als WPS Server Aktueller Stand der Umsetzung
SharePoint 2010 for Information Architects
Rüdiger Meyer Senior Manager Industry Strategy
SQL Server 2005 CLR-Integration
Projektarbeit PHP 5.3 / MySQL & Content Management Systems
Daniel Yves Ostwald …vor 6 Monaten Bob C# Silverlight ! ASP.NET WCF ? iPad Objective C HTML 5 In 3 Tagen ! Mono.
Michael Greth - Judith Schütz - Daniel Wessels. Referenten Michael Greth / Daniel Wessels Consultant und Trainer SharePoint Technologien Microsoft Most.
Michael Köster User Experience Specialist Microsoft Corporation.
Brand my SharePoint Grafische Gestaltung von SharePoint-Webseiten
Was macht eigentlich dieses ExsoForm? Ein Beispiel für eine Dokumentendefinition in Screenshots.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Developer Day Office APPs entwicklen Simon Amrein Trivadis AG Die ersten Schritte in eine neue Office-Welt.
What’s New Microsoft Dynamics NAV 5.0
CGI (Common Gateway Interface)
… und was man damit machen kann.
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Ebusiness WS 2007 Hilfestellungen zur Klausurvorbereitung
Online Consulting AG Weststrasse 38 CH-9500 Wil Tel.+41 (0) Fax+41 (0) screen AG Töpferstrasse 5 CH-6004 Luzern Tel. +41 (0)
RATEME Suchen und Bewerten von Ausgangsorten. Inhalt RateMe - Pirmin Schürmann, Thomas Junghans - Hochschule für Technik Zürich 2 Unser Ziel.
Elektronische Landkarten am Beispiel der Google Maps API Map Objects.
Vortrag: Frames & Javascript.
Information Rights Management Nutzen und Grenzen Daniel Schnyder.
MSDN TechTalk Anwendungen integrieren in Microsoft Dynamics CRM 4.0.
W W W - World Wide Web. Das World Wide Web kommt aus dem Englischen und bedeutet ‚Weltweites Netz‘ ist ein über das Internet abrufbares Hypertext-System.
Tutorium zur LV Forschungspraktikum II (Higher Education) Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.
Die Vereinsverwaltung unter Windows 2000 Anhand der folgenden Präsentation werden Sie mit der Verwaltung des Vereins unter Windows 2000 vertraut gemacht.
Web und Mobile Apps Programmieren Marco Jakob Kurzvortrag OSS an Schulen
Internet-Grundtechnologien. Client / Server Client („Kunde“): fordert Information / Datei an im Internet: fordert Internetseite an, z.B.
Microsoft Silverlight Autor: Christian Pirker. Inhalt Einführung Silverlight Einführung XAML Silverlight 1.0 und 1.1 Silverlight 2.0 Silverlight 3.0 Ausblick.
Gerald KieferSchulstiftung Freiburg1 Das Internet als Kommunikationsmedium Internet für Einsteiger Sasbach im Februar 2000.
Geomapping. Themen Heute GeoJSON Paths Projections Features Daten beschaffen Projekte weiter bringen.
Oracle IFS Die Brücke zwischen Content Management System und einer Produktpräsentation im Internet.
Application Infrastructure Technologies Extending OnPremise EAI to the Cloud Wilfried Mausz BSc. dataformers GmbH Lothar Mausz dataformers.
Campus Bern Patrick Mäschli, Software Architect
Anpassen Ihrer Microsoft SharePoint Onlinewebsite
Implementieren von Klassen
SOFTWARE- UND WEB-LÖSUNGEN
 Präsentation transkript:

digital nervous systems GmbH Krugstraße Nürnberg Office 365 / Sharepoint 2010 Kleinere Lösungen mit Javascript und dem Client Object Model selbst erstellen Motivation Bausteine Lösung Javascript

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Javascript API*s gibt es mittlerweile überall… * Application Programming Interface

digital nervous systems GmbH Krugstraße Nürnberg MOSS 2007 Office 365 Eigener Server Public Cloud Sharepoint 2012 Private Cloud [t] Möglichkeiten auf dem Server Möglichkeiten auf dem Client Betreibbarkeit / SLAs

digital nervous systems GmbH Krugstraße Nürnberg Motivation sich mit der Client-seitigen Entwicklung zu beschäftigen: Wegen Betreibbarkeit eingeschränkte Entwicklungs- Möglichkeiten (Sandbox, keine TimerJobs,…) Wachsende Anzahl von öffentlichen Services, die integriert werden sollen (Facebook, Google Maps/Docs,..) Veränderte Geschäftsmodelle, die sich auch auf die IT- Architektur (Wo wird welcher Code ausgeführt?) auswirken

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Es gibt drei technische Varianten des SP Client Object Models: JAVASCRIPT.NET SILVERLIGHT

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Für welche Aufgaben benutzt man das Client Object Model? JAVASCRIPT.NET UI innerhalb Sharepoint Zugriffe von außen

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Vorschau auf das Endergebnis

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT JAVASCRIPT CODE auf Seite einfügen JAVASCRIPT LIBRARIES laden KUNDENDATEN auslesen mit dem Client Object Model KARTENMARKIERUNGEN setzen mit der GoogleMaps API Einzelschritte zum Ergebnis A B C D

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Grundlegende Tipps: Einzelteile erstmal außerhalb von Sharepoint entwickeln z. B. mit JS-Fiddle (s. Ende dieses Foliensatzes) Sich mit dem Javascript-Debugger anfreunden z. B. mit IE-Developer-Tools (s. Ende dieses Foliensatzes) Closures und asynchrone Aufrufe verstehen (s. Ende dieses Foliensatzes)

digital nervous systems GmbH Krugstraße Nürnberg A Javascript Libraries laden...befinden sich als Sandbox Solutions in diesem Foliensatz. MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg A Javascript Libraries laden - das Resultat Sharepoint Object Model google Maps API jQuery Namespace SP.ClientContext.get_current(); google.maps.Geocoder(); $("#map_canvas").show(); MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg B Javascript Code auf Seite einfügen...mit Hilfe des Inhalts-Editor-WebParts Zum Probieren zuerst HTML-Button verwenden - später den Code in eine Textdatei ablegen, damit er an anderen Stellen wiederverwendet werden kann. MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg Wo fange ich an? Wie greife ich auf die aktuelle Liste zu? Manchmal fehlt einem jemand, den man fragen kann… MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg Wo fange ich an? …doch zum Glück gibt es den Context! SPContext Hier, hab die Liste für Dich schon mal geholt! MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg C Kundendaten auslesen mit dem Client Object Model context = SP.ClientContext.get_current(); var web = context.get_web(); context.load(web); var currentlibid = SP.ListOperation.Selection.getSelectedList(); var currentLib = web.get_lists().getById(currentlibid); var selectedItemCount = SP.ListOperation. Selection.getSelectedItems().length; currentItem = new Array(selectedItemCount); AStartpunkt ist immer gleich Hier bekommen wir Zugriff auf die Auswahl der Liste MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg C Kundendaten auslesen mit dem Client Object Model var camlQuery = new SP.CamlQuery(); camlQuery.set_viewXml(queryA); allItems = currentLib.getItems(camlQuery); context.load(allItems); Die benötigten Daten werden als CAML-Abfrage formuliert Wichtig: Erst mit.load passiert wirklich etwas MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg D Karte erzeugen var myOptions = { zoom : 10, center: new google.maps.LatLng( , ), mapTypeId: google.maps.MapTypeId.ROADMAP }; $("#map_canvas").show(); // die Karte generieren map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); Optionen für die Darstellung der Karte Bereich "ausklappen" Kartendaten von Google holen MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg D Kartenmarkierungen setzen var geocoder = new google.maps.Geocoder(); geocoder.geocode( { 'address': l.caddress}, function(results, status) { if (status == google.maps.GeocoderStatus.OK) { var latlng = results[0].geometry.location; // den Marker einsetzen var marker = new google.maps.Marker( { position: latlng, title: l.cname + ": " + l.caddress}); // auf der Karte platziern marker.setMap(map); Der geocoder macht aus der Adresse eine Geo-Koordinate MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Sandbox Solutions für die Javascript Bibliotheken Javascript-Code für das Content-Editor WebPart Felder im CAML beziehen sich auf die Standard-Kontaktliste: Adresse, Ort und PLZ sollten ausgefüllt sein

digital nervous systems GmbH Krugstraße Nürnberg Gemeinheiten bei Javascript A)Funktionale Programmierung B)Asynchrone Aufrufe C)Method Chaining MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Javascript testen: Debugger Im Internet Explorer 9: F12 drücken Script-Karteireiter wählen Haltepunkt setzen "Start debugging" drücken Seite bedienen In Firefox "FireBug", in Safari "Developer Toos",...

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Javascript testen: jsfiddle.net

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Funktionale Programmierung... bedeutet ganz einfach, dass eine Variable auch eine Funktion sein kann. Eine Funktion kann also nicht nur Werte (z. B. Zeichenkette) übergeben bekommen - sondern auch Funktionen. Ebenso kann eine Funktion auch eine Funktion zurückliefern.

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Wie gehe ich mit asynchronen Aufrufen um? Damit die Sharepoint UI nicht blockiert, geben viele Funktionen, die Daten irgendwo abholen, asynchron ausgelegt: geocoder.geocode( { 'address': l.caddress}, function(results, status) {... } ); Wo normalerweise eine Variable stehen würde, steht oben eine Funktion ohne Name (= anonyme Funktion). Diese wird aufgerufen, sobald der WebService die Daten geliefert hat.

digital nervous systems GmbH Krugstraße Nürnberg MOTIVATION LÖSUNG BAUSTEINE JAVASCRIPT Was ist ein Closure und warum brauche ich das? Anonyme Funktionen haben feste Aufrufparameter. Wenn ich also eigene Werte an solche Funktionen "übergeben" möchte, muss ich ein Closure verwenden. Closure bedeutet, dass die innere Funktion auf die Variablen der äußeren Funktion zugreifen kann: function makeFunc() { var name = "Mein Wert"; function displayName() { alert(name); } return displayName; }

digital nervous systems GmbH Krugstraße Nürnberg Projektmanagement Internationaler Projektarbeitsbereich Anpassungen über spezielle GANTT- Diagramme Anpassungen des Benachrichtigungs- Systems ( ) MOSS 2007,.NET 2010 – 2012 Nürnberger Versicherungsgruppe dns Firmenprofil Referenzprojekte im Bereich Sharepoint CRM Online-Kundenakte: Kategorisierte Ablage aller Dokumente zu Kunden Integration mit vorhandenem Kunden- Informations-System (KIS) Migration eines vorhandenen Workflow- Systems Mehr als 5000 Kundenakten MOSS 2007, ASP.NET 2005 – 2011 Siemens Schweiz AG

digital nervous systems GmbH Krugstraße Nürnberg Web Content Management Mehr als Web-Seiten zu technischen Industrielösungen in jeweils 3 Sprachen Berechtigungskonzept für Inter-, Extra- und Intranet Datenübernahme und Neumodellierung aus Vorgängersystem Zentrales Newssystem, Downloadlisten, Tagging-Funktion MOSS 2007, WSS – 2012 Siemens Industry dns Firmenprofil Referenzprojekte im Bereich Sharepoint Event Managment Einrichtung und Verwaltung von Veranstaltungen Buchung und Belegung von Einzelvorträgen für Teilnehmer TicketWizard ermöglicht Dateneingabe in Sharepoint aus dem Internet Microsoft Sharepoint Services 2007,.NET 2008 – 2012 Siemens Schweiz AG

digital nervous systems GmbH Krugstraße Nürnberg dns Firmenprofil Kernkompetenzen Kontaktdaten Gerne beraten wir Sie bei Fragen zu Sharepoint und allen Internet-Themen: Matthias Meier digital nervous systems GmbH Tel.: Fax: Digitale Abbildung von Prozessen Datenbanken und Individualsoftware Informationsdesign / Usability Expertenwissen Online-Technologien Schnittstellen / Migration 15 Jahre Business Kompetenz