close

Thema

AllgemeinCollaboration, ProduktivitätHybridOn-PremisesSharePoint 2013Success Story, Kundenreferenz

Kundenreferenz: Wienerberger iComm – Umfassender Intranet-Relaunch definiert Kommunikationskultur der gesamten Wienerberger Gruppe neu

Um das Unternehmen nachhaltig weiterzuentwickeln, hat Wienerberger u.a. das Ziel formuliert, die interne Kommunikation und Zusammenarbeit auf neue Beine zu stellen. Als zentrales Medium der vom Vorstand formulierten Vision sollte das Intranet namens iComm dienen, das diesen Zweck in der Vergangenheit nur eingeschränkt erfüllen konnte. So wurde der Produktivitäts-Experte HATAHET productivity solutions GmbH beauftragt, iComm einem grundlegenden Relaunch zu unterziehen. Die auf Microsoft SharePoint basierende Plattform bietet heute neben klassischen Informationselementen, die je nach Anforderung lokalisiert werden können, auch dynamische Social Media-Komponente wie Communities, die mit einem hohen Self Service-Anteil und ebensolcher Usability punkten.

Lesen Sie hier die gesamte Wienerberger Success-Story: Download als PDF

 

Unternehmensgröße

  • rund 16.000 Mitarbeiter (Stand 2015)
  • 203 Produktionsstandorte in 30 Ländern

(mehr …)

mehr lesen
AllgemeinApple, iOS, MacOSCloudCollaboration, ProduktivitätFormularmanagementHow-To, Tutorial, SzenarioHybridKonfiguration, DeploymentMicrosoft 365MobilitySharePoint 2016SharePoint OnlineTool, Bot, App, Add-In

PowerApps Praxistest: SharePoint Listen als App mobil bereitstellen

PowerApps ist in aller Munde und für SharePoint gibt es auch viele neue Möglichkeiten. So kann man Daten die in SharePoint liegen mittels PowerApps quasi per Knopfdruck auf mobilen Geräten bereitstellen.  Mit PowerApps lassen sich sofort Benutzerinterfaces für das mobile Bereitstellen, Verarbeiten und Bearbeiten von u.a. SharePoint Daten nutzen. Der Hersteller verspricht schon beim Aufrufen von PowerApps so einiges und stellt klar „create Apps in minutes that work across the web and mobile“ (siehe auch Beitragsbild dazu).

Schauen wir uns also an, ob das wirklich so einfach geht…

Das Szenario: SharePoint Liste als App mobil bereitstellen

In unserem Szenario lege ich eine SharePoint Webseite (Subseite) an und erstelle eine benutzerdefinierte Liste für Kontakte und nenne diese auch einfach Kontaktliste. Nun will ich diese Liste auf mein Apple iPhone (zum Beispiel) bereitstellen und benötige somit ein Benutzerinterface genau dafür: Die Kontaktliste anzeigen und idealerweise kann ich von unterwegs dann auch gleich Daten verändern oder gar neue Kontakte erstellen. Legen wir also los…

(mehr …)

mehr lesen
AllgemeinCloudCollaboration, ProduktivitätDevelopment, CodingHybridMicrosoft 365On-PremisesSharePoint 2016SharePoint OnlineVeranstaltung, Event, Konferenz

SharePoint.AT Blogger auf der #ESPC16 in Wien

Alle Beiträge die wir über die European SharePoint Conference 2016 in Wien geschrieben haben. Dieser Artikel wird laufend aktualisiert.

Welcome Europe to Vienna: SharePoint #ESPC16 aus dem schönen Wien (Nahed)
Tag 1-3

Tag 2-3

Tag 3-3

mehr lesen
AllgemeinDevelopment, CodingSharePoint 2013SharePoint 2016SharePoint Online

#ESPC16 Tag 2, Bericht 3-3, Meine Zusammenfassung

#ESPC16 Tag 1, Bericht 1, Meine ZusammenfassungAls Web-Developer der noch nicht allzu lange mit SharePoint zu tun hat, habe ich mir erhofft auf der ESPC2016 einen Einblick in die Best Practices und Erfahrungen der alteingesessenen SharePoint Frontend-Entwickler zu erhalten. In SharePoint gibt es verschiedene Vorgehensweisen um die Benutzeroberfläche mittels Javascript und CSS zu erweitern. Sei es über die Masterpage, Custom Actions, innerhalb eines Page Layouts oder über einen Skript-Editor Webpart. Durch das Einbinden von Skripts an verschiedenen Stellen kann es schnell etwas unübersichtlich werden und eine strikte Trennung von Logik, Design und Layout ist nicht immer möglich.
Genau aus diesem Grund wird der Fokus in Zukunft auf TypeScript, dem neuen SharePoint Framework (SPFx) und dem Frontend Framework Microsoft UI Fabric liegen. Die meißten Vorträge im Bereich Entwicklung drehten sich daher um diese neuen, sehr vielversprechenden Technologien.

Session 1: Developing Modular SharePoint Solutions using TypeScript
Da sich JavaScript nach und nach als die Standardmethode zum Anpassen der SharePoint Oberfläche durchsetzt, folgt als logischer nächster Schritt der Umstieg auf das von Microsoft entwickelte TypeScript. Es bietet Klassen, Module, Interfaces und weitere Features und liefert somit Entwicklern die nicht aus dem JavaScript Bereich kommen eine vertrautere Umgebung. Nach einer etwas längeren Einführung in diese relativ neue Programmiersprache zeigt Arto Kaitosaari wie TypeScript Module erstellt, kompiliert und letztendlich innerhalb von SharePoint verwendet werden können. Ein sehr interessanter Vortrag der dem Publikum vermitteln soll, wie die Zukunft der SharePoint Frontend-Entwicklung aussieht.

Session 2: Office 365 Microsoft Graph API Deep Dive
Die Microsoft Graph API ist eine Zusammenführung aller APIs, die Zugriff auf die Office 365 Plattform bieten. Sie ist sozusagen ein universeller Endpunkt mit dem es möglich ist, auf alle Office 365 Services zuzugreifen, ohne sich dabei mit mehreren Authentifizierungen herumplagen zu müssen. Sie vereint alles unter einem Dach. Donald Hessing erklärt zuerst den Authentifizierungsvorgang und zeigt danach an Hand einiger Beispiele wie der Zugriff auf die wichtigsten Endpunkte funktioniert. Trotz einiger Pannen bei der Demo ein sehr spannendes Tool mit viel Potential.

Session 3: Extending the SharePoint Search Experience with SharePoint Add-ins
Result Sources, Result Types, Display Templates, Managed Properties, Search Queries. Alles Dinge mit denen man sich bestens auskennen sollte, wenn es darum geht die SharePoint Suche optimal zu nutzen. Robrecht Van Caenegem erläutert die oft nicht ganz verständlichen Zusammenhänge zwischen diesen Komponenten. Weiters erläutert er wie mit Hilfe von SharePoint Add-Ins eine noch umfangreichere Sucherfahrung entwickelt werden kann.

Session 4: Explore the SharePoint Framework
Mike Ammerlaan spricht über das neue SharePoint Framework, kurz SPFx, welches sich aktuell in Entwicklung befindet und eine kleine Revolution im Bereich SharePoint Frontend-Development verspricht. Neben großen Veränderungen an der Oberfläche von SharePoint selbst wird sich auch die Art und Weise verändern, wie SharePoint Add-Ins in Zukunft entwickelt werden. Nämlich mit Hilfe von TypeScript und dem Frontend Framework Office UI Fabric.

Session 5: Beyond Bootstrap: Building a Ridiculously Lightweight Cross-platform Responsive Framework
Eine gute Einführung in die Welt des Responsive Web Design. Mit einigen Verweisen auf den SharePoint Blog von Stefan Bauer, der übrigens ebenfalls anwesend war, erklärt Bill Ayers was es beim Entwickeln von Responsive Websites zu beachten gibt und was die wesentlichen Eigenschaften eines solchen sind. Neben bewährten Frameworks wie Bootstrap bringt er den Zuhörern auch eine etwas unkonventionelle Lösung näher: Das Entwickeln eines eigenen, minimalistischen Frameworks dass sich auf die wichtigsten Dinge beschränkt und weitere Features wie Typografie, Farbgebung und zusätzliche Komponenten, welche es beispielsweise bei Bootstrap in Hülle und Fülle gibt, außen vor lässt. Gar keine so schlechte Idee, da SharePoint viele dieser Features bereits beinhaltet.

mehr lesen
AllgemeinCloudCollaboration, ProduktivitätHybridOn-PremisesSharePoint 2016SharePoint Online

#ESPC16 Tag 3 Zusammenfassung

Tag 3, der letzte Tag der #ESPC16 in Wien, ist nun zu Ende gegangen. „Das beste kommt zum Schluss“ kann ich für diesen Tag leider nicht unterschreiben. Es war, zumindest für mich, am heutigen Tag nicht viel neues dabei. Das kann natürlich auch an meiner Auswahl der Sessions liegen:

  1. KEYNOTE: What is the Future of SharePoint Customisations?
  2. How Real-life Experience Shapes your SharePoint’s Today and Tomorrow
  3. How Microsoft sees the Intranet of the Future with SharePoint and O365
  4. What is Sway and How it will Change the Publication Process Forever?
  5. 6 Pilars of proving the Business Value of Social

(mehr …)

mehr lesen
AllgemeinVeranstaltung, Event, Konferenz

#ESPC16 Tag 2, Bericht 2, Meine Zusammenfassung

Auch Tag 2 der European SharePoint Conference 2016 #ESPC16 war mit interessanten Vorträgen vollgepackt. Die Entscheidung ist schwer gefallen und nicht alles ist sich ausgegangen – dafür konnte ich für die nächsten Projekte ein paar Anregungen mitnehmen.

Building Intelligent Apps Using the Microsoft Graph

Microsoft Graph war mir schon ein Begriff, aber bis jetzt hat sich noch keine Möglichkeit geboten, damit zu arbeiten. Im Rahmen dieses interessanten und sehr gut gestalteten Vortrags von Roy Sheinfeld habe ich das erste Mal einige erste Geh-Versuche im praktischen Microsoft Graph Explorer gewagt:

Microsoft Graph Explorer Screenshot
Microsoft Graph Explorer

Natürlich gibt’s nicht nur die Möglichkeit Profildaten abzufragen sondern den – im Endausbau – vollständigen Zugriff auf alle Daten die durch alle APIs aus Microsoft Cloud Diensten zur Verfügung gestellt werden.

Microsoft Graph will eine „unified API“ sein, die den Zugriff auf Daten bündelt. Dort, wo früher pro Anwendung/Service eine eigene API zur Verfügung gestellt wurde, wird jetzt ein anderer Endpunkt in der Microsoft Graph API angesprochen.

Hier wird es noch einen gesonderten Beitrag geben, um die Möglichkeiten aufzuzeigen (Link folgt hier).

Introducing the Office 365 Dev PnP Partner Pack

Das Patterns & Practices Paket für Office 365 ist schon einige Zeit veröffentlicht. Paolo Pialorsi zeigte uns die Möglicheit, auch als Nicht-Administrator Site Collections anlegen zu lassen (die erforderlichen Berechtigungen kommen über das App-Modell).

Der Setup-Vorgang um das zu ermöglichen ist aktuell allerdings noch ein ziemlicher Alptraum. Die manuelle Variante ist Schritt für Schritt im PnP Wiki erklärt, auf Channel 9 ist auch ein Video um den Setup-Vorgang zu erklären. Der manuelle Weg wird durch einige PowerShell Commandlets erleichtert, die ebenfalls im Github Repository zu finden sind.

Zwar wird das ganze als „easy to setup and maintain“ beschrieben, ich würde das allerdings nicht „easy“ nennen. Paolo selbst hat dann zugestanden: „it could be easier“.

Ein automatisches Setup-Tool mit einem Assistenten ist in Arbeit und soll noch dieses Jahr im Dezember erscheinen (sprich: wohl eher Q1 2017).

Nach dem Setup steht in den Site Settings eine neue Option zur Verfügung:

  • Save Site as Template -> Save Site as Provisioning Template.

Durchgestrichen ist die alte Option deshalb, weil das ohnehin nicht (mehr) verwendet werden sollte. Die neue Option ist auch nicht (mehr) abhängig von Publishing Features.

Wird „Save Site as Provisioning Template“ ausgewählt, entsteht im Hintergrund ein Azure Job. Dieser Job wird nach Abarbeitung ein Template in einer Dokumentenbibliothek ablegen. Dieses Template kann dann weiterverwendet werden um neue Sites zu provisionieren.

SharePoint Templates Gallery
SharePoint Templates Gallery

Alternative zu selbst erstellten Templates kann auch ein Template aus der unlängst eröffneten SharePoint Templates Gallery verwenden. Dort wurden zum Start bereits einige Vorlagen hinterlegt, mit der Zeit sollte die Auswahl größer werden.

Nicht vergessen: Patterns & Practices Owner ist SharePoint Engineering. Für uns ein Hinweis, dass hier verlässliche und überdauernde Technologie und Erkenntnisse produziert werden.

Zu diesem Thema wird es von uns noch das eine oder andere Blogpost geben, nachdem wir uns damit erst im Detail beschäftigen werden.

Build business apps for Office 365 – InfoPath, PowerApps, Flow and more

Für mich ein recht flacher Vortrag mit wenig neuen Inhalten: InfoPath ist gar nicht vorgekommen (Warum auch?), PowerApps und Flow haben wir intern schon eingehend zerlegt.

Chris McNulty hat die interessante Verbindung zwischen PowerApps, Flow, erfassten Daten und Power BI bereits in einem Vortrag am Tag 1  erwähnt. John White hat in ein paar Folien weitere Szenarien gezeigt, wie Power BI am Desktop und in der Cloud mit Daten interagieren kann bzw. wie der Publikationsworkflow aussieht.

mehr lesen
How-To, Tutorial, SzenarioKonfiguration, DeploymentOn-PremisesSharePoint 2016Veranstaltung, Event, Konferenz

Microsoft Identity Manager 2016 SP1 auf der #ESPC16

Ich habe mich schon sehr auf diese Session bei der heurigen ESPC gefreut, da ich in den letzten Wochen, nach Veröffentlichung des Service Pack 1 für den Microsoft Identity Manager 2016, ein paar graue Haare mehr bekommen hatte 🙂

Somit hatte ich gehofft hier auch ein paar Lösungsansätze und best practices für den MIM 2016 SP1 zu bekommen und meine Hoffnungen wurden zum Glück erfüllt.

Doch nun erstmal von vorne…

Seit SharePoint 2016 gibt es keine SharePoint integrierte User Profile Synchronisation mehr sondern es wird in der User Profile Service Application nur noch ein „Active Directory Import“ angeboten. Will man nun aber Custom AD Attribute ebenfalls in den SharePoint importieren, oder Benutzer Attribute aus dem SharePoint ins Active Directory eportieren, muss man auf MIM 2016 zurückgreifen und alles selbst konfigurieren.

11-15-16-11-57-office-lens

Zwar gibt es auf GitHub ein on-boarding Script doch muss trotzdem noch sehr viel selbst konfiguriert werden, was zuletzt von SharePoint übernommen wurde.

Die Herausforderung besteht nun darin ersteinmal das Konzept dieses Metaverse zu verinnerlichen um auch wirklich Attribute so mappen zu können, wie man das früher über die Central Administration ganz einfach tun konnte.

Es werden hier zumindes 2 Komponenten benötigt:

  1. Ein Active Directory Management Agent (ADMA)
  2. Ein SharePoint Management Agent (SPMA)

Zunächst muss einmal das gewünschte Attribut aus dem AD in das MIM Metaverse it Hilfe des ADMA importiert werden. Danach muss mittels Attribute Flow ein Mapping innerhalb des Metaverse definiert werden. Hat man das gewünschte Attribut dann im Metaverse, kann es mittels Export innerhalb des SPMA in das SharePoint User Profile geschrieben werden. Ganz einfach oder 😉

Will man dann noch Attribute aus Custom Identity Repositories importieren (SQL, Azure Dirctory, Tivoli…) wird das ganze erst so richtig spannend…

Sollte ich Eure Neugier geweckt haben, freue ich mich auf eine gemeinsame Diskussion zu diesem Thema.

so long

Ernst

mehr lesen
CloudCollaboration, ProduktivitätMicrosoft 365On-PremisesSharePoint 2016SharePoint OnlineVeranstaltung, Event, Konferenz

#ESPC16 Tag 2, Bericht 1, Meine Zusammenfassung

Tag 2 der ESPC 2016. Nach dem ersten energy drink und fertig aufgebautem Stand trudeln auch schon meine restlichen Kollegen ein. Gleich geht’s los Keynote „Understanding Collaboration’s Cultural Fit“.

WoW – „brainwashed“ verlasse ich den Veranstaltungssaal A. Warum „brainwashed“? Weil mir gerade eine neue, sehr interessante, Ansicht auf MS Groups gegeben wurde. Die ganze Keynote handelte von dem alt bekannten Problem, dass in einem Unternehmen viele Unterschiedliche typen von Menschen und somit auf unterschiedliche Arbeitsweisen existieren. Die Lösung hierfür können MS Groups sein, da sie sowohl E-Mail Kommunikation als auch Chat ähnliche Kommunikation mit einer inelligenten File Ablage vereinen. Bin schon gespannt wie sich die MS Groups weiter entwickeln.

Folgende Sessions haben heute meinen Tag bestimmt:

  1. Building Intelligent Apps Using Microsoft Graph
  2. How to Break the Zombification of the Enterprise
  3. Office 365 Groups Deep Dive
  4. How to Build a Modern Portal on Office 365?
  5. Resource Managers and Project Managers Working Together

ad 1.)
Mächtiges Tool!
Ja so könnte man es zusammenfassen – nein ehrlich seit gespannt auf den Beitrag von meinem Kollegen Johannes Weiser! Hier werden unglaublich viele Türen für neue Entwicklungen und Herangehensweisen geöffnet!

ad 2.)
Fight Zombiefication with Gamification.
Sozusagen der Leitsatz dieser Session. Durch die heute herrschende Informationsflut und Erreichbarkeit 24/7 mutieren wir alle langsam aber sicher zu „Enterprise Zombies“. Arbeit muss wieder Spaß machen. Die Mitarbeiter müssen wieder eine Motivation in der Arbeit finden und nicht im Postkasten wenn der Gehaltszettel hereinflattert. Ja viele sagen „Meine Leute sollen nicht spielen – sie sollen etwas Arbeiten!“ Auf Dauer gesehen kann dies nicht der richtige Ansatz sein. Kümmere Dich lieber um Deine Mitarbeiter – das Geld kommt dann ganz von alleine!

Willst du mehr darüber wissen, können wir uns gerne zu diesem Thema zusammen setzen. 🙂

ad 3.)
Deep dive – in ein Nichtschwimmer Becken.
Nagut ich geb’s zu das ist doch etwas übertrieben, auch wenn ich mir unter einem Deep dive etwas mehr vorgestellt hätte. Sei’s drum! Was gibt es neues bei den Microsoft Groups?

  • Public/Private kann nun auch nach der Provisionierung umgestellt werden.
    • !Achtung! die Erstellung von Teamsites innerhalb einer Group ist nur in „private“ Groups möglich
  • SharePoint Teamsite Integration
  • Multi Domain Support
  • Dynamic Group Membership (nur in AAD Premium)
  • External guest Access
    • Nun auch mit security trimmed Userprofile Properties die dem guest User angezeigt werden
    • und Ablaufdatum des Gästezugangs

ad 4.)
WoW – PnP Provisioning sage ich nur!
Ich bin kein Developer – ich bin nur ein Consultant – dennoch! Hab ich verstanden wovon die Dame gesprochen hat 😉
Ich war und bin noch immer sehr beeindruckt was hier mit ein paar Zeilen Powershell-Code vollbracht wurde.

ad 5.)
Um dien vollen Feature Umfang nutzen zu können benötigt man Project Server 2016 und den Project 2016 Client. Es gab einige kleiner Änderungen, die man Beispielsweise bei einer Migration von Project Server 2013 auf Project Server 2016 beachten sollte, wie beispielsweise das wegfallen der Resources Plans. Diese wurde durch Resources Engagements ersetzt. Wir bekamen einen sehr guten Basiseinblick in die Welt von Project Managers und Resource Managers. Jedoch fehlten hier leider beispielsweise Problematische Usecases und wie diese gelöst werden können.

Auch heute wieder durch die Bank erstklassige Sessions die einige Rädchen in meinem Kopf zum drehen gebracht haben. Ihr könnt gespannt sein was wir aus diesem neuen Input noch machen werden 😉

LG und gute Nacht euer
Alex

 

mehr lesen
CloudCollaboration, ProduktivitätMicrosoft 365On-PremisesSharePoint 2016SharePoint OnlineVeranstaltung, Event, Konferenz

#ESPC16 Tag 1, Bericht 1, Meine Zusammenfassung

Tag 1 der, diesmal in Wien stattfindenden, European SharePoint Conference 2016 ist vorüber. Bevor ich mich dem Networking widme möchte ich euch noch meine Eindrücke des ersten Tages vermitteln.

Inklusive Keynote habe ich fünf verschiedene Sessions zu unterschiedlichen Themen besucht. Eines ist vorweg zu sagen: Alle Sessions waren höchst professionell und sehr aufschlussreich! Hier ein kleiner Überblick meine heutigen Themen:

  1. Keynote: The Future of SharePoint is Now, Reinventing Content Collaboration
  2. Start Managing and Governing your Projects TODAY wit Project Online
  3. SharePoint 2016 Records Management – The Good the Bad and the Ugly
  4. How Kapsch Drives Business Value with SharePoint
  5. Data Loss Prevention in Office 365 and SharePoint Online

Um den Umfang dieses Beitrags nicht zu sprengen werde ich nun versuchen die einzelnen Themen in 2-3 Sätze zusammen zu fassen.

ad 1.)
Ja was soll ich zu der Keynote sagen? Sie war informativ und aktuell – aber eine Keynote eben. Vielleicht rief die Keynote nicht den, vermutlich erwünschten, WOW-Effekt bei mir aus da wir Firmenintern bereits auf alle diese Themen eingegangen sind. Was waren nun die vorgestellten Features?

  • Microsoft Teams
  • New Microsoft OneDrive
  • Microsoft Forms
  • SharePoint Framework

Microsoft Teams und Microsoft OneDrive sind spannende Neuerungen die das Arbeiten auf mobilen Geräten in der Microsoft Online Welt. Nun sind wir jedoch leider bei der gefühlten 5. Handy App angelangt – schade – wo ist der „One Place for Everything“ Gedanke hinverschwunden?

ad 2.)
Project – DAS Tool für alle PMOs. Nun auch Online verfügbar und in Kombination mit Power BI und Reporting ein klasse Werkzeug für alle Projektmanager um einen Überblick über all ihre Projekte und Ressourcen zu behalten. Tips und Tricks zur Implementierung geben wir euch gerne in einem Gespräch 🙂

ad 3.)
Der Weg der Kapsch in das SharePoint Universum. Sie erzählten von ihren Lessons learned und gaben Tips so manchen Stolperstein zu vermeiden. Interessant zu sehen war, dass sie unter anderem vor genau den Problemen standen, vor denen wir unsere Kunden immer warnen. Zum Beispiel hatten sie große Schwierigkeiten damit die Akzeptanz des SharePoints bei den Mitarbeiten zu erhöhen. Warum? Der Fokus war ein falscher. Sie haben sie zu sehr auf die Migration der Daten konzentriert, als auf die Kommunikation des Mehrwerts von SharePoint und der Etablierung einer neuen – produktiveren Arbeitsweise. Welche Stolpersteine noch genannt wurden und welche noch möglich sind erzählen wir Dir gerne in einem Gespräch 🙂

ad 4.)
Records Management und Document Management in SharePoint 2016  und SharePoint Online – Leider gibt es hier seitens der Microsoft keine großartigen Neuerungen. Ein heißer Tip jedoch – im O365 E5 Plan sollen demnächst Weiterentwicklungen zu diesem Thema announced werden. Eine O365 E5 – Testlizenz lohnt sich also 😉

ad 5.)
DLP in O365 und SharePoint Online. Kurz gesagt: Im Vergleich zu Office 365 (Exchange Online) steckt SharePoint Online hier noch in den Kinderschuhen. Dies ist bestimmt auch darauf zurück zu führen, dass sich SharePoint Online erst seit dem Jahr 2016 mit DLP intensiver beschäftigt. Die Grundzüge – also das Erstellen von einfachen Policies ist jedoch bereits möglich. Standard Anforderungen kann man also bereits durchaus abdecken. Wird das ganze dann individueller muss man zumindest auf Seite von SharePoint Online auf 3rd Party Produkte zurückgreifen.

Soviel zu Tag 1. Es war sehr interessant und, trotz den vielen Sessions, sehr kurzweilig. Ich freue mich schon auf Tag 2- Aber jetzt geht’s zum Networking.

Bis Morgen
Euer Alex 🙂

mehr lesen
1 10 11 12 13 14 25
Page 12 of 25